...

Source file src/google.golang.org/api/gkehub/v1beta/gkehub-gen.go

Documentation: google.golang.org/api/gkehub/v1beta

     1  // Copyright 2024 Google LLC.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  // Code generated file. DO NOT EDIT.
     6  
     7  // Package gkehub provides access to the GKE Hub API.
     8  //
     9  // For product documentation, see: https://cloud.google.com/anthos/multicluster-management/connect/registering-a-cluster
    10  //
    11  // # Library status
    12  //
    13  // These client libraries are officially supported by Google. However, this
    14  // library is considered complete and is in maintenance mode. This means
    15  // that we will address critical bugs and security issues but will not add
    16  // any new features.
    17  //
    18  // When possible, we recommend using our newer
    19  // [Cloud Client Libraries for Go](https://pkg.go.dev/cloud.google.com/go)
    20  // that are still actively being worked and iterated on.
    21  //
    22  // # Creating a client
    23  //
    24  // Usage example:
    25  //
    26  //	import "google.golang.org/api/gkehub/v1beta"
    27  //	...
    28  //	ctx := context.Background()
    29  //	gkehubService, err := gkehub.NewService(ctx)
    30  //
    31  // In this example, Google Application Default Credentials are used for
    32  // authentication. For information on how to create and obtain Application
    33  // Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials.
    34  //
    35  // # Other authentication options
    36  //
    37  // To use an API key for authentication (note: some APIs do not support API
    38  // keys), use [google.golang.org/api/option.WithAPIKey]:
    39  //
    40  //	gkehubService, err := gkehub.NewService(ctx, option.WithAPIKey("AIza..."))
    41  //
    42  // To use an OAuth token (e.g., a user token obtained via a three-legged OAuth
    43  // flow, use [google.golang.org/api/option.WithTokenSource]:
    44  //
    45  //	config := &oauth2.Config{...}
    46  //	// ...
    47  //	token, err := config.Exchange(ctx, ...)
    48  //	gkehubService, err := gkehub.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
    49  //
    50  // See [google.golang.org/api/option.ClientOption] for details on options.
    51  package gkehub // import "google.golang.org/api/gkehub/v1beta"
    52  
    53  import (
    54  	"bytes"
    55  	"context"
    56  	"encoding/json"
    57  	"errors"
    58  	"fmt"
    59  	"io"
    60  	"net/http"
    61  	"net/url"
    62  	"strconv"
    63  	"strings"
    64  
    65  	googleapi "google.golang.org/api/googleapi"
    66  	internal "google.golang.org/api/internal"
    67  	gensupport "google.golang.org/api/internal/gensupport"
    68  	option "google.golang.org/api/option"
    69  	internaloption "google.golang.org/api/option/internaloption"
    70  	htransport "google.golang.org/api/transport/http"
    71  )
    72  
    73  // Always reference these packages, just in case the auto-generated code
    74  // below doesn't.
    75  var _ = bytes.NewBuffer
    76  var _ = strconv.Itoa
    77  var _ = fmt.Sprintf
    78  var _ = json.NewDecoder
    79  var _ = io.Copy
    80  var _ = url.Parse
    81  var _ = gensupport.MarshalJSON
    82  var _ = googleapi.Version
    83  var _ = errors.New
    84  var _ = strings.Replace
    85  var _ = context.Canceled
    86  var _ = internaloption.WithDefaultEndpoint
    87  var _ = internal.Version
    88  
    89  const apiId = "gkehub:v1beta"
    90  const apiName = "gkehub"
    91  const apiVersion = "v1beta"
    92  const basePath = "https://gkehub.googleapis.com/"
    93  const basePathTemplate = "https://gkehub.UNIVERSE_DOMAIN/"
    94  const mtlsBasePath = "https://gkehub.mtls.googleapis.com/"
    95  
    96  // OAuth2 scopes used by this API.
    97  const (
    98  	// See, edit, configure, and delete your Google Cloud data and see the email
    99  	// address for your Google Account.
   100  	CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"
   101  )
   102  
   103  // NewService creates a new Service.
   104  func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
   105  	scopesOption := internaloption.WithDefaultScopes(
   106  		"https://www.googleapis.com/auth/cloud-platform",
   107  	)
   108  	// NOTE: prepend, so we don't override user-specified scopes.
   109  	opts = append([]option.ClientOption{scopesOption}, opts...)
   110  	opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
   111  	opts = append(opts, internaloption.WithDefaultEndpointTemplate(basePathTemplate))
   112  	opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath))
   113  	opts = append(opts, internaloption.EnableNewAuthLibrary())
   114  	client, endpoint, err := htransport.NewClient(ctx, opts...)
   115  	if err != nil {
   116  		return nil, err
   117  	}
   118  	s, err := New(client)
   119  	if err != nil {
   120  		return nil, err
   121  	}
   122  	if endpoint != "" {
   123  		s.BasePath = endpoint
   124  	}
   125  	return s, nil
   126  }
   127  
   128  // New creates a new Service. It uses the provided http.Client for requests.
   129  //
   130  // Deprecated: please use NewService instead.
   131  // To provide a custom HTTP client, use option.WithHTTPClient.
   132  // If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
   133  func New(client *http.Client) (*Service, error) {
   134  	if client == nil {
   135  		return nil, errors.New("client is nil")
   136  	}
   137  	s := &Service{client: client, BasePath: basePath}
   138  	s.Organizations = NewOrganizationsService(s)
   139  	s.Projects = NewProjectsService(s)
   140  	return s, nil
   141  }
   142  
   143  type Service struct {
   144  	client    *http.Client
   145  	BasePath  string // API endpoint base URL
   146  	UserAgent string // optional additional User-Agent fragment
   147  
   148  	Organizations *OrganizationsService
   149  
   150  	Projects *ProjectsService
   151  }
   152  
   153  func (s *Service) userAgent() string {
   154  	if s.UserAgent == "" {
   155  		return googleapi.UserAgent
   156  	}
   157  	return googleapi.UserAgent + " " + s.UserAgent
   158  }
   159  
   160  func NewOrganizationsService(s *Service) *OrganizationsService {
   161  	rs := &OrganizationsService{s: s}
   162  	rs.Locations = NewOrganizationsLocationsService(s)
   163  	return rs
   164  }
   165  
   166  type OrganizationsService struct {
   167  	s *Service
   168  
   169  	Locations *OrganizationsLocationsService
   170  }
   171  
   172  func NewOrganizationsLocationsService(s *Service) *OrganizationsLocationsService {
   173  	rs := &OrganizationsLocationsService{s: s}
   174  	rs.Fleets = NewOrganizationsLocationsFleetsService(s)
   175  	return rs
   176  }
   177  
   178  type OrganizationsLocationsService struct {
   179  	s *Service
   180  
   181  	Fleets *OrganizationsLocationsFleetsService
   182  }
   183  
   184  func NewOrganizationsLocationsFleetsService(s *Service) *OrganizationsLocationsFleetsService {
   185  	rs := &OrganizationsLocationsFleetsService{s: s}
   186  	return rs
   187  }
   188  
   189  type OrganizationsLocationsFleetsService struct {
   190  	s *Service
   191  }
   192  
   193  func NewProjectsService(s *Service) *ProjectsService {
   194  	rs := &ProjectsService{s: s}
   195  	rs.Locations = NewProjectsLocationsService(s)
   196  	return rs
   197  }
   198  
   199  type ProjectsService struct {
   200  	s *Service
   201  
   202  	Locations *ProjectsLocationsService
   203  }
   204  
   205  func NewProjectsLocationsService(s *Service) *ProjectsLocationsService {
   206  	rs := &ProjectsLocationsService{s: s}
   207  	rs.Features = NewProjectsLocationsFeaturesService(s)
   208  	rs.Fleets = NewProjectsLocationsFleetsService(s)
   209  	rs.Memberships = NewProjectsLocationsMembershipsService(s)
   210  	rs.Operations = NewProjectsLocationsOperationsService(s)
   211  	rs.Scopes = NewProjectsLocationsScopesService(s)
   212  	return rs
   213  }
   214  
   215  type ProjectsLocationsService struct {
   216  	s *Service
   217  
   218  	Features *ProjectsLocationsFeaturesService
   219  
   220  	Fleets *ProjectsLocationsFleetsService
   221  
   222  	Memberships *ProjectsLocationsMembershipsService
   223  
   224  	Operations *ProjectsLocationsOperationsService
   225  
   226  	Scopes *ProjectsLocationsScopesService
   227  }
   228  
   229  func NewProjectsLocationsFeaturesService(s *Service) *ProjectsLocationsFeaturesService {
   230  	rs := &ProjectsLocationsFeaturesService{s: s}
   231  	return rs
   232  }
   233  
   234  type ProjectsLocationsFeaturesService struct {
   235  	s *Service
   236  }
   237  
   238  func NewProjectsLocationsFleetsService(s *Service) *ProjectsLocationsFleetsService {
   239  	rs := &ProjectsLocationsFleetsService{s: s}
   240  	return rs
   241  }
   242  
   243  type ProjectsLocationsFleetsService struct {
   244  	s *Service
   245  }
   246  
   247  func NewProjectsLocationsMembershipsService(s *Service) *ProjectsLocationsMembershipsService {
   248  	rs := &ProjectsLocationsMembershipsService{s: s}
   249  	rs.Bindings = NewProjectsLocationsMembershipsBindingsService(s)
   250  	rs.Rbacrolebindings = NewProjectsLocationsMembershipsRbacrolebindingsService(s)
   251  	return rs
   252  }
   253  
   254  type ProjectsLocationsMembershipsService struct {
   255  	s *Service
   256  
   257  	Bindings *ProjectsLocationsMembershipsBindingsService
   258  
   259  	Rbacrolebindings *ProjectsLocationsMembershipsRbacrolebindingsService
   260  }
   261  
   262  func NewProjectsLocationsMembershipsBindingsService(s *Service) *ProjectsLocationsMembershipsBindingsService {
   263  	rs := &ProjectsLocationsMembershipsBindingsService{s: s}
   264  	return rs
   265  }
   266  
   267  type ProjectsLocationsMembershipsBindingsService struct {
   268  	s *Service
   269  }
   270  
   271  func NewProjectsLocationsMembershipsRbacrolebindingsService(s *Service) *ProjectsLocationsMembershipsRbacrolebindingsService {
   272  	rs := &ProjectsLocationsMembershipsRbacrolebindingsService{s: s}
   273  	return rs
   274  }
   275  
   276  type ProjectsLocationsMembershipsRbacrolebindingsService struct {
   277  	s *Service
   278  }
   279  
   280  func NewProjectsLocationsOperationsService(s *Service) *ProjectsLocationsOperationsService {
   281  	rs := &ProjectsLocationsOperationsService{s: s}
   282  	return rs
   283  }
   284  
   285  type ProjectsLocationsOperationsService struct {
   286  	s *Service
   287  }
   288  
   289  func NewProjectsLocationsScopesService(s *Service) *ProjectsLocationsScopesService {
   290  	rs := &ProjectsLocationsScopesService{s: s}
   291  	rs.Namespaces = NewProjectsLocationsScopesNamespacesService(s)
   292  	rs.Rbacrolebindings = NewProjectsLocationsScopesRbacrolebindingsService(s)
   293  	return rs
   294  }
   295  
   296  type ProjectsLocationsScopesService struct {
   297  	s *Service
   298  
   299  	Namespaces *ProjectsLocationsScopesNamespacesService
   300  
   301  	Rbacrolebindings *ProjectsLocationsScopesRbacrolebindingsService
   302  }
   303  
   304  func NewProjectsLocationsScopesNamespacesService(s *Service) *ProjectsLocationsScopesNamespacesService {
   305  	rs := &ProjectsLocationsScopesNamespacesService{s: s}
   306  	return rs
   307  }
   308  
   309  type ProjectsLocationsScopesNamespacesService struct {
   310  	s *Service
   311  }
   312  
   313  func NewProjectsLocationsScopesRbacrolebindingsService(s *Service) *ProjectsLocationsScopesRbacrolebindingsService {
   314  	rs := &ProjectsLocationsScopesRbacrolebindingsService{s: s}
   315  	return rs
   316  }
   317  
   318  type ProjectsLocationsScopesRbacrolebindingsService struct {
   319  	s *Service
   320  }
   321  
   322  // AnthosObservabilityFeatureSpec: **Anthos Observability**: Spec
   323  type AnthosObservabilityFeatureSpec struct {
   324  	// DefaultMembershipSpec: Default membership spec for unconfigured memberships
   325  	DefaultMembershipSpec *AnthosObservabilityMembershipSpec `json:"defaultMembershipSpec,omitempty"`
   326  	// ForceSendFields is a list of field names (e.g. "DefaultMembershipSpec") to
   327  	// unconditionally include in API requests. By default, fields with empty or
   328  	// default values are omitted from API requests. See
   329  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   330  	// details.
   331  	ForceSendFields []string `json:"-"`
   332  	// NullFields is a list of field names (e.g. "DefaultMembershipSpec") to
   333  	// include in API requests with the JSON null value. By default, fields with
   334  	// empty values are omitted from API requests. See
   335  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   336  	NullFields []string `json:"-"`
   337  }
   338  
   339  func (s *AnthosObservabilityFeatureSpec) MarshalJSON() ([]byte, error) {
   340  	type NoMethod AnthosObservabilityFeatureSpec
   341  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   342  }
   343  
   344  // AnthosObservabilityMembershipSpec: **Anthosobservability**: Per-Membership
   345  // Feature spec.
   346  type AnthosObservabilityMembershipSpec struct {
   347  	// DoNotOptimizeMetrics: Use full of metrics rather than optimized metrics. See
   348  	// https://cloud.google.com/anthos/clusters/docs/on-prem/1.8/concepts/logging-and-monitoring#optimized_metrics_default_metrics
   349  	DoNotOptimizeMetrics bool `json:"doNotOptimizeMetrics,omitempty"`
   350  	// EnableStackdriverOnApplications: Enable collecting and reporting metrics and
   351  	// logs from user apps.
   352  	EnableStackdriverOnApplications bool `json:"enableStackdriverOnApplications,omitempty"`
   353  	// Version: the version of stackdriver operator used by this feature
   354  	Version string `json:"version,omitempty"`
   355  	// ForceSendFields is a list of field names (e.g. "DoNotOptimizeMetrics") to
   356  	// unconditionally include in API requests. By default, fields with empty or
   357  	// default values are omitted from API requests. See
   358  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   359  	// details.
   360  	ForceSendFields []string `json:"-"`
   361  	// NullFields is a list of field names (e.g. "DoNotOptimizeMetrics") to include
   362  	// in API requests with the JSON null value. By default, fields with empty
   363  	// values are omitted from API requests. See
   364  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   365  	NullFields []string `json:"-"`
   366  }
   367  
   368  func (s *AnthosObservabilityMembershipSpec) MarshalJSON() ([]byte, error) {
   369  	type NoMethod AnthosObservabilityMembershipSpec
   370  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   371  }
   372  
   373  // AppDevExperienceFeatureSpec: Spec for App Dev Experience Feature.
   374  type AppDevExperienceFeatureSpec struct {
   375  }
   376  
   377  // AppDevExperienceFeatureState: State for App Dev Exp Feature.
   378  type AppDevExperienceFeatureState struct {
   379  	// NetworkingInstallSucceeded: Status of subcomponent that detects configured
   380  	// Service Mesh resources.
   381  	NetworkingInstallSucceeded *Status `json:"networkingInstallSucceeded,omitempty"`
   382  	// ForceSendFields is a list of field names (e.g. "NetworkingInstallSucceeded")
   383  	// to unconditionally include in API requests. By default, fields with empty or
   384  	// default values are omitted from API requests. See
   385  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   386  	// details.
   387  	ForceSendFields []string `json:"-"`
   388  	// NullFields is a list of field names (e.g. "NetworkingInstallSucceeded") to
   389  	// include in API requests with the JSON null value. By default, fields with
   390  	// empty values are omitted from API requests. See
   391  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   392  	NullFields []string `json:"-"`
   393  }
   394  
   395  func (s *AppDevExperienceFeatureState) MarshalJSON() ([]byte, error) {
   396  	type NoMethod AppDevExperienceFeatureState
   397  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   398  }
   399  
   400  // ApplianceCluster: ApplianceCluster contains information specific to GDC Edge
   401  // Appliance Clusters.
   402  type ApplianceCluster struct {
   403  	// ResourceLink: Immutable. Self-link of the Google Cloud resource for the
   404  	// Appliance Cluster. For example:
   405  	// //transferappliance.googleapis.com/projects/my-project/locations/us-west1-a/a
   406  	// ppliances/my-appliance
   407  	ResourceLink string `json:"resourceLink,omitempty"`
   408  	// ForceSendFields is a list of field names (e.g. "ResourceLink") to
   409  	// unconditionally include in API requests. By default, fields with empty or
   410  	// default values are omitted from API requests. See
   411  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   412  	// details.
   413  	ForceSendFields []string `json:"-"`
   414  	// NullFields is a list of field names (e.g. "ResourceLink") to include in API
   415  	// requests with the JSON null value. By default, fields with empty values are
   416  	// omitted from API requests. See
   417  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   418  	NullFields []string `json:"-"`
   419  }
   420  
   421  func (s *ApplianceCluster) MarshalJSON() ([]byte, error) {
   422  	type NoMethod ApplianceCluster
   423  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   424  }
   425  
   426  // AuditConfig: Specifies the audit configuration for a service. The
   427  // configuration determines which permission types are logged, and what
   428  // identities, if any, are exempted from logging. An AuditConfig must have one
   429  // or more AuditLogConfigs. If there are AuditConfigs for both `allServices`
   430  // and a specific service, the union of the two AuditConfigs is used for that
   431  // service: the log_types specified in each AuditConfig are enabled, and the
   432  // exempted_members in each AuditLogConfig are exempted. Example Policy with
   433  // multiple AuditConfigs: { "audit_configs": [ { "service": "allServices",
   434  // "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [
   435  // "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type":
   436  // "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com",
   437  // "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type":
   438  // "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For
   439  // sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
   440  // logging. It also exempts `jose@example.com` from DATA_READ logging, and
   441  // `aliya@example.com` from DATA_WRITE logging.
   442  type AuditConfig struct {
   443  	// AuditLogConfigs: The configuration for logging of each type of permission.
   444  	AuditLogConfigs []*AuditLogConfig `json:"auditLogConfigs,omitempty"`
   445  	// Service: Specifies a service that will be enabled for audit logging. For
   446  	// example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices`
   447  	// is a special value that covers all services.
   448  	Service string `json:"service,omitempty"`
   449  	// ForceSendFields is a list of field names (e.g. "AuditLogConfigs") to
   450  	// unconditionally include in API requests. By default, fields with empty or
   451  	// default values are omitted from API requests. See
   452  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   453  	// details.
   454  	ForceSendFields []string `json:"-"`
   455  	// NullFields is a list of field names (e.g. "AuditLogConfigs") to include in
   456  	// API requests with the JSON null value. By default, fields with empty values
   457  	// are omitted from API requests. See
   458  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   459  	NullFields []string `json:"-"`
   460  }
   461  
   462  func (s *AuditConfig) MarshalJSON() ([]byte, error) {
   463  	type NoMethod AuditConfig
   464  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   465  }
   466  
   467  // AuditLogConfig: Provides the configuration for logging a type of
   468  // permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ",
   469  // "exempted_members": [ "user:jose@example.com" ] }, { "log_type":
   470  // "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while
   471  // exempting jose@example.com from DATA_READ logging.
   472  type AuditLogConfig struct {
   473  	// ExemptedMembers: Specifies the identities that do not cause logging for this
   474  	// type of permission. Follows the same format of Binding.members.
   475  	ExemptedMembers []string `json:"exemptedMembers,omitempty"`
   476  	// LogType: The log type that this config enables.
   477  	//
   478  	// Possible values:
   479  	//   "LOG_TYPE_UNSPECIFIED" - Default case. Should never be this.
   480  	//   "ADMIN_READ" - Admin reads. Example: CloudIAM getIamPolicy
   481  	//   "DATA_WRITE" - Data writes. Example: CloudSQL Users create
   482  	//   "DATA_READ" - Data reads. Example: CloudSQL Users list
   483  	LogType string `json:"logType,omitempty"`
   484  	// ForceSendFields is a list of field names (e.g. "ExemptedMembers") to
   485  	// unconditionally include in API requests. By default, fields with empty or
   486  	// default values are omitted from API requests. See
   487  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   488  	// details.
   489  	ForceSendFields []string `json:"-"`
   490  	// NullFields is a list of field names (e.g. "ExemptedMembers") to include in
   491  	// API requests with the JSON null value. By default, fields with empty values
   492  	// are omitted from API requests. See
   493  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   494  	NullFields []string `json:"-"`
   495  }
   496  
   497  func (s *AuditLogConfig) MarshalJSON() ([]byte, error) {
   498  	type NoMethod AuditLogConfig
   499  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   500  }
   501  
   502  // Authority: Authority encodes how Google will recognize identities from this
   503  // Membership. See the workload identity documentation for more details:
   504  // https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity
   505  type Authority struct {
   506  	// IdentityProvider: Output only. An identity provider that reflects the
   507  	// `issuer` in the workload identity pool.
   508  	IdentityProvider string `json:"identityProvider,omitempty"`
   509  	// Issuer: Optional. A JSON Web Token (JWT) issuer URI. `issuer` must start
   510  	// with `https://` and be a valid URL with length <2000 characters, it must use
   511  	// `location` rather than `zone` for GKE clusters. If set, then Google will
   512  	// allow valid OIDC tokens from this issuer to authenticate within the
   513  	// workload_identity_pool. OIDC discovery will be performed on this URI to
   514  	// validate tokens from the issuer. Clearing `issuer` disables Workload
   515  	// Identity. `issuer` cannot be directly modified; it must be cleared (and
   516  	// Workload Identity disabled) before using a new issuer (and re-enabling
   517  	// Workload Identity).
   518  	Issuer string `json:"issuer,omitempty"`
   519  	// OidcJwks: Optional. OIDC verification keys for this Membership in JWKS
   520  	// format (RFC 7517). When this field is set, OIDC discovery will NOT be
   521  	// performed on `issuer`, and instead OIDC tokens will be validated using this
   522  	// field.
   523  	OidcJwks string `json:"oidcJwks,omitempty"`
   524  	// WorkloadIdentityPool: Output only. The name of the workload identity pool in
   525  	// which `issuer` will be recognized. There is a single Workload Identity Pool
   526  	// per Hub that is shared between all Memberships that belong to that Hub. For
   527  	// a Hub hosted in {PROJECT_ID}, the workload pool format is
   528  	// `{PROJECT_ID}.hub.id.goog`, although this is subject to change in newer
   529  	// versions of this API.
   530  	WorkloadIdentityPool string `json:"workloadIdentityPool,omitempty"`
   531  	// ForceSendFields is a list of field names (e.g. "IdentityProvider") to
   532  	// unconditionally include in API requests. By default, fields with empty or
   533  	// default values are omitted from API requests. See
   534  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   535  	// details.
   536  	ForceSendFields []string `json:"-"`
   537  	// NullFields is a list of field names (e.g. "IdentityProvider") to include in
   538  	// API requests with the JSON null value. By default, fields with empty values
   539  	// are omitted from API requests. See
   540  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   541  	NullFields []string `json:"-"`
   542  }
   543  
   544  func (s *Authority) MarshalJSON() ([]byte, error) {
   545  	type NoMethod Authority
   546  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   547  }
   548  
   549  // BinaryAuthorizationConfig: BinaryAuthorizationConfig defines the fleet level
   550  // configuration of binary authorization feature.
   551  type BinaryAuthorizationConfig struct {
   552  	// EvaluationMode: Optional. Mode of operation for binauthz policy evaluation.
   553  	//
   554  	// Possible values:
   555  	//   "EVALUATION_MODE_UNSPECIFIED" - Default value
   556  	//   "DISABLED" - Disable BinaryAuthorization
   557  	//   "POLICY_BINDINGS" - Use Binary Authorization with the policies specified
   558  	// in policy_bindings.
   559  	EvaluationMode string `json:"evaluationMode,omitempty"`
   560  	// PolicyBindings: Optional. Binauthz policies that apply to this cluster.
   561  	PolicyBindings []*PolicyBinding `json:"policyBindings,omitempty"`
   562  	// ForceSendFields is a list of field names (e.g. "EvaluationMode") to
   563  	// unconditionally include in API requests. By default, fields with empty or
   564  	// default values are omitted from API requests. See
   565  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   566  	// details.
   567  	ForceSendFields []string `json:"-"`
   568  	// NullFields is a list of field names (e.g. "EvaluationMode") to include in
   569  	// API requests with the JSON null value. By default, fields with empty values
   570  	// are omitted from API requests. See
   571  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   572  	NullFields []string `json:"-"`
   573  }
   574  
   575  func (s *BinaryAuthorizationConfig) MarshalJSON() ([]byte, error) {
   576  	type NoMethod BinaryAuthorizationConfig
   577  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   578  }
   579  
   580  // Binding: Associates `members`, or principals, with a `role`.
   581  type Binding struct {
   582  	// Condition: The condition that is associated with this binding. If the
   583  	// condition evaluates to `true`, then this binding applies to the current
   584  	// request. If the condition evaluates to `false`, then this binding does not
   585  	// apply to the current request. However, a different role binding might grant
   586  	// the same role to one or more of the principals in this binding. To learn
   587  	// which resources support conditions in their IAM policies, see the IAM
   588  	// documentation
   589  	// (https://cloud.google.com/iam/help/conditions/resource-policies).
   590  	Condition *Expr `json:"condition,omitempty"`
   591  	// Members: Specifies the principals requesting access for a Google Cloud
   592  	// resource. `members` can have the following values: * `allUsers`: A special
   593  	// identifier that represents anyone who is on the internet; with or without a
   594  	// Google account. * `allAuthenticatedUsers`: A special identifier that
   595  	// represents anyone who is authenticated with a Google account or a service
   596  	// account. Does not include identities that come from external identity
   597  	// providers (IdPs) through identity federation. * `user:{emailid}`: An email
   598  	// address that represents a specific Google account. For example,
   599  	// `alice@example.com` . * `serviceAccount:{emailid}`: An email address that
   600  	// represents a Google service account. For example,
   601  	// `my-other-app@appspot.gserviceaccount.com`. *
   602  	// `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An
   603  	// identifier for a Kubernetes service account
   604  	// (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts).
   605  	// For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. *
   606  	// `group:{emailid}`: An email address that represents a Google group. For
   607  	// example, `admins@example.com`. * `domain:{domain}`: The G Suite domain
   608  	// (primary) that represents all the users of that domain. For example,
   609  	// `google.com` or `example.com`. *
   610  	// `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/sub
   611  	// ject/{subject_attribute_value}`: A single identity in a workforce identity
   612  	// pool. *
   613  	// `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/
   614  	// group/{group_id}`: All workforce identities in a group. *
   615  	// `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/
   616  	// attribute.{attribute_name}/{attribute_value}`: All workforce identities with
   617  	// a specific attribute value. *
   618  	// `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/
   619  	// *`: All identities in a workforce identity pool. *
   620  	// `principal://iam.googleapis.com/projects/{project_number}/locations/global/wo
   621  	// rkloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single
   622  	// identity in a workload identity pool. *
   623  	// `principalSet://iam.googleapis.com/projects/{project_number}/locations/global
   624  	// /workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool
   625  	// group. *
   626  	// `principalSet://iam.googleapis.com/projects/{project_number}/locations/global
   627  	// /workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}
   628  	// `: All identities in a workload identity pool with a certain attribute. *
   629  	// `principalSet://iam.googleapis.com/projects/{project_number}/locations/global
   630  	// /workloadIdentityPools/{pool_id}/*`: All identities in a workload identity
   631  	// pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus
   632  	// unique identifier) representing a user that has been recently deleted. For
   633  	// example, `alice@example.com?uid=123456789012345678901`. If the user is
   634  	// recovered, this value reverts to `user:{emailid}` and the recovered user
   635  	// retains the role in the binding. *
   636  	// `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus
   637  	// unique identifier) representing a service account that has been recently
   638  	// deleted. For example,
   639  	// `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the
   640  	// service account is undeleted, this value reverts to
   641  	// `serviceAccount:{emailid}` and the undeleted service account retains the
   642  	// role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email
   643  	// address (plus unique identifier) representing a Google group that has been
   644  	// recently deleted. For example,
   645  	// `admins@example.com?uid=123456789012345678901`. If the group is recovered,
   646  	// this value reverts to `group:{emailid}` and the recovered group retains the
   647  	// role in the binding. *
   648  	// `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool
   649  	// _id}/subject/{subject_attribute_value}`: Deleted single identity in a
   650  	// workforce identity pool. For example,
   651  	// `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-po
   652  	// ol-id/subject/my-subject-attribute-value`.
   653  	Members []string `json:"members,omitempty"`
   654  	// Role: Role that is assigned to the list of `members`, or principals. For
   655  	// example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview
   656  	// of the IAM roles and permissions, see the IAM documentation
   657  	// (https://cloud.google.com/iam/docs/roles-overview). For a list of the
   658  	// available pre-defined roles, see here
   659  	// (https://cloud.google.com/iam/docs/understanding-roles).
   660  	Role string `json:"role,omitempty"`
   661  	// ForceSendFields is a list of field names (e.g. "Condition") to
   662  	// unconditionally include in API requests. By default, fields with empty or
   663  	// default values are omitted from API requests. See
   664  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   665  	// details.
   666  	ForceSendFields []string `json:"-"`
   667  	// NullFields is a list of field names (e.g. "Condition") to include in API
   668  	// requests with the JSON null value. By default, fields with empty values are
   669  	// omitted from API requests. See
   670  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   671  	NullFields []string `json:"-"`
   672  }
   673  
   674  func (s *Binding) MarshalJSON() ([]byte, error) {
   675  	type NoMethod Binding
   676  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   677  }
   678  
   679  // CancelOperationRequest: The request message for Operations.CancelOperation.
   680  type CancelOperationRequest struct {
   681  }
   682  
   683  // ClusterUpgradeFleetSpec: **ClusterUpgrade**: The configuration for the
   684  // fleet-level ClusterUpgrade feature.
   685  type ClusterUpgradeFleetSpec struct {
   686  	// GkeUpgradeOverrides: Allow users to override some properties of each GKE
   687  	// upgrade.
   688  	GkeUpgradeOverrides []*ClusterUpgradeGKEUpgradeOverride `json:"gkeUpgradeOverrides,omitempty"`
   689  	// PostConditions: Required. Post conditions to evaluate to mark an upgrade
   690  	// COMPLETE. Required.
   691  	PostConditions *ClusterUpgradePostConditions `json:"postConditions,omitempty"`
   692  	// UpstreamFleets: This fleet consumes upgrades that have COMPLETE status code
   693  	// in the upstream fleets. See UpgradeStatus.Code for code definitions. The
   694  	// fleet name should be either fleet project number or id. This is defined as
   695  	// repeated for future proof reasons. Initial implementation will enforce at
   696  	// most one upstream fleet.
   697  	UpstreamFleets []string `json:"upstreamFleets,omitempty"`
   698  	// ForceSendFields is a list of field names (e.g. "GkeUpgradeOverrides") to
   699  	// unconditionally include in API requests. By default, fields with empty or
   700  	// default values are omitted from API requests. See
   701  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   702  	// details.
   703  	ForceSendFields []string `json:"-"`
   704  	// NullFields is a list of field names (e.g. "GkeUpgradeOverrides") to include
   705  	// in API requests with the JSON null value. By default, fields with empty
   706  	// values are omitted from API requests. See
   707  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   708  	NullFields []string `json:"-"`
   709  }
   710  
   711  func (s *ClusterUpgradeFleetSpec) MarshalJSON() ([]byte, error) {
   712  	type NoMethod ClusterUpgradeFleetSpec
   713  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   714  }
   715  
   716  // ClusterUpgradeFleetState: **ClusterUpgrade**: The state for the fleet-level
   717  // ClusterUpgrade feature.
   718  type ClusterUpgradeFleetState struct {
   719  	// DownstreamFleets: This fleets whose upstream_fleets contain the current
   720  	// fleet. The fleet name should be either fleet project number or id.
   721  	DownstreamFleets []string `json:"downstreamFleets,omitempty"`
   722  	// GkeState: Feature state for GKE clusters.
   723  	GkeState *ClusterUpgradeGKEUpgradeFeatureState `json:"gkeState,omitempty"`
   724  	// Ignored: A list of memberships ignored by the feature. For example, manually
   725  	// upgraded clusters can be ignored if they are newer than the default versions
   726  	// of its release channel. The membership resource is in the format:
   727  	// `projects/{p}/locations/{l}/membership/{m}`.
   728  	Ignored map[string]ClusterUpgradeIgnoredMembership `json:"ignored,omitempty"`
   729  	// ForceSendFields is a list of field names (e.g. "DownstreamFleets") to
   730  	// unconditionally include in API requests. By default, fields with empty or
   731  	// default values are omitted from API requests. See
   732  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   733  	// details.
   734  	ForceSendFields []string `json:"-"`
   735  	// NullFields is a list of field names (e.g. "DownstreamFleets") to include in
   736  	// API requests with the JSON null value. By default, fields with empty values
   737  	// are omitted from API requests. See
   738  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   739  	NullFields []string `json:"-"`
   740  }
   741  
   742  func (s *ClusterUpgradeFleetState) MarshalJSON() ([]byte, error) {
   743  	type NoMethod ClusterUpgradeFleetState
   744  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   745  }
   746  
   747  // ClusterUpgradeGKEUpgrade: GKEUpgrade represents a GKE provided upgrade,
   748  // e.g., control plane upgrade.
   749  type ClusterUpgradeGKEUpgrade struct {
   750  	// Name: Name of the upgrade, e.g., "k8s_control_plane". It should be a valid
   751  	// upgrade name. It must not exceet 99 characters.
   752  	Name string `json:"name,omitempty"`
   753  	// Version: Version of the upgrade, e.g., "1.22.1-gke.100". It should be a
   754  	// valid version. It must not exceet 99 characters.
   755  	Version string `json:"version,omitempty"`
   756  	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
   757  	// include in API requests. By default, fields with empty or default values are
   758  	// omitted from API requests. See
   759  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   760  	// details.
   761  	ForceSendFields []string `json:"-"`
   762  	// NullFields is a list of field names (e.g. "Name") to include in API requests
   763  	// with the JSON null value. By default, fields with empty values are omitted
   764  	// from API requests. See
   765  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   766  	NullFields []string `json:"-"`
   767  }
   768  
   769  func (s *ClusterUpgradeGKEUpgrade) MarshalJSON() ([]byte, error) {
   770  	type NoMethod ClusterUpgradeGKEUpgrade
   771  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   772  }
   773  
   774  // ClusterUpgradeGKEUpgradeFeatureCondition: GKEUpgradeFeatureCondition
   775  // describes the condition of the feature for GKE clusters at a certain point
   776  // of time.
   777  type ClusterUpgradeGKEUpgradeFeatureCondition struct {
   778  	// Reason: Reason why the feature is in this status.
   779  	Reason string `json:"reason,omitempty"`
   780  	// Status: Status of the condition, one of True, False, Unknown.
   781  	Status string `json:"status,omitempty"`
   782  	// Type: Type of the condition, for example, "ready".
   783  	Type string `json:"type,omitempty"`
   784  	// UpdateTime: Last timestamp the condition was updated.
   785  	UpdateTime string `json:"updateTime,omitempty"`
   786  	// ForceSendFields is a list of field names (e.g. "Reason") to unconditionally
   787  	// include in API requests. By default, fields with empty or default values are
   788  	// omitted from API requests. See
   789  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   790  	// details.
   791  	ForceSendFields []string `json:"-"`
   792  	// NullFields is a list of field names (e.g. "Reason") to include in API
   793  	// requests with the JSON null value. By default, fields with empty values are
   794  	// omitted from API requests. See
   795  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   796  	NullFields []string `json:"-"`
   797  }
   798  
   799  func (s *ClusterUpgradeGKEUpgradeFeatureCondition) MarshalJSON() ([]byte, error) {
   800  	type NoMethod ClusterUpgradeGKEUpgradeFeatureCondition
   801  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   802  }
   803  
   804  // ClusterUpgradeGKEUpgradeFeatureState: GKEUpgradeFeatureState contains
   805  // feature states for GKE clusters in the scope.
   806  type ClusterUpgradeGKEUpgradeFeatureState struct {
   807  	// Conditions: Current conditions of the feature.
   808  	Conditions []*ClusterUpgradeGKEUpgradeFeatureCondition `json:"conditions,omitempty"`
   809  	// UpgradeState: Upgrade state. It will eventually replace `state`.
   810  	UpgradeState []*ClusterUpgradeGKEUpgradeState `json:"upgradeState,omitempty"`
   811  	// ForceSendFields is a list of field names (e.g. "Conditions") to
   812  	// unconditionally include in API requests. By default, fields with empty or
   813  	// default values are omitted from API requests. See
   814  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   815  	// details.
   816  	ForceSendFields []string `json:"-"`
   817  	// NullFields is a list of field names (e.g. "Conditions") to include in API
   818  	// requests with the JSON null value. By default, fields with empty values are
   819  	// omitted from API requests. See
   820  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   821  	NullFields []string `json:"-"`
   822  }
   823  
   824  func (s *ClusterUpgradeGKEUpgradeFeatureState) MarshalJSON() ([]byte, error) {
   825  	type NoMethod ClusterUpgradeGKEUpgradeFeatureState
   826  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   827  }
   828  
   829  // ClusterUpgradeGKEUpgradeOverride: Properties of a GKE upgrade that can be
   830  // overridden by the user. For example, a user can skip soaking by overriding
   831  // the soaking to 0.
   832  type ClusterUpgradeGKEUpgradeOverride struct {
   833  	// PostConditions: Required. Post conditions to override for the specified
   834  	// upgrade (name + version). Required.
   835  	PostConditions *ClusterUpgradePostConditions `json:"postConditions,omitempty"`
   836  	// Upgrade: Required. Which upgrade to override. Required.
   837  	Upgrade *ClusterUpgradeGKEUpgrade `json:"upgrade,omitempty"`
   838  	// ForceSendFields is a list of field names (e.g. "PostConditions") to
   839  	// unconditionally include in API requests. By default, fields with empty or
   840  	// default values are omitted from API requests. See
   841  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   842  	// details.
   843  	ForceSendFields []string `json:"-"`
   844  	// NullFields is a list of field names (e.g. "PostConditions") to include in
   845  	// API requests with the JSON null value. By default, fields with empty values
   846  	// are omitted from API requests. See
   847  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   848  	NullFields []string `json:"-"`
   849  }
   850  
   851  func (s *ClusterUpgradeGKEUpgradeOverride) MarshalJSON() ([]byte, error) {
   852  	type NoMethod ClusterUpgradeGKEUpgradeOverride
   853  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   854  }
   855  
   856  // ClusterUpgradeGKEUpgradeState: GKEUpgradeState is a GKEUpgrade and its state
   857  // at the scope and fleet level.
   858  type ClusterUpgradeGKEUpgradeState struct {
   859  	// Stats: Number of GKE clusters in each status code.
   860  	Stats map[string]string `json:"stats,omitempty"`
   861  	// Status: Status of the upgrade.
   862  	Status *ClusterUpgradeUpgradeStatus `json:"status,omitempty"`
   863  	// Upgrade: Which upgrade to track the state.
   864  	Upgrade *ClusterUpgradeGKEUpgrade `json:"upgrade,omitempty"`
   865  	// ForceSendFields is a list of field names (e.g. "Stats") to unconditionally
   866  	// include in API requests. By default, fields with empty or default values are
   867  	// omitted from API requests. See
   868  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   869  	// details.
   870  	ForceSendFields []string `json:"-"`
   871  	// NullFields is a list of field names (e.g. "Stats") to include in API
   872  	// requests with the JSON null value. By default, fields with empty values are
   873  	// omitted from API requests. See
   874  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   875  	NullFields []string `json:"-"`
   876  }
   877  
   878  func (s *ClusterUpgradeGKEUpgradeState) MarshalJSON() ([]byte, error) {
   879  	type NoMethod ClusterUpgradeGKEUpgradeState
   880  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   881  }
   882  
   883  // ClusterUpgradeIgnoredMembership: IgnoredMembership represents a membership
   884  // ignored by the feature. A membership can be ignored because it was manually
   885  // upgraded to a newer version than RC default.
   886  type ClusterUpgradeIgnoredMembership struct {
   887  	// IgnoredTime: Time when the membership was first set to ignored.
   888  	IgnoredTime string `json:"ignoredTime,omitempty"`
   889  	// Reason: Reason why the membership is ignored.
   890  	Reason string `json:"reason,omitempty"`
   891  	// ForceSendFields is a list of field names (e.g. "IgnoredTime") to
   892  	// unconditionally include in API requests. By default, fields with empty or
   893  	// default values are omitted from API requests. See
   894  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   895  	// details.
   896  	ForceSendFields []string `json:"-"`
   897  	// NullFields is a list of field names (e.g. "IgnoredTime") to include in API
   898  	// requests with the JSON null value. By default, fields with empty values are
   899  	// omitted from API requests. See
   900  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   901  	NullFields []string `json:"-"`
   902  }
   903  
   904  func (s *ClusterUpgradeIgnoredMembership) MarshalJSON() ([]byte, error) {
   905  	type NoMethod ClusterUpgradeIgnoredMembership
   906  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   907  }
   908  
   909  // ClusterUpgradeMembershipGKEUpgradeState: ScopeGKEUpgradeState is a
   910  // GKEUpgrade and its state per-membership.
   911  type ClusterUpgradeMembershipGKEUpgradeState struct {
   912  	// Status: Status of the upgrade.
   913  	Status *ClusterUpgradeUpgradeStatus `json:"status,omitempty"`
   914  	// Upgrade: Which upgrade to track the state.
   915  	Upgrade *ClusterUpgradeGKEUpgrade `json:"upgrade,omitempty"`
   916  	// ForceSendFields is a list of field names (e.g. "Status") to unconditionally
   917  	// include in API requests. By default, fields with empty or default values are
   918  	// omitted from API requests. See
   919  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   920  	// details.
   921  	ForceSendFields []string `json:"-"`
   922  	// NullFields is a list of field names (e.g. "Status") to include in API
   923  	// requests with the JSON null value. By default, fields with empty values are
   924  	// omitted from API requests. See
   925  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   926  	NullFields []string `json:"-"`
   927  }
   928  
   929  func (s *ClusterUpgradeMembershipGKEUpgradeState) MarshalJSON() ([]byte, error) {
   930  	type NoMethod ClusterUpgradeMembershipGKEUpgradeState
   931  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   932  }
   933  
   934  // ClusterUpgradeMembershipState: Per-membership state for this feature.
   935  type ClusterUpgradeMembershipState struct {
   936  	// Ignored: Whether this membership is ignored by the feature. For example,
   937  	// manually upgraded clusters can be ignored if they are newer than the default
   938  	// versions of its release channel.
   939  	Ignored *ClusterUpgradeIgnoredMembership `json:"ignored,omitempty"`
   940  	// Upgrades: Actual upgrade state against desired.
   941  	Upgrades []*ClusterUpgradeMembershipGKEUpgradeState `json:"upgrades,omitempty"`
   942  	// ForceSendFields is a list of field names (e.g. "Ignored") to unconditionally
   943  	// include in API requests. By default, fields with empty or default values are
   944  	// omitted from API requests. See
   945  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   946  	// details.
   947  	ForceSendFields []string `json:"-"`
   948  	// NullFields is a list of field names (e.g. "Ignored") to include in API
   949  	// requests with the JSON null value. By default, fields with empty values are
   950  	// omitted from API requests. See
   951  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   952  	NullFields []string `json:"-"`
   953  }
   954  
   955  func (s *ClusterUpgradeMembershipState) MarshalJSON() ([]byte, error) {
   956  	type NoMethod ClusterUpgradeMembershipState
   957  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   958  }
   959  
   960  // ClusterUpgradePostConditions: Post conditional checks after an upgrade has
   961  // been applied on all eligible clusters.
   962  type ClusterUpgradePostConditions struct {
   963  	// Soaking: Required. Amount of time to "soak" after a rollout has been
   964  	// finished before marking it COMPLETE. Cannot exceed 30 days. Required.
   965  	Soaking string `json:"soaking,omitempty"`
   966  	// ForceSendFields is a list of field names (e.g. "Soaking") to unconditionally
   967  	// include in API requests. By default, fields with empty or default values are
   968  	// omitted from API requests. See
   969  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   970  	// details.
   971  	ForceSendFields []string `json:"-"`
   972  	// NullFields is a list of field names (e.g. "Soaking") to include in API
   973  	// requests with the JSON null value. By default, fields with empty values are
   974  	// omitted from API requests. See
   975  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   976  	NullFields []string `json:"-"`
   977  }
   978  
   979  func (s *ClusterUpgradePostConditions) MarshalJSON() ([]byte, error) {
   980  	type NoMethod ClusterUpgradePostConditions
   981  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   982  }
   983  
   984  // ClusterUpgradeUpgradeStatus: UpgradeStatus provides status information for
   985  // each upgrade.
   986  type ClusterUpgradeUpgradeStatus struct {
   987  	// Code: Status code of the upgrade.
   988  	//
   989  	// Possible values:
   990  	//   "CODE_UNSPECIFIED" - Required by https://linter.aip.dev/126/unspecified.
   991  	//   "INELIGIBLE" - The upgrade is ineligible. At the scope level, this means
   992  	// the upgrade is ineligible for all the clusters in the scope.
   993  	//   "PENDING" - The upgrade is pending. At the scope level, this means the
   994  	// upgrade is pending for all the clusters in the scope.
   995  	//   "IN_PROGRESS" - The upgrade is in progress. At the scope level, this means
   996  	// the upgrade is in progress for at least one cluster in the scope.
   997  	//   "SOAKING" - The upgrade has finished and is soaking until the soaking time
   998  	// is up. At the scope level, this means at least one cluster is in soaking
   999  	// while the rest are either soaking or complete.
  1000  	//   "FORCED_SOAKING" - A cluster will be forced to enter soaking if an upgrade
  1001  	// doesn't finish within a certain limit, despite it's actual status.
  1002  	//   "COMPLETE" - The upgrade has passed all post conditions (soaking). At the
  1003  	// scope level, this means all eligible clusters are in COMPLETE status.
  1004  	Code string `json:"code,omitempty"`
  1005  	// Reason: Reason for this status.
  1006  	Reason string `json:"reason,omitempty"`
  1007  	// UpdateTime: Last timestamp the status was updated.
  1008  	UpdateTime string `json:"updateTime,omitempty"`
  1009  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  1010  	// include in API requests. By default, fields with empty or default values are
  1011  	// omitted from API requests. See
  1012  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1013  	// details.
  1014  	ForceSendFields []string `json:"-"`
  1015  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  1016  	// with the JSON null value. By default, fields with empty values are omitted
  1017  	// from API requests. See
  1018  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1019  	NullFields []string `json:"-"`
  1020  }
  1021  
  1022  func (s *ClusterUpgradeUpgradeStatus) MarshalJSON() ([]byte, error) {
  1023  	type NoMethod ClusterUpgradeUpgradeStatus
  1024  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1025  }
  1026  
  1027  // CommonFeatureSpec: CommonFeatureSpec contains Hub-wide configuration
  1028  // information
  1029  type CommonFeatureSpec struct {
  1030  	// Anthosobservability: Anthos Observability spec
  1031  	Anthosobservability *AnthosObservabilityFeatureSpec `json:"anthosobservability,omitempty"`
  1032  	// Appdevexperience: Appdevexperience specific spec.
  1033  	Appdevexperience *AppDevExperienceFeatureSpec `json:"appdevexperience,omitempty"`
  1034  	// Clusterupgrade: ClusterUpgrade (fleet-based) feature spec.
  1035  	Clusterupgrade *ClusterUpgradeFleetSpec `json:"clusterupgrade,omitempty"`
  1036  	// Dataplanev2: DataplaneV2 feature spec.
  1037  	Dataplanev2 *DataplaneV2FeatureSpec `json:"dataplanev2,omitempty"`
  1038  	// Fleetobservability: FleetObservability feature spec.
  1039  	Fleetobservability *FleetObservabilityFeatureSpec `json:"fleetobservability,omitempty"`
  1040  	// Multiclusteringress: Multicluster Ingress-specific spec.
  1041  	Multiclusteringress *MultiClusterIngressFeatureSpec `json:"multiclusteringress,omitempty"`
  1042  	// ForceSendFields is a list of field names (e.g. "Anthosobservability") to
  1043  	// unconditionally include in API requests. By default, fields with empty or
  1044  	// default values are omitted from API requests. See
  1045  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1046  	// details.
  1047  	ForceSendFields []string `json:"-"`
  1048  	// NullFields is a list of field names (e.g. "Anthosobservability") to include
  1049  	// in API requests with the JSON null value. By default, fields with empty
  1050  	// values are omitted from API requests. See
  1051  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1052  	NullFields []string `json:"-"`
  1053  }
  1054  
  1055  func (s *CommonFeatureSpec) MarshalJSON() ([]byte, error) {
  1056  	type NoMethod CommonFeatureSpec
  1057  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1058  }
  1059  
  1060  // CommonFeatureState: CommonFeatureState contains Hub-wide Feature status
  1061  // information.
  1062  type CommonFeatureState struct {
  1063  	// Appdevexperience: Appdevexperience specific state.
  1064  	Appdevexperience *AppDevExperienceFeatureState `json:"appdevexperience,omitempty"`
  1065  	// Clusterupgrade: ClusterUpgrade fleet-level state.
  1066  	Clusterupgrade *ClusterUpgradeFleetState `json:"clusterupgrade,omitempty"`
  1067  	// Fleetobservability: FleetObservability feature state.
  1068  	Fleetobservability *FleetObservabilityFeatureState `json:"fleetobservability,omitempty"`
  1069  	// State: Output only. The "running state" of the Feature in this Hub.
  1070  	State *FeatureState `json:"state,omitempty"`
  1071  	// ForceSendFields is a list of field names (e.g. "Appdevexperience") to
  1072  	// unconditionally include in API requests. By default, fields with empty or
  1073  	// default values are omitted from API requests. See
  1074  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1075  	// details.
  1076  	ForceSendFields []string `json:"-"`
  1077  	// NullFields is a list of field names (e.g. "Appdevexperience") to include in
  1078  	// API requests with the JSON null value. By default, fields with empty values
  1079  	// are omitted from API requests. See
  1080  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1081  	NullFields []string `json:"-"`
  1082  }
  1083  
  1084  func (s *CommonFeatureState) MarshalJSON() ([]byte, error) {
  1085  	type NoMethod CommonFeatureState
  1086  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1087  }
  1088  
  1089  // CommonFleetDefaultMemberConfigSpec: CommonFleetDefaultMemberConfigSpec
  1090  // contains default configuration information for memberships of a fleet
  1091  type CommonFleetDefaultMemberConfigSpec struct {
  1092  	// Configmanagement: Config Management-specific spec.
  1093  	Configmanagement *ConfigManagementMembershipSpec `json:"configmanagement,omitempty"`
  1094  	// Identityservice: Identity Service-specific spec.
  1095  	Identityservice *IdentityServiceMembershipSpec `json:"identityservice,omitempty"`
  1096  	// Mesh: Anthos Service Mesh-specific spec
  1097  	Mesh *ServiceMeshMembershipSpec `json:"mesh,omitempty"`
  1098  	// Policycontroller: Policy Controller spec.
  1099  	Policycontroller *PolicyControllerMembershipSpec `json:"policycontroller,omitempty"`
  1100  	// ForceSendFields is a list of field names (e.g. "Configmanagement") to
  1101  	// unconditionally include in API requests. By default, fields with empty or
  1102  	// default values are omitted from API requests. See
  1103  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1104  	// details.
  1105  	ForceSendFields []string `json:"-"`
  1106  	// NullFields is a list of field names (e.g. "Configmanagement") to include in
  1107  	// API requests with the JSON null value. By default, fields with empty values
  1108  	// are omitted from API requests. See
  1109  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1110  	NullFields []string `json:"-"`
  1111  }
  1112  
  1113  func (s *CommonFleetDefaultMemberConfigSpec) MarshalJSON() ([]byte, error) {
  1114  	type NoMethod CommonFleetDefaultMemberConfigSpec
  1115  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1116  }
  1117  
  1118  // ConfigManagementBinauthzConfig: Configuration for Binauthz
  1119  type ConfigManagementBinauthzConfig struct {
  1120  	// Enabled: Whether binauthz is enabled in this cluster.
  1121  	Enabled bool `json:"enabled,omitempty"`
  1122  	// ForceSendFields is a list of field names (e.g. "Enabled") to unconditionally
  1123  	// include in API requests. By default, fields with empty or default values are
  1124  	// omitted from API requests. See
  1125  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1126  	// details.
  1127  	ForceSendFields []string `json:"-"`
  1128  	// NullFields is a list of field names (e.g. "Enabled") to include in API
  1129  	// requests with the JSON null value. By default, fields with empty values are
  1130  	// omitted from API requests. See
  1131  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1132  	NullFields []string `json:"-"`
  1133  }
  1134  
  1135  func (s *ConfigManagementBinauthzConfig) MarshalJSON() ([]byte, error) {
  1136  	type NoMethod ConfigManagementBinauthzConfig
  1137  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1138  }
  1139  
  1140  // ConfigManagementBinauthzState: State for Binauthz
  1141  type ConfigManagementBinauthzState struct {
  1142  	// Version: The version of binauthz that is installed.
  1143  	Version *ConfigManagementBinauthzVersion `json:"version,omitempty"`
  1144  	// Webhook: The state of the binauthz webhook.
  1145  	//
  1146  	// Possible values:
  1147  	//   "DEPLOYMENT_STATE_UNSPECIFIED" - Deployment's state cannot be determined
  1148  	//   "NOT_INSTALLED" - Deployment is not installed
  1149  	//   "INSTALLED" - Deployment is installed
  1150  	//   "ERROR" - Deployment was attempted to be installed, but has errors
  1151  	//   "PENDING" - Deployment is installing or terminating
  1152  	Webhook string `json:"webhook,omitempty"`
  1153  	// ForceSendFields is a list of field names (e.g. "Version") to unconditionally
  1154  	// include in API requests. By default, fields with empty or default values are
  1155  	// omitted from API requests. See
  1156  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1157  	// details.
  1158  	ForceSendFields []string `json:"-"`
  1159  	// NullFields is a list of field names (e.g. "Version") to include in API
  1160  	// requests with the JSON null value. By default, fields with empty values are
  1161  	// omitted from API requests. See
  1162  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1163  	NullFields []string `json:"-"`
  1164  }
  1165  
  1166  func (s *ConfigManagementBinauthzState) MarshalJSON() ([]byte, error) {
  1167  	type NoMethod ConfigManagementBinauthzState
  1168  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1169  }
  1170  
  1171  // ConfigManagementBinauthzVersion: The version of binauthz.
  1172  type ConfigManagementBinauthzVersion struct {
  1173  	// WebhookVersion: The version of the binauthz webhook.
  1174  	WebhookVersion string `json:"webhookVersion,omitempty"`
  1175  	// ForceSendFields is a list of field names (e.g. "WebhookVersion") to
  1176  	// unconditionally include in API requests. By default, fields with empty or
  1177  	// default values are omitted from API requests. See
  1178  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1179  	// details.
  1180  	ForceSendFields []string `json:"-"`
  1181  	// NullFields is a list of field names (e.g. "WebhookVersion") to include in
  1182  	// API requests with the JSON null value. By default, fields with empty values
  1183  	// are omitted from API requests. See
  1184  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1185  	NullFields []string `json:"-"`
  1186  }
  1187  
  1188  func (s *ConfigManagementBinauthzVersion) MarshalJSON() ([]byte, error) {
  1189  	type NoMethod ConfigManagementBinauthzVersion
  1190  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1191  }
  1192  
  1193  // ConfigManagementConfigSync: Configuration for Config Sync
  1194  type ConfigManagementConfigSync struct {
  1195  	// AllowVerticalScale: Set to true to allow the vertical scaling. Defaults to
  1196  	// false which disallows vertical scaling. This field is deprecated.
  1197  	AllowVerticalScale bool `json:"allowVerticalScale,omitempty"`
  1198  	// Enabled: Enables the installation of ConfigSync. If set to true, ConfigSync
  1199  	// resources will be created and the other ConfigSync fields will be applied if
  1200  	// exist. If set to false, all other ConfigSync fields will be ignored,
  1201  	// ConfigSync resources will be deleted. If omitted, ConfigSync resources will
  1202  	// be managed depends on the presence of the git or oci field.
  1203  	Enabled bool `json:"enabled,omitempty"`
  1204  	// Git: Git repo configuration for the cluster.
  1205  	Git *ConfigManagementGitConfig `json:"git,omitempty"`
  1206  	// MetricsGcpServiceAccountEmail: The Email of the Google Cloud Service Account
  1207  	// (GSA) used for exporting Config Sync metrics to Cloud Monitoring and Cloud
  1208  	// Monarch when Workload Identity is enabled. The GSA should have the
  1209  	// Monitoring Metric Writer (roles/monitoring.metricWriter) IAM role. The
  1210  	// Kubernetes ServiceAccount `default` in the namespace
  1211  	// `config-management-monitoring` should be bound to the GSA.
  1212  	MetricsGcpServiceAccountEmail string `json:"metricsGcpServiceAccountEmail,omitempty"`
  1213  	// Oci: OCI repo configuration for the cluster
  1214  	Oci *ConfigManagementOciConfig `json:"oci,omitempty"`
  1215  	// PreventDrift: Set to true to enable the Config Sync admission webhook to
  1216  	// prevent drifts. If set to `false`, disables the Config Sync admission
  1217  	// webhook and does not prevent drifts.
  1218  	PreventDrift bool `json:"preventDrift,omitempty"`
  1219  	// SourceFormat: Specifies whether the Config Sync Repo is in "hierarchical" or
  1220  	// "unstructured" mode.
  1221  	SourceFormat string `json:"sourceFormat,omitempty"`
  1222  	// ForceSendFields is a list of field names (e.g. "AllowVerticalScale") to
  1223  	// unconditionally include in API requests. By default, fields with empty or
  1224  	// default values are omitted from API requests. See
  1225  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1226  	// details.
  1227  	ForceSendFields []string `json:"-"`
  1228  	// NullFields is a list of field names (e.g. "AllowVerticalScale") to include
  1229  	// in API requests with the JSON null value. By default, fields with empty
  1230  	// values are omitted from API requests. See
  1231  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1232  	NullFields []string `json:"-"`
  1233  }
  1234  
  1235  func (s *ConfigManagementConfigSync) MarshalJSON() ([]byte, error) {
  1236  	type NoMethod ConfigManagementConfigSync
  1237  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1238  }
  1239  
  1240  // ConfigManagementConfigSyncDeploymentState: The state of ConfigSync's
  1241  // deployment on a cluster
  1242  type ConfigManagementConfigSyncDeploymentState struct {
  1243  	// AdmissionWebhook: Deployment state of admission-webhook
  1244  	//
  1245  	// Possible values:
  1246  	//   "DEPLOYMENT_STATE_UNSPECIFIED" - Deployment's state cannot be determined
  1247  	//   "NOT_INSTALLED" - Deployment is not installed
  1248  	//   "INSTALLED" - Deployment is installed
  1249  	//   "ERROR" - Deployment was attempted to be installed, but has errors
  1250  	//   "PENDING" - Deployment is installing or terminating
  1251  	AdmissionWebhook string `json:"admissionWebhook,omitempty"`
  1252  	// GitSync: Deployment state of the git-sync pod
  1253  	//
  1254  	// Possible values:
  1255  	//   "DEPLOYMENT_STATE_UNSPECIFIED" - Deployment's state cannot be determined
  1256  	//   "NOT_INSTALLED" - Deployment is not installed
  1257  	//   "INSTALLED" - Deployment is installed
  1258  	//   "ERROR" - Deployment was attempted to be installed, but has errors
  1259  	//   "PENDING" - Deployment is installing or terminating
  1260  	GitSync string `json:"gitSync,omitempty"`
  1261  	// Importer: Deployment state of the importer pod
  1262  	//
  1263  	// Possible values:
  1264  	//   "DEPLOYMENT_STATE_UNSPECIFIED" - Deployment's state cannot be determined
  1265  	//   "NOT_INSTALLED" - Deployment is not installed
  1266  	//   "INSTALLED" - Deployment is installed
  1267  	//   "ERROR" - Deployment was attempted to be installed, but has errors
  1268  	//   "PENDING" - Deployment is installing or terminating
  1269  	Importer string `json:"importer,omitempty"`
  1270  	// Monitor: Deployment state of the monitor pod
  1271  	//
  1272  	// Possible values:
  1273  	//   "DEPLOYMENT_STATE_UNSPECIFIED" - Deployment's state cannot be determined
  1274  	//   "NOT_INSTALLED" - Deployment is not installed
  1275  	//   "INSTALLED" - Deployment is installed
  1276  	//   "ERROR" - Deployment was attempted to be installed, but has errors
  1277  	//   "PENDING" - Deployment is installing or terminating
  1278  	Monitor string `json:"monitor,omitempty"`
  1279  	// ReconcilerManager: Deployment state of reconciler-manager pod
  1280  	//
  1281  	// Possible values:
  1282  	//   "DEPLOYMENT_STATE_UNSPECIFIED" - Deployment's state cannot be determined
  1283  	//   "NOT_INSTALLED" - Deployment is not installed
  1284  	//   "INSTALLED" - Deployment is installed
  1285  	//   "ERROR" - Deployment was attempted to be installed, but has errors
  1286  	//   "PENDING" - Deployment is installing or terminating
  1287  	ReconcilerManager string `json:"reconcilerManager,omitempty"`
  1288  	// RootReconciler: Deployment state of root-reconciler
  1289  	//
  1290  	// Possible values:
  1291  	//   "DEPLOYMENT_STATE_UNSPECIFIED" - Deployment's state cannot be determined
  1292  	//   "NOT_INSTALLED" - Deployment is not installed
  1293  	//   "INSTALLED" - Deployment is installed
  1294  	//   "ERROR" - Deployment was attempted to be installed, but has errors
  1295  	//   "PENDING" - Deployment is installing or terminating
  1296  	RootReconciler string `json:"rootReconciler,omitempty"`
  1297  	// Syncer: Deployment state of the syncer pod
  1298  	//
  1299  	// Possible values:
  1300  	//   "DEPLOYMENT_STATE_UNSPECIFIED" - Deployment's state cannot be determined
  1301  	//   "NOT_INSTALLED" - Deployment is not installed
  1302  	//   "INSTALLED" - Deployment is installed
  1303  	//   "ERROR" - Deployment was attempted to be installed, but has errors
  1304  	//   "PENDING" - Deployment is installing or terminating
  1305  	Syncer string `json:"syncer,omitempty"`
  1306  	// ForceSendFields is a list of field names (e.g. "AdmissionWebhook") to
  1307  	// unconditionally include in API requests. By default, fields with empty or
  1308  	// default values are omitted from API requests. See
  1309  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1310  	// details.
  1311  	ForceSendFields []string `json:"-"`
  1312  	// NullFields is a list of field names (e.g. "AdmissionWebhook") to include in
  1313  	// API requests with the JSON null value. By default, fields with empty values
  1314  	// are omitted from API requests. See
  1315  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1316  	NullFields []string `json:"-"`
  1317  }
  1318  
  1319  func (s *ConfigManagementConfigSyncDeploymentState) MarshalJSON() ([]byte, error) {
  1320  	type NoMethod ConfigManagementConfigSyncDeploymentState
  1321  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1322  }
  1323  
  1324  // ConfigManagementConfigSyncError: Errors pertaining to the installation of
  1325  // Config Sync
  1326  type ConfigManagementConfigSyncError struct {
  1327  	// ErrorMessage: A string representing the user facing error message
  1328  	ErrorMessage string `json:"errorMessage,omitempty"`
  1329  	// ForceSendFields is a list of field names (e.g. "ErrorMessage") to
  1330  	// unconditionally include in API requests. By default, fields with empty or
  1331  	// default values are omitted from API requests. See
  1332  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1333  	// details.
  1334  	ForceSendFields []string `json:"-"`
  1335  	// NullFields is a list of field names (e.g. "ErrorMessage") to include in API
  1336  	// requests with the JSON null value. By default, fields with empty values are
  1337  	// omitted from API requests. See
  1338  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1339  	NullFields []string `json:"-"`
  1340  }
  1341  
  1342  func (s *ConfigManagementConfigSyncError) MarshalJSON() ([]byte, error) {
  1343  	type NoMethod ConfigManagementConfigSyncError
  1344  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1345  }
  1346  
  1347  // ConfigManagementConfigSyncState: State information for ConfigSync
  1348  type ConfigManagementConfigSyncState struct {
  1349  	// DeploymentState: Information about the deployment of ConfigSync, including
  1350  	// the version of the various Pods deployed
  1351  	DeploymentState *ConfigManagementConfigSyncDeploymentState `json:"deploymentState,omitempty"`
  1352  	// Errors: Errors pertaining to the installation of Config Sync.
  1353  	Errors []*ConfigManagementConfigSyncError `json:"errors,omitempty"`
  1354  	// ReposyncCrd: The state of the Reposync CRD
  1355  	//
  1356  	// Possible values:
  1357  	//   "CRD_STATE_UNSPECIFIED" - CRD's state cannot be determined
  1358  	//   "NOT_INSTALLED" - CRD is not installed
  1359  	//   "INSTALLED" - CRD is installed
  1360  	//   "TERMINATING" - CRD is terminating (i.e., it has been deleted and is
  1361  	// cleaning up)
  1362  	//   "INSTALLING" - CRD is installing
  1363  	ReposyncCrd string `json:"reposyncCrd,omitempty"`
  1364  	// RootsyncCrd: The state of the RootSync CRD
  1365  	//
  1366  	// Possible values:
  1367  	//   "CRD_STATE_UNSPECIFIED" - CRD's state cannot be determined
  1368  	//   "NOT_INSTALLED" - CRD is not installed
  1369  	//   "INSTALLED" - CRD is installed
  1370  	//   "TERMINATING" - CRD is terminating (i.e., it has been deleted and is
  1371  	// cleaning up)
  1372  	//   "INSTALLING" - CRD is installing
  1373  	RootsyncCrd string `json:"rootsyncCrd,omitempty"`
  1374  	// State: The state of CS This field summarizes the other fields in this
  1375  	// message.
  1376  	//
  1377  	// Possible values:
  1378  	//   "STATE_UNSPECIFIED" - CS's state cannot be determined.
  1379  	//   "CONFIG_SYNC_NOT_INSTALLED" - CS is not installed.
  1380  	//   "CONFIG_SYNC_INSTALLED" - The expected CS version is installed
  1381  	// successfully.
  1382  	//   "CONFIG_SYNC_ERROR" - CS encounters errors.
  1383  	//   "CONFIG_SYNC_PENDING" - CS is installing or terminating.
  1384  	State string `json:"state,omitempty"`
  1385  	// SyncState: The state of ConfigSync's process to sync configs to a cluster
  1386  	SyncState *ConfigManagementSyncState `json:"syncState,omitempty"`
  1387  	// Version: The version of ConfigSync deployed
  1388  	Version *ConfigManagementConfigSyncVersion `json:"version,omitempty"`
  1389  	// ForceSendFields is a list of field names (e.g. "DeploymentState") to
  1390  	// unconditionally include in API requests. By default, fields with empty or
  1391  	// default values are omitted from API requests. See
  1392  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1393  	// details.
  1394  	ForceSendFields []string `json:"-"`
  1395  	// NullFields is a list of field names (e.g. "DeploymentState") to include in
  1396  	// API requests with the JSON null value. By default, fields with empty values
  1397  	// are omitted from API requests. See
  1398  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1399  	NullFields []string `json:"-"`
  1400  }
  1401  
  1402  func (s *ConfigManagementConfigSyncState) MarshalJSON() ([]byte, error) {
  1403  	type NoMethod ConfigManagementConfigSyncState
  1404  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1405  }
  1406  
  1407  // ConfigManagementConfigSyncVersion: Specific versioning information
  1408  // pertaining to ConfigSync's Pods
  1409  type ConfigManagementConfigSyncVersion struct {
  1410  	// AdmissionWebhook: Version of the deployed admission_webhook pod
  1411  	AdmissionWebhook string `json:"admissionWebhook,omitempty"`
  1412  	// GitSync: Version of the deployed git-sync pod
  1413  	GitSync string `json:"gitSync,omitempty"`
  1414  	// Importer: Version of the deployed importer pod
  1415  	Importer string `json:"importer,omitempty"`
  1416  	// Monitor: Version of the deployed monitor pod
  1417  	Monitor string `json:"monitor,omitempty"`
  1418  	// ReconcilerManager: Version of the deployed reconciler-manager pod
  1419  	ReconcilerManager string `json:"reconcilerManager,omitempty"`
  1420  	// RootReconciler: Version of the deployed reconciler container in
  1421  	// root-reconciler pod
  1422  	RootReconciler string `json:"rootReconciler,omitempty"`
  1423  	// Syncer: Version of the deployed syncer pod
  1424  	Syncer string `json:"syncer,omitempty"`
  1425  	// ForceSendFields is a list of field names (e.g. "AdmissionWebhook") to
  1426  	// unconditionally include in API requests. By default, fields with empty or
  1427  	// default values are omitted from API requests. See
  1428  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1429  	// details.
  1430  	ForceSendFields []string `json:"-"`
  1431  	// NullFields is a list of field names (e.g. "AdmissionWebhook") to include in
  1432  	// API requests with the JSON null value. By default, fields with empty values
  1433  	// are omitted from API requests. See
  1434  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1435  	NullFields []string `json:"-"`
  1436  }
  1437  
  1438  func (s *ConfigManagementConfigSyncVersion) MarshalJSON() ([]byte, error) {
  1439  	type NoMethod ConfigManagementConfigSyncVersion
  1440  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1441  }
  1442  
  1443  // ConfigManagementErrorResource: Model for a config file in the git repo with
  1444  // an associated Sync error
  1445  type ConfigManagementErrorResource struct {
  1446  	// ResourceGvk: Group/version/kind of the resource that is causing an error
  1447  	ResourceGvk *ConfigManagementGroupVersionKind `json:"resourceGvk,omitempty"`
  1448  	// ResourceName: Metadata name of the resource that is causing an error
  1449  	ResourceName string `json:"resourceName,omitempty"`
  1450  	// ResourceNamespace: Namespace of the resource that is causing an error
  1451  	ResourceNamespace string `json:"resourceNamespace,omitempty"`
  1452  	// SourcePath: Path in the git repo of the erroneous config
  1453  	SourcePath string `json:"sourcePath,omitempty"`
  1454  	// ForceSendFields is a list of field names (e.g. "ResourceGvk") to
  1455  	// unconditionally include in API requests. By default, fields with empty or
  1456  	// default values are omitted from API requests. See
  1457  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1458  	// details.
  1459  	ForceSendFields []string `json:"-"`
  1460  	// NullFields is a list of field names (e.g. "ResourceGvk") to include in API
  1461  	// requests with the JSON null value. By default, fields with empty values are
  1462  	// omitted from API requests. See
  1463  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1464  	NullFields []string `json:"-"`
  1465  }
  1466  
  1467  func (s *ConfigManagementErrorResource) MarshalJSON() ([]byte, error) {
  1468  	type NoMethod ConfigManagementErrorResource
  1469  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1470  }
  1471  
  1472  // ConfigManagementGatekeeperDeploymentState: State of Policy Controller
  1473  // installation.
  1474  type ConfigManagementGatekeeperDeploymentState struct {
  1475  	// GatekeeperAudit: Status of gatekeeper-audit deployment.
  1476  	//
  1477  	// Possible values:
  1478  	//   "DEPLOYMENT_STATE_UNSPECIFIED" - Deployment's state cannot be determined
  1479  	//   "NOT_INSTALLED" - Deployment is not installed
  1480  	//   "INSTALLED" - Deployment is installed
  1481  	//   "ERROR" - Deployment was attempted to be installed, but has errors
  1482  	//   "PENDING" - Deployment is installing or terminating
  1483  	GatekeeperAudit string `json:"gatekeeperAudit,omitempty"`
  1484  	// GatekeeperControllerManagerState: Status of gatekeeper-controller-manager
  1485  	// pod.
  1486  	//
  1487  	// Possible values:
  1488  	//   "DEPLOYMENT_STATE_UNSPECIFIED" - Deployment's state cannot be determined
  1489  	//   "NOT_INSTALLED" - Deployment is not installed
  1490  	//   "INSTALLED" - Deployment is installed
  1491  	//   "ERROR" - Deployment was attempted to be installed, but has errors
  1492  	//   "PENDING" - Deployment is installing or terminating
  1493  	GatekeeperControllerManagerState string `json:"gatekeeperControllerManagerState,omitempty"`
  1494  	// GatekeeperMutation: Status of the pod serving the mutation webhook.
  1495  	//
  1496  	// Possible values:
  1497  	//   "DEPLOYMENT_STATE_UNSPECIFIED" - Deployment's state cannot be determined
  1498  	//   "NOT_INSTALLED" - Deployment is not installed
  1499  	//   "INSTALLED" - Deployment is installed
  1500  	//   "ERROR" - Deployment was attempted to be installed, but has errors
  1501  	//   "PENDING" - Deployment is installing or terminating
  1502  	GatekeeperMutation string `json:"gatekeeperMutation,omitempty"`
  1503  	// ForceSendFields is a list of field names (e.g. "GatekeeperAudit") to
  1504  	// unconditionally include in API requests. By default, fields with empty or
  1505  	// default values are omitted from API requests. See
  1506  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1507  	// details.
  1508  	ForceSendFields []string `json:"-"`
  1509  	// NullFields is a list of field names (e.g. "GatekeeperAudit") to include in
  1510  	// API requests with the JSON null value. By default, fields with empty values
  1511  	// are omitted from API requests. See
  1512  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1513  	NullFields []string `json:"-"`
  1514  }
  1515  
  1516  func (s *ConfigManagementGatekeeperDeploymentState) MarshalJSON() ([]byte, error) {
  1517  	type NoMethod ConfigManagementGatekeeperDeploymentState
  1518  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1519  }
  1520  
  1521  // ConfigManagementGitConfig: Git repo configuration for a single cluster.
  1522  type ConfigManagementGitConfig struct {
  1523  	// GcpServiceAccountEmail: The Google Cloud Service Account Email used for auth
  1524  	// when secret_type is gcpServiceAccount.
  1525  	GcpServiceAccountEmail string `json:"gcpServiceAccountEmail,omitempty"`
  1526  	// HttpsProxy: URL for the HTTPS proxy to be used when communicating with the
  1527  	// Git repo.
  1528  	HttpsProxy string `json:"httpsProxy,omitempty"`
  1529  	// PolicyDir: The path within the Git repository that represents the top level
  1530  	// of the repo to sync. Default: the root directory of the repository.
  1531  	PolicyDir string `json:"policyDir,omitempty"`
  1532  	// SecretType: Type of secret configured for access to the Git repo. Must be
  1533  	// one of ssh, cookiefile, gcenode, token, gcpserviceaccount or none. The
  1534  	// validation of this is case-sensitive. Required.
  1535  	SecretType string `json:"secretType,omitempty"`
  1536  	// SyncBranch: The branch of the repository to sync from. Default: master.
  1537  	SyncBranch string `json:"syncBranch,omitempty"`
  1538  	// SyncRepo: The URL of the Git repository to use as the source of truth.
  1539  	SyncRepo string `json:"syncRepo,omitempty"`
  1540  	// SyncRev: Git revision (tag or hash) to check out. Default HEAD.
  1541  	SyncRev string `json:"syncRev,omitempty"`
  1542  	// SyncWaitSecs: Period in seconds between consecutive syncs. Default: 15.
  1543  	SyncWaitSecs int64 `json:"syncWaitSecs,omitempty,string"`
  1544  	// ForceSendFields is a list of field names (e.g. "GcpServiceAccountEmail") to
  1545  	// unconditionally include in API requests. By default, fields with empty or
  1546  	// default values are omitted from API requests. See
  1547  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1548  	// details.
  1549  	ForceSendFields []string `json:"-"`
  1550  	// NullFields is a list of field names (e.g. "GcpServiceAccountEmail") to
  1551  	// include in API requests with the JSON null value. By default, fields with
  1552  	// empty values are omitted from API requests. See
  1553  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1554  	NullFields []string `json:"-"`
  1555  }
  1556  
  1557  func (s *ConfigManagementGitConfig) MarshalJSON() ([]byte, error) {
  1558  	type NoMethod ConfigManagementGitConfig
  1559  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1560  }
  1561  
  1562  // ConfigManagementGroupVersionKind: A Kubernetes object's GVK
  1563  type ConfigManagementGroupVersionKind struct {
  1564  	// Group: Kubernetes Group
  1565  	Group string `json:"group,omitempty"`
  1566  	// Kind: Kubernetes Kind
  1567  	Kind string `json:"kind,omitempty"`
  1568  	// Version: Kubernetes Version
  1569  	Version string `json:"version,omitempty"`
  1570  	// ForceSendFields is a list of field names (e.g. "Group") to unconditionally
  1571  	// include in API requests. By default, fields with empty or default values are
  1572  	// omitted from API requests. See
  1573  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1574  	// details.
  1575  	ForceSendFields []string `json:"-"`
  1576  	// NullFields is a list of field names (e.g. "Group") to include in API
  1577  	// requests with the JSON null value. By default, fields with empty values are
  1578  	// omitted from API requests. See
  1579  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1580  	NullFields []string `json:"-"`
  1581  }
  1582  
  1583  func (s *ConfigManagementGroupVersionKind) MarshalJSON() ([]byte, error) {
  1584  	type NoMethod ConfigManagementGroupVersionKind
  1585  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1586  }
  1587  
  1588  // ConfigManagementHierarchyControllerConfig: Configuration for Hierarchy
  1589  // Controller
  1590  type ConfigManagementHierarchyControllerConfig struct {
  1591  	// EnableHierarchicalResourceQuota: Whether hierarchical resource quota is
  1592  	// enabled in this cluster.
  1593  	EnableHierarchicalResourceQuota bool `json:"enableHierarchicalResourceQuota,omitempty"`
  1594  	// EnablePodTreeLabels: Whether pod tree labels are enabled in this cluster.
  1595  	EnablePodTreeLabels bool `json:"enablePodTreeLabels,omitempty"`
  1596  	// Enabled: Whether Hierarchy Controller is enabled in this cluster.
  1597  	Enabled bool `json:"enabled,omitempty"`
  1598  	// ForceSendFields is a list of field names (e.g.
  1599  	// "EnableHierarchicalResourceQuota") to unconditionally include in API
  1600  	// requests. By default, fields with empty or default values are omitted from
  1601  	// API requests. See
  1602  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1603  	// details.
  1604  	ForceSendFields []string `json:"-"`
  1605  	// NullFields is a list of field names (e.g. "EnableHierarchicalResourceQuota")
  1606  	// to include in API requests with the JSON null value. By default, fields with
  1607  	// empty values are omitted from API requests. See
  1608  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1609  	NullFields []string `json:"-"`
  1610  }
  1611  
  1612  func (s *ConfigManagementHierarchyControllerConfig) MarshalJSON() ([]byte, error) {
  1613  	type NoMethod ConfigManagementHierarchyControllerConfig
  1614  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1615  }
  1616  
  1617  // ConfigManagementHierarchyControllerDeploymentState: Deployment state for
  1618  // Hierarchy Controller
  1619  type ConfigManagementHierarchyControllerDeploymentState struct {
  1620  	// Extension: The deployment state for Hierarchy Controller extension (e.g.
  1621  	// v0.7.0-hc.1)
  1622  	//
  1623  	// Possible values:
  1624  	//   "DEPLOYMENT_STATE_UNSPECIFIED" - Deployment's state cannot be determined
  1625  	//   "NOT_INSTALLED" - Deployment is not installed
  1626  	//   "INSTALLED" - Deployment is installed
  1627  	//   "ERROR" - Deployment was attempted to be installed, but has errors
  1628  	//   "PENDING" - Deployment is installing or terminating
  1629  	Extension string `json:"extension,omitempty"`
  1630  	// Hnc: The deployment state for open source HNC (e.g. v0.7.0-hc.0)
  1631  	//
  1632  	// Possible values:
  1633  	//   "DEPLOYMENT_STATE_UNSPECIFIED" - Deployment's state cannot be determined
  1634  	//   "NOT_INSTALLED" - Deployment is not installed
  1635  	//   "INSTALLED" - Deployment is installed
  1636  	//   "ERROR" - Deployment was attempted to be installed, but has errors
  1637  	//   "PENDING" - Deployment is installing or terminating
  1638  	Hnc string `json:"hnc,omitempty"`
  1639  	// ForceSendFields is a list of field names (e.g. "Extension") to
  1640  	// unconditionally include in API requests. By default, fields with empty or
  1641  	// default values are omitted from API requests. See
  1642  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1643  	// details.
  1644  	ForceSendFields []string `json:"-"`
  1645  	// NullFields is a list of field names (e.g. "Extension") to include in API
  1646  	// requests with the JSON null value. By default, fields with empty values are
  1647  	// omitted from API requests. See
  1648  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1649  	NullFields []string `json:"-"`
  1650  }
  1651  
  1652  func (s *ConfigManagementHierarchyControllerDeploymentState) MarshalJSON() ([]byte, error) {
  1653  	type NoMethod ConfigManagementHierarchyControllerDeploymentState
  1654  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1655  }
  1656  
  1657  // ConfigManagementHierarchyControllerState: State for Hierarchy Controller
  1658  type ConfigManagementHierarchyControllerState struct {
  1659  	// State: The deployment state for Hierarchy Controller
  1660  	State *ConfigManagementHierarchyControllerDeploymentState `json:"state,omitempty"`
  1661  	// Version: The version for Hierarchy Controller
  1662  	Version *ConfigManagementHierarchyControllerVersion `json:"version,omitempty"`
  1663  	// ForceSendFields is a list of field names (e.g. "State") to unconditionally
  1664  	// include in API requests. By default, fields with empty or default values are
  1665  	// omitted from API requests. See
  1666  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1667  	// details.
  1668  	ForceSendFields []string `json:"-"`
  1669  	// NullFields is a list of field names (e.g. "State") to include in API
  1670  	// requests with the JSON null value. By default, fields with empty values are
  1671  	// omitted from API requests. See
  1672  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1673  	NullFields []string `json:"-"`
  1674  }
  1675  
  1676  func (s *ConfigManagementHierarchyControllerState) MarshalJSON() ([]byte, error) {
  1677  	type NoMethod ConfigManagementHierarchyControllerState
  1678  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1679  }
  1680  
  1681  // ConfigManagementHierarchyControllerVersion: Version for Hierarchy Controller
  1682  type ConfigManagementHierarchyControllerVersion struct {
  1683  	// Extension: Version for Hierarchy Controller extension
  1684  	Extension string `json:"extension,omitempty"`
  1685  	// Hnc: Version for open source HNC
  1686  	Hnc string `json:"hnc,omitempty"`
  1687  	// ForceSendFields is a list of field names (e.g. "Extension") to
  1688  	// unconditionally include in API requests. By default, fields with empty or
  1689  	// default values are omitted from API requests. See
  1690  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1691  	// details.
  1692  	ForceSendFields []string `json:"-"`
  1693  	// NullFields is a list of field names (e.g. "Extension") to include in API
  1694  	// requests with the JSON null value. By default, fields with empty values are
  1695  	// omitted from API requests. See
  1696  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1697  	NullFields []string `json:"-"`
  1698  }
  1699  
  1700  func (s *ConfigManagementHierarchyControllerVersion) MarshalJSON() ([]byte, error) {
  1701  	type NoMethod ConfigManagementHierarchyControllerVersion
  1702  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1703  }
  1704  
  1705  // ConfigManagementInstallError: Errors pertaining to the installation of ACM
  1706  type ConfigManagementInstallError struct {
  1707  	// ErrorMessage: A string representing the user facing error message
  1708  	ErrorMessage string `json:"errorMessage,omitempty"`
  1709  	// ForceSendFields is a list of field names (e.g. "ErrorMessage") to
  1710  	// unconditionally include in API requests. By default, fields with empty or
  1711  	// default values are omitted from API requests. See
  1712  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1713  	// details.
  1714  	ForceSendFields []string `json:"-"`
  1715  	// NullFields is a list of field names (e.g. "ErrorMessage") to include in API
  1716  	// requests with the JSON null value. By default, fields with empty values are
  1717  	// omitted from API requests. See
  1718  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1719  	NullFields []string `json:"-"`
  1720  }
  1721  
  1722  func (s *ConfigManagementInstallError) MarshalJSON() ([]byte, error) {
  1723  	type NoMethod ConfigManagementInstallError
  1724  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1725  }
  1726  
  1727  // ConfigManagementMembershipSpec: **Anthos Config Management**: Configuration
  1728  // for a single cluster. Intended to parallel the ConfigManagement CR.
  1729  type ConfigManagementMembershipSpec struct {
  1730  	// Binauthz: Binauthz conifguration for the cluster. Deprecated: This field
  1731  	// will be ignored and should not be set.
  1732  	Binauthz *ConfigManagementBinauthzConfig `json:"binauthz,omitempty"`
  1733  	// Cluster: The user-specified cluster name used by Config Sync
  1734  	// cluster-name-selector annotation or ClusterSelector, for applying configs to
  1735  	// only a subset of clusters. Omit this field if the cluster's fleet membership
  1736  	// name is used by Config Sync cluster-name-selector annotation or
  1737  	// ClusterSelector. Set this field if a name different from the cluster's fleet
  1738  	// membership name is used by Config Sync cluster-name-selector annotation or
  1739  	// ClusterSelector.
  1740  	Cluster string `json:"cluster,omitempty"`
  1741  	// ConfigSync: Config Sync configuration for the cluster.
  1742  	ConfigSync *ConfigManagementConfigSync `json:"configSync,omitempty"`
  1743  	// HierarchyController: Hierarchy Controller configuration for the cluster.
  1744  	HierarchyController *ConfigManagementHierarchyControllerConfig `json:"hierarchyController,omitempty"`
  1745  	// Management: Enables automatic Feature management.
  1746  	//
  1747  	// Possible values:
  1748  	//   "MANAGEMENT_UNSPECIFIED" - Unspecified
  1749  	//   "MANAGEMENT_AUTOMATIC" - Google will manage the Feature for the cluster.
  1750  	//   "MANAGEMENT_MANUAL" - User will manually manage the Feature for the
  1751  	// cluster.
  1752  	Management string `json:"management,omitempty"`
  1753  	// PolicyController: Policy Controller configuration for the cluster.
  1754  	PolicyController *ConfigManagementPolicyController `json:"policyController,omitempty"`
  1755  	// Version: Version of ACM installed.
  1756  	Version string `json:"version,omitempty"`
  1757  	// ForceSendFields is a list of field names (e.g. "Binauthz") to
  1758  	// unconditionally include in API requests. By default, fields with empty or
  1759  	// default values are omitted from API requests. See
  1760  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1761  	// details.
  1762  	ForceSendFields []string `json:"-"`
  1763  	// NullFields is a list of field names (e.g. "Binauthz") to include in API
  1764  	// requests with the JSON null value. By default, fields with empty values are
  1765  	// omitted from API requests. See
  1766  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1767  	NullFields []string `json:"-"`
  1768  }
  1769  
  1770  func (s *ConfigManagementMembershipSpec) MarshalJSON() ([]byte, error) {
  1771  	type NoMethod ConfigManagementMembershipSpec
  1772  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1773  }
  1774  
  1775  // ConfigManagementMembershipState: **Anthos Config Management**: State for a
  1776  // single cluster.
  1777  type ConfigManagementMembershipState struct {
  1778  	// BinauthzState: Binauthz status
  1779  	BinauthzState *ConfigManagementBinauthzState `json:"binauthzState,omitempty"`
  1780  	// ClusterName: This field is set to the `cluster_name` field of the Membership
  1781  	// Spec if it is not empty. Otherwise, it is set to the cluster's fleet
  1782  	// membership name.
  1783  	ClusterName string `json:"clusterName,omitempty"`
  1784  	// ConfigSyncState: Current sync status
  1785  	ConfigSyncState *ConfigManagementConfigSyncState `json:"configSyncState,omitempty"`
  1786  	// HierarchyControllerState: Hierarchy Controller status
  1787  	HierarchyControllerState *ConfigManagementHierarchyControllerState `json:"hierarchyControllerState,omitempty"`
  1788  	// MembershipSpec: Membership configuration in the cluster. This represents the
  1789  	// actual state in the cluster, while the MembershipSpec in the FeatureSpec
  1790  	// represents the intended state
  1791  	MembershipSpec *ConfigManagementMembershipSpec `json:"membershipSpec,omitempty"`
  1792  	// OperatorState: Current install status of ACM's Operator
  1793  	OperatorState *ConfigManagementOperatorState `json:"operatorState,omitempty"`
  1794  	// PolicyControllerState: PolicyController status
  1795  	PolicyControllerState *ConfigManagementPolicyControllerState `json:"policyControllerState,omitempty"`
  1796  	// ForceSendFields is a list of field names (e.g. "BinauthzState") to
  1797  	// unconditionally include in API requests. By default, fields with empty or
  1798  	// default values are omitted from API requests. See
  1799  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1800  	// details.
  1801  	ForceSendFields []string `json:"-"`
  1802  	// NullFields is a list of field names (e.g. "BinauthzState") to include in API
  1803  	// requests with the JSON null value. By default, fields with empty values are
  1804  	// omitted from API requests. See
  1805  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1806  	NullFields []string `json:"-"`
  1807  }
  1808  
  1809  func (s *ConfigManagementMembershipState) MarshalJSON() ([]byte, error) {
  1810  	type NoMethod ConfigManagementMembershipState
  1811  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1812  }
  1813  
  1814  // ConfigManagementOciConfig: OCI repo configuration for a single cluster
  1815  type ConfigManagementOciConfig struct {
  1816  	// GcpServiceAccountEmail: The Google Cloud Service Account Email used for auth
  1817  	// when secret_type is gcpServiceAccount.
  1818  	GcpServiceAccountEmail string `json:"gcpServiceAccountEmail,omitempty"`
  1819  	// PolicyDir: The absolute path of the directory that contains the local
  1820  	// resources. Default: the root directory of the image.
  1821  	PolicyDir string `json:"policyDir,omitempty"`
  1822  	// SecretType: Type of secret configured for access to the Git repo.
  1823  	SecretType string `json:"secretType,omitempty"`
  1824  	// SyncRepo: The OCI image repository URL for the package to sync from. e.g.
  1825  	// `LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME`.
  1826  	SyncRepo string `json:"syncRepo,omitempty"`
  1827  	// SyncWaitSecs: Period in seconds between consecutive syncs. Default: 15.
  1828  	SyncWaitSecs int64 `json:"syncWaitSecs,omitempty,string"`
  1829  	// ForceSendFields is a list of field names (e.g. "GcpServiceAccountEmail") to
  1830  	// unconditionally include in API requests. By default, fields with empty or
  1831  	// default values are omitted from API requests. See
  1832  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1833  	// details.
  1834  	ForceSendFields []string `json:"-"`
  1835  	// NullFields is a list of field names (e.g. "GcpServiceAccountEmail") to
  1836  	// include in API requests with the JSON null value. By default, fields with
  1837  	// empty values are omitted from API requests. See
  1838  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1839  	NullFields []string `json:"-"`
  1840  }
  1841  
  1842  func (s *ConfigManagementOciConfig) MarshalJSON() ([]byte, error) {
  1843  	type NoMethod ConfigManagementOciConfig
  1844  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1845  }
  1846  
  1847  // ConfigManagementOperatorState: State information for an ACM's Operator
  1848  type ConfigManagementOperatorState struct {
  1849  	// DeploymentState: The state of the Operator's deployment
  1850  	//
  1851  	// Possible values:
  1852  	//   "DEPLOYMENT_STATE_UNSPECIFIED" - Deployment's state cannot be determined
  1853  	//   "NOT_INSTALLED" - Deployment is not installed
  1854  	//   "INSTALLED" - Deployment is installed
  1855  	//   "ERROR" - Deployment was attempted to be installed, but has errors
  1856  	//   "PENDING" - Deployment is installing or terminating
  1857  	DeploymentState string `json:"deploymentState,omitempty"`
  1858  	// Errors: Install errors.
  1859  	Errors []*ConfigManagementInstallError `json:"errors,omitempty"`
  1860  	// Version: The semenatic version number of the operator
  1861  	Version string `json:"version,omitempty"`
  1862  	// ForceSendFields is a list of field names (e.g. "DeploymentState") to
  1863  	// unconditionally include in API requests. By default, fields with empty or
  1864  	// default values are omitted from API requests. See
  1865  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1866  	// details.
  1867  	ForceSendFields []string `json:"-"`
  1868  	// NullFields is a list of field names (e.g. "DeploymentState") to include in
  1869  	// API requests with the JSON null value. By default, fields with empty values
  1870  	// are omitted from API requests. See
  1871  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1872  	NullFields []string `json:"-"`
  1873  }
  1874  
  1875  func (s *ConfigManagementOperatorState) MarshalJSON() ([]byte, error) {
  1876  	type NoMethod ConfigManagementOperatorState
  1877  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1878  }
  1879  
  1880  // ConfigManagementPolicyController: Configuration for Policy Controller
  1881  type ConfigManagementPolicyController struct {
  1882  	// AuditIntervalSeconds: Sets the interval for Policy Controller Audit Scans
  1883  	// (in seconds). When set to 0, this disables audit functionality altogether.
  1884  	AuditIntervalSeconds int64 `json:"auditIntervalSeconds,omitempty,string"`
  1885  	// Enabled: Enables the installation of Policy Controller. If false, the rest
  1886  	// of PolicyController fields take no effect.
  1887  	Enabled bool `json:"enabled,omitempty"`
  1888  	// ExemptableNamespaces: The set of namespaces that are excluded from Policy
  1889  	// Controller checks. Namespaces do not need to currently exist on the cluster.
  1890  	ExemptableNamespaces []string `json:"exemptableNamespaces,omitempty"`
  1891  	// LogDeniesEnabled: Logs all denies and dry run failures.
  1892  	LogDeniesEnabled bool `json:"logDeniesEnabled,omitempty"`
  1893  	// Monitoring: Monitoring specifies the configuration of monitoring.
  1894  	Monitoring *ConfigManagementPolicyControllerMonitoring `json:"monitoring,omitempty"`
  1895  	// MutationEnabled: Enable or disable mutation in policy controller. If true,
  1896  	// mutation CRDs, webhook and controller deployment will be deployed to the
  1897  	// cluster.
  1898  	MutationEnabled bool `json:"mutationEnabled,omitempty"`
  1899  	// ReferentialRulesEnabled: Enables the ability to use Constraint Templates
  1900  	// that reference to objects other than the object currently being evaluated.
  1901  	ReferentialRulesEnabled bool `json:"referentialRulesEnabled,omitempty"`
  1902  	// TemplateLibraryInstalled: Installs the default template library along with
  1903  	// Policy Controller.
  1904  	TemplateLibraryInstalled bool `json:"templateLibraryInstalled,omitempty"`
  1905  	// UpdateTime: Output only. Last time this membership spec was updated.
  1906  	UpdateTime string `json:"updateTime,omitempty"`
  1907  	// ForceSendFields is a list of field names (e.g. "AuditIntervalSeconds") to
  1908  	// unconditionally include in API requests. By default, fields with empty or
  1909  	// default values are omitted from API requests. See
  1910  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1911  	// details.
  1912  	ForceSendFields []string `json:"-"`
  1913  	// NullFields is a list of field names (e.g. "AuditIntervalSeconds") to include
  1914  	// in API requests with the JSON null value. By default, fields with empty
  1915  	// values are omitted from API requests. See
  1916  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1917  	NullFields []string `json:"-"`
  1918  }
  1919  
  1920  func (s *ConfigManagementPolicyController) MarshalJSON() ([]byte, error) {
  1921  	type NoMethod ConfigManagementPolicyController
  1922  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1923  }
  1924  
  1925  // ConfigManagementPolicyControllerMigration: State for the migration of
  1926  // PolicyController from ACM -> PoCo Hub.
  1927  type ConfigManagementPolicyControllerMigration struct {
  1928  	// CopyTime: Last time this membership spec was copied to PoCo feature.
  1929  	CopyTime string `json:"copyTime,omitempty"`
  1930  	// Stage: Stage of the migration.
  1931  	//
  1932  	// Possible values:
  1933  	//   "STAGE_UNSPECIFIED" - Unknown state of migration.
  1934  	//   "ACM_MANAGED" - ACM Hub/Operator manages policycontroller. No migration
  1935  	// yet completed.
  1936  	//   "POCO_MANAGED" - All migrations steps complete; Poco Hub now manages
  1937  	// policycontroller.
  1938  	Stage string `json:"stage,omitempty"`
  1939  	// ForceSendFields is a list of field names (e.g. "CopyTime") to
  1940  	// unconditionally include in API requests. By default, fields with empty or
  1941  	// default values are omitted from API requests. See
  1942  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1943  	// details.
  1944  	ForceSendFields []string `json:"-"`
  1945  	// NullFields is a list of field names (e.g. "CopyTime") to include in API
  1946  	// requests with the JSON null value. By default, fields with empty values are
  1947  	// omitted from API requests. See
  1948  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1949  	NullFields []string `json:"-"`
  1950  }
  1951  
  1952  func (s *ConfigManagementPolicyControllerMigration) MarshalJSON() ([]byte, error) {
  1953  	type NoMethod ConfigManagementPolicyControllerMigration
  1954  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1955  }
  1956  
  1957  // ConfigManagementPolicyControllerMonitoring: PolicyControllerMonitoring
  1958  // specifies the backends Policy Controller should export metrics to. For
  1959  // example, to specify metrics should be exported to Cloud Monitoring and
  1960  // Prometheus, specify backends: ["cloudmonitoring", "prometheus"]
  1961  type ConfigManagementPolicyControllerMonitoring struct {
  1962  	// Backends: Specifies the list of backends Policy Controller will export to.
  1963  	// An empty list would effectively disable metrics export.
  1964  	//
  1965  	// Possible values:
  1966  	//   "MONITORING_BACKEND_UNSPECIFIED" - Backend cannot be determined
  1967  	//   "PROMETHEUS" - Prometheus backend for monitoring
  1968  	//   "CLOUD_MONITORING" - Stackdriver/Cloud Monitoring backend for monitoring
  1969  	Backends []string `json:"backends,omitempty"`
  1970  	// ForceSendFields is a list of field names (e.g. "Backends") to
  1971  	// unconditionally include in API requests. By default, fields with empty or
  1972  	// default values are omitted from API requests. See
  1973  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1974  	// details.
  1975  	ForceSendFields []string `json:"-"`
  1976  	// NullFields is a list of field names (e.g. "Backends") to include in API
  1977  	// requests with the JSON null value. By default, fields with empty values are
  1978  	// omitted from API requests. See
  1979  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1980  	NullFields []string `json:"-"`
  1981  }
  1982  
  1983  func (s *ConfigManagementPolicyControllerMonitoring) MarshalJSON() ([]byte, error) {
  1984  	type NoMethod ConfigManagementPolicyControllerMonitoring
  1985  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1986  }
  1987  
  1988  // ConfigManagementPolicyControllerState: State for PolicyControllerState.
  1989  type ConfigManagementPolicyControllerState struct {
  1990  	// DeploymentState: The state about the policy controller installation.
  1991  	DeploymentState *ConfigManagementGatekeeperDeploymentState `json:"deploymentState,omitempty"`
  1992  	// Migration: Record state of ACM -> PoCo Hub migration for this feature.
  1993  	Migration *ConfigManagementPolicyControllerMigration `json:"migration,omitempty"`
  1994  	// Version: The version of Gatekeeper Policy Controller deployed.
  1995  	Version *ConfigManagementPolicyControllerVersion `json:"version,omitempty"`
  1996  	// ForceSendFields is a list of field names (e.g. "DeploymentState") to
  1997  	// unconditionally include in API requests. By default, fields with empty or
  1998  	// default values are omitted from API requests. See
  1999  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2000  	// details.
  2001  	ForceSendFields []string `json:"-"`
  2002  	// NullFields is a list of field names (e.g. "DeploymentState") to include in
  2003  	// API requests with the JSON null value. By default, fields with empty values
  2004  	// are omitted from API requests. See
  2005  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2006  	NullFields []string `json:"-"`
  2007  }
  2008  
  2009  func (s *ConfigManagementPolicyControllerState) MarshalJSON() ([]byte, error) {
  2010  	type NoMethod ConfigManagementPolicyControllerState
  2011  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2012  }
  2013  
  2014  // ConfigManagementPolicyControllerVersion: The build version of Gatekeeper
  2015  // Policy Controller is using.
  2016  type ConfigManagementPolicyControllerVersion struct {
  2017  	// Version: The gatekeeper image tag that is composed of ACM version, git tag,
  2018  	// build number.
  2019  	Version string `json:"version,omitempty"`
  2020  	// ForceSendFields is a list of field names (e.g. "Version") to unconditionally
  2021  	// include in API requests. By default, fields with empty or default values are
  2022  	// omitted from API requests. See
  2023  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2024  	// details.
  2025  	ForceSendFields []string `json:"-"`
  2026  	// NullFields is a list of field names (e.g. "Version") to include in API
  2027  	// requests with the JSON null value. By default, fields with empty values are
  2028  	// omitted from API requests. See
  2029  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2030  	NullFields []string `json:"-"`
  2031  }
  2032  
  2033  func (s *ConfigManagementPolicyControllerVersion) MarshalJSON() ([]byte, error) {
  2034  	type NoMethod ConfigManagementPolicyControllerVersion
  2035  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2036  }
  2037  
  2038  // ConfigManagementSyncError: An ACM created error representing a problem
  2039  // syncing configurations
  2040  type ConfigManagementSyncError struct {
  2041  	// Code: An ACM defined error code
  2042  	Code string `json:"code,omitempty"`
  2043  	// ErrorMessage: A description of the error
  2044  	ErrorMessage string `json:"errorMessage,omitempty"`
  2045  	// ErrorResources: A list of config(s) associated with the error, if any
  2046  	ErrorResources []*ConfigManagementErrorResource `json:"errorResources,omitempty"`
  2047  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  2048  	// include in API requests. By default, fields with empty or default values are
  2049  	// omitted from API requests. See
  2050  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2051  	// details.
  2052  	ForceSendFields []string `json:"-"`
  2053  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  2054  	// with the JSON null value. By default, fields with empty values are omitted
  2055  	// from API requests. See
  2056  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2057  	NullFields []string `json:"-"`
  2058  }
  2059  
  2060  func (s *ConfigManagementSyncError) MarshalJSON() ([]byte, error) {
  2061  	type NoMethod ConfigManagementSyncError
  2062  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2063  }
  2064  
  2065  // ConfigManagementSyncState: State indicating an ACM's progress syncing
  2066  // configurations to a cluster
  2067  type ConfigManagementSyncState struct {
  2068  	// Code: Sync status code
  2069  	//
  2070  	// Possible values:
  2071  	//   "SYNC_CODE_UNSPECIFIED" - Config Sync cannot determine a sync code
  2072  	//   "SYNCED" - Config Sync successfully synced the git Repo with the cluster
  2073  	//   "PENDING" - Config Sync is in the progress of syncing a new change
  2074  	//   "ERROR" - Indicates an error configuring Config Sync, and user action is
  2075  	// required
  2076  	//   "NOT_CONFIGURED" - Config Sync has been installed but not configured
  2077  	//   "NOT_INSTALLED" - Config Sync has not been installed
  2078  	//   "UNAUTHORIZED" - Error authorizing with the cluster
  2079  	//   "UNREACHABLE" - Cluster could not be reached
  2080  	Code string `json:"code,omitempty"`
  2081  	// Errors: A list of errors resulting from problematic configs. This list will
  2082  	// be truncated after 100 errors, although it is unlikely for that many errors
  2083  	// to simultaneously exist.
  2084  	Errors []*ConfigManagementSyncError `json:"errors,omitempty"`
  2085  	// ImportToken: Token indicating the state of the importer.
  2086  	ImportToken string `json:"importToken,omitempty"`
  2087  	// LastSync: Deprecated: use last_sync_time instead. Timestamp of when ACM last
  2088  	// successfully synced the repo The time format is specified in
  2089  	// https://golang.org/pkg/time/#Time.String
  2090  	LastSync string `json:"lastSync,omitempty"`
  2091  	// LastSyncTime: Timestamp type of when ACM last successfully synced the repo
  2092  	LastSyncTime string `json:"lastSyncTime,omitempty"`
  2093  	// SourceToken: Token indicating the state of the repo.
  2094  	SourceToken string `json:"sourceToken,omitempty"`
  2095  	// SyncToken: Token indicating the state of the syncer.
  2096  	SyncToken string `json:"syncToken,omitempty"`
  2097  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  2098  	// include in API requests. By default, fields with empty or default values are
  2099  	// omitted from API requests. See
  2100  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2101  	// details.
  2102  	ForceSendFields []string `json:"-"`
  2103  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  2104  	// with the JSON null value. By default, fields with empty values are omitted
  2105  	// from API requests. See
  2106  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2107  	NullFields []string `json:"-"`
  2108  }
  2109  
  2110  func (s *ConfigManagementSyncState) MarshalJSON() ([]byte, error) {
  2111  	type NoMethod ConfigManagementSyncState
  2112  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2113  }
  2114  
  2115  // ConnectAgentResource: ConnectAgentResource represents a Kubernetes resource
  2116  // manifest for Connect Agent deployment.
  2117  type ConnectAgentResource struct {
  2118  	// Manifest: YAML manifest of the resource.
  2119  	Manifest string `json:"manifest,omitempty"`
  2120  	// Type: Kubernetes type of the resource.
  2121  	Type *TypeMeta `json:"type,omitempty"`
  2122  	// ForceSendFields is a list of field names (e.g. "Manifest") to
  2123  	// unconditionally include in API requests. By default, fields with empty or
  2124  	// default values are omitted from API requests. See
  2125  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2126  	// details.
  2127  	ForceSendFields []string `json:"-"`
  2128  	// NullFields is a list of field names (e.g. "Manifest") to include in API
  2129  	// requests with the JSON null value. By default, fields with empty values are
  2130  	// omitted from API requests. See
  2131  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2132  	NullFields []string `json:"-"`
  2133  }
  2134  
  2135  func (s *ConnectAgentResource) MarshalJSON() ([]byte, error) {
  2136  	type NoMethod ConnectAgentResource
  2137  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2138  }
  2139  
  2140  // DataplaneV2FeatureSpec: **Dataplane V2**: Spec
  2141  type DataplaneV2FeatureSpec struct {
  2142  	// EnableEncryption: Enable dataplane-v2 based encryption for multiple
  2143  	// clusters.
  2144  	EnableEncryption bool `json:"enableEncryption,omitempty"`
  2145  	// ForceSendFields is a list of field names (e.g. "EnableEncryption") to
  2146  	// unconditionally include in API requests. By default, fields with empty or
  2147  	// default values are omitted from API requests. See
  2148  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2149  	// details.
  2150  	ForceSendFields []string `json:"-"`
  2151  	// NullFields is a list of field names (e.g. "EnableEncryption") to include in
  2152  	// API requests with the JSON null value. By default, fields with empty values
  2153  	// are omitted from API requests. See
  2154  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2155  	NullFields []string `json:"-"`
  2156  }
  2157  
  2158  func (s *DataplaneV2FeatureSpec) MarshalJSON() ([]byte, error) {
  2159  	type NoMethod DataplaneV2FeatureSpec
  2160  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2161  }
  2162  
  2163  // DefaultClusterConfig: DefaultClusterConfig describes the default cluster
  2164  // configurations to be applied to all clusters born-in-fleet.
  2165  type DefaultClusterConfig struct {
  2166  	// BinaryAuthorizationConfig: Optional. Enable/Disable binary authorization
  2167  	// features for the cluster.
  2168  	BinaryAuthorizationConfig *BinaryAuthorizationConfig `json:"binaryAuthorizationConfig,omitempty"`
  2169  	// SecurityPostureConfig: Enable/Disable Security Posture features for the
  2170  	// cluster.
  2171  	SecurityPostureConfig *SecurityPostureConfig `json:"securityPostureConfig,omitempty"`
  2172  	// ForceSendFields is a list of field names (e.g. "BinaryAuthorizationConfig")
  2173  	// to unconditionally include in API requests. By default, fields with empty or
  2174  	// default values are omitted from API requests. See
  2175  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2176  	// details.
  2177  	ForceSendFields []string `json:"-"`
  2178  	// NullFields is a list of field names (e.g. "BinaryAuthorizationConfig") to
  2179  	// include in API requests with the JSON null value. By default, fields with
  2180  	// empty values are omitted from API requests. See
  2181  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2182  	NullFields []string `json:"-"`
  2183  }
  2184  
  2185  func (s *DefaultClusterConfig) MarshalJSON() ([]byte, error) {
  2186  	type NoMethod DefaultClusterConfig
  2187  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2188  }
  2189  
  2190  // EdgeCluster: EdgeCluster contains information specific to Google Edge
  2191  // Clusters.
  2192  type EdgeCluster struct {
  2193  	// ResourceLink: Immutable. Self-link of the Google Cloud resource for the Edge
  2194  	// Cluster. For example:
  2195  	// //edgecontainer.googleapis.com/projects/my-project/locations/us-west1-a/clust
  2196  	// ers/my-cluster
  2197  	ResourceLink string `json:"resourceLink,omitempty"`
  2198  	// ForceSendFields is a list of field names (e.g. "ResourceLink") to
  2199  	// unconditionally include in API requests. By default, fields with empty or
  2200  	// default values are omitted from API requests. See
  2201  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2202  	// details.
  2203  	ForceSendFields []string `json:"-"`
  2204  	// NullFields is a list of field names (e.g. "ResourceLink") to include in API
  2205  	// requests with the JSON null value. By default, fields with empty values are
  2206  	// omitted from API requests. See
  2207  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2208  	NullFields []string `json:"-"`
  2209  }
  2210  
  2211  func (s *EdgeCluster) MarshalJSON() ([]byte, error) {
  2212  	type NoMethod EdgeCluster
  2213  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2214  }
  2215  
  2216  // Empty: A generic empty message that you can re-use to avoid defining
  2217  // duplicated empty messages in your APIs. A typical example is to use it as
  2218  // the request or the response type of an API method. For instance: service Foo
  2219  // { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
  2220  type Empty struct {
  2221  	// ServerResponse contains the HTTP response code and headers from the server.
  2222  	googleapi.ServerResponse `json:"-"`
  2223  }
  2224  
  2225  // Expr: Represents a textual expression in the Common Expression Language
  2226  // (CEL) syntax. CEL is a C-like expression language. The syntax and semantics
  2227  // of CEL are documented at https://github.com/google/cel-spec. Example
  2228  // (Comparison): title: "Summary size limit" description: "Determines if a
  2229  // summary is less than 100 chars" expression: "document.summary.size() < 100"
  2230  // Example (Equality): title: "Requestor is owner" description: "Determines if
  2231  // requestor is the document owner" expression: "document.owner ==
  2232  // request.auth.claims.email" Example (Logic): title: "Public documents"
  2233  // description: "Determine whether the document should be publicly visible"
  2234  // expression: "document.type != 'private' && document.type != 'internal'"
  2235  // Example (Data Manipulation): title: "Notification string" description:
  2236  // "Create a notification string with a timestamp." expression: "'New message
  2237  // received at ' + string(document.create_time)" The exact variables and
  2238  // functions that may be referenced within an expression are determined by the
  2239  // service that evaluates it. See the service documentation for additional
  2240  // information.
  2241  type Expr struct {
  2242  	// Description: Optional. Description of the expression. This is a longer text
  2243  	// which describes the expression, e.g. when hovered over it in a UI.
  2244  	Description string `json:"description,omitempty"`
  2245  	// Expression: Textual representation of an expression in Common Expression
  2246  	// Language syntax.
  2247  	Expression string `json:"expression,omitempty"`
  2248  	// Location: Optional. String indicating the location of the expression for
  2249  	// error reporting, e.g. a file name and a position in the file.
  2250  	Location string `json:"location,omitempty"`
  2251  	// Title: Optional. Title for the expression, i.e. a short string describing
  2252  	// its purpose. This can be used e.g. in UIs which allow to enter the
  2253  	// expression.
  2254  	Title string `json:"title,omitempty"`
  2255  	// ForceSendFields is a list of field names (e.g. "Description") to
  2256  	// unconditionally include in API requests. By default, fields with empty or
  2257  	// default values are omitted from API requests. See
  2258  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2259  	// details.
  2260  	ForceSendFields []string `json:"-"`
  2261  	// NullFields is a list of field names (e.g. "Description") to include in API
  2262  	// requests with the JSON null value. By default, fields with empty values are
  2263  	// omitted from API requests. See
  2264  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2265  	NullFields []string `json:"-"`
  2266  }
  2267  
  2268  func (s *Expr) MarshalJSON() ([]byte, error) {
  2269  	type NoMethod Expr
  2270  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2271  }
  2272  
  2273  // Feature: Feature represents the settings and status of any Hub Feature.
  2274  type Feature struct {
  2275  	// CreateTime: Output only. When the Feature resource was created.
  2276  	CreateTime string `json:"createTime,omitempty"`
  2277  	// DeleteTime: Output only. When the Feature resource was deleted.
  2278  	DeleteTime string `json:"deleteTime,omitempty"`
  2279  	// FleetDefaultMemberConfig: Optional. Feature configuration applicable to all
  2280  	// memberships of the fleet.
  2281  	FleetDefaultMemberConfig *CommonFleetDefaultMemberConfigSpec `json:"fleetDefaultMemberConfig,omitempty"`
  2282  	// Labels: Labels for this Feature.
  2283  	Labels map[string]string `json:"labels,omitempty"`
  2284  	// MembershipSpecs: Optional. Membership-specific configuration for this
  2285  	// Feature. If this Feature does not support any per-Membership configuration,
  2286  	// this field may be unused. The keys indicate which Membership the
  2287  	// configuration is for, in the form:
  2288  	// `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l}
  2289  	// is a valid location and {m} is a valid Membership in this project at that
  2290  	// location. {p} WILL match the Feature's project. {p} will always be returned
  2291  	// as the project number, but the project ID is also accepted during input. If
  2292  	// the same Membership is specified in the map twice (using the project ID
  2293  	// form, and the project number form), exactly ONE of the entries will be
  2294  	// saved, with no guarantees as to which. For this reason, it is recommended
  2295  	// the same format be used for all entries when mutating a Feature.
  2296  	MembershipSpecs map[string]MembershipFeatureSpec `json:"membershipSpecs,omitempty"`
  2297  	// MembershipStates: Output only. Membership-specific Feature status. If this
  2298  	// Feature does report any per-Membership status, this field may be unused. The
  2299  	// keys indicate which Membership the state is for, in the form:
  2300  	// `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project
  2301  	// number, {l} is a valid location and {m} is a valid Membership in this
  2302  	// project at that location. {p} MUST match the Feature's project number.
  2303  	MembershipStates map[string]MembershipFeatureState `json:"membershipStates,omitempty"`
  2304  	// Name: Output only. The full, unique name of this Feature resource in the
  2305  	// format `projects/*/locations/*/features/*`.
  2306  	Name string `json:"name,omitempty"`
  2307  	// ResourceState: Output only. State of the Feature resource itself.
  2308  	ResourceState *FeatureResourceState `json:"resourceState,omitempty"`
  2309  	// ScopeSpecs: Optional. Scope-specific configuration for this Feature. If this
  2310  	// Feature does not support any per-Scope configuration, this field may be
  2311  	// unused. The keys indicate which Scope the configuration is for, in the form:
  2312  	// `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is
  2313  	// a valid Scope in this project. {p} WILL match the Feature's project. {p}
  2314  	// will always be returned as the project number, but the project ID is also
  2315  	// accepted during input. If the same Scope is specified in the map twice
  2316  	// (using the project ID form, and the project number form), exactly ONE of the
  2317  	// entries will be saved, with no guarantees as to which. For this reason, it
  2318  	// is recommended the same format be used for all entries when mutating a
  2319  	// Feature.
  2320  	ScopeSpecs map[string]ScopeFeatureSpec `json:"scopeSpecs,omitempty"`
  2321  	// ScopeStates: Output only. Scope-specific Feature status. If this Feature
  2322  	// does report any per-Scope status, this field may be unused. The keys
  2323  	// indicate which Scope the state is for, in the form:
  2324  	// `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is
  2325  	// a valid Scope in this project. {p} WILL match the Feature's project.
  2326  	ScopeStates map[string]ScopeFeatureState `json:"scopeStates,omitempty"`
  2327  	// Spec: Optional. Hub-wide Feature configuration. If this Feature does not
  2328  	// support any Hub-wide configuration, this field may be unused.
  2329  	Spec *CommonFeatureSpec `json:"spec,omitempty"`
  2330  	// State: Output only. The Hub-wide Feature state.
  2331  	State *CommonFeatureState `json:"state,omitempty"`
  2332  	// UpdateTime: Output only. When the Feature resource was last updated.
  2333  	UpdateTime string `json:"updateTime,omitempty"`
  2334  
  2335  	// ServerResponse contains the HTTP response code and headers from the server.
  2336  	googleapi.ServerResponse `json:"-"`
  2337  	// ForceSendFields is a list of field names (e.g. "CreateTime") to
  2338  	// unconditionally include in API requests. By default, fields with empty or
  2339  	// default values are omitted from API requests. See
  2340  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2341  	// details.
  2342  	ForceSendFields []string `json:"-"`
  2343  	// NullFields is a list of field names (e.g. "CreateTime") to include in API
  2344  	// requests with the JSON null value. By default, fields with empty values are
  2345  	// omitted from API requests. See
  2346  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2347  	NullFields []string `json:"-"`
  2348  }
  2349  
  2350  func (s *Feature) MarshalJSON() ([]byte, error) {
  2351  	type NoMethod Feature
  2352  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2353  }
  2354  
  2355  // FeatureResourceState: FeatureResourceState describes the state of a Feature
  2356  // *resource* in the GkeHub API. See `FeatureState` for the "running state" of
  2357  // the Feature in the Hub and across Memberships.
  2358  type FeatureResourceState struct {
  2359  	// State: The current state of the Feature resource in the Hub API.
  2360  	//
  2361  	// Possible values:
  2362  	//   "STATE_UNSPECIFIED" - State is unknown or not set.
  2363  	//   "ENABLING" - The Feature is being enabled, and the Feature resource is
  2364  	// being created. Once complete, the corresponding Feature will be enabled in
  2365  	// this Hub.
  2366  	//   "ACTIVE" - The Feature is enabled in this Hub, and the Feature resource is
  2367  	// fully available.
  2368  	//   "DISABLING" - The Feature is being disabled in this Hub, and the Feature
  2369  	// resource is being deleted.
  2370  	//   "UPDATING" - The Feature resource is being updated.
  2371  	//   "SERVICE_UPDATING" - The Feature resource is being updated by the Hub
  2372  	// Service.
  2373  	State string `json:"state,omitempty"`
  2374  	// ForceSendFields is a list of field names (e.g. "State") to unconditionally
  2375  	// include in API requests. By default, fields with empty or default values are
  2376  	// omitted from API requests. See
  2377  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2378  	// details.
  2379  	ForceSendFields []string `json:"-"`
  2380  	// NullFields is a list of field names (e.g. "State") to include in API
  2381  	// requests with the JSON null value. By default, fields with empty values are
  2382  	// omitted from API requests. See
  2383  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2384  	NullFields []string `json:"-"`
  2385  }
  2386  
  2387  func (s *FeatureResourceState) MarshalJSON() ([]byte, error) {
  2388  	type NoMethod FeatureResourceState
  2389  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2390  }
  2391  
  2392  // FeatureState: FeatureState describes the high-level state of a Feature. It
  2393  // may be used to describe a Feature's state at the environ-level, or
  2394  // per-membershop, depending on the context.
  2395  type FeatureState struct {
  2396  	// Code: The high-level, machine-readable status of this Feature.
  2397  	//
  2398  	// Possible values:
  2399  	//   "CODE_UNSPECIFIED" - Unknown or not set.
  2400  	//   "OK" - The Feature is operating normally.
  2401  	//   "WARNING" - The Feature has encountered an issue, and is operating in a
  2402  	// degraded state. The Feature may need intervention to return to normal
  2403  	// operation. See the description and any associated Feature-specific details
  2404  	// for more information.
  2405  	//   "ERROR" - The Feature is not operating or is in a severely degraded state.
  2406  	// The Feature may need intervention to return to normal operation. See the
  2407  	// description and any associated Feature-specific details for more
  2408  	// information.
  2409  	Code string `json:"code,omitempty"`
  2410  	// Description: A human-readable description of the current status.
  2411  	Description string `json:"description,omitempty"`
  2412  	// UpdateTime: The time this status and any related Feature-specific details
  2413  	// were updated.
  2414  	UpdateTime string `json:"updateTime,omitempty"`
  2415  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  2416  	// include in API requests. By default, fields with empty or default values are
  2417  	// omitted from API requests. See
  2418  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2419  	// details.
  2420  	ForceSendFields []string `json:"-"`
  2421  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  2422  	// with the JSON null value. By default, fields with empty values are omitted
  2423  	// from API requests. See
  2424  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2425  	NullFields []string `json:"-"`
  2426  }
  2427  
  2428  func (s *FeatureState) MarshalJSON() ([]byte, error) {
  2429  	type NoMethod FeatureState
  2430  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2431  }
  2432  
  2433  // Fleet: Fleet contains the Fleet-wide metadata and configuration.
  2434  type Fleet struct {
  2435  	// CreateTime: Output only. When the Fleet was created.
  2436  	CreateTime string `json:"createTime,omitempty"`
  2437  	// DefaultClusterConfig: Optional. The default cluster configurations to apply
  2438  	// across the fleet.
  2439  	DefaultClusterConfig *DefaultClusterConfig `json:"defaultClusterConfig,omitempty"`
  2440  	// DeleteTime: Output only. When the Fleet was deleted.
  2441  	DeleteTime string `json:"deleteTime,omitempty"`
  2442  	// DisplayName: Optional. A user-assigned display name of the Fleet. When
  2443  	// present, it must be between 4 to 30 characters. Allowed characters are:
  2444  	// lowercase and uppercase letters, numbers, hyphen, single-quote,
  2445  	// double-quote, space, and exclamation point. Example: `Production Fleet`
  2446  	DisplayName string `json:"displayName,omitempty"`
  2447  	// Labels: Optional. Labels for this Fleet.
  2448  	Labels map[string]string `json:"labels,omitempty"`
  2449  	// Name: Output only. The full, unique resource name of this fleet in the
  2450  	// format of `projects/{project}/locations/{location}/fleets/{fleet}`. Each
  2451  	// Google Cloud project can have at most one fleet resource, named "default".
  2452  	Name string `json:"name,omitempty"`
  2453  	// State: Output only. State of the namespace resource.
  2454  	State *FleetLifecycleState `json:"state,omitempty"`
  2455  	// Uid: Output only. Google-generated UUID for this resource. This is unique
  2456  	// across all Fleet resources. If a Fleet resource is deleted and another
  2457  	// resource with the same name is created, it gets a different uid.
  2458  	Uid string `json:"uid,omitempty"`
  2459  	// UpdateTime: Output only. When the Fleet was last updated.
  2460  	UpdateTime string `json:"updateTime,omitempty"`
  2461  
  2462  	// ServerResponse contains the HTTP response code and headers from the server.
  2463  	googleapi.ServerResponse `json:"-"`
  2464  	// ForceSendFields is a list of field names (e.g. "CreateTime") to
  2465  	// unconditionally include in API requests. By default, fields with empty or
  2466  	// default values are omitted from API requests. See
  2467  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2468  	// details.
  2469  	ForceSendFields []string `json:"-"`
  2470  	// NullFields is a list of field names (e.g. "CreateTime") to include in API
  2471  	// requests with the JSON null value. By default, fields with empty values are
  2472  	// omitted from API requests. See
  2473  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2474  	NullFields []string `json:"-"`
  2475  }
  2476  
  2477  func (s *Fleet) MarshalJSON() ([]byte, error) {
  2478  	type NoMethod Fleet
  2479  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2480  }
  2481  
  2482  // FleetLifecycleState: FleetLifecycleState describes the state of a Fleet
  2483  // resource.
  2484  type FleetLifecycleState struct {
  2485  	// Code: Output only. The current state of the Fleet resource.
  2486  	//
  2487  	// Possible values:
  2488  	//   "CODE_UNSPECIFIED" - The code is not set.
  2489  	//   "CREATING" - The fleet is being created.
  2490  	//   "READY" - The fleet active.
  2491  	//   "DELETING" - The fleet is being deleted.
  2492  	//   "UPDATING" - The fleet is being updated.
  2493  	Code string `json:"code,omitempty"`
  2494  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  2495  	// include in API requests. By default, fields with empty or default values are
  2496  	// omitted from API requests. See
  2497  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2498  	// details.
  2499  	ForceSendFields []string `json:"-"`
  2500  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  2501  	// with the JSON null value. By default, fields with empty values are omitted
  2502  	// from API requests. See
  2503  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2504  	NullFields []string `json:"-"`
  2505  }
  2506  
  2507  func (s *FleetLifecycleState) MarshalJSON() ([]byte, error) {
  2508  	type NoMethod FleetLifecycleState
  2509  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2510  }
  2511  
  2512  // FleetObservabilityFeatureError: All error details of the fleet observability
  2513  // feature.
  2514  type FleetObservabilityFeatureError struct {
  2515  	// Code: The code of the error.
  2516  	Code string `json:"code,omitempty"`
  2517  	// Description: A human-readable description of the current status.
  2518  	Description string `json:"description,omitempty"`
  2519  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  2520  	// include in API requests. By default, fields with empty or default values are
  2521  	// omitted from API requests. See
  2522  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2523  	// details.
  2524  	ForceSendFields []string `json:"-"`
  2525  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  2526  	// with the JSON null value. By default, fields with empty values are omitted
  2527  	// from API requests. See
  2528  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2529  	NullFields []string `json:"-"`
  2530  }
  2531  
  2532  func (s *FleetObservabilityFeatureError) MarshalJSON() ([]byte, error) {
  2533  	type NoMethod FleetObservabilityFeatureError
  2534  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2535  }
  2536  
  2537  // FleetObservabilityFeatureSpec: **Fleet Observability**: The Hub-wide input
  2538  // for the FleetObservability feature.
  2539  type FleetObservabilityFeatureSpec struct {
  2540  	// LoggingConfig: Specified if fleet logging feature is enabled for the entire
  2541  	// fleet. If UNSPECIFIED, fleet logging feature is disabled for the entire
  2542  	// fleet.
  2543  	LoggingConfig *FleetObservabilityLoggingConfig `json:"loggingConfig,omitempty"`
  2544  	// ForceSendFields is a list of field names (e.g. "LoggingConfig") to
  2545  	// unconditionally include in API requests. By default, fields with empty or
  2546  	// default values are omitted from API requests. See
  2547  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2548  	// details.
  2549  	ForceSendFields []string `json:"-"`
  2550  	// NullFields is a list of field names (e.g. "LoggingConfig") to include in API
  2551  	// requests with the JSON null value. By default, fields with empty values are
  2552  	// omitted from API requests. See
  2553  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2554  	NullFields []string `json:"-"`
  2555  }
  2556  
  2557  func (s *FleetObservabilityFeatureSpec) MarshalJSON() ([]byte, error) {
  2558  	type NoMethod FleetObservabilityFeatureSpec
  2559  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2560  }
  2561  
  2562  // FleetObservabilityFeatureState: **FleetObservability**: Hub-wide Feature for
  2563  // FleetObservability feature. state.
  2564  type FleetObservabilityFeatureState struct {
  2565  	// Logging: The feature state of default logging.
  2566  	Logging *FleetObservabilityFleetObservabilityLoggingState `json:"logging,omitempty"`
  2567  	// Monitoring: The feature state of fleet monitoring.
  2568  	Monitoring *FleetObservabilityFleetObservabilityMonitoringState `json:"monitoring,omitempty"`
  2569  	// ForceSendFields is a list of field names (e.g. "Logging") to unconditionally
  2570  	// include in API requests. By default, fields with empty or default values are
  2571  	// omitted from API requests. See
  2572  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2573  	// details.
  2574  	ForceSendFields []string `json:"-"`
  2575  	// NullFields is a list of field names (e.g. "Logging") to include in API
  2576  	// requests with the JSON null value. By default, fields with empty values are
  2577  	// omitted from API requests. See
  2578  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2579  	NullFields []string `json:"-"`
  2580  }
  2581  
  2582  func (s *FleetObservabilityFeatureState) MarshalJSON() ([]byte, error) {
  2583  	type NoMethod FleetObservabilityFeatureState
  2584  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2585  }
  2586  
  2587  // FleetObservabilityFleetObservabilityBaseFeatureState: Base state for fleet
  2588  // observability feature.
  2589  type FleetObservabilityFleetObservabilityBaseFeatureState struct {
  2590  	// Code: The high-level, machine-readable status of this Feature.
  2591  	//
  2592  	// Possible values:
  2593  	//   "CODE_UNSPECIFIED" - Unknown or not set.
  2594  	//   "OK" - The Feature is operating normally.
  2595  	//   "ERROR" - The Feature is encountering errors in the reconciliation. The
  2596  	// Feature may need intervention to return to normal operation. See the
  2597  	// description and any associated Feature-specific details for more
  2598  	// information.
  2599  	Code string `json:"code,omitempty"`
  2600  	// Errors: Errors after reconciling the monitoring and logging feature if the
  2601  	// code is not OK.
  2602  	Errors []*FleetObservabilityFeatureError `json:"errors,omitempty"`
  2603  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  2604  	// include in API requests. By default, fields with empty or default values are
  2605  	// omitted from API requests. See
  2606  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2607  	// details.
  2608  	ForceSendFields []string `json:"-"`
  2609  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  2610  	// with the JSON null value. By default, fields with empty values are omitted
  2611  	// from API requests. See
  2612  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2613  	NullFields []string `json:"-"`
  2614  }
  2615  
  2616  func (s *FleetObservabilityFleetObservabilityBaseFeatureState) MarshalJSON() ([]byte, error) {
  2617  	type NoMethod FleetObservabilityFleetObservabilityBaseFeatureState
  2618  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2619  }
  2620  
  2621  // FleetObservabilityFleetObservabilityLoggingState: Feature state for logging
  2622  // feature.
  2623  type FleetObservabilityFleetObservabilityLoggingState struct {
  2624  	// DefaultLog: The base feature state of fleet default log.
  2625  	DefaultLog *FleetObservabilityFleetObservabilityBaseFeatureState `json:"defaultLog,omitempty"`
  2626  	// ScopeLog: The base feature state of fleet scope log.
  2627  	ScopeLog *FleetObservabilityFleetObservabilityBaseFeatureState `json:"scopeLog,omitempty"`
  2628  	// ForceSendFields is a list of field names (e.g. "DefaultLog") to
  2629  	// unconditionally include in API requests. By default, fields with empty or
  2630  	// default values are omitted from API requests. See
  2631  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2632  	// details.
  2633  	ForceSendFields []string `json:"-"`
  2634  	// NullFields is a list of field names (e.g. "DefaultLog") to include in API
  2635  	// requests with the JSON null value. By default, fields with empty values are
  2636  	// omitted from API requests. See
  2637  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2638  	NullFields []string `json:"-"`
  2639  }
  2640  
  2641  func (s *FleetObservabilityFleetObservabilityLoggingState) MarshalJSON() ([]byte, error) {
  2642  	type NoMethod FleetObservabilityFleetObservabilityLoggingState
  2643  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2644  }
  2645  
  2646  // FleetObservabilityFleetObservabilityMonitoringState: Feature state for
  2647  // monitoring feature.
  2648  type FleetObservabilityFleetObservabilityMonitoringState struct {
  2649  	// State: The base feature state of fleet monitoring feature.
  2650  	State *FleetObservabilityFleetObservabilityBaseFeatureState `json:"state,omitempty"`
  2651  	// ForceSendFields is a list of field names (e.g. "State") to unconditionally
  2652  	// include in API requests. By default, fields with empty or default values are
  2653  	// omitted from API requests. See
  2654  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2655  	// details.
  2656  	ForceSendFields []string `json:"-"`
  2657  	// NullFields is a list of field names (e.g. "State") to include in API
  2658  	// requests with the JSON null value. By default, fields with empty values are
  2659  	// omitted from API requests. See
  2660  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2661  	NullFields []string `json:"-"`
  2662  }
  2663  
  2664  func (s *FleetObservabilityFleetObservabilityMonitoringState) MarshalJSON() ([]byte, error) {
  2665  	type NoMethod FleetObservabilityFleetObservabilityMonitoringState
  2666  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2667  }
  2668  
  2669  // FleetObservabilityLoggingConfig: LoggingConfig defines the configuration for
  2670  // different types of logs.
  2671  type FleetObservabilityLoggingConfig struct {
  2672  	// DefaultConfig: Specified if applying the default routing config to logs not
  2673  	// specified in other configs.
  2674  	DefaultConfig *FleetObservabilityRoutingConfig `json:"defaultConfig,omitempty"`
  2675  	// FleetScopeLogsConfig: Specified if applying the routing config to all logs
  2676  	// for all fleet scopes.
  2677  	FleetScopeLogsConfig *FleetObservabilityRoutingConfig `json:"fleetScopeLogsConfig,omitempty"`
  2678  	// ForceSendFields is a list of field names (e.g. "DefaultConfig") to
  2679  	// unconditionally include in API requests. By default, fields with empty or
  2680  	// default values are omitted from API requests. See
  2681  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2682  	// details.
  2683  	ForceSendFields []string `json:"-"`
  2684  	// NullFields is a list of field names (e.g. "DefaultConfig") to include in API
  2685  	// requests with the JSON null value. By default, fields with empty values are
  2686  	// omitted from API requests. See
  2687  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2688  	NullFields []string `json:"-"`
  2689  }
  2690  
  2691  func (s *FleetObservabilityLoggingConfig) MarshalJSON() ([]byte, error) {
  2692  	type NoMethod FleetObservabilityLoggingConfig
  2693  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2694  }
  2695  
  2696  // FleetObservabilityMembershipSpec: **FleetObservability**: The
  2697  // membership-specific input for FleetObservability feature.
  2698  type FleetObservabilityMembershipSpec struct {
  2699  }
  2700  
  2701  // FleetObservabilityMembershipState: **FleetObservability**:
  2702  // Membership-specific Feature state for fleetobservability.
  2703  type FleetObservabilityMembershipState struct {
  2704  }
  2705  
  2706  // FleetObservabilityRoutingConfig: RoutingConfig configures the behaviour of
  2707  // fleet logging feature.
  2708  type FleetObservabilityRoutingConfig struct {
  2709  	// Mode: mode configures the logs routing mode.
  2710  	//
  2711  	// Possible values:
  2712  	//   "MODE_UNSPECIFIED" - If UNSPECIFIED, fleet logging feature is disabled.
  2713  	//   "COPY" - logs will be copied to the destination project.
  2714  	//   "MOVE" - logs will be moved to the destination project.
  2715  	Mode string `json:"mode,omitempty"`
  2716  	// ForceSendFields is a list of field names (e.g. "Mode") to unconditionally
  2717  	// include in API requests. By default, fields with empty or default values are
  2718  	// omitted from API requests. See
  2719  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2720  	// details.
  2721  	ForceSendFields []string `json:"-"`
  2722  	// NullFields is a list of field names (e.g. "Mode") to include in API requests
  2723  	// with the JSON null value. By default, fields with empty values are omitted
  2724  	// from API requests. See
  2725  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2726  	NullFields []string `json:"-"`
  2727  }
  2728  
  2729  func (s *FleetObservabilityRoutingConfig) MarshalJSON() ([]byte, error) {
  2730  	type NoMethod FleetObservabilityRoutingConfig
  2731  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2732  }
  2733  
  2734  // GenerateConnectManifestResponse: GenerateConnectManifestResponse contains
  2735  // manifest information for installing/upgrading a Connect agent.
  2736  type GenerateConnectManifestResponse struct {
  2737  	// Manifest: The ordered list of Kubernetes resources that need to be applied
  2738  	// to the cluster for GKE Connect agent installation/upgrade.
  2739  	Manifest []*ConnectAgentResource `json:"manifest,omitempty"`
  2740  
  2741  	// ServerResponse contains the HTTP response code and headers from the server.
  2742  	googleapi.ServerResponse `json:"-"`
  2743  	// ForceSendFields is a list of field names (e.g. "Manifest") to
  2744  	// unconditionally include in API requests. By default, fields with empty or
  2745  	// default values are omitted from API requests. See
  2746  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2747  	// details.
  2748  	ForceSendFields []string `json:"-"`
  2749  	// NullFields is a list of field names (e.g. "Manifest") to include in API
  2750  	// requests with the JSON null value. By default, fields with empty values are
  2751  	// omitted from API requests. See
  2752  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2753  	NullFields []string `json:"-"`
  2754  }
  2755  
  2756  func (s *GenerateConnectManifestResponse) MarshalJSON() ([]byte, error) {
  2757  	type NoMethod GenerateConnectManifestResponse
  2758  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2759  }
  2760  
  2761  // GenerateMembershipRBACRoleBindingYAMLResponse: Response for
  2762  // GenerateRBACRoleBindingYAML.
  2763  type GenerateMembershipRBACRoleBindingYAMLResponse struct {
  2764  	// RoleBindingsYaml: a yaml text blob including the RBAC policies.
  2765  	RoleBindingsYaml string `json:"roleBindingsYaml,omitempty"`
  2766  
  2767  	// ServerResponse contains the HTTP response code and headers from the server.
  2768  	googleapi.ServerResponse `json:"-"`
  2769  	// ForceSendFields is a list of field names (e.g. "RoleBindingsYaml") to
  2770  	// unconditionally include in API requests. By default, fields with empty or
  2771  	// default values are omitted from API requests. See
  2772  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2773  	// details.
  2774  	ForceSendFields []string `json:"-"`
  2775  	// NullFields is a list of field names (e.g. "RoleBindingsYaml") to include in
  2776  	// API requests with the JSON null value. By default, fields with empty values
  2777  	// are omitted from API requests. See
  2778  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2779  	NullFields []string `json:"-"`
  2780  }
  2781  
  2782  func (s *GenerateMembershipRBACRoleBindingYAMLResponse) MarshalJSON() ([]byte, error) {
  2783  	type NoMethod GenerateMembershipRBACRoleBindingYAMLResponse
  2784  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2785  }
  2786  
  2787  // GkeCluster: GkeCluster contains information specific to GKE clusters.
  2788  type GkeCluster struct {
  2789  	// ClusterMissing: Output only. If cluster_missing is set then it denotes that
  2790  	// the GKE cluster no longer exists in the GKE Control Plane.
  2791  	ClusterMissing bool `json:"clusterMissing,omitempty"`
  2792  	// ResourceLink: Immutable. Self-link of the Google Cloud resource for the GKE
  2793  	// cluster. For example:
  2794  	// //container.googleapis.com/projects/my-project/locations/us-west1-a/clusters/
  2795  	// my-cluster Zonal clusters are also supported.
  2796  	ResourceLink string `json:"resourceLink,omitempty"`
  2797  	// ForceSendFields is a list of field names (e.g. "ClusterMissing") to
  2798  	// unconditionally include in API requests. By default, fields with empty or
  2799  	// default values are omitted from API requests. See
  2800  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2801  	// details.
  2802  	ForceSendFields []string `json:"-"`
  2803  	// NullFields is a list of field names (e.g. "ClusterMissing") to include in
  2804  	// API requests with the JSON null value. By default, fields with empty values
  2805  	// are omitted from API requests. See
  2806  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2807  	NullFields []string `json:"-"`
  2808  }
  2809  
  2810  func (s *GkeCluster) MarshalJSON() ([]byte, error) {
  2811  	type NoMethod GkeCluster
  2812  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2813  }
  2814  
  2815  // GoogleRpcStatus: The `Status` type defines a logical error model that is
  2816  // suitable for different programming environments, including REST APIs and RPC
  2817  // APIs. It is used by gRPC (https://github.com/grpc). Each `Status` message
  2818  // contains three pieces of data: error code, error message, and error details.
  2819  // You can find out more about this error model and how to work with it in the
  2820  // API Design Guide (https://cloud.google.com/apis/design/errors).
  2821  type GoogleRpcStatus struct {
  2822  	// Code: The status code, which should be an enum value of google.rpc.Code.
  2823  	Code int64 `json:"code,omitempty"`
  2824  	// Details: A list of messages that carry the error details. There is a common
  2825  	// set of message types for APIs to use.
  2826  	Details []googleapi.RawMessage `json:"details,omitempty"`
  2827  	// Message: A developer-facing error message, which should be in English. Any
  2828  	// user-facing error message should be localized and sent in the
  2829  	// google.rpc.Status.details field, or localized by the client.
  2830  	Message string `json:"message,omitempty"`
  2831  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  2832  	// include in API requests. By default, fields with empty or default values are
  2833  	// omitted from API requests. See
  2834  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2835  	// details.
  2836  	ForceSendFields []string `json:"-"`
  2837  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  2838  	// with the JSON null value. By default, fields with empty values are omitted
  2839  	// from API requests. See
  2840  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2841  	NullFields []string `json:"-"`
  2842  }
  2843  
  2844  func (s *GoogleRpcStatus) MarshalJSON() ([]byte, error) {
  2845  	type NoMethod GoogleRpcStatus
  2846  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2847  }
  2848  
  2849  // IdentityServiceAuthMethod: Configuration of an auth method for a
  2850  // member/cluster. Only one authentication method (e.g., OIDC and LDAP) can be
  2851  // set per AuthMethod.
  2852  type IdentityServiceAuthMethod struct {
  2853  	// AzureadConfig: AzureAD specific Configuration.
  2854  	AzureadConfig *IdentityServiceAzureADConfig `json:"azureadConfig,omitempty"`
  2855  	// GoogleConfig: GoogleConfig specific configuration.
  2856  	GoogleConfig *IdentityServiceGoogleConfig `json:"googleConfig,omitempty"`
  2857  	// LdapConfig: LDAP specific configuration.
  2858  	LdapConfig *IdentityServiceLdapConfig `json:"ldapConfig,omitempty"`
  2859  	// Name: Identifier for auth config.
  2860  	Name string `json:"name,omitempty"`
  2861  	// OidcConfig: OIDC specific configuration.
  2862  	OidcConfig *IdentityServiceOidcConfig `json:"oidcConfig,omitempty"`
  2863  	// Proxy: Proxy server address to use for auth method.
  2864  	Proxy string `json:"proxy,omitempty"`
  2865  	// SamlConfig: SAML specific configuration.
  2866  	SamlConfig *IdentityServiceSamlConfig `json:"samlConfig,omitempty"`
  2867  	// ForceSendFields is a list of field names (e.g. "AzureadConfig") to
  2868  	// unconditionally include in API requests. By default, fields with empty or
  2869  	// default values are omitted from API requests. See
  2870  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2871  	// details.
  2872  	ForceSendFields []string `json:"-"`
  2873  	// NullFields is a list of field names (e.g. "AzureadConfig") to include in API
  2874  	// requests with the JSON null value. By default, fields with empty values are
  2875  	// omitted from API requests. See
  2876  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2877  	NullFields []string `json:"-"`
  2878  }
  2879  
  2880  func (s *IdentityServiceAuthMethod) MarshalJSON() ([]byte, error) {
  2881  	type NoMethod IdentityServiceAuthMethod
  2882  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2883  }
  2884  
  2885  // IdentityServiceAzureADConfig: Configuration for the AzureAD Auth flow.
  2886  type IdentityServiceAzureADConfig struct {
  2887  	// ClientId: ID for the registered client application that makes authentication
  2888  	// requests to the Azure AD identity provider.
  2889  	ClientId string `json:"clientId,omitempty"`
  2890  	// ClientSecret: Input only. Unencrypted AzureAD client secret will be passed
  2891  	// to the GKE Hub CLH.
  2892  	ClientSecret string `json:"clientSecret,omitempty"`
  2893  	// EncryptedClientSecret: Output only. Encrypted AzureAD client secret.
  2894  	EncryptedClientSecret string `json:"encryptedClientSecret,omitempty"`
  2895  	// GroupFormat: Optional. Format of the AzureAD groups that the client wants
  2896  	// for auth.
  2897  	GroupFormat string `json:"groupFormat,omitempty"`
  2898  	// KubectlRedirectUri: The redirect URL that kubectl uses for authorization.
  2899  	KubectlRedirectUri string `json:"kubectlRedirectUri,omitempty"`
  2900  	// Tenant: Kind of Azure AD account to be authenticated. Supported values are
  2901  	// or for accounts belonging to a specific tenant.
  2902  	Tenant string `json:"tenant,omitempty"`
  2903  	// UserClaim: Optional. Claim in the AzureAD ID Token that holds the user
  2904  	// details.
  2905  	UserClaim string `json:"userClaim,omitempty"`
  2906  	// ForceSendFields is a list of field names (e.g. "ClientId") to
  2907  	// unconditionally include in API requests. By default, fields with empty or
  2908  	// default values are omitted from API requests. See
  2909  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2910  	// details.
  2911  	ForceSendFields []string `json:"-"`
  2912  	// NullFields is a list of field names (e.g. "ClientId") to include in API
  2913  	// requests with the JSON null value. By default, fields with empty values are
  2914  	// omitted from API requests. See
  2915  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2916  	NullFields []string `json:"-"`
  2917  }
  2918  
  2919  func (s *IdentityServiceAzureADConfig) MarshalJSON() ([]byte, error) {
  2920  	type NoMethod IdentityServiceAzureADConfig
  2921  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2922  }
  2923  
  2924  // IdentityServiceGoogleConfig: Configuration for the Google Plugin Auth flow.
  2925  type IdentityServiceGoogleConfig struct {
  2926  	// Disable: Disable automatic configuration of Google Plugin on supported
  2927  	// platforms.
  2928  	Disable bool `json:"disable,omitempty"`
  2929  	// ForceSendFields is a list of field names (e.g. "Disable") to unconditionally
  2930  	// include in API requests. By default, fields with empty or default values are
  2931  	// omitted from API requests. See
  2932  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2933  	// details.
  2934  	ForceSendFields []string `json:"-"`
  2935  	// NullFields is a list of field names (e.g. "Disable") to include in API
  2936  	// requests with the JSON null value. By default, fields with empty values are
  2937  	// omitted from API requests. See
  2938  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2939  	NullFields []string `json:"-"`
  2940  }
  2941  
  2942  func (s *IdentityServiceGoogleConfig) MarshalJSON() ([]byte, error) {
  2943  	type NoMethod IdentityServiceGoogleConfig
  2944  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2945  }
  2946  
  2947  // IdentityServiceGroupConfig: Contains the properties for locating and
  2948  // authenticating groups in the directory.
  2949  type IdentityServiceGroupConfig struct {
  2950  	// BaseDn: Required. The location of the subtree in the LDAP directory to
  2951  	// search for group entries.
  2952  	BaseDn string `json:"baseDn,omitempty"`
  2953  	// Filter: Optional. Optional filter to be used when searching for groups a
  2954  	// user belongs to. This can be used to explicitly match only certain groups in
  2955  	// order to reduce the amount of groups returned for each user. This defaults
  2956  	// to "(objectClass=Group)".
  2957  	Filter string `json:"filter,omitempty"`
  2958  	// IdAttribute: Optional. The identifying name of each group a user belongs to.
  2959  	// For example, if this is set to "distinguishedName" then RBACs and other
  2960  	// group expectations should be written as full DNs. This defaults to
  2961  	// "distinguishedName".
  2962  	IdAttribute string `json:"idAttribute,omitempty"`
  2963  	// ForceSendFields is a list of field names (e.g. "BaseDn") to unconditionally
  2964  	// include in API requests. By default, fields with empty or default values are
  2965  	// omitted from API requests. See
  2966  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2967  	// details.
  2968  	ForceSendFields []string `json:"-"`
  2969  	// NullFields is a list of field names (e.g. "BaseDn") to include in API
  2970  	// requests with the JSON null value. By default, fields with empty values are
  2971  	// omitted from API requests. See
  2972  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2973  	NullFields []string `json:"-"`
  2974  }
  2975  
  2976  func (s *IdentityServiceGroupConfig) MarshalJSON() ([]byte, error) {
  2977  	type NoMethod IdentityServiceGroupConfig
  2978  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2979  }
  2980  
  2981  // IdentityServiceIdentityServiceOptions: Holds non-protocol-related
  2982  // configuration options.
  2983  type IdentityServiceIdentityServiceOptions struct {
  2984  	// SessionDuration: Optional. Determines the lifespan of STS tokens issued by
  2985  	// Anthos Identity Service.
  2986  	SessionDuration string `json:"sessionDuration,omitempty"`
  2987  	// ForceSendFields is a list of field names (e.g. "SessionDuration") to
  2988  	// unconditionally include in API requests. By default, fields with empty or
  2989  	// default values are omitted from API requests. See
  2990  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2991  	// details.
  2992  	ForceSendFields []string `json:"-"`
  2993  	// NullFields is a list of field names (e.g. "SessionDuration") to include in
  2994  	// API requests with the JSON null value. By default, fields with empty values
  2995  	// are omitted from API requests. See
  2996  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2997  	NullFields []string `json:"-"`
  2998  }
  2999  
  3000  func (s *IdentityServiceIdentityServiceOptions) MarshalJSON() ([]byte, error) {
  3001  	type NoMethod IdentityServiceIdentityServiceOptions
  3002  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3003  }
  3004  
  3005  // IdentityServiceLdapConfig: Configuration for the LDAP Auth flow.
  3006  type IdentityServiceLdapConfig struct {
  3007  	// Group: Optional. Contains the properties for locating and authenticating
  3008  	// groups in the directory.
  3009  	Group *IdentityServiceGroupConfig `json:"group,omitempty"`
  3010  	// Server: Required. Server settings for the external LDAP server.
  3011  	Server *IdentityServiceServerConfig `json:"server,omitempty"`
  3012  	// ServiceAccount: Required. Contains the credentials of the service account
  3013  	// which is authorized to perform the LDAP search in the directory. The
  3014  	// credentials can be supplied by the combination of the DN and password or the
  3015  	// client certificate.
  3016  	ServiceAccount *IdentityServiceServiceAccountConfig `json:"serviceAccount,omitempty"`
  3017  	// User: Required. Defines where users exist in the LDAP directory.
  3018  	User *IdentityServiceUserConfig `json:"user,omitempty"`
  3019  	// ForceSendFields is a list of field names (e.g. "Group") to unconditionally
  3020  	// include in API requests. By default, fields with empty or default values are
  3021  	// omitted from API requests. See
  3022  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3023  	// details.
  3024  	ForceSendFields []string `json:"-"`
  3025  	// NullFields is a list of field names (e.g. "Group") to include in API
  3026  	// requests with the JSON null value. By default, fields with empty values are
  3027  	// omitted from API requests. See
  3028  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3029  	NullFields []string `json:"-"`
  3030  }
  3031  
  3032  func (s *IdentityServiceLdapConfig) MarshalJSON() ([]byte, error) {
  3033  	type NoMethod IdentityServiceLdapConfig
  3034  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3035  }
  3036  
  3037  // IdentityServiceMembershipSpec: **Anthos Identity Service**: Configuration
  3038  // for a single Membership.
  3039  type IdentityServiceMembershipSpec struct {
  3040  	// AuthMethods: A member may support multiple auth methods.
  3041  	AuthMethods []*IdentityServiceAuthMethod `json:"authMethods,omitempty"`
  3042  	// IdentityServiceOptions: Optional. non-protocol-related configuration
  3043  	// options.
  3044  	IdentityServiceOptions *IdentityServiceIdentityServiceOptions `json:"identityServiceOptions,omitempty"`
  3045  	// ForceSendFields is a list of field names (e.g. "AuthMethods") to
  3046  	// unconditionally include in API requests. By default, fields with empty or
  3047  	// default values are omitted from API requests. See
  3048  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3049  	// details.
  3050  	ForceSendFields []string `json:"-"`
  3051  	// NullFields is a list of field names (e.g. "AuthMethods") to include in API
  3052  	// requests with the JSON null value. By default, fields with empty values are
  3053  	// omitted from API requests. See
  3054  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3055  	NullFields []string `json:"-"`
  3056  }
  3057  
  3058  func (s *IdentityServiceMembershipSpec) MarshalJSON() ([]byte, error) {
  3059  	type NoMethod IdentityServiceMembershipSpec
  3060  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3061  }
  3062  
  3063  // IdentityServiceMembershipState: **Anthos Identity Service**: State for a
  3064  // single Membership.
  3065  type IdentityServiceMembershipState struct {
  3066  	// FailureReason: The reason of the failure.
  3067  	FailureReason string `json:"failureReason,omitempty"`
  3068  	// InstalledVersion: Installed AIS version. This is the AIS version installed
  3069  	// on this member. The values makes sense iff state is OK.
  3070  	InstalledVersion string `json:"installedVersion,omitempty"`
  3071  	// MemberConfig: Last reconciled membership configuration
  3072  	MemberConfig *IdentityServiceMembershipSpec `json:"memberConfig,omitempty"`
  3073  	// State: Deployment state on this member
  3074  	//
  3075  	// Possible values:
  3076  	//   "DEPLOYMENT_STATE_UNSPECIFIED" - Unspecified state
  3077  	//   "OK" - deployment succeeds
  3078  	//   "ERROR" - Failure with error.
  3079  	State string `json:"state,omitempty"`
  3080  	// ForceSendFields is a list of field names (e.g. "FailureReason") to
  3081  	// unconditionally include in API requests. By default, fields with empty or
  3082  	// default values are omitted from API requests. See
  3083  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3084  	// details.
  3085  	ForceSendFields []string `json:"-"`
  3086  	// NullFields is a list of field names (e.g. "FailureReason") to include in API
  3087  	// requests with the JSON null value. By default, fields with empty values are
  3088  	// omitted from API requests. See
  3089  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3090  	NullFields []string `json:"-"`
  3091  }
  3092  
  3093  func (s *IdentityServiceMembershipState) MarshalJSON() ([]byte, error) {
  3094  	type NoMethod IdentityServiceMembershipState
  3095  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3096  }
  3097  
  3098  // IdentityServiceOidcConfig: Configuration for OIDC Auth flow.
  3099  type IdentityServiceOidcConfig struct {
  3100  	// CertificateAuthorityData: PEM-encoded CA for OIDC provider.
  3101  	CertificateAuthorityData string `json:"certificateAuthorityData,omitempty"`
  3102  	// ClientId: ID for OIDC client application.
  3103  	ClientId string `json:"clientId,omitempty"`
  3104  	// ClientSecret: Input only. Unencrypted OIDC client secret will be passed to
  3105  	// the GKE Hub CLH.
  3106  	ClientSecret string `json:"clientSecret,omitempty"`
  3107  	// DeployCloudConsoleProxy: Flag to denote if reverse proxy is used to connect
  3108  	// to auth provider. This flag should be set to true when provider is not
  3109  	// reachable by Google Cloud Console.
  3110  	DeployCloudConsoleProxy bool `json:"deployCloudConsoleProxy,omitempty"`
  3111  	// EnableAccessToken: Enable access token.
  3112  	EnableAccessToken bool `json:"enableAccessToken,omitempty"`
  3113  	// EncryptedClientSecret: Output only. Encrypted OIDC Client secret
  3114  	EncryptedClientSecret string `json:"encryptedClientSecret,omitempty"`
  3115  	// ExtraParams: Comma-separated list of key-value pairs.
  3116  	ExtraParams string `json:"extraParams,omitempty"`
  3117  	// GroupPrefix: Prefix to prepend to group name.
  3118  	GroupPrefix string `json:"groupPrefix,omitempty"`
  3119  	// GroupsClaim: Claim in OIDC ID token that holds group information.
  3120  	GroupsClaim string `json:"groupsClaim,omitempty"`
  3121  	// IssuerUri: URI for the OIDC provider. This should point to the level below
  3122  	// .well-known/openid-configuration.
  3123  	IssuerUri string `json:"issuerUri,omitempty"`
  3124  	// KubectlRedirectUri: Registered redirect uri to redirect users going through
  3125  	// OAuth flow using kubectl plugin.
  3126  	KubectlRedirectUri string `json:"kubectlRedirectUri,omitempty"`
  3127  	// Scopes: Comma-separated list of identifiers.
  3128  	Scopes string `json:"scopes,omitempty"`
  3129  	// UserClaim: Claim in OIDC ID token that holds username.
  3130  	UserClaim string `json:"userClaim,omitempty"`
  3131  	// UserPrefix: Prefix to prepend to user name.
  3132  	UserPrefix string `json:"userPrefix,omitempty"`
  3133  	// ForceSendFields is a list of field names (e.g. "CertificateAuthorityData")
  3134  	// to unconditionally include in API requests. By default, fields with empty or
  3135  	// default values are omitted from API requests. See
  3136  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3137  	// details.
  3138  	ForceSendFields []string `json:"-"`
  3139  	// NullFields is a list of field names (e.g. "CertificateAuthorityData") to
  3140  	// include in API requests with the JSON null value. By default, fields with
  3141  	// empty values are omitted from API requests. See
  3142  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3143  	NullFields []string `json:"-"`
  3144  }
  3145  
  3146  func (s *IdentityServiceOidcConfig) MarshalJSON() ([]byte, error) {
  3147  	type NoMethod IdentityServiceOidcConfig
  3148  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3149  }
  3150  
  3151  // IdentityServiceSamlConfig: Configuration for the SAML Auth flow.
  3152  type IdentityServiceSamlConfig struct {
  3153  	// AttributeMapping: Optional. The mapping of additional user attributes like
  3154  	// nickname, birthday and address etc.. `key` is the name of this additional
  3155  	// attribute. `value` is a string presenting as CEL(common expression language,
  3156  	// go/cel) used for getting the value from the resources. Take nickname as an
  3157  	// example, in this case, `key` is "attribute.nickname" and `value` is
  3158  	// "assertion.nickname".
  3159  	AttributeMapping map[string]string `json:"attributeMapping,omitempty"`
  3160  	// GroupPrefix: Optional. Prefix to prepend to group name.
  3161  	GroupPrefix string `json:"groupPrefix,omitempty"`
  3162  	// GroupsAttribute: Optional. The SAML attribute to read groups from. This
  3163  	// value is expected to be a string and will be passed along as-is (with the
  3164  	// option of being prefixed by the `group_prefix`).
  3165  	GroupsAttribute string `json:"groupsAttribute,omitempty"`
  3166  	// IdentityProviderCertificates: Required. The list of IdP certificates to
  3167  	// validate the SAML response against.
  3168  	IdentityProviderCertificates []string `json:"identityProviderCertificates,omitempty"`
  3169  	// IdentityProviderId: Required. The entity ID of the SAML IdP.
  3170  	IdentityProviderId string `json:"identityProviderId,omitempty"`
  3171  	// IdentityProviderSsoUri: Required. The URI where the SAML IdP exposes the SSO
  3172  	// service.
  3173  	IdentityProviderSsoUri string `json:"identityProviderSsoUri,omitempty"`
  3174  	// UserAttribute: Optional. The SAML attribute to read username from. If
  3175  	// unspecified, the username will be read from the NameID element of the
  3176  	// assertion in SAML response. This value is expected to be a string and will
  3177  	// be passed along as-is (with the option of being prefixed by the
  3178  	// `user_prefix`).
  3179  	UserAttribute string `json:"userAttribute,omitempty"`
  3180  	// UserPrefix: Optional. Prefix to prepend to user name.
  3181  	UserPrefix string `json:"userPrefix,omitempty"`
  3182  	// ForceSendFields is a list of field names (e.g. "AttributeMapping") to
  3183  	// unconditionally include in API requests. By default, fields with empty or
  3184  	// default values are omitted from API requests. See
  3185  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3186  	// details.
  3187  	ForceSendFields []string `json:"-"`
  3188  	// NullFields is a list of field names (e.g. "AttributeMapping") to include in
  3189  	// API requests with the JSON null value. By default, fields with empty values
  3190  	// are omitted from API requests. See
  3191  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3192  	NullFields []string `json:"-"`
  3193  }
  3194  
  3195  func (s *IdentityServiceSamlConfig) MarshalJSON() ([]byte, error) {
  3196  	type NoMethod IdentityServiceSamlConfig
  3197  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3198  }
  3199  
  3200  // IdentityServiceServerConfig: Server settings for the external LDAP server.
  3201  type IdentityServiceServerConfig struct {
  3202  	// CertificateAuthorityData: Optional. Contains a Base64 encoded, PEM formatted
  3203  	// certificate authority certificate for the LDAP server. This must be provided
  3204  	// for the "ldaps" and "startTLS" connections.
  3205  	CertificateAuthorityData string `json:"certificateAuthorityData,omitempty"`
  3206  	// ConnectionType: Optional. Defines the connection type to communicate with
  3207  	// the LDAP server. If `starttls` or `ldaps` is specified, the
  3208  	// certificate_authority_data should not be empty.
  3209  	ConnectionType string `json:"connectionType,omitempty"`
  3210  	// Host: Required. Defines the hostname or IP of the LDAP server. Port is
  3211  	// optional and will default to 389, if unspecified. For example,
  3212  	// "ldap.server.example" or "10.10.10.10:389".
  3213  	Host string `json:"host,omitempty"`
  3214  	// ForceSendFields is a list of field names (e.g. "CertificateAuthorityData")
  3215  	// to unconditionally include in API requests. By default, fields with empty or
  3216  	// default values are omitted from API requests. See
  3217  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3218  	// details.
  3219  	ForceSendFields []string `json:"-"`
  3220  	// NullFields is a list of field names (e.g. "CertificateAuthorityData") to
  3221  	// include in API requests with the JSON null value. By default, fields with
  3222  	// empty values are omitted from API requests. See
  3223  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3224  	NullFields []string `json:"-"`
  3225  }
  3226  
  3227  func (s *IdentityServiceServerConfig) MarshalJSON() ([]byte, error) {
  3228  	type NoMethod IdentityServiceServerConfig
  3229  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3230  }
  3231  
  3232  // IdentityServiceServiceAccountConfig: Contains the credentials of the service
  3233  // account which is authorized to perform the LDAP search in the directory. The
  3234  // credentials can be supplied by the combination of the DN and password or the
  3235  // client certificate.
  3236  type IdentityServiceServiceAccountConfig struct {
  3237  	// SimpleBindCredentials: Credentials for basic auth.
  3238  	SimpleBindCredentials *IdentityServiceSimpleBindCredentials `json:"simpleBindCredentials,omitempty"`
  3239  	// ForceSendFields is a list of field names (e.g. "SimpleBindCredentials") to
  3240  	// unconditionally include in API requests. By default, fields with empty or
  3241  	// default values are omitted from API requests. See
  3242  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3243  	// details.
  3244  	ForceSendFields []string `json:"-"`
  3245  	// NullFields is a list of field names (e.g. "SimpleBindCredentials") to
  3246  	// include in API requests with the JSON null value. By default, fields with
  3247  	// empty values are omitted from API requests. See
  3248  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3249  	NullFields []string `json:"-"`
  3250  }
  3251  
  3252  func (s *IdentityServiceServiceAccountConfig) MarshalJSON() ([]byte, error) {
  3253  	type NoMethod IdentityServiceServiceAccountConfig
  3254  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3255  }
  3256  
  3257  // IdentityServiceSimpleBindCredentials: The structure holds the LDAP simple
  3258  // binding credential.
  3259  type IdentityServiceSimpleBindCredentials struct {
  3260  	// Dn: Required. The distinguished name(DN) of the service account object/user.
  3261  	Dn string `json:"dn,omitempty"`
  3262  	// EncryptedPassword: Output only. The encrypted password of the service
  3263  	// account object/user.
  3264  	EncryptedPassword string `json:"encryptedPassword,omitempty"`
  3265  	// Password: Required. Input only. The password of the service account
  3266  	// object/user.
  3267  	Password string `json:"password,omitempty"`
  3268  	// ForceSendFields is a list of field names (e.g. "Dn") to unconditionally
  3269  	// include in API requests. By default, fields with empty or default values are
  3270  	// omitted from API requests. See
  3271  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3272  	// details.
  3273  	ForceSendFields []string `json:"-"`
  3274  	// NullFields is a list of field names (e.g. "Dn") to include in API requests
  3275  	// with the JSON null value. By default, fields with empty values are omitted
  3276  	// from API requests. See
  3277  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3278  	NullFields []string `json:"-"`
  3279  }
  3280  
  3281  func (s *IdentityServiceSimpleBindCredentials) MarshalJSON() ([]byte, error) {
  3282  	type NoMethod IdentityServiceSimpleBindCredentials
  3283  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3284  }
  3285  
  3286  // IdentityServiceUserConfig: Defines where users exist in the LDAP directory.
  3287  type IdentityServiceUserConfig struct {
  3288  	// BaseDn: Required. The location of the subtree in the LDAP directory to
  3289  	// search for user entries.
  3290  	BaseDn string `json:"baseDn,omitempty"`
  3291  	// Filter: Optional. Filter to apply when searching for the user. This can be
  3292  	// used to further restrict the user accounts which are allowed to login. This
  3293  	// defaults to "(objectClass=User)".
  3294  	Filter string `json:"filter,omitempty"`
  3295  	// IdAttribute: Optional. Determines which attribute to use as the user's
  3296  	// identity after they are authenticated. This is distinct from the
  3297  	// loginAttribute field to allow users to login with a username, but then have
  3298  	// their actual identifier be an email address or full Distinguished Name (DN).
  3299  	// For example, setting loginAttribute to "sAMAccountName" and
  3300  	// identifierAttribute to "userPrincipalName" would allow a user to login as
  3301  	// "bsmith", but actual RBAC policies for the user would be written as
  3302  	// "bsmith@example.com". Using "userPrincipalName" is recommended since this
  3303  	// will be unique for each user. This defaults to "userPrincipalName".
  3304  	IdAttribute string `json:"idAttribute,omitempty"`
  3305  	// LoginAttribute: Optional. The name of the attribute which matches against
  3306  	// the input username. This is used to find the user in the LDAP database e.g.
  3307  	// "(=)" and is combined with the optional filter field. This defaults to
  3308  	// "userPrincipalName".
  3309  	LoginAttribute string `json:"loginAttribute,omitempty"`
  3310  	// ForceSendFields is a list of field names (e.g. "BaseDn") to unconditionally
  3311  	// include in API requests. By default, fields with empty or default values are
  3312  	// omitted from API requests. See
  3313  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3314  	// details.
  3315  	ForceSendFields []string `json:"-"`
  3316  	// NullFields is a list of field names (e.g. "BaseDn") to include in API
  3317  	// requests with the JSON null value. By default, fields with empty values are
  3318  	// omitted from API requests. See
  3319  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3320  	NullFields []string `json:"-"`
  3321  }
  3322  
  3323  func (s *IdentityServiceUserConfig) MarshalJSON() ([]byte, error) {
  3324  	type NoMethod IdentityServiceUserConfig
  3325  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3326  }
  3327  
  3328  // KubernetesMetadata: KubernetesMetadata provides informational metadata for
  3329  // Memberships representing Kubernetes clusters.
  3330  type KubernetesMetadata struct {
  3331  	// KubernetesApiServerVersion: Output only. Kubernetes API server version
  3332  	// string as reported by `/version`.
  3333  	KubernetesApiServerVersion string `json:"kubernetesApiServerVersion,omitempty"`
  3334  	// MemoryMb: Output only. The total memory capacity as reported by the sum of
  3335  	// all Kubernetes nodes resources, defined in MB.
  3336  	MemoryMb int64 `json:"memoryMb,omitempty"`
  3337  	// NodeCount: Output only. Node count as reported by Kubernetes nodes
  3338  	// resources.
  3339  	NodeCount int64 `json:"nodeCount,omitempty"`
  3340  	// NodeProviderId: Output only. Node providerID as reported by the first node
  3341  	// in the list of nodes on the Kubernetes endpoint. On Kubernetes platforms
  3342  	// that support zero-node clusters (like GKE-on-GCP), the node_count will be
  3343  	// zero and the node_provider_id will be empty.
  3344  	NodeProviderId string `json:"nodeProviderId,omitempty"`
  3345  	// UpdateTime: Output only. The time at which these details were last updated.
  3346  	// This update_time is different from the Membership-level update_time since
  3347  	// EndpointDetails are updated internally for API consumers.
  3348  	UpdateTime string `json:"updateTime,omitempty"`
  3349  	// VcpuCount: Output only. vCPU count as reported by Kubernetes nodes
  3350  	// resources.
  3351  	VcpuCount int64 `json:"vcpuCount,omitempty"`
  3352  	// ForceSendFields is a list of field names (e.g. "KubernetesApiServerVersion")
  3353  	// to unconditionally include in API requests. By default, fields with empty or
  3354  	// default values are omitted from API requests. See
  3355  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3356  	// details.
  3357  	ForceSendFields []string `json:"-"`
  3358  	// NullFields is a list of field names (e.g. "KubernetesApiServerVersion") to
  3359  	// include in API requests with the JSON null value. By default, fields with
  3360  	// empty values are omitted from API requests. See
  3361  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3362  	NullFields []string `json:"-"`
  3363  }
  3364  
  3365  func (s *KubernetesMetadata) MarshalJSON() ([]byte, error) {
  3366  	type NoMethod KubernetesMetadata
  3367  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3368  }
  3369  
  3370  // KubernetesResource: KubernetesResource contains the YAML manifests and
  3371  // configuration for Membership Kubernetes resources in the cluster. After
  3372  // CreateMembership or UpdateMembership, these resources should be re-applied
  3373  // in the cluster.
  3374  type KubernetesResource struct {
  3375  	// ConnectResources: Output only. The Kubernetes resources for installing the
  3376  	// GKE Connect agent This field is only populated in the Membership returned
  3377  	// from a successful long-running operation from CreateMembership or
  3378  	// UpdateMembership. It is not populated during normal GetMembership or
  3379  	// ListMemberships requests. To get the resource manifest after the initial
  3380  	// registration, the caller should make a UpdateMembership call with an empty
  3381  	// field mask.
  3382  	ConnectResources []*ResourceManifest `json:"connectResources,omitempty"`
  3383  	// MembershipCrManifest: Input only. The YAML representation of the Membership
  3384  	// CR. This field is ignored for GKE clusters where Hub can read the CR
  3385  	// directly. Callers should provide the CR that is currently present in the
  3386  	// cluster during CreateMembership or UpdateMembership, or leave this field
  3387  	// empty if none exists. The CR manifest is used to validate the cluster has
  3388  	// not been registered with another Membership.
  3389  	MembershipCrManifest string `json:"membershipCrManifest,omitempty"`
  3390  	// MembershipResources: Output only. Additional Kubernetes resources that need
  3391  	// to be applied to the cluster after Membership creation, and after every
  3392  	// update. This field is only populated in the Membership returned from a
  3393  	// successful long-running operation from CreateMembership or UpdateMembership.
  3394  	// It is not populated during normal GetMembership or ListMemberships requests.
  3395  	// To get the resource manifest after the initial registration, the caller
  3396  	// should make a UpdateMembership call with an empty field mask.
  3397  	MembershipResources []*ResourceManifest `json:"membershipResources,omitempty"`
  3398  	// ResourceOptions: Optional. Options for Kubernetes resource generation.
  3399  	ResourceOptions *ResourceOptions `json:"resourceOptions,omitempty"`
  3400  	// ForceSendFields is a list of field names (e.g. "ConnectResources") to
  3401  	// unconditionally include in API requests. By default, fields with empty or
  3402  	// default values are omitted from API requests. See
  3403  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3404  	// details.
  3405  	ForceSendFields []string `json:"-"`
  3406  	// NullFields is a list of field names (e.g. "ConnectResources") to include in
  3407  	// API requests with the JSON null value. By default, fields with empty values
  3408  	// are omitted from API requests. See
  3409  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3410  	NullFields []string `json:"-"`
  3411  }
  3412  
  3413  func (s *KubernetesResource) MarshalJSON() ([]byte, error) {
  3414  	type NoMethod KubernetesResource
  3415  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3416  }
  3417  
  3418  // ListBoundMembershipsResponse: List of Memberships bound to a Scope.
  3419  type ListBoundMembershipsResponse struct {
  3420  	// Memberships: The list of Memberships bound to the given Scope.
  3421  	Memberships []*Membership `json:"memberships,omitempty"`
  3422  	// NextPageToken: A token to request the next page of resources from the
  3423  	// `ListBoundMemberships` method. The value of an empty string means that there
  3424  	// are no more resources to return.
  3425  	NextPageToken string `json:"nextPageToken,omitempty"`
  3426  	// Unreachable: List of locations that could not be reached while fetching this
  3427  	// list.
  3428  	Unreachable []string `json:"unreachable,omitempty"`
  3429  
  3430  	// ServerResponse contains the HTTP response code and headers from the server.
  3431  	googleapi.ServerResponse `json:"-"`
  3432  	// ForceSendFields is a list of field names (e.g. "Memberships") to
  3433  	// unconditionally include in API requests. By default, fields with empty or
  3434  	// default values are omitted from API requests. See
  3435  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3436  	// details.
  3437  	ForceSendFields []string `json:"-"`
  3438  	// NullFields is a list of field names (e.g. "Memberships") to include in API
  3439  	// requests with the JSON null value. By default, fields with empty values are
  3440  	// omitted from API requests. See
  3441  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3442  	NullFields []string `json:"-"`
  3443  }
  3444  
  3445  func (s *ListBoundMembershipsResponse) MarshalJSON() ([]byte, error) {
  3446  	type NoMethod ListBoundMembershipsResponse
  3447  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3448  }
  3449  
  3450  // ListFeaturesResponse: Response message for the `GkeHub.ListFeatures` method.
  3451  type ListFeaturesResponse struct {
  3452  	// NextPageToken: A token to request the next page of resources from the
  3453  	// `ListFeatures` method. The value of an empty string means that there are no
  3454  	// more resources to return.
  3455  	NextPageToken string `json:"nextPageToken,omitempty"`
  3456  	// Resources: The list of matching Features
  3457  	Resources []*Feature `json:"resources,omitempty"`
  3458  
  3459  	// ServerResponse contains the HTTP response code and headers from the server.
  3460  	googleapi.ServerResponse `json:"-"`
  3461  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  3462  	// unconditionally include in API requests. By default, fields with empty or
  3463  	// default values are omitted from API requests. See
  3464  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3465  	// details.
  3466  	ForceSendFields []string `json:"-"`
  3467  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  3468  	// requests with the JSON null value. By default, fields with empty values are
  3469  	// omitted from API requests. See
  3470  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3471  	NullFields []string `json:"-"`
  3472  }
  3473  
  3474  func (s *ListFeaturesResponse) MarshalJSON() ([]byte, error) {
  3475  	type NoMethod ListFeaturesResponse
  3476  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3477  }
  3478  
  3479  // ListFleetsResponse: Response message for the `GkeHub.ListFleetsResponse`
  3480  // method.
  3481  type ListFleetsResponse struct {
  3482  	// Fleets: The list of matching fleets.
  3483  	Fleets []*Fleet `json:"fleets,omitempty"`
  3484  	// NextPageToken: A token, which can be sent as `page_token` to retrieve the
  3485  	// next page. If this field is omitted, there are no subsequent pages. The
  3486  	// token is only valid for 1h.
  3487  	NextPageToken string `json:"nextPageToken,omitempty"`
  3488  
  3489  	// ServerResponse contains the HTTP response code and headers from the server.
  3490  	googleapi.ServerResponse `json:"-"`
  3491  	// ForceSendFields is a list of field names (e.g. "Fleets") to unconditionally
  3492  	// include in API requests. By default, fields with empty or default values are
  3493  	// omitted from API requests. See
  3494  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3495  	// details.
  3496  	ForceSendFields []string `json:"-"`
  3497  	// NullFields is a list of field names (e.g. "Fleets") to include in API
  3498  	// requests with the JSON null value. By default, fields with empty values are
  3499  	// omitted from API requests. See
  3500  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3501  	NullFields []string `json:"-"`
  3502  }
  3503  
  3504  func (s *ListFleetsResponse) MarshalJSON() ([]byte, error) {
  3505  	type NoMethod ListFleetsResponse
  3506  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3507  }
  3508  
  3509  // ListLocationsResponse: The response message for Locations.ListLocations.
  3510  type ListLocationsResponse struct {
  3511  	// Locations: A list of locations that matches the specified filter in the
  3512  	// request.
  3513  	Locations []*Location `json:"locations,omitempty"`
  3514  	// NextPageToken: The standard List next-page token.
  3515  	NextPageToken string `json:"nextPageToken,omitempty"`
  3516  
  3517  	// ServerResponse contains the HTTP response code and headers from the server.
  3518  	googleapi.ServerResponse `json:"-"`
  3519  	// ForceSendFields is a list of field names (e.g. "Locations") to
  3520  	// unconditionally include in API requests. By default, fields with empty or
  3521  	// default values are omitted from API requests. See
  3522  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3523  	// details.
  3524  	ForceSendFields []string `json:"-"`
  3525  	// NullFields is a list of field names (e.g. "Locations") to include in API
  3526  	// requests with the JSON null value. By default, fields with empty values are
  3527  	// omitted from API requests. See
  3528  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3529  	NullFields []string `json:"-"`
  3530  }
  3531  
  3532  func (s *ListLocationsResponse) MarshalJSON() ([]byte, error) {
  3533  	type NoMethod ListLocationsResponse
  3534  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3535  }
  3536  
  3537  // ListMembershipBindingsResponse: List of MembershipBindings.
  3538  type ListMembershipBindingsResponse struct {
  3539  	// MembershipBindings: The list of membership_bindings
  3540  	MembershipBindings []*MembershipBinding `json:"membershipBindings,omitempty"`
  3541  	// NextPageToken: A token to request the next page of resources from the
  3542  	// `ListMembershipBindings` method. The value of an empty string means that
  3543  	// there are no more resources to return.
  3544  	NextPageToken string `json:"nextPageToken,omitempty"`
  3545  
  3546  	// ServerResponse contains the HTTP response code and headers from the server.
  3547  	googleapi.ServerResponse `json:"-"`
  3548  	// ForceSendFields is a list of field names (e.g. "MembershipBindings") to
  3549  	// unconditionally include in API requests. By default, fields with empty or
  3550  	// default values are omitted from API requests. See
  3551  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3552  	// details.
  3553  	ForceSendFields []string `json:"-"`
  3554  	// NullFields is a list of field names (e.g. "MembershipBindings") to include
  3555  	// in API requests with the JSON null value. By default, fields with empty
  3556  	// values are omitted from API requests. See
  3557  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3558  	NullFields []string `json:"-"`
  3559  }
  3560  
  3561  func (s *ListMembershipBindingsResponse) MarshalJSON() ([]byte, error) {
  3562  	type NoMethod ListMembershipBindingsResponse
  3563  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3564  }
  3565  
  3566  // ListMembershipRBACRoleBindingsResponse: List of Membership RBACRoleBindings.
  3567  type ListMembershipRBACRoleBindingsResponse struct {
  3568  	// NextPageToken: A token to request the next page of resources from the
  3569  	// `ListMembershipRBACRoleBindings` method. The value of an empty string means
  3570  	// that there are no more resources to return.
  3571  	NextPageToken string `json:"nextPageToken,omitempty"`
  3572  	// Rbacrolebindings: The list of Membership RBACRoleBindings.
  3573  	Rbacrolebindings []*RBACRoleBinding `json:"rbacrolebindings,omitempty"`
  3574  
  3575  	// ServerResponse contains the HTTP response code and headers from the server.
  3576  	googleapi.ServerResponse `json:"-"`
  3577  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  3578  	// unconditionally include in API requests. By default, fields with empty or
  3579  	// default values are omitted from API requests. See
  3580  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3581  	// details.
  3582  	ForceSendFields []string `json:"-"`
  3583  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  3584  	// requests with the JSON null value. By default, fields with empty values are
  3585  	// omitted from API requests. See
  3586  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3587  	NullFields []string `json:"-"`
  3588  }
  3589  
  3590  func (s *ListMembershipRBACRoleBindingsResponse) MarshalJSON() ([]byte, error) {
  3591  	type NoMethod ListMembershipRBACRoleBindingsResponse
  3592  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3593  }
  3594  
  3595  // ListMembershipsResponse: Response message for the `GkeHub.ListMemberships`
  3596  // method.
  3597  type ListMembershipsResponse struct {
  3598  	// NextPageToken: A token to request the next page of resources from the
  3599  	// `ListMemberships` method. The value of an empty string means that there are
  3600  	// no more resources to return.
  3601  	NextPageToken string `json:"nextPageToken,omitempty"`
  3602  	// Resources: The list of matching Memberships.
  3603  	Resources []*Membership `json:"resources,omitempty"`
  3604  	// Unreachable: List of locations that could not be reached while fetching this
  3605  	// list.
  3606  	Unreachable []string `json:"unreachable,omitempty"`
  3607  
  3608  	// ServerResponse contains the HTTP response code and headers from the server.
  3609  	googleapi.ServerResponse `json:"-"`
  3610  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  3611  	// unconditionally include in API requests. By default, fields with empty or
  3612  	// default values are omitted from API requests. See
  3613  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3614  	// details.
  3615  	ForceSendFields []string `json:"-"`
  3616  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  3617  	// requests with the JSON null value. By default, fields with empty values are
  3618  	// omitted from API requests. See
  3619  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3620  	NullFields []string `json:"-"`
  3621  }
  3622  
  3623  func (s *ListMembershipsResponse) MarshalJSON() ([]byte, error) {
  3624  	type NoMethod ListMembershipsResponse
  3625  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3626  }
  3627  
  3628  // ListOperationsResponse: The response message for Operations.ListOperations.
  3629  type ListOperationsResponse struct {
  3630  	// NextPageToken: The standard List next-page token.
  3631  	NextPageToken string `json:"nextPageToken,omitempty"`
  3632  	// Operations: A list of operations that matches the specified filter in the
  3633  	// request.
  3634  	Operations []*Operation `json:"operations,omitempty"`
  3635  
  3636  	// ServerResponse contains the HTTP response code and headers from the server.
  3637  	googleapi.ServerResponse `json:"-"`
  3638  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  3639  	// unconditionally include in API requests. By default, fields with empty or
  3640  	// default values are omitted from API requests. See
  3641  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3642  	// details.
  3643  	ForceSendFields []string `json:"-"`
  3644  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  3645  	// requests with the JSON null value. By default, fields with empty values are
  3646  	// omitted from API requests. See
  3647  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3648  	NullFields []string `json:"-"`
  3649  }
  3650  
  3651  func (s *ListOperationsResponse) MarshalJSON() ([]byte, error) {
  3652  	type NoMethod ListOperationsResponse
  3653  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3654  }
  3655  
  3656  // ListPermittedScopesResponse: List of permitted Scopes.
  3657  type ListPermittedScopesResponse struct {
  3658  	// NextPageToken: A token to request the next page of resources from the
  3659  	// `ListPermittedScopes` method. The value of an empty string means that there
  3660  	// are no more resources to return.
  3661  	NextPageToken string `json:"nextPageToken,omitempty"`
  3662  	// Scopes: The list of permitted Scopes
  3663  	Scopes []*Scope `json:"scopes,omitempty"`
  3664  
  3665  	// ServerResponse contains the HTTP response code and headers from the server.
  3666  	googleapi.ServerResponse `json:"-"`
  3667  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  3668  	// unconditionally include in API requests. By default, fields with empty or
  3669  	// default values are omitted from API requests. See
  3670  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3671  	// details.
  3672  	ForceSendFields []string `json:"-"`
  3673  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  3674  	// requests with the JSON null value. By default, fields with empty values are
  3675  	// omitted from API requests. See
  3676  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3677  	NullFields []string `json:"-"`
  3678  }
  3679  
  3680  func (s *ListPermittedScopesResponse) MarshalJSON() ([]byte, error) {
  3681  	type NoMethod ListPermittedScopesResponse
  3682  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3683  }
  3684  
  3685  // ListScopeNamespacesResponse: List of fleet namespaces.
  3686  type ListScopeNamespacesResponse struct {
  3687  	// NextPageToken: A token to request the next page of resources from the
  3688  	// `ListNamespaces` method. The value of an empty string means that there are
  3689  	// no more resources to return.
  3690  	NextPageToken string `json:"nextPageToken,omitempty"`
  3691  	// ScopeNamespaces: The list of fleet namespaces
  3692  	ScopeNamespaces []*Namespace `json:"scopeNamespaces,omitempty"`
  3693  
  3694  	// ServerResponse contains the HTTP response code and headers from the server.
  3695  	googleapi.ServerResponse `json:"-"`
  3696  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  3697  	// unconditionally include in API requests. By default, fields with empty or
  3698  	// default values are omitted from API requests. See
  3699  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3700  	// details.
  3701  	ForceSendFields []string `json:"-"`
  3702  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  3703  	// requests with the JSON null value. By default, fields with empty values are
  3704  	// omitted from API requests. See
  3705  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3706  	NullFields []string `json:"-"`
  3707  }
  3708  
  3709  func (s *ListScopeNamespacesResponse) MarshalJSON() ([]byte, error) {
  3710  	type NoMethod ListScopeNamespacesResponse
  3711  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3712  }
  3713  
  3714  // ListScopeRBACRoleBindingsResponse: List of Scope RBACRoleBindings.
  3715  type ListScopeRBACRoleBindingsResponse struct {
  3716  	// NextPageToken: A token to request the next page of resources from the
  3717  	// `ListScopeRBACRoleBindings` method. The value of an empty string means that
  3718  	// there are no more resources to return.
  3719  	NextPageToken string `json:"nextPageToken,omitempty"`
  3720  	// Rbacrolebindings: The list of Scope RBACRoleBindings.
  3721  	Rbacrolebindings []*RBACRoleBinding `json:"rbacrolebindings,omitempty"`
  3722  
  3723  	// ServerResponse contains the HTTP response code and headers from the server.
  3724  	googleapi.ServerResponse `json:"-"`
  3725  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  3726  	// unconditionally include in API requests. By default, fields with empty or
  3727  	// default values are omitted from API requests. See
  3728  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3729  	// details.
  3730  	ForceSendFields []string `json:"-"`
  3731  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  3732  	// requests with the JSON null value. By default, fields with empty values are
  3733  	// omitted from API requests. See
  3734  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3735  	NullFields []string `json:"-"`
  3736  }
  3737  
  3738  func (s *ListScopeRBACRoleBindingsResponse) MarshalJSON() ([]byte, error) {
  3739  	type NoMethod ListScopeRBACRoleBindingsResponse
  3740  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3741  }
  3742  
  3743  // ListScopesResponse: List of Scopes.
  3744  type ListScopesResponse struct {
  3745  	// NextPageToken: A token to request the next page of resources from the
  3746  	// `ListScopes` method. The value of an empty string means that there are no
  3747  	// more resources to return.
  3748  	NextPageToken string `json:"nextPageToken,omitempty"`
  3749  	// Scopes: The list of Scopes
  3750  	Scopes []*Scope `json:"scopes,omitempty"`
  3751  
  3752  	// ServerResponse contains the HTTP response code and headers from the server.
  3753  	googleapi.ServerResponse `json:"-"`
  3754  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  3755  	// unconditionally include in API requests. By default, fields with empty or
  3756  	// default values are omitted from API requests. See
  3757  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3758  	// details.
  3759  	ForceSendFields []string `json:"-"`
  3760  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  3761  	// requests with the JSON null value. By default, fields with empty values are
  3762  	// omitted from API requests. See
  3763  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3764  	NullFields []string `json:"-"`
  3765  }
  3766  
  3767  func (s *ListScopesResponse) MarshalJSON() ([]byte, error) {
  3768  	type NoMethod ListScopesResponse
  3769  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3770  }
  3771  
  3772  // Location: A resource that represents a Google Cloud location.
  3773  type Location struct {
  3774  	// DisplayName: The friendly name for this location, typically a nearby city
  3775  	// name. For example, "Tokyo".
  3776  	DisplayName string `json:"displayName,omitempty"`
  3777  	// Labels: Cross-service attributes for the location. For example
  3778  	// {"cloud.googleapis.com/region": "us-east1"}
  3779  	Labels map[string]string `json:"labels,omitempty"`
  3780  	// LocationId: The canonical id for this location. For example: "us-east1".
  3781  	LocationId string `json:"locationId,omitempty"`
  3782  	// Metadata: Service-specific metadata. For example the available capacity at
  3783  	// the given location.
  3784  	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
  3785  	// Name: Resource name for the location, which may vary between
  3786  	// implementations. For example:
  3787  	// "projects/example-project/locations/us-east1"
  3788  	Name string `json:"name,omitempty"`
  3789  
  3790  	// ServerResponse contains the HTTP response code and headers from the server.
  3791  	googleapi.ServerResponse `json:"-"`
  3792  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
  3793  	// unconditionally include in API requests. By default, fields with empty or
  3794  	// default values are omitted from API requests. See
  3795  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3796  	// details.
  3797  	ForceSendFields []string `json:"-"`
  3798  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
  3799  	// requests with the JSON null value. By default, fields with empty values are
  3800  	// omitted from API requests. See
  3801  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3802  	NullFields []string `json:"-"`
  3803  }
  3804  
  3805  func (s *Location) MarshalJSON() ([]byte, error) {
  3806  	type NoMethod Location
  3807  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3808  }
  3809  
  3810  // Membership: Membership contains information about a member cluster.
  3811  type Membership struct {
  3812  	// Authority: Optional. How to identify workloads from this Membership. See the
  3813  	// documentation on Workload Identity for more details:
  3814  	// https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity
  3815  	Authority *Authority `json:"authority,omitempty"`
  3816  	// CreateTime: Output only. When the Membership was created.
  3817  	CreateTime string `json:"createTime,omitempty"`
  3818  	// DeleteTime: Output only. When the Membership was deleted.
  3819  	DeleteTime string `json:"deleteTime,omitempty"`
  3820  	// Description: Output only. Description of this membership, limited to 63
  3821  	// characters. Must match the regex: `a-zA-Z0-9*` This field is present for
  3822  	// legacy purposes.
  3823  	Description string `json:"description,omitempty"`
  3824  	// Endpoint: Optional. Endpoint information to reach this member.
  3825  	Endpoint *MembershipEndpoint `json:"endpoint,omitempty"`
  3826  	// ExternalId: Optional. An externally-generated and managed ID for this
  3827  	// Membership. This ID may be modified after creation, but this is not
  3828  	// recommended. The ID must match the regex: `a-zA-Z0-9*` If this Membership
  3829  	// represents a Kubernetes cluster, this value should be set to the UID of the
  3830  	// `kube-system` namespace object.
  3831  	ExternalId string `json:"externalId,omitempty"`
  3832  	// Labels: Optional. Labels for this membership.
  3833  	Labels map[string]string `json:"labels,omitempty"`
  3834  	// LastConnectionTime: Output only. For clusters using Connect, the timestamp
  3835  	// of the most recent connection established with Google Cloud. This time is
  3836  	// updated every several minutes, not continuously. For clusters that do not
  3837  	// use GKE Connect, or that have never connected successfully, this field will
  3838  	// be unset.
  3839  	LastConnectionTime string `json:"lastConnectionTime,omitempty"`
  3840  	// MonitoringConfig: Optional. The monitoring config information for this
  3841  	// membership.
  3842  	MonitoringConfig *MonitoringConfig `json:"monitoringConfig,omitempty"`
  3843  	// Name: Output only. The full, unique name of this Membership resource in the
  3844  	// format `projects/*/locations/*/memberships/{membership_id}`, set during
  3845  	// creation. `membership_id` must be a valid RFC 1123 compliant DNS label: 1.
  3846  	// At most 63 characters in length 2. It must consist of lower case
  3847  	// alphanumeric characters or `-` 3. It must start and end with an alphanumeric
  3848  	// character Which can be expressed as the regex:
  3849  	// `[a-z0-9]([-a-z0-9]*[a-z0-9])?`, with a maximum length of 63 characters.
  3850  	Name string `json:"name,omitempty"`
  3851  	// State: Output only. State of the Membership resource.
  3852  	State *MembershipState `json:"state,omitempty"`
  3853  	// UniqueId: Output only. Google-generated UUID for this resource. This is
  3854  	// unique across all Membership resources. If a Membership resource is deleted
  3855  	// and another resource with the same name is created, it gets a different
  3856  	// unique_id.
  3857  	UniqueId string `json:"uniqueId,omitempty"`
  3858  	// UpdateTime: Output only. When the Membership was last updated.
  3859  	UpdateTime string `json:"updateTime,omitempty"`
  3860  
  3861  	// ServerResponse contains the HTTP response code and headers from the server.
  3862  	googleapi.ServerResponse `json:"-"`
  3863  	// ForceSendFields is a list of field names (e.g. "Authority") to
  3864  	// unconditionally include in API requests. By default, fields with empty or
  3865  	// default values are omitted from API requests. See
  3866  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3867  	// details.
  3868  	ForceSendFields []string `json:"-"`
  3869  	// NullFields is a list of field names (e.g. "Authority") to include in API
  3870  	// requests with the JSON null value. By default, fields with empty values are
  3871  	// omitted from API requests. See
  3872  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3873  	NullFields []string `json:"-"`
  3874  }
  3875  
  3876  func (s *Membership) MarshalJSON() ([]byte, error) {
  3877  	type NoMethod Membership
  3878  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3879  }
  3880  
  3881  // MembershipBinding: MembershipBinding is a subresource of a Membership,
  3882  // representing what Fleet Scopes (or other, future Fleet resources) a
  3883  // Membership is bound to.
  3884  type MembershipBinding struct {
  3885  	// CreateTime: Output only. When the membership binding was created.
  3886  	CreateTime string `json:"createTime,omitempty"`
  3887  	// DeleteTime: Output only. When the membership binding was deleted.
  3888  	DeleteTime string `json:"deleteTime,omitempty"`
  3889  	// Labels: Optional. Labels for this MembershipBinding.
  3890  	Labels map[string]string `json:"labels,omitempty"`
  3891  	// Name: The resource name for the membershipbinding itself
  3892  	// `projects/{project}/locations/{location}/memberships/{membership}/bindings/{m
  3893  	// embershipbinding}`
  3894  	Name string `json:"name,omitempty"`
  3895  	// Scope: A Scope resource name in the format
  3896  	// `projects/*/locations/*/scopes/*`.
  3897  	Scope string `json:"scope,omitempty"`
  3898  	// State: Output only. State of the membership binding resource.
  3899  	State *MembershipBindingLifecycleState `json:"state,omitempty"`
  3900  	// Uid: Output only. Google-generated UUID for this resource. This is unique
  3901  	// across all membershipbinding resources. If a membershipbinding resource is
  3902  	// deleted and another resource with the same name is created, it gets a
  3903  	// different uid.
  3904  	Uid string `json:"uid,omitempty"`
  3905  	// UpdateTime: Output only. When the membership binding was last updated.
  3906  	UpdateTime string `json:"updateTime,omitempty"`
  3907  
  3908  	// ServerResponse contains the HTTP response code and headers from the server.
  3909  	googleapi.ServerResponse `json:"-"`
  3910  	// ForceSendFields is a list of field names (e.g. "CreateTime") to
  3911  	// unconditionally include in API requests. By default, fields with empty or
  3912  	// default values are omitted from API requests. See
  3913  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3914  	// details.
  3915  	ForceSendFields []string `json:"-"`
  3916  	// NullFields is a list of field names (e.g. "CreateTime") to include in API
  3917  	// requests with the JSON null value. By default, fields with empty values are
  3918  	// omitted from API requests. See
  3919  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3920  	NullFields []string `json:"-"`
  3921  }
  3922  
  3923  func (s *MembershipBinding) MarshalJSON() ([]byte, error) {
  3924  	type NoMethod MembershipBinding
  3925  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3926  }
  3927  
  3928  // MembershipBindingLifecycleState: MembershipBindingLifecycleState describes
  3929  // the state of a Binding resource.
  3930  type MembershipBindingLifecycleState struct {
  3931  	// Code: Output only. The current state of the MembershipBinding resource.
  3932  	//
  3933  	// Possible values:
  3934  	//   "CODE_UNSPECIFIED" - The code is not set.
  3935  	//   "CREATING" - The membershipbinding is being created.
  3936  	//   "READY" - The membershipbinding active.
  3937  	//   "DELETING" - The membershipbinding is being deleted.
  3938  	//   "UPDATING" - The membershipbinding is being updated.
  3939  	Code string `json:"code,omitempty"`
  3940  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  3941  	// include in API requests. By default, fields with empty or default values are
  3942  	// omitted from API requests. See
  3943  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3944  	// details.
  3945  	ForceSendFields []string `json:"-"`
  3946  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  3947  	// with the JSON null value. By default, fields with empty values are omitted
  3948  	// from API requests. See
  3949  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3950  	NullFields []string `json:"-"`
  3951  }
  3952  
  3953  func (s *MembershipBindingLifecycleState) MarshalJSON() ([]byte, error) {
  3954  	type NoMethod MembershipBindingLifecycleState
  3955  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3956  }
  3957  
  3958  // MembershipEndpoint: MembershipEndpoint contains information needed to
  3959  // contact a Kubernetes API, endpoint and any additional Kubernetes metadata.
  3960  type MembershipEndpoint struct {
  3961  	// ApplianceCluster: Optional. Specific information for a GDC Edge Appliance
  3962  	// cluster.
  3963  	ApplianceCluster *ApplianceCluster `json:"applianceCluster,omitempty"`
  3964  	// EdgeCluster: Optional. Specific information for a Google Edge cluster.
  3965  	EdgeCluster *EdgeCluster `json:"edgeCluster,omitempty"`
  3966  	// GkeCluster: Optional. Specific information for a GKE-on-GCP cluster.
  3967  	GkeCluster *GkeCluster `json:"gkeCluster,omitempty"`
  3968  	// GoogleManaged: Output only. Whether the lifecycle of this membership is
  3969  	// managed by a google cluster platform service.
  3970  	GoogleManaged bool `json:"googleManaged,omitempty"`
  3971  	// KubernetesMetadata: Output only. Useful Kubernetes-specific metadata.
  3972  	KubernetesMetadata *KubernetesMetadata `json:"kubernetesMetadata,omitempty"`
  3973  	// KubernetesResource: Optional. The in-cluster Kubernetes Resources that
  3974  	// should be applied for a correctly registered cluster, in the steady state.
  3975  	// These resources: * Ensure that the cluster is exclusively registered to one
  3976  	// and only one Hub Membership. * Propagate Workload Pool Information available
  3977  	// in the Membership Authority field. * Ensure proper initial configuration of
  3978  	// default Hub Features.
  3979  	KubernetesResource *KubernetesResource `json:"kubernetesResource,omitempty"`
  3980  	// MultiCloudCluster: Optional. Specific information for a GKE Multi-Cloud
  3981  	// cluster.
  3982  	MultiCloudCluster *MultiCloudCluster `json:"multiCloudCluster,omitempty"`
  3983  	// OnPremCluster: Optional. Specific information for a GKE On-Prem cluster. An
  3984  	// onprem user-cluster who has no resourceLink is not allowed to use this
  3985  	// field, it should have a nil "type" instead.
  3986  	OnPremCluster *OnPremCluster `json:"onPremCluster,omitempty"`
  3987  	// ForceSendFields is a list of field names (e.g. "ApplianceCluster") to
  3988  	// unconditionally include in API requests. By default, fields with empty or
  3989  	// default values are omitted from API requests. See
  3990  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3991  	// details.
  3992  	ForceSendFields []string `json:"-"`
  3993  	// NullFields is a list of field names (e.g. "ApplianceCluster") to include in
  3994  	// API requests with the JSON null value. By default, fields with empty values
  3995  	// are omitted from API requests. See
  3996  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3997  	NullFields []string `json:"-"`
  3998  }
  3999  
  4000  func (s *MembershipEndpoint) MarshalJSON() ([]byte, error) {
  4001  	type NoMethod MembershipEndpoint
  4002  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4003  }
  4004  
  4005  // MembershipFeatureSpec: MembershipFeatureSpec contains configuration
  4006  // information for a single Membership. NOTE: Please use snake case in your
  4007  // feature name.
  4008  type MembershipFeatureSpec struct {
  4009  	// Anthosobservability: Anthos Observability-specific spec
  4010  	Anthosobservability *AnthosObservabilityMembershipSpec `json:"anthosobservability,omitempty"`
  4011  	// Cloudbuild: Cloud Build-specific spec
  4012  	Cloudbuild *MembershipSpec `json:"cloudbuild,omitempty"`
  4013  	// Configmanagement: Config Management-specific spec.
  4014  	Configmanagement *ConfigManagementMembershipSpec `json:"configmanagement,omitempty"`
  4015  	// Fleetobservability: Fleet observability membership spec
  4016  	Fleetobservability *FleetObservabilityMembershipSpec `json:"fleetobservability,omitempty"`
  4017  	// Identityservice: Identity Service-specific spec.
  4018  	Identityservice *IdentityServiceMembershipSpec `json:"identityservice,omitempty"`
  4019  	// Mesh: Anthos Service Mesh-specific spec
  4020  	Mesh *ServiceMeshMembershipSpec `json:"mesh,omitempty"`
  4021  	// Origin: Whether this per-Membership spec was inherited from a fleet-level
  4022  	// default. This field can be updated by users by either overriding a
  4023  	// Membership config (updated to USER implicitly) or setting to FLEET
  4024  	// explicitly.
  4025  	Origin *Origin `json:"origin,omitempty"`
  4026  	// Policycontroller: Policy Controller spec.
  4027  	Policycontroller *PolicyControllerMembershipSpec `json:"policycontroller,omitempty"`
  4028  	// ForceSendFields is a list of field names (e.g. "Anthosobservability") to
  4029  	// unconditionally include in API requests. By default, fields with empty or
  4030  	// default values are omitted from API requests. See
  4031  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4032  	// details.
  4033  	ForceSendFields []string `json:"-"`
  4034  	// NullFields is a list of field names (e.g. "Anthosobservability") to include
  4035  	// in API requests with the JSON null value. By default, fields with empty
  4036  	// values are omitted from API requests. See
  4037  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4038  	NullFields []string `json:"-"`
  4039  }
  4040  
  4041  func (s *MembershipFeatureSpec) MarshalJSON() ([]byte, error) {
  4042  	type NoMethod MembershipFeatureSpec
  4043  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4044  }
  4045  
  4046  // MembershipFeatureState: MembershipFeatureState contains Feature status
  4047  // information for a single Membership.
  4048  type MembershipFeatureState struct {
  4049  	// Appdevexperience: Appdevexperience specific state.
  4050  	Appdevexperience *AppDevExperienceFeatureState `json:"appdevexperience,omitempty"`
  4051  	// Clusterupgrade: ClusterUpgrade state.
  4052  	Clusterupgrade *ClusterUpgradeMembershipState `json:"clusterupgrade,omitempty"`
  4053  	// Configmanagement: Config Management-specific state.
  4054  	Configmanagement *ConfigManagementMembershipState `json:"configmanagement,omitempty"`
  4055  	// Fleetobservability: Fleet observability membership state.
  4056  	Fleetobservability *FleetObservabilityMembershipState `json:"fleetobservability,omitempty"`
  4057  	// Identityservice: Identity Service-specific state.
  4058  	Identityservice *IdentityServiceMembershipState `json:"identityservice,omitempty"`
  4059  	// Metering: Metering-specific state.
  4060  	Metering *MeteringMembershipState `json:"metering,omitempty"`
  4061  	// Policycontroller: Policycontroller-specific state.
  4062  	Policycontroller *PolicyControllerMembershipState `json:"policycontroller,omitempty"`
  4063  	// Servicemesh: Service Mesh-specific state.
  4064  	Servicemesh *ServiceMeshMembershipState `json:"servicemesh,omitempty"`
  4065  	// State: The high-level state of this Feature for a single membership.
  4066  	State *FeatureState `json:"state,omitempty"`
  4067  	// ForceSendFields is a list of field names (e.g. "Appdevexperience") to
  4068  	// unconditionally include in API requests. By default, fields with empty or
  4069  	// default values are omitted from API requests. See
  4070  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4071  	// details.
  4072  	ForceSendFields []string `json:"-"`
  4073  	// NullFields is a list of field names (e.g. "Appdevexperience") to include in
  4074  	// API requests with the JSON null value. By default, fields with empty values
  4075  	// are omitted from API requests. See
  4076  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4077  	NullFields []string `json:"-"`
  4078  }
  4079  
  4080  func (s *MembershipFeatureState) MarshalJSON() ([]byte, error) {
  4081  	type NoMethod MembershipFeatureState
  4082  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4083  }
  4084  
  4085  // MembershipSpec: **Cloud Build**: Configurations for each Cloud Build enabled
  4086  // cluster.
  4087  type MembershipSpec struct {
  4088  	// SecurityPolicy: Whether it is allowed to run the privileged builds on the
  4089  	// cluster or not.
  4090  	//
  4091  	// Possible values:
  4092  	//   "SECURITY_POLICY_UNSPECIFIED" - Unspecified policy
  4093  	//   "NON_PRIVILEGED" - Privileged build pods are disallowed
  4094  	//   "PRIVILEGED" - Privileged build pods are allowed
  4095  	SecurityPolicy string `json:"securityPolicy,omitempty"`
  4096  	// Version: Version of the cloud build software on the cluster.
  4097  	Version string `json:"version,omitempty"`
  4098  	// ForceSendFields is a list of field names (e.g. "SecurityPolicy") to
  4099  	// unconditionally include in API requests. By default, fields with empty or
  4100  	// default values are omitted from API requests. See
  4101  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4102  	// details.
  4103  	ForceSendFields []string `json:"-"`
  4104  	// NullFields is a list of field names (e.g. "SecurityPolicy") to include in
  4105  	// API requests with the JSON null value. By default, fields with empty values
  4106  	// are omitted from API requests. See
  4107  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4108  	NullFields []string `json:"-"`
  4109  }
  4110  
  4111  func (s *MembershipSpec) MarshalJSON() ([]byte, error) {
  4112  	type NoMethod MembershipSpec
  4113  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4114  }
  4115  
  4116  // MembershipState: MembershipState describes the state of a Membership
  4117  // resource.
  4118  type MembershipState struct {
  4119  	// Code: Output only. The current state of the Membership resource.
  4120  	//
  4121  	// Possible values:
  4122  	//   "CODE_UNSPECIFIED" - The code is not set.
  4123  	//   "CREATING" - The cluster is being registered.
  4124  	//   "READY" - The cluster is registered.
  4125  	//   "DELETING" - The cluster is being unregistered.
  4126  	//   "UPDATING" - The Membership is being updated.
  4127  	//   "SERVICE_UPDATING" - The Membership is being updated by the Hub Service.
  4128  	Code string `json:"code,omitempty"`
  4129  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  4130  	// include in API requests. By default, fields with empty or default values are
  4131  	// omitted from API requests. See
  4132  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4133  	// details.
  4134  	ForceSendFields []string `json:"-"`
  4135  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  4136  	// with the JSON null value. By default, fields with empty values are omitted
  4137  	// from API requests. See
  4138  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4139  	NullFields []string `json:"-"`
  4140  }
  4141  
  4142  func (s *MembershipState) MarshalJSON() ([]byte, error) {
  4143  	type NoMethod MembershipState
  4144  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4145  }
  4146  
  4147  // MeteringMembershipState: **Metering**: Per-Membership Feature State.
  4148  type MeteringMembershipState struct {
  4149  	// LastMeasurementTime: The time stamp of the most recent measurement of the
  4150  	// number of vCPUs in the cluster.
  4151  	LastMeasurementTime string `json:"lastMeasurementTime,omitempty"`
  4152  	// PreciseLastMeasuredClusterVcpuCapacity: The vCPUs capacity in the cluster
  4153  	// according to the most recent measurement (1/1000 precision).
  4154  	PreciseLastMeasuredClusterVcpuCapacity float64 `json:"preciseLastMeasuredClusterVcpuCapacity,omitempty"`
  4155  	// ForceSendFields is a list of field names (e.g. "LastMeasurementTime") to
  4156  	// unconditionally include in API requests. By default, fields with empty or
  4157  	// default values are omitted from API requests. See
  4158  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4159  	// details.
  4160  	ForceSendFields []string `json:"-"`
  4161  	// NullFields is a list of field names (e.g. "LastMeasurementTime") to include
  4162  	// in API requests with the JSON null value. By default, fields with empty
  4163  	// values are omitted from API requests. See
  4164  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4165  	NullFields []string `json:"-"`
  4166  }
  4167  
  4168  func (s *MeteringMembershipState) MarshalJSON() ([]byte, error) {
  4169  	type NoMethod MeteringMembershipState
  4170  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4171  }
  4172  
  4173  func (s *MeteringMembershipState) UnmarshalJSON(data []byte) error {
  4174  	type NoMethod MeteringMembershipState
  4175  	var s1 struct {
  4176  		PreciseLastMeasuredClusterVcpuCapacity gensupport.JSONFloat64 `json:"preciseLastMeasuredClusterVcpuCapacity"`
  4177  		*NoMethod
  4178  	}
  4179  	s1.NoMethod = (*NoMethod)(s)
  4180  	if err := json.Unmarshal(data, &s1); err != nil {
  4181  		return err
  4182  	}
  4183  	s.PreciseLastMeasuredClusterVcpuCapacity = float64(s1.PreciseLastMeasuredClusterVcpuCapacity)
  4184  	return nil
  4185  }
  4186  
  4187  // MonitoringConfig: MonitoringConfig informs Fleet-based
  4188  // applications/services/UIs how the metrics for the underlying cluster is
  4189  // reported to cloud monitoring services. It can be set from empty to
  4190  // non-empty, but can't be mutated directly to prevent accidentally breaking
  4191  // the constinousty of metrics.
  4192  type MonitoringConfig struct {
  4193  	// Cluster: Optional. Cluster name used to report metrics. For Anthos on
  4194  	// VMWare/Baremetal/MultiCloud clusters, it would be in format
  4195  	// {cluster_type}/{cluster_name}, e.g., "awsClusters/cluster_1".
  4196  	Cluster string `json:"cluster,omitempty"`
  4197  	// ClusterHash: Optional. For GKE and Multicloud clusters, this is the UUID of
  4198  	// the cluster resource. For VMWare and Baremetal clusters, this is the
  4199  	// kube-system UID.
  4200  	ClusterHash string `json:"clusterHash,omitempty"`
  4201  	// KubernetesMetricsPrefix: Optional. Kubernetes system metrics, if available,
  4202  	// are written to this prefix. This defaults to kubernetes.io for GKE, and
  4203  	// kubernetes.io/anthos for Anthos eventually. Noted: Anthos MultiCloud will
  4204  	// have kubernetes.io prefix today but will migration to be under
  4205  	// kubernetes.io/anthos.
  4206  	KubernetesMetricsPrefix string `json:"kubernetesMetricsPrefix,omitempty"`
  4207  	// Location: Optional. Location used to report Metrics
  4208  	Location string `json:"location,omitempty"`
  4209  	// ProjectId: Optional. Project used to report Metrics
  4210  	ProjectId string `json:"projectId,omitempty"`
  4211  	// ForceSendFields is a list of field names (e.g. "Cluster") to unconditionally
  4212  	// include in API requests. By default, fields with empty or default values are
  4213  	// omitted from API requests. See
  4214  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4215  	// details.
  4216  	ForceSendFields []string `json:"-"`
  4217  	// NullFields is a list of field names (e.g. "Cluster") to include in API
  4218  	// requests with the JSON null value. By default, fields with empty values are
  4219  	// omitted from API requests. See
  4220  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4221  	NullFields []string `json:"-"`
  4222  }
  4223  
  4224  func (s *MonitoringConfig) MarshalJSON() ([]byte, error) {
  4225  	type NoMethod MonitoringConfig
  4226  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4227  }
  4228  
  4229  // MultiCloudCluster: MultiCloudCluster contains information specific to GKE
  4230  // Multi-Cloud clusters.
  4231  type MultiCloudCluster struct {
  4232  	// ClusterMissing: Output only. If cluster_missing is set then it denotes that
  4233  	// API(gkemulticloud.googleapis.com) resource for this GKE Multi-Cloud cluster
  4234  	// no longer exists.
  4235  	ClusterMissing bool `json:"clusterMissing,omitempty"`
  4236  	// ResourceLink: Immutable. Self-link of the Google Cloud resource for the GKE
  4237  	// Multi-Cloud cluster. For example:
  4238  	// //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/awsCl
  4239  	// usters/my-cluster
  4240  	// //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/azure
  4241  	// Clusters/my-cluster
  4242  	// //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/attac
  4243  	// hedClusters/my-cluster
  4244  	ResourceLink string `json:"resourceLink,omitempty"`
  4245  	// ForceSendFields is a list of field names (e.g. "ClusterMissing") to
  4246  	// unconditionally include in API requests. By default, fields with empty or
  4247  	// default values are omitted from API requests. See
  4248  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4249  	// details.
  4250  	ForceSendFields []string `json:"-"`
  4251  	// NullFields is a list of field names (e.g. "ClusterMissing") to include in
  4252  	// API requests with the JSON null value. By default, fields with empty values
  4253  	// are omitted from API requests. See
  4254  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4255  	NullFields []string `json:"-"`
  4256  }
  4257  
  4258  func (s *MultiCloudCluster) MarshalJSON() ([]byte, error) {
  4259  	type NoMethod MultiCloudCluster
  4260  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4261  }
  4262  
  4263  // MultiClusterIngressFeatureSpec: **Multi-cluster Ingress**: The configuration
  4264  // for the MultiClusterIngress feature.
  4265  type MultiClusterIngressFeatureSpec struct {
  4266  	// Billing: Deprecated: This field will be ignored and should not be set.
  4267  	// Customer's billing structure.
  4268  	//
  4269  	// Possible values:
  4270  	//   "BILLING_UNSPECIFIED" - Unknown
  4271  	//   "PAY_AS_YOU_GO" - User pays a fee per-endpoint.
  4272  	//   "ANTHOS_LICENSE" - User is paying for Anthos as a whole.
  4273  	Billing string `json:"billing,omitempty"`
  4274  	// ConfigMembership: Fully-qualified Membership name which hosts the
  4275  	// MultiClusterIngress CRD. Example:
  4276  	// `projects/foo-proj/locations/global/memberships/bar`
  4277  	ConfigMembership string `json:"configMembership,omitempty"`
  4278  	// ForceSendFields is a list of field names (e.g. "Billing") to unconditionally
  4279  	// include in API requests. By default, fields with empty or default values are
  4280  	// omitted from API requests. See
  4281  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4282  	// details.
  4283  	ForceSendFields []string `json:"-"`
  4284  	// NullFields is a list of field names (e.g. "Billing") to include in API
  4285  	// requests with the JSON null value. By default, fields with empty values are
  4286  	// omitted from API requests. See
  4287  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4288  	NullFields []string `json:"-"`
  4289  }
  4290  
  4291  func (s *MultiClusterIngressFeatureSpec) MarshalJSON() ([]byte, error) {
  4292  	type NoMethod MultiClusterIngressFeatureSpec
  4293  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4294  }
  4295  
  4296  // Namespace: Namespace represents a namespace across the Fleet
  4297  type Namespace struct {
  4298  	// CreateTime: Output only. When the namespace was created.
  4299  	CreateTime string `json:"createTime,omitempty"`
  4300  	// DeleteTime: Output only. When the namespace was deleted.
  4301  	DeleteTime string `json:"deleteTime,omitempty"`
  4302  	// Labels: Optional. Labels for this Namespace.
  4303  	Labels map[string]string `json:"labels,omitempty"`
  4304  	// Name: The resource name for the namespace
  4305  	// `projects/{project}/locations/{location}/namespaces/{namespace}`
  4306  	Name string `json:"name,omitempty"`
  4307  	// NamespaceLabels: Optional. Namespace-level cluster namespace labels. These
  4308  	// labels are applied to the related namespace of the member clusters bound to
  4309  	// the parent Scope. Scope-level labels (`namespace_labels` in the Fleet Scope
  4310  	// resource) take precedence over Namespace-level labels if they share a key.
  4311  	// Keys and values must be Kubernetes-conformant.
  4312  	NamespaceLabels map[string]string `json:"namespaceLabels,omitempty"`
  4313  	// Scope: Required. Scope associated with the namespace
  4314  	Scope string `json:"scope,omitempty"`
  4315  	// State: Output only. State of the namespace resource.
  4316  	State *NamespaceLifecycleState `json:"state,omitempty"`
  4317  	// Uid: Output only. Google-generated UUID for this resource. This is unique
  4318  	// across all namespace resources. If a namespace resource is deleted and
  4319  	// another resource with the same name is created, it gets a different uid.
  4320  	Uid string `json:"uid,omitempty"`
  4321  	// UpdateTime: Output only. When the namespace was last updated.
  4322  	UpdateTime string `json:"updateTime,omitempty"`
  4323  
  4324  	// ServerResponse contains the HTTP response code and headers from the server.
  4325  	googleapi.ServerResponse `json:"-"`
  4326  	// ForceSendFields is a list of field names (e.g. "CreateTime") to
  4327  	// unconditionally include in API requests. By default, fields with empty or
  4328  	// default values are omitted from API requests. See
  4329  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4330  	// details.
  4331  	ForceSendFields []string `json:"-"`
  4332  	// NullFields is a list of field names (e.g. "CreateTime") to include in API
  4333  	// requests with the JSON null value. By default, fields with empty values are
  4334  	// omitted from API requests. See
  4335  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4336  	NullFields []string `json:"-"`
  4337  }
  4338  
  4339  func (s *Namespace) MarshalJSON() ([]byte, error) {
  4340  	type NoMethod Namespace
  4341  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4342  }
  4343  
  4344  // NamespaceLifecycleState: NamespaceLifecycleState describes the state of a
  4345  // Namespace resource.
  4346  type NamespaceLifecycleState struct {
  4347  	// Code: Output only. The current state of the Namespace resource.
  4348  	//
  4349  	// Possible values:
  4350  	//   "CODE_UNSPECIFIED" - The code is not set.
  4351  	//   "CREATING" - The namespace is being created.
  4352  	//   "READY" - The namespace active.
  4353  	//   "DELETING" - The namespace is being deleted.
  4354  	//   "UPDATING" - The namespace is being updated.
  4355  	Code string `json:"code,omitempty"`
  4356  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  4357  	// include in API requests. By default, fields with empty or default values are
  4358  	// omitted from API requests. See
  4359  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4360  	// details.
  4361  	ForceSendFields []string `json:"-"`
  4362  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  4363  	// with the JSON null value. By default, fields with empty values are omitted
  4364  	// from API requests. See
  4365  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4366  	NullFields []string `json:"-"`
  4367  }
  4368  
  4369  func (s *NamespaceLifecycleState) MarshalJSON() ([]byte, error) {
  4370  	type NoMethod NamespaceLifecycleState
  4371  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4372  }
  4373  
  4374  // OnPremCluster: OnPremCluster contains information specific to GKE On-Prem
  4375  // clusters.
  4376  type OnPremCluster struct {
  4377  	// AdminCluster: Immutable. Whether the cluster is an admin cluster.
  4378  	AdminCluster bool `json:"adminCluster,omitempty"`
  4379  	// ClusterMissing: Output only. If cluster_missing is set then it denotes that
  4380  	// API(gkeonprem.googleapis.com) resource for this GKE On-Prem cluster no
  4381  	// longer exists.
  4382  	ClusterMissing bool `json:"clusterMissing,omitempty"`
  4383  	// ClusterType: Immutable. The on prem cluster's type.
  4384  	//
  4385  	// Possible values:
  4386  	//   "CLUSTERTYPE_UNSPECIFIED" - The ClusterType is not set.
  4387  	//   "BOOTSTRAP" - The ClusterType is bootstrap cluster.
  4388  	//   "HYBRID" - The ClusterType is baremetal hybrid cluster.
  4389  	//   "STANDALONE" - The ClusterType is baremetal standalone cluster.
  4390  	//   "USER" - The ClusterType is user cluster.
  4391  	ClusterType string `json:"clusterType,omitempty"`
  4392  	// ResourceLink: Immutable. Self-link of the Google Cloud resource for the GKE
  4393  	// On-Prem cluster. For example:
  4394  	// //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/vmwareClu
  4395  	// sters/my-cluster
  4396  	// //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/bareMetal
  4397  	// Clusters/my-cluster
  4398  	ResourceLink string `json:"resourceLink,omitempty"`
  4399  	// ForceSendFields is a list of field names (e.g. "AdminCluster") to
  4400  	// unconditionally include in API requests. By default, fields with empty or
  4401  	// default values are omitted from API requests. See
  4402  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4403  	// details.
  4404  	ForceSendFields []string `json:"-"`
  4405  	// NullFields is a list of field names (e.g. "AdminCluster") to include in API
  4406  	// requests with the JSON null value. By default, fields with empty values are
  4407  	// omitted from API requests. See
  4408  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4409  	NullFields []string `json:"-"`
  4410  }
  4411  
  4412  func (s *OnPremCluster) MarshalJSON() ([]byte, error) {
  4413  	type NoMethod OnPremCluster
  4414  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4415  }
  4416  
  4417  // Operation: This resource represents a long-running operation that is the
  4418  // result of a network API call.
  4419  type Operation struct {
  4420  	// Done: If the value is `false`, it means the operation is still in progress.
  4421  	// If `true`, the operation is completed, and either `error` or `response` is
  4422  	// available.
  4423  	Done bool `json:"done,omitempty"`
  4424  	// Error: The error result of the operation in case of failure or cancellation.
  4425  	Error *GoogleRpcStatus `json:"error,omitempty"`
  4426  	// Metadata: Service-specific metadata associated with the operation. It
  4427  	// typically contains progress information and common metadata such as create
  4428  	// time. Some services might not provide such metadata. Any method that returns
  4429  	// a long-running operation should document the metadata type, if any.
  4430  	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
  4431  	// Name: The server-assigned name, which is only unique within the same service
  4432  	// that originally returns it. If you use the default HTTP mapping, the `name`
  4433  	// should be a resource name ending with `operations/{unique_id}`.
  4434  	Name string `json:"name,omitempty"`
  4435  	// Response: The normal, successful response of the operation. If the original
  4436  	// method returns no data on success, such as `Delete`, the response is
  4437  	// `google.protobuf.Empty`. If the original method is standard
  4438  	// `Get`/`Create`/`Update`, the response should be the resource. For other
  4439  	// methods, the response should have the type `XxxResponse`, where `Xxx` is the
  4440  	// original method name. For example, if the original method name is
  4441  	// `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
  4442  	Response googleapi.RawMessage `json:"response,omitempty"`
  4443  
  4444  	// ServerResponse contains the HTTP response code and headers from the server.
  4445  	googleapi.ServerResponse `json:"-"`
  4446  	// ForceSendFields is a list of field names (e.g. "Done") to unconditionally
  4447  	// include in API requests. By default, fields with empty or default values are
  4448  	// omitted from API requests. See
  4449  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4450  	// details.
  4451  	ForceSendFields []string `json:"-"`
  4452  	// NullFields is a list of field names (e.g. "Done") to include in API requests
  4453  	// with the JSON null value. By default, fields with empty values are omitted
  4454  	// from API requests. See
  4455  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4456  	NullFields []string `json:"-"`
  4457  }
  4458  
  4459  func (s *Operation) MarshalJSON() ([]byte, error) {
  4460  	type NoMethod Operation
  4461  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4462  }
  4463  
  4464  // OperationMetadata: Represents the metadata of the long-running operation.
  4465  type OperationMetadata struct {
  4466  	// ApiVersion: Output only. API version used to start the operation.
  4467  	ApiVersion string `json:"apiVersion,omitempty"`
  4468  	// CancelRequested: Output only. Identifies whether the user has requested
  4469  	// cancellation of the operation. Operations that have successfully been
  4470  	// cancelled have Operation.error value with a google.rpc.Status.code of 1,
  4471  	// corresponding to `Code.CANCELLED`.
  4472  	CancelRequested bool `json:"cancelRequested,omitempty"`
  4473  	// CreateTime: Output only. The time the operation was created.
  4474  	CreateTime string `json:"createTime,omitempty"`
  4475  	// EndTime: Output only. The time the operation finished running.
  4476  	EndTime string `json:"endTime,omitempty"`
  4477  	// StatusDetail: Output only. Human-readable status of the operation, if any.
  4478  	StatusDetail string `json:"statusDetail,omitempty"`
  4479  	// Target: Output only. Server-defined resource path for the target of the
  4480  	// operation.
  4481  	Target string `json:"target,omitempty"`
  4482  	// Verb: Output only. Name of the verb executed by the operation.
  4483  	Verb string `json:"verb,omitempty"`
  4484  	// ForceSendFields is a list of field names (e.g. "ApiVersion") to
  4485  	// unconditionally include in API requests. By default, fields with empty or
  4486  	// default values are omitted from API requests. See
  4487  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4488  	// details.
  4489  	ForceSendFields []string `json:"-"`
  4490  	// NullFields is a list of field names (e.g. "ApiVersion") to include in API
  4491  	// requests with the JSON null value. By default, fields with empty values are
  4492  	// omitted from API requests. See
  4493  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4494  	NullFields []string `json:"-"`
  4495  }
  4496  
  4497  func (s *OperationMetadata) MarshalJSON() ([]byte, error) {
  4498  	type NoMethod OperationMetadata
  4499  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4500  }
  4501  
  4502  // Origin: Origin defines where this MembershipFeatureSpec originated from.
  4503  type Origin struct {
  4504  	// Type: Type specifies which type of origin is set.
  4505  	//
  4506  	// Possible values:
  4507  	//   "TYPE_UNSPECIFIED" - Type is unknown or not set.
  4508  	//   "FLEET" - Per-Membership spec was inherited from the fleet-level default.
  4509  	//   "FLEET_OUT_OF_SYNC" - Per-Membership spec was inherited from the
  4510  	// fleet-level default but is now out of sync with the current default.
  4511  	//   "USER" - Per-Membership spec was inherited from a user specification.
  4512  	Type string `json:"type,omitempty"`
  4513  	// ForceSendFields is a list of field names (e.g. "Type") to unconditionally
  4514  	// include in API requests. By default, fields with empty or default values are
  4515  	// omitted from API requests. See
  4516  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4517  	// details.
  4518  	ForceSendFields []string `json:"-"`
  4519  	// NullFields is a list of field names (e.g. "Type") to include in API requests
  4520  	// with the JSON null value. By default, fields with empty values are omitted
  4521  	// from API requests. See
  4522  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4523  	NullFields []string `json:"-"`
  4524  }
  4525  
  4526  func (s *Origin) MarshalJSON() ([]byte, error) {
  4527  	type NoMethod Origin
  4528  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4529  }
  4530  
  4531  // Policy: An Identity and Access Management (IAM) policy, which specifies
  4532  // access controls for Google Cloud resources. A `Policy` is a collection of
  4533  // `bindings`. A `binding` binds one or more `members`, or principals, to a
  4534  // single `role`. Principals can be user accounts, service accounts, Google
  4535  // groups, and domains (such as G Suite). A `role` is a named list of
  4536  // permissions; each `role` can be an IAM predefined role or a user-created
  4537  // custom role. For some types of Google Cloud resources, a `binding` can also
  4538  // specify a `condition`, which is a logical expression that allows access to a
  4539  // resource only if the expression evaluates to `true`. A condition can add
  4540  // constraints based on attributes of the request, the resource, or both. To
  4541  // learn which resources support conditions in their IAM policies, see the IAM
  4542  // documentation
  4543  // (https://cloud.google.com/iam/help/conditions/resource-policies). **JSON
  4544  // example:** ``` { "bindings": [ { "role":
  4545  // "roles/resourcemanager.organizationAdmin", "members": [
  4546  // "user:mike@example.com", "group:admins@example.com", "domain:google.com",
  4547  // "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role":
  4548  // "roles/resourcemanager.organizationViewer", "members": [
  4549  // "user:eve@example.com" ], "condition": { "title": "expirable access",
  4550  // "description": "Does not grant access after Sep 2020", "expression":
  4551  // "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag":
  4552  // "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` bindings: -
  4553  // members: - user:mike@example.com - group:admins@example.com -
  4554  // domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
  4555  // role: roles/resourcemanager.organizationAdmin - members: -
  4556  // user:eve@example.com role: roles/resourcemanager.organizationViewer
  4557  // condition: title: expirable access description: Does not grant access after
  4558  // Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
  4559  // etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features,
  4560  // see the IAM documentation (https://cloud.google.com/iam/docs/).
  4561  type Policy struct {
  4562  	// AuditConfigs: Specifies cloud audit logging configuration for this policy.
  4563  	AuditConfigs []*AuditConfig `json:"auditConfigs,omitempty"`
  4564  	// Bindings: Associates a list of `members`, or principals, with a `role`.
  4565  	// Optionally, may specify a `condition` that determines how and when the
  4566  	// `bindings` are applied. Each of the `bindings` must contain at least one
  4567  	// principal. The `bindings` in a `Policy` can refer to up to 1,500 principals;
  4568  	// up to 250 of these principals can be Google groups. Each occurrence of a
  4569  	// principal counts towards these limits. For example, if the `bindings` grant
  4570  	// 50 different roles to `user:alice@example.com`, and not to any other
  4571  	// principal, then you can add another 1,450 principals to the `bindings` in
  4572  	// the `Policy`.
  4573  	Bindings []*Binding `json:"bindings,omitempty"`
  4574  	// Etag: `etag` is used for optimistic concurrency control as a way to help
  4575  	// prevent simultaneous updates of a policy from overwriting each other. It is
  4576  	// strongly suggested that systems make use of the `etag` in the
  4577  	// read-modify-write cycle to perform policy updates in order to avoid race
  4578  	// conditions: An `etag` is returned in the response to `getIamPolicy`, and
  4579  	// systems are expected to put that etag in the request to `setIamPolicy` to
  4580  	// ensure that their change will be applied to the same version of the policy.
  4581  	// **Important:** If you use IAM Conditions, you must include the `etag` field
  4582  	// whenever you call `setIamPolicy`. If you omit this field, then IAM allows
  4583  	// you to overwrite a version `3` policy with a version `1` policy, and all of
  4584  	// the conditions in the version `3` policy are lost.
  4585  	Etag string `json:"etag,omitempty"`
  4586  	// Version: Specifies the format of the policy. Valid values are `0`, `1`, and
  4587  	// `3`. Requests that specify an invalid value are rejected. Any operation that
  4588  	// affects conditional role bindings must specify version `3`. This requirement
  4589  	// applies to the following operations: * Getting a policy that includes a
  4590  	// conditional role binding * Adding a conditional role binding to a policy *
  4591  	// Changing a conditional role binding in a policy * Removing any role binding,
  4592  	// with or without a condition, from a policy that includes conditions
  4593  	// **Important:** If you use IAM Conditions, you must include the `etag` field
  4594  	// whenever you call `setIamPolicy`. If you omit this field, then IAM allows
  4595  	// you to overwrite a version `3` policy with a version `1` policy, and all of
  4596  	// the conditions in the version `3` policy are lost. If a policy does not
  4597  	// include any conditions, operations on that policy may specify any valid
  4598  	// version or leave the field unset. To learn which resources support
  4599  	// conditions in their IAM policies, see the IAM documentation
  4600  	// (https://cloud.google.com/iam/help/conditions/resource-policies).
  4601  	Version int64 `json:"version,omitempty"`
  4602  
  4603  	// ServerResponse contains the HTTP response code and headers from the server.
  4604  	googleapi.ServerResponse `json:"-"`
  4605  	// ForceSendFields is a list of field names (e.g. "AuditConfigs") to
  4606  	// unconditionally include in API requests. By default, fields with empty or
  4607  	// default values are omitted from API requests. See
  4608  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4609  	// details.
  4610  	ForceSendFields []string `json:"-"`
  4611  	// NullFields is a list of field names (e.g. "AuditConfigs") to include in API
  4612  	// requests with the JSON null value. By default, fields with empty values are
  4613  	// omitted from API requests. See
  4614  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4615  	NullFields []string `json:"-"`
  4616  }
  4617  
  4618  func (s *Policy) MarshalJSON() ([]byte, error) {
  4619  	type NoMethod Policy
  4620  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4621  }
  4622  
  4623  // PolicyBinding: Binauthz policy that applies to this cluster.
  4624  type PolicyBinding struct {
  4625  	// Name: The relative resource name of the binauthz platform policy to audit.
  4626  	// GKE platform policies have the following format:
  4627  	// `projects/{project_number}/platforms/gke/policies/{policy_id}`.
  4628  	Name string `json:"name,omitempty"`
  4629  	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
  4630  	// include in API requests. By default, fields with empty or default values are
  4631  	// omitted from API requests. See
  4632  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4633  	// details.
  4634  	ForceSendFields []string `json:"-"`
  4635  	// NullFields is a list of field names (e.g. "Name") to include in API requests
  4636  	// with the JSON null value. By default, fields with empty values are omitted
  4637  	// from API requests. See
  4638  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4639  	NullFields []string `json:"-"`
  4640  }
  4641  
  4642  func (s *PolicyBinding) MarshalJSON() ([]byte, error) {
  4643  	type NoMethod PolicyBinding
  4644  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4645  }
  4646  
  4647  // PolicyControllerBundleInstallSpec: BundleInstallSpec is the specification
  4648  // configuration for a single managed bundle.
  4649  type PolicyControllerBundleInstallSpec struct {
  4650  	// ExemptedNamespaces: The set of namespaces to be exempted from the bundle.
  4651  	ExemptedNamespaces []string `json:"exemptedNamespaces,omitempty"`
  4652  	// ForceSendFields is a list of field names (e.g. "ExemptedNamespaces") to
  4653  	// unconditionally include in API requests. By default, fields with empty or
  4654  	// default values are omitted from API requests. See
  4655  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4656  	// details.
  4657  	ForceSendFields []string `json:"-"`
  4658  	// NullFields is a list of field names (e.g. "ExemptedNamespaces") to include
  4659  	// in API requests with the JSON null value. By default, fields with empty
  4660  	// values are omitted from API requests. See
  4661  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4662  	NullFields []string `json:"-"`
  4663  }
  4664  
  4665  func (s *PolicyControllerBundleInstallSpec) MarshalJSON() ([]byte, error) {
  4666  	type NoMethod PolicyControllerBundleInstallSpec
  4667  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4668  }
  4669  
  4670  // PolicyControllerHubConfig: Configuration for Policy Controller
  4671  type PolicyControllerHubConfig struct {
  4672  	// AuditIntervalSeconds: Sets the interval for Policy Controller Audit Scans
  4673  	// (in seconds). When set to 0, this disables audit functionality altogether.
  4674  	AuditIntervalSeconds int64 `json:"auditIntervalSeconds,omitempty,string"`
  4675  	// ConstraintViolationLimit: The maximum number of audit violations to be
  4676  	// stored in a constraint. If not set, the internal default (currently 20) will
  4677  	// be used.
  4678  	ConstraintViolationLimit int64 `json:"constraintViolationLimit,omitempty,string"`
  4679  	// DeploymentConfigs: Map of deployment configs to deployments ("admission",
  4680  	// "audit", "mutation').
  4681  	DeploymentConfigs map[string]PolicyControllerPolicyControllerDeploymentConfig `json:"deploymentConfigs,omitempty"`
  4682  	// ExemptableNamespaces: The set of namespaces that are excluded from Policy
  4683  	// Controller checks. Namespaces do not need to currently exist on the cluster.
  4684  	ExemptableNamespaces []string `json:"exemptableNamespaces,omitempty"`
  4685  	// InstallSpec: The install_spec represents the intended state specified by the
  4686  	// latest request that mutated install_spec in the feature spec, not the
  4687  	// lifecycle state of the feature observed by the Hub feature controller that
  4688  	// is reported in the feature state.
  4689  	//
  4690  	// Possible values:
  4691  	//   "INSTALL_SPEC_UNSPECIFIED" - Spec is unknown.
  4692  	//   "INSTALL_SPEC_NOT_INSTALLED" - Request to uninstall Policy Controller.
  4693  	//   "INSTALL_SPEC_ENABLED" - Request to install and enable Policy Controller.
  4694  	//   "INSTALL_SPEC_SUSPENDED" - Request to suspend Policy Controller i.e. its
  4695  	// webhooks. If Policy Controller is not installed, it will be installed but
  4696  	// suspended.
  4697  	//   "INSTALL_SPEC_DETACHED" - Request to stop all reconciliation actions by
  4698  	// PoCo Hub controller. This is a breakglass mechanism to stop PoCo Hub from
  4699  	// affecting cluster resources.
  4700  	InstallSpec string `json:"installSpec,omitempty"`
  4701  	// LogDeniesEnabled: Logs all denies and dry run failures.
  4702  	LogDeniesEnabled bool `json:"logDeniesEnabled,omitempty"`
  4703  	// Monitoring: Monitoring specifies the configuration of monitoring.
  4704  	Monitoring *PolicyControllerMonitoringConfig `json:"monitoring,omitempty"`
  4705  	// MutationEnabled: Enables the ability to mutate resources using Policy
  4706  	// Controller.
  4707  	MutationEnabled bool `json:"mutationEnabled,omitempty"`
  4708  	// PolicyContent: Specifies the desired policy content on the cluster
  4709  	PolicyContent *PolicyControllerPolicyContentSpec `json:"policyContent,omitempty"`
  4710  	// ReferentialRulesEnabled: Enables the ability to use Constraint Templates
  4711  	// that reference to objects other than the object currently being evaluated.
  4712  	ReferentialRulesEnabled bool `json:"referentialRulesEnabled,omitempty"`
  4713  	// ForceSendFields is a list of field names (e.g. "AuditIntervalSeconds") to
  4714  	// unconditionally include in API requests. By default, fields with empty or
  4715  	// default values are omitted from API requests. See
  4716  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4717  	// details.
  4718  	ForceSendFields []string `json:"-"`
  4719  	// NullFields is a list of field names (e.g. "AuditIntervalSeconds") to include
  4720  	// in API requests with the JSON null value. By default, fields with empty
  4721  	// values are omitted from API requests. See
  4722  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4723  	NullFields []string `json:"-"`
  4724  }
  4725  
  4726  func (s *PolicyControllerHubConfig) MarshalJSON() ([]byte, error) {
  4727  	type NoMethod PolicyControllerHubConfig
  4728  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4729  }
  4730  
  4731  // PolicyControllerMembershipSpec: **Policy Controller**: Configuration for a
  4732  // single cluster. Intended to parallel the PolicyController CR.
  4733  type PolicyControllerMembershipSpec struct {
  4734  	// PolicyControllerHubConfig: Policy Controller configuration for the cluster.
  4735  	PolicyControllerHubConfig *PolicyControllerHubConfig `json:"policyControllerHubConfig,omitempty"`
  4736  	// Version: Version of Policy Controller installed.
  4737  	Version string `json:"version,omitempty"`
  4738  	// ForceSendFields is a list of field names (e.g. "PolicyControllerHubConfig")
  4739  	// to unconditionally include in API requests. By default, fields with empty or
  4740  	// default values are omitted from API requests. See
  4741  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4742  	// details.
  4743  	ForceSendFields []string `json:"-"`
  4744  	// NullFields is a list of field names (e.g. "PolicyControllerHubConfig") to
  4745  	// include in API requests with the JSON null value. By default, fields with
  4746  	// empty values are omitted from API requests. See
  4747  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4748  	NullFields []string `json:"-"`
  4749  }
  4750  
  4751  func (s *PolicyControllerMembershipSpec) MarshalJSON() ([]byte, error) {
  4752  	type NoMethod PolicyControllerMembershipSpec
  4753  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4754  }
  4755  
  4756  // PolicyControllerMembershipState: **Policy Controller**: State for a single
  4757  // cluster.
  4758  type PolicyControllerMembershipState struct {
  4759  	// ComponentStates: Currently these include (also serving as map keys): 1.
  4760  	// "admission" 2. "audit" 3. "mutation"
  4761  	ComponentStates map[string]PolicyControllerOnClusterState `json:"componentStates,omitempty"`
  4762  	// PolicyContentState: The overall content state observed by the Hub Feature
  4763  	// controller.
  4764  	PolicyContentState *PolicyControllerPolicyContentState `json:"policyContentState,omitempty"`
  4765  	// State: The overall Policy Controller lifecycle state observed by the Hub
  4766  	// Feature controller.
  4767  	//
  4768  	// Possible values:
  4769  	//   "LIFECYCLE_STATE_UNSPECIFIED" - The lifecycle state is unspecified.
  4770  	//   "NOT_INSTALLED" - The PC does not exist on the given cluster, and no k8s
  4771  	// resources of any type that are associated with the PC should exist there.
  4772  	// The cluster does not possess a membership with the PCH.
  4773  	//   "INSTALLING" - The PCH possesses a Membership, however the PC is not fully
  4774  	// installed on the cluster. In this state the hub can be expected to be taking
  4775  	// actions to install the PC on the cluster.
  4776  	//   "ACTIVE" - The PC is fully installed on the cluster and in an operational
  4777  	// mode. In this state PCH will be reconciling state with the PC, and the PC
  4778  	// will be performing it's operational tasks per that software. Entering a
  4779  	// READY state requires that the hub has confirmed the PC is installed and its
  4780  	// pods are operational with the version of the PC the PCH expects.
  4781  	//   "UPDATING" - The PC is fully installed, but in the process of changing the
  4782  	// configuration (including changing the version of PC either up and down, or
  4783  	// modifying the manifests of PC) of the resources running on the cluster. The
  4784  	// PCH has a Membership, is aware of the version the cluster should be running
  4785  	// in, but has not confirmed for itself that the PC is running with that
  4786  	// version.
  4787  	//   "DECOMMISSIONING" - The PC may have resources on the cluster, but the PCH
  4788  	// wishes to remove the Membership. The Membership still exists.
  4789  	//   "CLUSTER_ERROR" - The PC is not operational, and the PCH is unable to act
  4790  	// to make it operational. Entering a CLUSTER_ERROR state happens automatically
  4791  	// when the PCH determines that a PC installed on the cluster is non-operative
  4792  	// or that the cluster does not meet requirements set for the PCH to administer
  4793  	// the cluster but has nevertheless been given an instruction to do so (such as
  4794  	// 'install').
  4795  	//   "HUB_ERROR" - In this state, the PC may still be operational, and only the
  4796  	// PCH is unable to act. The hub should not issue instructions to change the PC
  4797  	// state, or otherwise interfere with the on-cluster resources. Entering a
  4798  	// HUB_ERROR state happens automatically when the PCH determines the hub is in
  4799  	// an unhealthy state and it wishes to 'take hands off' to avoid corrupting the
  4800  	// PC or other data.
  4801  	//   "SUSPENDED" - Policy Controller (PC) is installed but suspended. This
  4802  	// means that the policies are not enforced, but violations are still recorded
  4803  	// (through audit).
  4804  	//   "DETACHED" - PoCo Hub is not taking any action to reconcile cluster
  4805  	// objects. Changes to those objects will not be overwritten by PoCo Hub.
  4806  	State string `json:"state,omitempty"`
  4807  	// ForceSendFields is a list of field names (e.g. "ComponentStates") to
  4808  	// unconditionally include in API requests. By default, fields with empty or
  4809  	// default values are omitted from API requests. See
  4810  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4811  	// details.
  4812  	ForceSendFields []string `json:"-"`
  4813  	// NullFields is a list of field names (e.g. "ComponentStates") to include in
  4814  	// API requests with the JSON null value. By default, fields with empty values
  4815  	// are omitted from API requests. See
  4816  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4817  	NullFields []string `json:"-"`
  4818  }
  4819  
  4820  func (s *PolicyControllerMembershipState) MarshalJSON() ([]byte, error) {
  4821  	type NoMethod PolicyControllerMembershipState
  4822  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4823  }
  4824  
  4825  // PolicyControllerMonitoringConfig: MonitoringConfig specifies the backends
  4826  // Policy Controller should export metrics to. For example, to specify metrics
  4827  // should be exported to Cloud Monitoring and Prometheus, specify backends:
  4828  // ["cloudmonitoring", "prometheus"]
  4829  type PolicyControllerMonitoringConfig struct {
  4830  	// Backends: Specifies the list of backends Policy Controller will export to.
  4831  	// An empty list would effectively disable metrics export.
  4832  	//
  4833  	// Possible values:
  4834  	//   "MONITORING_BACKEND_UNSPECIFIED" - Backend cannot be determined
  4835  	//   "PROMETHEUS" - Prometheus backend for monitoring
  4836  	//   "CLOUD_MONITORING" - Stackdriver/Cloud Monitoring backend for monitoring
  4837  	Backends []string `json:"backends,omitempty"`
  4838  	// ForceSendFields is a list of field names (e.g. "Backends") to
  4839  	// unconditionally include in API requests. By default, fields with empty or
  4840  	// default values are omitted from API requests. See
  4841  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4842  	// details.
  4843  	ForceSendFields []string `json:"-"`
  4844  	// NullFields is a list of field names (e.g. "Backends") to include in API
  4845  	// requests with the JSON null value. By default, fields with empty values are
  4846  	// omitted from API requests. See
  4847  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4848  	NullFields []string `json:"-"`
  4849  }
  4850  
  4851  func (s *PolicyControllerMonitoringConfig) MarshalJSON() ([]byte, error) {
  4852  	type NoMethod PolicyControllerMonitoringConfig
  4853  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4854  }
  4855  
  4856  // PolicyControllerOnClusterState: OnClusterState represents the state of a
  4857  // sub-component of Policy Controller.
  4858  type PolicyControllerOnClusterState struct {
  4859  	// Details: Surface potential errors or information logs.
  4860  	Details string `json:"details,omitempty"`
  4861  	// State: The lifecycle state of this component.
  4862  	//
  4863  	// Possible values:
  4864  	//   "LIFECYCLE_STATE_UNSPECIFIED" - The lifecycle state is unspecified.
  4865  	//   "NOT_INSTALLED" - The PC does not exist on the given cluster, and no k8s
  4866  	// resources of any type that are associated with the PC should exist there.
  4867  	// The cluster does not possess a membership with the PCH.
  4868  	//   "INSTALLING" - The PCH possesses a Membership, however the PC is not fully
  4869  	// installed on the cluster. In this state the hub can be expected to be taking
  4870  	// actions to install the PC on the cluster.
  4871  	//   "ACTIVE" - The PC is fully installed on the cluster and in an operational
  4872  	// mode. In this state PCH will be reconciling state with the PC, and the PC
  4873  	// will be performing it's operational tasks per that software. Entering a
  4874  	// READY state requires that the hub has confirmed the PC is installed and its
  4875  	// pods are operational with the version of the PC the PCH expects.
  4876  	//   "UPDATING" - The PC is fully installed, but in the process of changing the
  4877  	// configuration (including changing the version of PC either up and down, or
  4878  	// modifying the manifests of PC) of the resources running on the cluster. The
  4879  	// PCH has a Membership, is aware of the version the cluster should be running
  4880  	// in, but has not confirmed for itself that the PC is running with that
  4881  	// version.
  4882  	//   "DECOMMISSIONING" - The PC may have resources on the cluster, but the PCH
  4883  	// wishes to remove the Membership. The Membership still exists.
  4884  	//   "CLUSTER_ERROR" - The PC is not operational, and the PCH is unable to act
  4885  	// to make it operational. Entering a CLUSTER_ERROR state happens automatically
  4886  	// when the PCH determines that a PC installed on the cluster is non-operative
  4887  	// or that the cluster does not meet requirements set for the PCH to administer
  4888  	// the cluster but has nevertheless been given an instruction to do so (such as
  4889  	// 'install').
  4890  	//   "HUB_ERROR" - In this state, the PC may still be operational, and only the
  4891  	// PCH is unable to act. The hub should not issue instructions to change the PC
  4892  	// state, or otherwise interfere with the on-cluster resources. Entering a
  4893  	// HUB_ERROR state happens automatically when the PCH determines the hub is in
  4894  	// an unhealthy state and it wishes to 'take hands off' to avoid corrupting the
  4895  	// PC or other data.
  4896  	//   "SUSPENDED" - Policy Controller (PC) is installed but suspended. This
  4897  	// means that the policies are not enforced, but violations are still recorded
  4898  	// (through audit).
  4899  	//   "DETACHED" - PoCo Hub is not taking any action to reconcile cluster
  4900  	// objects. Changes to those objects will not be overwritten by PoCo Hub.
  4901  	State string `json:"state,omitempty"`
  4902  	// ForceSendFields is a list of field names (e.g. "Details") to unconditionally
  4903  	// include in API requests. By default, fields with empty or default values are
  4904  	// omitted from API requests. See
  4905  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4906  	// details.
  4907  	ForceSendFields []string `json:"-"`
  4908  	// NullFields is a list of field names (e.g. "Details") to include in API
  4909  	// requests with the JSON null value. By default, fields with empty values are
  4910  	// omitted from API requests. See
  4911  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4912  	NullFields []string `json:"-"`
  4913  }
  4914  
  4915  func (s *PolicyControllerOnClusterState) MarshalJSON() ([]byte, error) {
  4916  	type NoMethod PolicyControllerOnClusterState
  4917  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4918  }
  4919  
  4920  // PolicyControllerPolicyContentSpec: PolicyContentSpec defines the user's
  4921  // desired content configuration on the cluster.
  4922  type PolicyControllerPolicyContentSpec struct {
  4923  	// Bundles: map of bundle name to BundleInstallSpec. The bundle name maps to
  4924  	// the `bundleName` key in the `policycontroller.gke.io/constraintData`
  4925  	// annotation on a constraint.
  4926  	Bundles map[string]PolicyControllerBundleInstallSpec `json:"bundles,omitempty"`
  4927  	// TemplateLibrary: Configures the installation of the Template Library.
  4928  	TemplateLibrary *PolicyControllerTemplateLibraryConfig `json:"templateLibrary,omitempty"`
  4929  	// ForceSendFields is a list of field names (e.g. "Bundles") to unconditionally
  4930  	// include in API requests. By default, fields with empty or default values are
  4931  	// omitted from API requests. See
  4932  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4933  	// details.
  4934  	ForceSendFields []string `json:"-"`
  4935  	// NullFields is a list of field names (e.g. "Bundles") to include in API
  4936  	// requests with the JSON null value. By default, fields with empty values are
  4937  	// omitted from API requests. See
  4938  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4939  	NullFields []string `json:"-"`
  4940  }
  4941  
  4942  func (s *PolicyControllerPolicyContentSpec) MarshalJSON() ([]byte, error) {
  4943  	type NoMethod PolicyControllerPolicyContentSpec
  4944  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4945  }
  4946  
  4947  // PolicyControllerPolicyContentState: The state of the policy controller
  4948  // policy content
  4949  type PolicyControllerPolicyContentState struct {
  4950  	// BundleStates: The state of the any bundles included in the chosen version of
  4951  	// the manifest
  4952  	BundleStates map[string]PolicyControllerOnClusterState `json:"bundleStates,omitempty"`
  4953  	// ReferentialSyncConfigState: The state of the referential data sync
  4954  	// configuration. This could represent the state of either the syncSet
  4955  	// object(s) or the config object, depending on the version of PoCo configured
  4956  	// by the user.
  4957  	ReferentialSyncConfigState *PolicyControllerOnClusterState `json:"referentialSyncConfigState,omitempty"`
  4958  	// TemplateLibraryState: The state of the template library
  4959  	TemplateLibraryState *PolicyControllerOnClusterState `json:"templateLibraryState,omitempty"`
  4960  	// ForceSendFields is a list of field names (e.g. "BundleStates") to
  4961  	// unconditionally include in API requests. By default, fields with empty or
  4962  	// default values are omitted from API requests. See
  4963  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4964  	// details.
  4965  	ForceSendFields []string `json:"-"`
  4966  	// NullFields is a list of field names (e.g. "BundleStates") to include in API
  4967  	// requests with the JSON null value. By default, fields with empty values are
  4968  	// omitted from API requests. See
  4969  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4970  	NullFields []string `json:"-"`
  4971  }
  4972  
  4973  func (s *PolicyControllerPolicyContentState) MarshalJSON() ([]byte, error) {
  4974  	type NoMethod PolicyControllerPolicyContentState
  4975  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4976  }
  4977  
  4978  // PolicyControllerPolicyControllerDeploymentConfig: Deployment-specific
  4979  // configuration.
  4980  type PolicyControllerPolicyControllerDeploymentConfig struct {
  4981  	// ContainerResources: Container resource requirements.
  4982  	ContainerResources *PolicyControllerResourceRequirements `json:"containerResources,omitempty"`
  4983  	// PodAffinity: Pod affinity configuration.
  4984  	//
  4985  	// Possible values:
  4986  	//   "AFFINITY_UNSPECIFIED" - No affinity configuration has been specified.
  4987  	//   "NO_AFFINITY" - Affinity configurations will be removed from the
  4988  	// deployment.
  4989  	//   "ANTI_AFFINITY" - Anti-affinity configuration will be applied to this
  4990  	// deployment. Default for admissions deployment.
  4991  	PodAffinity string `json:"podAffinity,omitempty"`
  4992  	// PodAntiAffinity: Pod anti-affinity enablement. Deprecated: use
  4993  	// `pod_affinity` instead.
  4994  	PodAntiAffinity bool `json:"podAntiAffinity,omitempty"`
  4995  	// PodTolerations: Pod tolerations of node taints.
  4996  	PodTolerations []*PolicyControllerToleration `json:"podTolerations,omitempty"`
  4997  	// ReplicaCount: Pod replica count.
  4998  	ReplicaCount int64 `json:"replicaCount,omitempty,string"`
  4999  	// ForceSendFields is a list of field names (e.g. "ContainerResources") to
  5000  	// unconditionally include in API requests. By default, fields with empty or
  5001  	// default values are omitted from API requests. See
  5002  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5003  	// details.
  5004  	ForceSendFields []string `json:"-"`
  5005  	// NullFields is a list of field names (e.g. "ContainerResources") to include
  5006  	// in API requests with the JSON null value. By default, fields with empty
  5007  	// values are omitted from API requests. See
  5008  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5009  	NullFields []string `json:"-"`
  5010  }
  5011  
  5012  func (s *PolicyControllerPolicyControllerDeploymentConfig) MarshalJSON() ([]byte, error) {
  5013  	type NoMethod PolicyControllerPolicyControllerDeploymentConfig
  5014  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5015  }
  5016  
  5017  // PolicyControllerResourceList: ResourceList contains container resource
  5018  // requirements.
  5019  type PolicyControllerResourceList struct {
  5020  	// Cpu: CPU requirement expressed in Kubernetes resource units.
  5021  	Cpu string `json:"cpu,omitempty"`
  5022  	// Memory: Memory requirement expressed in Kubernetes resource units.
  5023  	Memory string `json:"memory,omitempty"`
  5024  	// ForceSendFields is a list of field names (e.g. "Cpu") to unconditionally
  5025  	// include in API requests. By default, fields with empty or default values are
  5026  	// omitted from API requests. See
  5027  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5028  	// details.
  5029  	ForceSendFields []string `json:"-"`
  5030  	// NullFields is a list of field names (e.g. "Cpu") to include in API requests
  5031  	// with the JSON null value. By default, fields with empty values are omitted
  5032  	// from API requests. See
  5033  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5034  	NullFields []string `json:"-"`
  5035  }
  5036  
  5037  func (s *PolicyControllerResourceList) MarshalJSON() ([]byte, error) {
  5038  	type NoMethod PolicyControllerResourceList
  5039  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5040  }
  5041  
  5042  // PolicyControllerResourceRequirements: ResourceRequirements describes the
  5043  // compute resource requirements.
  5044  type PolicyControllerResourceRequirements struct {
  5045  	// Limits: Limits describes the maximum amount of compute resources allowed for
  5046  	// use by the running container.
  5047  	Limits *PolicyControllerResourceList `json:"limits,omitempty"`
  5048  	// Requests: Requests describes the amount of compute resources reserved for
  5049  	// the container by the kube-scheduler.
  5050  	Requests *PolicyControllerResourceList `json:"requests,omitempty"`
  5051  	// ForceSendFields is a list of field names (e.g. "Limits") to unconditionally
  5052  	// include in API requests. By default, fields with empty or default values are
  5053  	// omitted from API requests. See
  5054  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5055  	// details.
  5056  	ForceSendFields []string `json:"-"`
  5057  	// NullFields is a list of field names (e.g. "Limits") to include in API
  5058  	// requests with the JSON null value. By default, fields with empty values are
  5059  	// omitted from API requests. See
  5060  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5061  	NullFields []string `json:"-"`
  5062  }
  5063  
  5064  func (s *PolicyControllerResourceRequirements) MarshalJSON() ([]byte, error) {
  5065  	type NoMethod PolicyControllerResourceRequirements
  5066  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5067  }
  5068  
  5069  // PolicyControllerTemplateLibraryConfig: The config specifying which default
  5070  // library templates to install.
  5071  type PolicyControllerTemplateLibraryConfig struct {
  5072  	// Installation: Configures the manner in which the template library is
  5073  	// installed on the cluster.
  5074  	//
  5075  	// Possible values:
  5076  	//   "INSTALLATION_UNSPECIFIED" - No installation strategy has been specified.
  5077  	//   "NOT_INSTALLED" - Do not install the template library.
  5078  	//   "ALL" - Install the entire template library.
  5079  	Installation string `json:"installation,omitempty"`
  5080  	// ForceSendFields is a list of field names (e.g. "Installation") to
  5081  	// unconditionally include in API requests. By default, fields with empty or
  5082  	// default values are omitted from API requests. See
  5083  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5084  	// details.
  5085  	ForceSendFields []string `json:"-"`
  5086  	// NullFields is a list of field names (e.g. "Installation") to include in API
  5087  	// requests with the JSON null value. By default, fields with empty values are
  5088  	// omitted from API requests. See
  5089  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5090  	NullFields []string `json:"-"`
  5091  }
  5092  
  5093  func (s *PolicyControllerTemplateLibraryConfig) MarshalJSON() ([]byte, error) {
  5094  	type NoMethod PolicyControllerTemplateLibraryConfig
  5095  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5096  }
  5097  
  5098  // PolicyControllerToleration: Toleration of a node taint.
  5099  type PolicyControllerToleration struct {
  5100  	// Effect: Matches a taint effect.
  5101  	Effect string `json:"effect,omitempty"`
  5102  	// Key: Matches a taint key (not necessarily unique).
  5103  	Key string `json:"key,omitempty"`
  5104  	// Operator: Matches a taint operator.
  5105  	Operator string `json:"operator,omitempty"`
  5106  	// Value: Matches a taint value.
  5107  	Value string `json:"value,omitempty"`
  5108  	// ForceSendFields is a list of field names (e.g. "Effect") to unconditionally
  5109  	// include in API requests. By default, fields with empty or default values are
  5110  	// omitted from API requests. See
  5111  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5112  	// details.
  5113  	ForceSendFields []string `json:"-"`
  5114  	// NullFields is a list of field names (e.g. "Effect") to include in API
  5115  	// requests with the JSON null value. By default, fields with empty values are
  5116  	// omitted from API requests. See
  5117  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5118  	NullFields []string `json:"-"`
  5119  }
  5120  
  5121  func (s *PolicyControllerToleration) MarshalJSON() ([]byte, error) {
  5122  	type NoMethod PolicyControllerToleration
  5123  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5124  }
  5125  
  5126  // RBACRoleBinding: RBACRoleBinding represents a rbacrolebinding across the
  5127  // Fleet
  5128  type RBACRoleBinding struct {
  5129  	// CreateTime: Output only. When the rbacrolebinding was created.
  5130  	CreateTime string `json:"createTime,omitempty"`
  5131  	// DeleteTime: Output only. When the rbacrolebinding was deleted.
  5132  	DeleteTime string `json:"deleteTime,omitempty"`
  5133  	// Group: group is the group, as seen by the kubernetes cluster.
  5134  	Group string `json:"group,omitempty"`
  5135  	// Labels: Optional. Labels for this RBACRolebinding.
  5136  	Labels map[string]string `json:"labels,omitempty"`
  5137  	// Name: The resource name for the rbacrolebinding
  5138  	// `projects/{project}/locations/{location}/scopes/{scope}/rbacrolebindings/{rba
  5139  	// crolebinding}` or
  5140  	// `projects/{project}/locations/{location}/memberships/{membership}/rbacrolebin
  5141  	// dings/{rbacrolebinding}`
  5142  	Name string `json:"name,omitempty"`
  5143  	// Role: Required. Role to bind to the principal
  5144  	Role *Role `json:"role,omitempty"`
  5145  	// State: Output only. State of the rbacrolebinding resource.
  5146  	State *RBACRoleBindingLifecycleState `json:"state,omitempty"`
  5147  	// Uid: Output only. Google-generated UUID for this resource. This is unique
  5148  	// across all rbacrolebinding resources. If a rbacrolebinding resource is
  5149  	// deleted and another resource with the same name is created, it gets a
  5150  	// different uid.
  5151  	Uid string `json:"uid,omitempty"`
  5152  	// UpdateTime: Output only. When the rbacrolebinding was last updated.
  5153  	UpdateTime string `json:"updateTime,omitempty"`
  5154  	// User: user is the name of the user as seen by the kubernetes cluster,
  5155  	// example "alice" or "alice@domain.tld"
  5156  	User string `json:"user,omitempty"`
  5157  
  5158  	// ServerResponse contains the HTTP response code and headers from the server.
  5159  	googleapi.ServerResponse `json:"-"`
  5160  	// ForceSendFields is a list of field names (e.g. "CreateTime") to
  5161  	// unconditionally include in API requests. By default, fields with empty or
  5162  	// default values are omitted from API requests. See
  5163  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5164  	// details.
  5165  	ForceSendFields []string `json:"-"`
  5166  	// NullFields is a list of field names (e.g. "CreateTime") to include in API
  5167  	// requests with the JSON null value. By default, fields with empty values are
  5168  	// omitted from API requests. See
  5169  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5170  	NullFields []string `json:"-"`
  5171  }
  5172  
  5173  func (s *RBACRoleBinding) MarshalJSON() ([]byte, error) {
  5174  	type NoMethod RBACRoleBinding
  5175  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5176  }
  5177  
  5178  // RBACRoleBindingLifecycleState: RBACRoleBindingLifecycleState describes the
  5179  // state of a RbacRoleBinding resource.
  5180  type RBACRoleBindingLifecycleState struct {
  5181  	// Code: Output only. The current state of the rbacrolebinding resource.
  5182  	//
  5183  	// Possible values:
  5184  	//   "CODE_UNSPECIFIED" - The code is not set.
  5185  	//   "CREATING" - The rbacrolebinding is being created.
  5186  	//   "READY" - The rbacrolebinding active.
  5187  	//   "DELETING" - The rbacrolebinding is being deleted.
  5188  	//   "UPDATING" - The rbacrolebinding is being updated.
  5189  	Code string `json:"code,omitempty"`
  5190  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  5191  	// include in API requests. By default, fields with empty or default values are
  5192  	// omitted from API requests. See
  5193  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5194  	// details.
  5195  	ForceSendFields []string `json:"-"`
  5196  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  5197  	// with the JSON null value. By default, fields with empty values are omitted
  5198  	// from API requests. See
  5199  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5200  	NullFields []string `json:"-"`
  5201  }
  5202  
  5203  func (s *RBACRoleBindingLifecycleState) MarshalJSON() ([]byte, error) {
  5204  	type NoMethod RBACRoleBindingLifecycleState
  5205  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5206  }
  5207  
  5208  // ResourceManifest: ResourceManifest represents a single Kubernetes resource
  5209  // to be applied to the cluster.
  5210  type ResourceManifest struct {
  5211  	// ClusterScoped: Whether the resource provided in the manifest is
  5212  	// `cluster_scoped`. If unset, the manifest is assumed to be namespace scoped.
  5213  	// This field is used for REST mapping when applying the resource in a cluster.
  5214  	ClusterScoped bool `json:"clusterScoped,omitempty"`
  5215  	// Manifest: YAML manifest of the resource.
  5216  	Manifest string `json:"manifest,omitempty"`
  5217  	// ForceSendFields is a list of field names (e.g. "ClusterScoped") to
  5218  	// unconditionally include in API requests. By default, fields with empty or
  5219  	// default values are omitted from API requests. See
  5220  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5221  	// details.
  5222  	ForceSendFields []string `json:"-"`
  5223  	// NullFields is a list of field names (e.g. "ClusterScoped") to include in API
  5224  	// requests with the JSON null value. By default, fields with empty values are
  5225  	// omitted from API requests. See
  5226  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5227  	NullFields []string `json:"-"`
  5228  }
  5229  
  5230  func (s *ResourceManifest) MarshalJSON() ([]byte, error) {
  5231  	type NoMethod ResourceManifest
  5232  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5233  }
  5234  
  5235  // ResourceOptions: ResourceOptions represent options for Kubernetes resource
  5236  // generation.
  5237  type ResourceOptions struct {
  5238  	// ConnectVersion: Optional. The Connect agent version to use for
  5239  	// connect_resources. Defaults to the latest GKE Connect version. The version
  5240  	// must be a currently supported version, obsolete versions will be rejected.
  5241  	ConnectVersion string `json:"connectVersion,omitempty"`
  5242  	// K8sVersion: Optional. Major version of the Kubernetes cluster. This is only
  5243  	// used to determine which version to use for the CustomResourceDefinition
  5244  	// resources, `apiextensions/v1beta1` or`apiextensions/v1`.
  5245  	K8sVersion string `json:"k8sVersion,omitempty"`
  5246  	// V1beta1Crd: Optional. Use `apiextensions/v1beta1` instead of
  5247  	// `apiextensions/v1` for CustomResourceDefinition resources. This option
  5248  	// should be set for clusters with Kubernetes apiserver versions <1.16.
  5249  	V1beta1Crd bool `json:"v1beta1Crd,omitempty"`
  5250  	// ForceSendFields is a list of field names (e.g. "ConnectVersion") to
  5251  	// unconditionally include in API requests. By default, fields with empty or
  5252  	// default values are omitted from API requests. See
  5253  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5254  	// details.
  5255  	ForceSendFields []string `json:"-"`
  5256  	// NullFields is a list of field names (e.g. "ConnectVersion") to include in
  5257  	// API requests with the JSON null value. By default, fields with empty values
  5258  	// are omitted from API requests. See
  5259  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5260  	NullFields []string `json:"-"`
  5261  }
  5262  
  5263  func (s *ResourceOptions) MarshalJSON() ([]byte, error) {
  5264  	type NoMethod ResourceOptions
  5265  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5266  }
  5267  
  5268  // Role: Role is the type for Kubernetes roles
  5269  type Role struct {
  5270  	// PredefinedRole: predefined_role is the Kubernetes default role to use
  5271  	//
  5272  	// Possible values:
  5273  	//   "UNKNOWN" - UNKNOWN
  5274  	//   "ADMIN" - ADMIN has EDIT and RBAC permissions
  5275  	//   "EDIT" - EDIT can edit all resources except RBAC
  5276  	//   "VIEW" - VIEW can only read resources
  5277  	//   "ANTHOS_SUPPORT" - ANTHOS_SUPPORT gives Google Support read-only access to
  5278  	// a number of cluster resources.
  5279  	PredefinedRole string `json:"predefinedRole,omitempty"`
  5280  	// ForceSendFields is a list of field names (e.g. "PredefinedRole") to
  5281  	// unconditionally include in API requests. By default, fields with empty or
  5282  	// default values are omitted from API requests. See
  5283  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5284  	// details.
  5285  	ForceSendFields []string `json:"-"`
  5286  	// NullFields is a list of field names (e.g. "PredefinedRole") to include in
  5287  	// API requests with the JSON null value. By default, fields with empty values
  5288  	// are omitted from API requests. See
  5289  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5290  	NullFields []string `json:"-"`
  5291  }
  5292  
  5293  func (s *Role) MarshalJSON() ([]byte, error) {
  5294  	type NoMethod Role
  5295  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5296  }
  5297  
  5298  // Scope: Scope represents a Scope in a Fleet.
  5299  type Scope struct {
  5300  	// CreateTime: Output only. When the scope was created.
  5301  	CreateTime string `json:"createTime,omitempty"`
  5302  	// DeleteTime: Output only. When the scope was deleted.
  5303  	DeleteTime string `json:"deleteTime,omitempty"`
  5304  	// Labels: Optional. Labels for this Scope.
  5305  	Labels map[string]string `json:"labels,omitempty"`
  5306  	// Name: The resource name for the scope
  5307  	// `projects/{project}/locations/{location}/scopes/{scope}`
  5308  	Name string `json:"name,omitempty"`
  5309  	// NamespaceLabels: Optional. Scope-level cluster namespace labels. For the
  5310  	// member clusters bound to the Scope, these labels are applied to each
  5311  	// namespace under the Scope. Scope-level labels take precedence over
  5312  	// Namespace-level labels (`namespace_labels` in the Fleet Namespace resource)
  5313  	// if they share a key. Keys and values must be Kubernetes-conformant.
  5314  	NamespaceLabels map[string]string `json:"namespaceLabels,omitempty"`
  5315  	// State: Output only. State of the scope resource.
  5316  	State *ScopeLifecycleState `json:"state,omitempty"`
  5317  	// Uid: Output only. Google-generated UUID for this resource. This is unique
  5318  	// across all scope resources. If a scope resource is deleted and another
  5319  	// resource with the same name is created, it gets a different uid.
  5320  	Uid string `json:"uid,omitempty"`
  5321  	// UpdateTime: Output only. When the scope was last updated.
  5322  	UpdateTime string `json:"updateTime,omitempty"`
  5323  
  5324  	// ServerResponse contains the HTTP response code and headers from the server.
  5325  	googleapi.ServerResponse `json:"-"`
  5326  	// ForceSendFields is a list of field names (e.g. "CreateTime") to
  5327  	// unconditionally include in API requests. By default, fields with empty or
  5328  	// default values are omitted from API requests. See
  5329  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5330  	// details.
  5331  	ForceSendFields []string `json:"-"`
  5332  	// NullFields is a list of field names (e.g. "CreateTime") to include in API
  5333  	// requests with the JSON null value. By default, fields with empty values are
  5334  	// omitted from API requests. See
  5335  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5336  	NullFields []string `json:"-"`
  5337  }
  5338  
  5339  func (s *Scope) MarshalJSON() ([]byte, error) {
  5340  	type NoMethod Scope
  5341  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5342  }
  5343  
  5344  // ScopeFeatureSpec: ScopeFeatureSpec contains feature specs for a fleet scope.
  5345  type ScopeFeatureSpec struct {
  5346  }
  5347  
  5348  // ScopeFeatureState: ScopeFeatureState contains Scope-wide Feature status
  5349  // information.
  5350  type ScopeFeatureState struct {
  5351  	// State: Output only. The "running state" of the Feature in this Scope.
  5352  	State *FeatureState `json:"state,omitempty"`
  5353  	// ForceSendFields is a list of field names (e.g. "State") to unconditionally
  5354  	// include in API requests. By default, fields with empty or default values are
  5355  	// omitted from API requests. See
  5356  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5357  	// details.
  5358  	ForceSendFields []string `json:"-"`
  5359  	// NullFields is a list of field names (e.g. "State") to include in API
  5360  	// requests with the JSON null value. By default, fields with empty values are
  5361  	// omitted from API requests. See
  5362  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5363  	NullFields []string `json:"-"`
  5364  }
  5365  
  5366  func (s *ScopeFeatureState) MarshalJSON() ([]byte, error) {
  5367  	type NoMethod ScopeFeatureState
  5368  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5369  }
  5370  
  5371  // ScopeLifecycleState: ScopeLifecycleState describes the state of a Scope
  5372  // resource.
  5373  type ScopeLifecycleState struct {
  5374  	// Code: Output only. The current state of the scope resource.
  5375  	//
  5376  	// Possible values:
  5377  	//   "CODE_UNSPECIFIED" - The code is not set.
  5378  	//   "CREATING" - The scope is being created.
  5379  	//   "READY" - The scope active.
  5380  	//   "DELETING" - The scope is being deleted.
  5381  	//   "UPDATING" - The scope is being updated.
  5382  	Code string `json:"code,omitempty"`
  5383  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  5384  	// include in API requests. By default, fields with empty or default values are
  5385  	// omitted from API requests. See
  5386  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5387  	// details.
  5388  	ForceSendFields []string `json:"-"`
  5389  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  5390  	// with the JSON null value. By default, fields with empty values are omitted
  5391  	// from API requests. See
  5392  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5393  	NullFields []string `json:"-"`
  5394  }
  5395  
  5396  func (s *ScopeLifecycleState) MarshalJSON() ([]byte, error) {
  5397  	type NoMethod ScopeLifecycleState
  5398  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5399  }
  5400  
  5401  // SecurityPostureConfig: SecurityPostureConfig defines the flags needed to
  5402  // enable/disable features for the Security Posture API.
  5403  type SecurityPostureConfig struct {
  5404  	// Mode: Sets which mode to use for Security Posture features.
  5405  	//
  5406  	// Possible values:
  5407  	//   "MODE_UNSPECIFIED" - Default value not specified.
  5408  	//   "DISABLED" - Disables Security Posture features on the cluster.
  5409  	//   "BASIC" - Applies Security Posture features on the cluster.
  5410  	Mode string `json:"mode,omitempty"`
  5411  	// VulnerabilityMode: Sets which mode to use for vulnerability scanning.
  5412  	//
  5413  	// Possible values:
  5414  	//   "VULNERABILITY_MODE_UNSPECIFIED" - Default value not specified.
  5415  	//   "VULNERABILITY_DISABLED" - Disables vulnerability scanning on the cluster.
  5416  	//   "VULNERABILITY_BASIC" - Applies basic vulnerability scanning on the
  5417  	// cluster.
  5418  	//   "VULNERABILITY_ENTERPRISE" - Applies the Security Posture's vulnerability
  5419  	// on cluster Enterprise level features.
  5420  	VulnerabilityMode string `json:"vulnerabilityMode,omitempty"`
  5421  	// ForceSendFields is a list of field names (e.g. "Mode") to unconditionally
  5422  	// include in API requests. By default, fields with empty or default values are
  5423  	// omitted from API requests. See
  5424  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5425  	// details.
  5426  	ForceSendFields []string `json:"-"`
  5427  	// NullFields is a list of field names (e.g. "Mode") to include in API requests
  5428  	// with the JSON null value. By default, fields with empty values are omitted
  5429  	// from API requests. See
  5430  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5431  	NullFields []string `json:"-"`
  5432  }
  5433  
  5434  func (s *SecurityPostureConfig) MarshalJSON() ([]byte, error) {
  5435  	type NoMethod SecurityPostureConfig
  5436  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5437  }
  5438  
  5439  // ServiceMeshCondition: Condition being reported.
  5440  type ServiceMeshCondition struct {
  5441  	// Code: Unique identifier of the condition which describes the condition
  5442  	// recognizable to the user.
  5443  	//
  5444  	// Possible values:
  5445  	//   "CODE_UNSPECIFIED" - Default Unspecified code
  5446  	//   "MESH_IAM_PERMISSION_DENIED" - Mesh IAM permission denied error code
  5447  	//   "CNI_CONFIG_UNSUPPORTED" - CNI config unsupported error code
  5448  	//   "GKE_SANDBOX_UNSUPPORTED" - GKE sandbox unsupported error code
  5449  	//   "NODEPOOL_WORKLOAD_IDENTITY_FEDERATION_REQUIRED" - Nodepool workload
  5450  	// identity federation required error code
  5451  	//   "CNI_INSTALLATION_FAILED" - CNI installation failed error code
  5452  	//   "CNI_POD_UNSCHEDULABLE" - CNI pod unschedulable error code
  5453  	//   "UNSUPPORTED_MULTIPLE_CONTROL_PLANES" - Multiple control planes
  5454  	// unsupported error code
  5455  	//   "VPCSC_GA_SUPPORTED" - VPC-SC GA is supported for this control plane.
  5456  	//   "CONFIG_APPLY_INTERNAL_ERROR" - Configuration (Istio/k8s resources) failed
  5457  	// to apply due to internal error.
  5458  	//   "CONFIG_VALIDATION_ERROR" - Configuration failed to be applied due to
  5459  	// being invalid.
  5460  	//   "CONFIG_VALIDATION_WARNING" - Encountered configuration(s) with possible
  5461  	// unintended behavior or invalid configuration. These configs may not have
  5462  	// been applied.
  5463  	//   "QUOTA_EXCEEDED_BACKEND_SERVICES" - BackendService quota exceeded error
  5464  	// code.
  5465  	//   "QUOTA_EXCEEDED_HEALTH_CHECKS" - HealthCheck quota exceeded error code.
  5466  	//   "QUOTA_EXCEEDED_HTTP_ROUTES" - HTTPRoute quota exceeded error code.
  5467  	//   "QUOTA_EXCEEDED_TCP_ROUTES" - TCPRoute quota exceeded error code.
  5468  	//   "QUOTA_EXCEEDED_TLS_ROUTES" - TLS routes quota exceeded error code.
  5469  	//   "QUOTA_EXCEEDED_TRAFFIC_POLICIES" - TrafficPolicy quota exceeded error
  5470  	// code.
  5471  	//   "QUOTA_EXCEEDED_ENDPOINT_POLICIES" - EndpointPolicy quota exceeded error
  5472  	// code.
  5473  	//   "QUOTA_EXCEEDED_GATEWAYS" - Gateway quota exceeded error code.
  5474  	//   "QUOTA_EXCEEDED_MESHES" - Mesh quota exceeded error code.
  5475  	//   "QUOTA_EXCEEDED_SERVER_TLS_POLICIES" - ServerTLSPolicy quota exceeded
  5476  	// error code.
  5477  	//   "QUOTA_EXCEEDED_CLIENT_TLS_POLICIES" - ClientTLSPolicy quota exceeded
  5478  	// error code.
  5479  	//   "QUOTA_EXCEEDED_SERVICE_LB_POLICIES" - ServiceLBPolicy quota exceeded
  5480  	// error code.
  5481  	//   "QUOTA_EXCEEDED_HTTP_FILTERS" - HTTPFilter quota exceeded error code.
  5482  	//   "QUOTA_EXCEEDED_TCP_FILTERS" - TCPFilter quota exceeded error code.
  5483  	//   "QUOTA_EXCEEDED_NETWORK_ENDPOINT_GROUPS" - NetworkEndpointGroup quota
  5484  	// exceeded error code.
  5485  	Code string `json:"code,omitempty"`
  5486  	// Details: A short summary about the issue.
  5487  	Details string `json:"details,omitempty"`
  5488  	// DocumentationLink: Links contains actionable information.
  5489  	DocumentationLink string `json:"documentationLink,omitempty"`
  5490  	// Severity: Severity level of the condition.
  5491  	//
  5492  	// Possible values:
  5493  	//   "SEVERITY_UNSPECIFIED" - Unspecified severity
  5494  	//   "ERROR" - Indicates an issue that prevents the mesh from operating
  5495  	// correctly
  5496  	//   "WARNING" - Indicates a setting is likely wrong, but the mesh is still
  5497  	// able to operate
  5498  	//   "INFO" - An informational message, not requiring any action
  5499  	Severity string `json:"severity,omitempty"`
  5500  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  5501  	// include in API requests. By default, fields with empty or default values are
  5502  	// omitted from API requests. See
  5503  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5504  	// details.
  5505  	ForceSendFields []string `json:"-"`
  5506  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  5507  	// with the JSON null value. By default, fields with empty values are omitted
  5508  	// from API requests. See
  5509  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5510  	NullFields []string `json:"-"`
  5511  }
  5512  
  5513  func (s *ServiceMeshCondition) MarshalJSON() ([]byte, error) {
  5514  	type NoMethod ServiceMeshCondition
  5515  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5516  }
  5517  
  5518  // ServiceMeshControlPlaneManagement: Status of control plane management.
  5519  type ServiceMeshControlPlaneManagement struct {
  5520  	// Details: Explanation of state.
  5521  	Details []*ServiceMeshStatusDetails `json:"details,omitempty"`
  5522  	// Implementation: Output only. Implementation of managed control plane.
  5523  	//
  5524  	// Possible values:
  5525  	//   "IMPLEMENTATION_UNSPECIFIED" - Unspecified
  5526  	//   "ISTIOD" - A Google build of istiod is used for the managed control plane.
  5527  	//   "TRAFFIC_DIRECTOR" - Traffic director is used for the managed control
  5528  	// plane.
  5529  	//   "UPDATING" - The control plane implementation is being updated.
  5530  	Implementation string `json:"implementation,omitempty"`
  5531  	// State: LifecycleState of control plane management.
  5532  	//
  5533  	// Possible values:
  5534  	//   "LIFECYCLE_STATE_UNSPECIFIED" - Unspecified
  5535  	//   "DISABLED" - DISABLED means that the component is not enabled.
  5536  	//   "FAILED_PRECONDITION" - FAILED_PRECONDITION means that provisioning cannot
  5537  	// proceed because of some characteristic of the member cluster.
  5538  	//   "PROVISIONING" - PROVISIONING means that provisioning is in progress.
  5539  	//   "ACTIVE" - ACTIVE means that the component is ready for use.
  5540  	//   "STALLED" - STALLED means that provisioning could not be done.
  5541  	//   "NEEDS_ATTENTION" - NEEDS_ATTENTION means that the component is ready, but
  5542  	// some user intervention is required. (For example that the user should
  5543  	// migrate workloads to a new control plane revision.)
  5544  	//   "DEGRADED" - DEGRADED means that the component is ready, but operating in
  5545  	// a degraded state.
  5546  	State string `json:"state,omitempty"`
  5547  	// ForceSendFields is a list of field names (e.g. "Details") to unconditionally
  5548  	// include in API requests. By default, fields with empty or default values are
  5549  	// omitted from API requests. See
  5550  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5551  	// details.
  5552  	ForceSendFields []string `json:"-"`
  5553  	// NullFields is a list of field names (e.g. "Details") to include in API
  5554  	// requests with the JSON null value. By default, fields with empty values are
  5555  	// omitted from API requests. See
  5556  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5557  	NullFields []string `json:"-"`
  5558  }
  5559  
  5560  func (s *ServiceMeshControlPlaneManagement) MarshalJSON() ([]byte, error) {
  5561  	type NoMethod ServiceMeshControlPlaneManagement
  5562  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5563  }
  5564  
  5565  // ServiceMeshDataPlaneManagement: Status of data plane management. Only
  5566  // reported per-member.
  5567  type ServiceMeshDataPlaneManagement struct {
  5568  	// Details: Explanation of the status.
  5569  	Details []*ServiceMeshStatusDetails `json:"details,omitempty"`
  5570  	// State: Lifecycle status of data plane management.
  5571  	//
  5572  	// Possible values:
  5573  	//   "LIFECYCLE_STATE_UNSPECIFIED" - Unspecified
  5574  	//   "DISABLED" - DISABLED means that the component is not enabled.
  5575  	//   "FAILED_PRECONDITION" - FAILED_PRECONDITION means that provisioning cannot
  5576  	// proceed because of some characteristic of the member cluster.
  5577  	//   "PROVISIONING" - PROVISIONING means that provisioning is in progress.
  5578  	//   "ACTIVE" - ACTIVE means that the component is ready for use.
  5579  	//   "STALLED" - STALLED means that provisioning could not be done.
  5580  	//   "NEEDS_ATTENTION" - NEEDS_ATTENTION means that the component is ready, but
  5581  	// some user intervention is required. (For example that the user should
  5582  	// migrate workloads to a new control plane revision.)
  5583  	//   "DEGRADED" - DEGRADED means that the component is ready, but operating in
  5584  	// a degraded state.
  5585  	State string `json:"state,omitempty"`
  5586  	// ForceSendFields is a list of field names (e.g. "Details") to unconditionally
  5587  	// include in API requests. By default, fields with empty or default values are
  5588  	// omitted from API requests. See
  5589  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5590  	// details.
  5591  	ForceSendFields []string `json:"-"`
  5592  	// NullFields is a list of field names (e.g. "Details") to include in API
  5593  	// requests with the JSON null value. By default, fields with empty values are
  5594  	// omitted from API requests. See
  5595  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5596  	NullFields []string `json:"-"`
  5597  }
  5598  
  5599  func (s *ServiceMeshDataPlaneManagement) MarshalJSON() ([]byte, error) {
  5600  	type NoMethod ServiceMeshDataPlaneManagement
  5601  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5602  }
  5603  
  5604  // ServiceMeshMembershipSpec: **Service Mesh**: Spec for a single Membership
  5605  // for the servicemesh feature
  5606  type ServiceMeshMembershipSpec struct {
  5607  	// ControlPlane: Deprecated: use `management` instead Enables automatic control
  5608  	// plane management.
  5609  	//
  5610  	// Possible values:
  5611  	//   "CONTROL_PLANE_MANAGEMENT_UNSPECIFIED" - Unspecified
  5612  	//   "AUTOMATIC" - Google should provision a control plane revision and make it
  5613  	// available in the cluster. Google will enroll this revision in a release
  5614  	// channel and keep it up to date. The control plane revision may be a managed
  5615  	// service, or a managed install.
  5616  	//   "MANUAL" - User will manually configure the control plane (e.g. via CLI,
  5617  	// or via the ControlPlaneRevision KRM API)
  5618  	ControlPlane string `json:"controlPlane,omitempty"`
  5619  	// Management: Enables automatic Service Mesh management.
  5620  	//
  5621  	// Possible values:
  5622  	//   "MANAGEMENT_UNSPECIFIED" - Unspecified
  5623  	//   "MANAGEMENT_AUTOMATIC" - Google should manage my Service Mesh for the
  5624  	// cluster.
  5625  	//   "MANAGEMENT_MANUAL" - User will manually configure their service mesh
  5626  	// components.
  5627  	Management string `json:"management,omitempty"`
  5628  	// ForceSendFields is a list of field names (e.g. "ControlPlane") to
  5629  	// unconditionally include in API requests. By default, fields with empty or
  5630  	// default values are omitted from API requests. See
  5631  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5632  	// details.
  5633  	ForceSendFields []string `json:"-"`
  5634  	// NullFields is a list of field names (e.g. "ControlPlane") to include in API
  5635  	// requests with the JSON null value. By default, fields with empty values are
  5636  	// omitted from API requests. See
  5637  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5638  	NullFields []string `json:"-"`
  5639  }
  5640  
  5641  func (s *ServiceMeshMembershipSpec) MarshalJSON() ([]byte, error) {
  5642  	type NoMethod ServiceMeshMembershipSpec
  5643  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5644  }
  5645  
  5646  // ServiceMeshMembershipState: **Service Mesh**: State for a single Membership,
  5647  // as analyzed by the Service Mesh Hub Controller.
  5648  type ServiceMeshMembershipState struct {
  5649  	// Conditions: Output only. List of conditions reported for this membership.
  5650  	Conditions []*ServiceMeshCondition `json:"conditions,omitempty"`
  5651  	// ControlPlaneManagement: Output only. Status of control plane management
  5652  	ControlPlaneManagement *ServiceMeshControlPlaneManagement `json:"controlPlaneManagement,omitempty"`
  5653  	// DataPlaneManagement: Output only. Status of data plane management.
  5654  	DataPlaneManagement *ServiceMeshDataPlaneManagement `json:"dataPlaneManagement,omitempty"`
  5655  	// ForceSendFields is a list of field names (e.g. "Conditions") to
  5656  	// unconditionally include in API requests. By default, fields with empty or
  5657  	// default values are omitted from API requests. See
  5658  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5659  	// details.
  5660  	ForceSendFields []string `json:"-"`
  5661  	// NullFields is a list of field names (e.g. "Conditions") to include in API
  5662  	// requests with the JSON null value. By default, fields with empty values are
  5663  	// omitted from API requests. See
  5664  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5665  	NullFields []string `json:"-"`
  5666  }
  5667  
  5668  func (s *ServiceMeshMembershipState) MarshalJSON() ([]byte, error) {
  5669  	type NoMethod ServiceMeshMembershipState
  5670  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5671  }
  5672  
  5673  // ServiceMeshStatusDetails: Structured and human-readable details for a
  5674  // status.
  5675  type ServiceMeshStatusDetails struct {
  5676  	// Code: A machine-readable code that further describes a broad status.
  5677  	Code string `json:"code,omitempty"`
  5678  	// Details: Human-readable explanation of code.
  5679  	Details string `json:"details,omitempty"`
  5680  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  5681  	// include in API requests. By default, fields with empty or default values are
  5682  	// omitted from API requests. See
  5683  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5684  	// details.
  5685  	ForceSendFields []string `json:"-"`
  5686  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  5687  	// with the JSON null value. By default, fields with empty values are omitted
  5688  	// from API requests. See
  5689  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5690  	NullFields []string `json:"-"`
  5691  }
  5692  
  5693  func (s *ServiceMeshStatusDetails) MarshalJSON() ([]byte, error) {
  5694  	type NoMethod ServiceMeshStatusDetails
  5695  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5696  }
  5697  
  5698  // SetIamPolicyRequest: Request message for `SetIamPolicy` method.
  5699  type SetIamPolicyRequest struct {
  5700  	// Policy: REQUIRED: The complete policy to be applied to the `resource`. The
  5701  	// size of the policy is limited to a few 10s of KB. An empty policy is a valid
  5702  	// policy but certain Google Cloud services (such as Projects) might reject
  5703  	// them.
  5704  	Policy *Policy `json:"policy,omitempty"`
  5705  	// UpdateMask: OPTIONAL: A FieldMask specifying which fields of the policy to
  5706  	// modify. Only the fields in the mask will be modified. If no mask is
  5707  	// provided, the following default mask is used: `paths: "bindings, etag"
  5708  	UpdateMask string `json:"updateMask,omitempty"`
  5709  	// ForceSendFields is a list of field names (e.g. "Policy") to unconditionally
  5710  	// include in API requests. By default, fields with empty or default values are
  5711  	// omitted from API requests. See
  5712  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5713  	// details.
  5714  	ForceSendFields []string `json:"-"`
  5715  	// NullFields is a list of field names (e.g. "Policy") to include in API
  5716  	// requests with the JSON null value. By default, fields with empty values are
  5717  	// omitted from API requests. See
  5718  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5719  	NullFields []string `json:"-"`
  5720  }
  5721  
  5722  func (s *SetIamPolicyRequest) MarshalJSON() ([]byte, error) {
  5723  	type NoMethod SetIamPolicyRequest
  5724  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5725  }
  5726  
  5727  // Status: Status specifies state for the subcomponent.
  5728  type Status struct {
  5729  	// Code: Code specifies AppDevExperienceFeature's subcomponent ready state.
  5730  	//
  5731  	// Possible values:
  5732  	//   "CODE_UNSPECIFIED" - Not set.
  5733  	//   "OK" - AppDevExperienceFeature's specified subcomponent is ready.
  5734  	//   "FAILED" - AppDevExperienceFeature's specified subcomponent ready state is
  5735  	// false. This means AppDevExperienceFeature has encountered an issue that
  5736  	// blocks all, or a portion, of its normal operation. See the `description` for
  5737  	// more details.
  5738  	//   "UNKNOWN" - AppDevExperienceFeature's specified subcomponent has a pending
  5739  	// or unknown state.
  5740  	Code string `json:"code,omitempty"`
  5741  	// Description: Description is populated if Code is Failed, explaining why it
  5742  	// has failed.
  5743  	Description string `json:"description,omitempty"`
  5744  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  5745  	// include in API requests. By default, fields with empty or default values are
  5746  	// omitted from API requests. See
  5747  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5748  	// details.
  5749  	ForceSendFields []string `json:"-"`
  5750  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  5751  	// with the JSON null value. By default, fields with empty values are omitted
  5752  	// from API requests. See
  5753  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5754  	NullFields []string `json:"-"`
  5755  }
  5756  
  5757  func (s *Status) MarshalJSON() ([]byte, error) {
  5758  	type NoMethod Status
  5759  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5760  }
  5761  
  5762  // TestIamPermissionsRequest: Request message for `TestIamPermissions` method.
  5763  type TestIamPermissionsRequest struct {
  5764  	// Permissions: The set of permissions to check for the `resource`. Permissions
  5765  	// with wildcards (such as `*` or `storage.*`) are not allowed. For more
  5766  	// information see IAM Overview
  5767  	// (https://cloud.google.com/iam/docs/overview#permissions).
  5768  	Permissions []string `json:"permissions,omitempty"`
  5769  	// ForceSendFields is a list of field names (e.g. "Permissions") to
  5770  	// unconditionally include in API requests. By default, fields with empty or
  5771  	// default values are omitted from API requests. See
  5772  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5773  	// details.
  5774  	ForceSendFields []string `json:"-"`
  5775  	// NullFields is a list of field names (e.g. "Permissions") to include in API
  5776  	// requests with the JSON null value. By default, fields with empty values are
  5777  	// omitted from API requests. See
  5778  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5779  	NullFields []string `json:"-"`
  5780  }
  5781  
  5782  func (s *TestIamPermissionsRequest) MarshalJSON() ([]byte, error) {
  5783  	type NoMethod TestIamPermissionsRequest
  5784  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5785  }
  5786  
  5787  // TestIamPermissionsResponse: Response message for `TestIamPermissions`
  5788  // method.
  5789  type TestIamPermissionsResponse struct {
  5790  	// Permissions: A subset of `TestPermissionsRequest.permissions` that the
  5791  	// caller is allowed.
  5792  	Permissions []string `json:"permissions,omitempty"`
  5793  
  5794  	// ServerResponse contains the HTTP response code and headers from the server.
  5795  	googleapi.ServerResponse `json:"-"`
  5796  	// ForceSendFields is a list of field names (e.g. "Permissions") to
  5797  	// unconditionally include in API requests. By default, fields with empty or
  5798  	// default values are omitted from API requests. See
  5799  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5800  	// details.
  5801  	ForceSendFields []string `json:"-"`
  5802  	// NullFields is a list of field names (e.g. "Permissions") to include in API
  5803  	// requests with the JSON null value. By default, fields with empty values are
  5804  	// omitted from API requests. See
  5805  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5806  	NullFields []string `json:"-"`
  5807  }
  5808  
  5809  func (s *TestIamPermissionsResponse) MarshalJSON() ([]byte, error) {
  5810  	type NoMethod TestIamPermissionsResponse
  5811  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5812  }
  5813  
  5814  // TypeMeta: TypeMeta is the type information needed for content unmarshalling
  5815  // of Kubernetes resources in the manifest.
  5816  type TypeMeta struct {
  5817  	// ApiVersion: APIVersion of the resource (e.g. v1).
  5818  	ApiVersion string `json:"apiVersion,omitempty"`
  5819  	// Kind: Kind of the resource (e.g. Deployment).
  5820  	Kind string `json:"kind,omitempty"`
  5821  	// ForceSendFields is a list of field names (e.g. "ApiVersion") to
  5822  	// unconditionally include in API requests. By default, fields with empty or
  5823  	// default values are omitted from API requests. See
  5824  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5825  	// details.
  5826  	ForceSendFields []string `json:"-"`
  5827  	// NullFields is a list of field names (e.g. "ApiVersion") to include in API
  5828  	// requests with the JSON null value. By default, fields with empty values are
  5829  	// omitted from API requests. See
  5830  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5831  	NullFields []string `json:"-"`
  5832  }
  5833  
  5834  func (s *TypeMeta) MarshalJSON() ([]byte, error) {
  5835  	type NoMethod TypeMeta
  5836  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5837  }
  5838  
  5839  type OrganizationsLocationsFleetsListCall struct {
  5840  	s            *Service
  5841  	parent       string
  5842  	urlParams_   gensupport.URLParams
  5843  	ifNoneMatch_ string
  5844  	ctx_         context.Context
  5845  	header_      http.Header
  5846  }
  5847  
  5848  // List: Returns all fleets within an organization or a project that the caller
  5849  // has access to.
  5850  //
  5851  //   - parent: The organization or project to list for Fleets under, in the
  5852  //     format `organizations/*/locations/*` or `projects/*/locations/*`.
  5853  func (r *OrganizationsLocationsFleetsService) List(parent string) *OrganizationsLocationsFleetsListCall {
  5854  	c := &OrganizationsLocationsFleetsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5855  	c.parent = parent
  5856  	return c
  5857  }
  5858  
  5859  // PageSize sets the optional parameter "pageSize": The maximum number of
  5860  // fleets to return. The service may return fewer than this value. If
  5861  // unspecified, at most 200 fleets will be returned. The maximum value is 1000;
  5862  // values above 1000 will be coerced to 1000.
  5863  func (c *OrganizationsLocationsFleetsListCall) PageSize(pageSize int64) *OrganizationsLocationsFleetsListCall {
  5864  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  5865  	return c
  5866  }
  5867  
  5868  // PageToken sets the optional parameter "pageToken": A page token, received
  5869  // from a previous `ListFleets` call. Provide this to retrieve the subsequent
  5870  // page. When paginating, all other parameters provided to `ListFleets` must
  5871  // match the call that provided the page token.
  5872  func (c *OrganizationsLocationsFleetsListCall) PageToken(pageToken string) *OrganizationsLocationsFleetsListCall {
  5873  	c.urlParams_.Set("pageToken", pageToken)
  5874  	return c
  5875  }
  5876  
  5877  // Fields allows partial responses to be retrieved. See
  5878  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5879  // details.
  5880  func (c *OrganizationsLocationsFleetsListCall) Fields(s ...googleapi.Field) *OrganizationsLocationsFleetsListCall {
  5881  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5882  	return c
  5883  }
  5884  
  5885  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5886  // object's ETag matches the given value. This is useful for getting updates
  5887  // only after the object has changed since the last request.
  5888  func (c *OrganizationsLocationsFleetsListCall) IfNoneMatch(entityTag string) *OrganizationsLocationsFleetsListCall {
  5889  	c.ifNoneMatch_ = entityTag
  5890  	return c
  5891  }
  5892  
  5893  // Context sets the context to be used in this call's Do method.
  5894  func (c *OrganizationsLocationsFleetsListCall) Context(ctx context.Context) *OrganizationsLocationsFleetsListCall {
  5895  	c.ctx_ = ctx
  5896  	return c
  5897  }
  5898  
  5899  // Header returns a http.Header that can be modified by the caller to add
  5900  // headers to the request.
  5901  func (c *OrganizationsLocationsFleetsListCall) Header() http.Header {
  5902  	if c.header_ == nil {
  5903  		c.header_ = make(http.Header)
  5904  	}
  5905  	return c.header_
  5906  }
  5907  
  5908  func (c *OrganizationsLocationsFleetsListCall) doRequest(alt string) (*http.Response, error) {
  5909  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5910  	if c.ifNoneMatch_ != "" {
  5911  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5912  	}
  5913  	var body io.Reader = nil
  5914  	c.urlParams_.Set("alt", alt)
  5915  	c.urlParams_.Set("prettyPrint", "false")
  5916  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+parent}/fleets")
  5917  	urls += "?" + c.urlParams_.Encode()
  5918  	req, err := http.NewRequest("GET", urls, body)
  5919  	if err != nil {
  5920  		return nil, err
  5921  	}
  5922  	req.Header = reqHeaders
  5923  	googleapi.Expand(req.URL, map[string]string{
  5924  		"parent": c.parent,
  5925  	})
  5926  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5927  }
  5928  
  5929  // Do executes the "gkehub.organizations.locations.fleets.list" call.
  5930  // Any non-2xx status code is an error. Response headers are in either
  5931  // *ListFleetsResponse.ServerResponse.Header or (if a response was returned at
  5932  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  5933  // check whether the returned error was because http.StatusNotModified was
  5934  // returned.
  5935  func (c *OrganizationsLocationsFleetsListCall) Do(opts ...googleapi.CallOption) (*ListFleetsResponse, error) {
  5936  	gensupport.SetOptions(c.urlParams_, opts...)
  5937  	res, err := c.doRequest("json")
  5938  	if res != nil && res.StatusCode == http.StatusNotModified {
  5939  		if res.Body != nil {
  5940  			res.Body.Close()
  5941  		}
  5942  		return nil, gensupport.WrapError(&googleapi.Error{
  5943  			Code:   res.StatusCode,
  5944  			Header: res.Header,
  5945  		})
  5946  	}
  5947  	if err != nil {
  5948  		return nil, err
  5949  	}
  5950  	defer googleapi.CloseBody(res)
  5951  	if err := googleapi.CheckResponse(res); err != nil {
  5952  		return nil, gensupport.WrapError(err)
  5953  	}
  5954  	ret := &ListFleetsResponse{
  5955  		ServerResponse: googleapi.ServerResponse{
  5956  			Header:         res.Header,
  5957  			HTTPStatusCode: res.StatusCode,
  5958  		},
  5959  	}
  5960  	target := &ret
  5961  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5962  		return nil, err
  5963  	}
  5964  	return ret, nil
  5965  }
  5966  
  5967  // Pages invokes f for each page of results.
  5968  // A non-nil error returned from f will halt the iteration.
  5969  // The provided context supersedes any context provided to the Context method.
  5970  func (c *OrganizationsLocationsFleetsListCall) Pages(ctx context.Context, f func(*ListFleetsResponse) error) error {
  5971  	c.ctx_ = ctx
  5972  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  5973  	for {
  5974  		x, err := c.Do()
  5975  		if err != nil {
  5976  			return err
  5977  		}
  5978  		if err := f(x); err != nil {
  5979  			return err
  5980  		}
  5981  		if x.NextPageToken == "" {
  5982  			return nil
  5983  		}
  5984  		c.PageToken(x.NextPageToken)
  5985  	}
  5986  }
  5987  
  5988  type ProjectsLocationsGetCall struct {
  5989  	s            *Service
  5990  	name         string
  5991  	urlParams_   gensupport.URLParams
  5992  	ifNoneMatch_ string
  5993  	ctx_         context.Context
  5994  	header_      http.Header
  5995  }
  5996  
  5997  // Get: Gets information about a location.
  5998  //
  5999  // - name: Resource name for the location.
  6000  func (r *ProjectsLocationsService) Get(name string) *ProjectsLocationsGetCall {
  6001  	c := &ProjectsLocationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6002  	c.name = name
  6003  	return c
  6004  }
  6005  
  6006  // Fields allows partial responses to be retrieved. See
  6007  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6008  // details.
  6009  func (c *ProjectsLocationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsGetCall {
  6010  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6011  	return c
  6012  }
  6013  
  6014  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  6015  // object's ETag matches the given value. This is useful for getting updates
  6016  // only after the object has changed since the last request.
  6017  func (c *ProjectsLocationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsGetCall {
  6018  	c.ifNoneMatch_ = entityTag
  6019  	return c
  6020  }
  6021  
  6022  // Context sets the context to be used in this call's Do method.
  6023  func (c *ProjectsLocationsGetCall) Context(ctx context.Context) *ProjectsLocationsGetCall {
  6024  	c.ctx_ = ctx
  6025  	return c
  6026  }
  6027  
  6028  // Header returns a http.Header that can be modified by the caller to add
  6029  // headers to the request.
  6030  func (c *ProjectsLocationsGetCall) Header() http.Header {
  6031  	if c.header_ == nil {
  6032  		c.header_ = make(http.Header)
  6033  	}
  6034  	return c.header_
  6035  }
  6036  
  6037  func (c *ProjectsLocationsGetCall) doRequest(alt string) (*http.Response, error) {
  6038  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6039  	if c.ifNoneMatch_ != "" {
  6040  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  6041  	}
  6042  	var body io.Reader = nil
  6043  	c.urlParams_.Set("alt", alt)
  6044  	c.urlParams_.Set("prettyPrint", "false")
  6045  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}")
  6046  	urls += "?" + c.urlParams_.Encode()
  6047  	req, err := http.NewRequest("GET", urls, body)
  6048  	if err != nil {
  6049  		return nil, err
  6050  	}
  6051  	req.Header = reqHeaders
  6052  	googleapi.Expand(req.URL, map[string]string{
  6053  		"name": c.name,
  6054  	})
  6055  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6056  }
  6057  
  6058  // Do executes the "gkehub.projects.locations.get" call.
  6059  // Any non-2xx status code is an error. Response headers are in either
  6060  // *Location.ServerResponse.Header or (if a response was returned at all) in
  6061  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6062  // whether the returned error was because http.StatusNotModified was returned.
  6063  func (c *ProjectsLocationsGetCall) Do(opts ...googleapi.CallOption) (*Location, error) {
  6064  	gensupport.SetOptions(c.urlParams_, opts...)
  6065  	res, err := c.doRequest("json")
  6066  	if res != nil && res.StatusCode == http.StatusNotModified {
  6067  		if res.Body != nil {
  6068  			res.Body.Close()
  6069  		}
  6070  		return nil, gensupport.WrapError(&googleapi.Error{
  6071  			Code:   res.StatusCode,
  6072  			Header: res.Header,
  6073  		})
  6074  	}
  6075  	if err != nil {
  6076  		return nil, err
  6077  	}
  6078  	defer googleapi.CloseBody(res)
  6079  	if err := googleapi.CheckResponse(res); err != nil {
  6080  		return nil, gensupport.WrapError(err)
  6081  	}
  6082  	ret := &Location{
  6083  		ServerResponse: googleapi.ServerResponse{
  6084  			Header:         res.Header,
  6085  			HTTPStatusCode: res.StatusCode,
  6086  		},
  6087  	}
  6088  	target := &ret
  6089  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6090  		return nil, err
  6091  	}
  6092  	return ret, nil
  6093  }
  6094  
  6095  type ProjectsLocationsListCall struct {
  6096  	s            *Service
  6097  	name         string
  6098  	urlParams_   gensupport.URLParams
  6099  	ifNoneMatch_ string
  6100  	ctx_         context.Context
  6101  	header_      http.Header
  6102  }
  6103  
  6104  // List: Lists information about the supported locations for this service.
  6105  //
  6106  // - name: The resource that owns the locations collection, if applicable.
  6107  func (r *ProjectsLocationsService) List(name string) *ProjectsLocationsListCall {
  6108  	c := &ProjectsLocationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6109  	c.name = name
  6110  	return c
  6111  }
  6112  
  6113  // Filter sets the optional parameter "filter": A filter to narrow down results
  6114  // to a preferred subset. The filtering language accepts strings like
  6115  // "displayName=tokyo", and is documented in more detail in AIP-160
  6116  // (https://google.aip.dev/160).
  6117  func (c *ProjectsLocationsListCall) Filter(filter string) *ProjectsLocationsListCall {
  6118  	c.urlParams_.Set("filter", filter)
  6119  	return c
  6120  }
  6121  
  6122  // PageSize sets the optional parameter "pageSize": The maximum number of
  6123  // results to return. If not set, the service selects a default.
  6124  func (c *ProjectsLocationsListCall) PageSize(pageSize int64) *ProjectsLocationsListCall {
  6125  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  6126  	return c
  6127  }
  6128  
  6129  // PageToken sets the optional parameter "pageToken": A page token received
  6130  // from the `next_page_token` field in the response. Send that page token to
  6131  // receive the subsequent page.
  6132  func (c *ProjectsLocationsListCall) PageToken(pageToken string) *ProjectsLocationsListCall {
  6133  	c.urlParams_.Set("pageToken", pageToken)
  6134  	return c
  6135  }
  6136  
  6137  // Fields allows partial responses to be retrieved. See
  6138  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6139  // details.
  6140  func (c *ProjectsLocationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsListCall {
  6141  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6142  	return c
  6143  }
  6144  
  6145  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  6146  // object's ETag matches the given value. This is useful for getting updates
  6147  // only after the object has changed since the last request.
  6148  func (c *ProjectsLocationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsListCall {
  6149  	c.ifNoneMatch_ = entityTag
  6150  	return c
  6151  }
  6152  
  6153  // Context sets the context to be used in this call's Do method.
  6154  func (c *ProjectsLocationsListCall) Context(ctx context.Context) *ProjectsLocationsListCall {
  6155  	c.ctx_ = ctx
  6156  	return c
  6157  }
  6158  
  6159  // Header returns a http.Header that can be modified by the caller to add
  6160  // headers to the request.
  6161  func (c *ProjectsLocationsListCall) Header() http.Header {
  6162  	if c.header_ == nil {
  6163  		c.header_ = make(http.Header)
  6164  	}
  6165  	return c.header_
  6166  }
  6167  
  6168  func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
  6169  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6170  	if c.ifNoneMatch_ != "" {
  6171  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  6172  	}
  6173  	var body io.Reader = nil
  6174  	c.urlParams_.Set("alt", alt)
  6175  	c.urlParams_.Set("prettyPrint", "false")
  6176  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}/locations")
  6177  	urls += "?" + c.urlParams_.Encode()
  6178  	req, err := http.NewRequest("GET", urls, body)
  6179  	if err != nil {
  6180  		return nil, err
  6181  	}
  6182  	req.Header = reqHeaders
  6183  	googleapi.Expand(req.URL, map[string]string{
  6184  		"name": c.name,
  6185  	})
  6186  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6187  }
  6188  
  6189  // Do executes the "gkehub.projects.locations.list" call.
  6190  // Any non-2xx status code is an error. Response headers are in either
  6191  // *ListLocationsResponse.ServerResponse.Header or (if a response was returned
  6192  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  6193  // check whether the returned error was because http.StatusNotModified was
  6194  // returned.
  6195  func (c *ProjectsLocationsListCall) Do(opts ...googleapi.CallOption) (*ListLocationsResponse, error) {
  6196  	gensupport.SetOptions(c.urlParams_, opts...)
  6197  	res, err := c.doRequest("json")
  6198  	if res != nil && res.StatusCode == http.StatusNotModified {
  6199  		if res.Body != nil {
  6200  			res.Body.Close()
  6201  		}
  6202  		return nil, gensupport.WrapError(&googleapi.Error{
  6203  			Code:   res.StatusCode,
  6204  			Header: res.Header,
  6205  		})
  6206  	}
  6207  	if err != nil {
  6208  		return nil, err
  6209  	}
  6210  	defer googleapi.CloseBody(res)
  6211  	if err := googleapi.CheckResponse(res); err != nil {
  6212  		return nil, gensupport.WrapError(err)
  6213  	}
  6214  	ret := &ListLocationsResponse{
  6215  		ServerResponse: googleapi.ServerResponse{
  6216  			Header:         res.Header,
  6217  			HTTPStatusCode: res.StatusCode,
  6218  		},
  6219  	}
  6220  	target := &ret
  6221  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6222  		return nil, err
  6223  	}
  6224  	return ret, nil
  6225  }
  6226  
  6227  // Pages invokes f for each page of results.
  6228  // A non-nil error returned from f will halt the iteration.
  6229  // The provided context supersedes any context provided to the Context method.
  6230  func (c *ProjectsLocationsListCall) Pages(ctx context.Context, f func(*ListLocationsResponse) error) error {
  6231  	c.ctx_ = ctx
  6232  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  6233  	for {
  6234  		x, err := c.Do()
  6235  		if err != nil {
  6236  			return err
  6237  		}
  6238  		if err := f(x); err != nil {
  6239  			return err
  6240  		}
  6241  		if x.NextPageToken == "" {
  6242  			return nil
  6243  		}
  6244  		c.PageToken(x.NextPageToken)
  6245  	}
  6246  }
  6247  
  6248  type ProjectsLocationsFeaturesCreateCall struct {
  6249  	s          *Service
  6250  	parent     string
  6251  	feature    *Feature
  6252  	urlParams_ gensupport.URLParams
  6253  	ctx_       context.Context
  6254  	header_    http.Header
  6255  }
  6256  
  6257  // Create: Adds a new Feature.
  6258  //
  6259  //   - parent: The parent (project and location) where the Feature will be
  6260  //     created. Specified in the format `projects/*/locations/*`.
  6261  func (r *ProjectsLocationsFeaturesService) Create(parent string, feature *Feature) *ProjectsLocationsFeaturesCreateCall {
  6262  	c := &ProjectsLocationsFeaturesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6263  	c.parent = parent
  6264  	c.feature = feature
  6265  	return c
  6266  }
  6267  
  6268  // FeatureId sets the optional parameter "featureId": The ID of the feature to
  6269  // create.
  6270  func (c *ProjectsLocationsFeaturesCreateCall) FeatureId(featureId string) *ProjectsLocationsFeaturesCreateCall {
  6271  	c.urlParams_.Set("featureId", featureId)
  6272  	return c
  6273  }
  6274  
  6275  // RequestId sets the optional parameter "requestId": A request ID to identify
  6276  // requests. Specify a unique request ID so that if you must retry your
  6277  // request, the server will know to ignore the request if it has already been
  6278  // completed. The server will guarantee that for at least 60 minutes after the
  6279  // first request. For example, consider a situation where you make an initial
  6280  // request and the request times out. If you make the request again with the
  6281  // same request ID, the server can check if original operation with the same
  6282  // request ID was received, and if so, will ignore the second request. This
  6283  // prevents clients from accidentally creating duplicate commitments. The
  6284  // request ID must be a valid UUID with the exception that zero UUID is not
  6285  // supported (00000000-0000-0000-0000-000000000000).
  6286  func (c *ProjectsLocationsFeaturesCreateCall) RequestId(requestId string) *ProjectsLocationsFeaturesCreateCall {
  6287  	c.urlParams_.Set("requestId", requestId)
  6288  	return c
  6289  }
  6290  
  6291  // Fields allows partial responses to be retrieved. See
  6292  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6293  // details.
  6294  func (c *ProjectsLocationsFeaturesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturesCreateCall {
  6295  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6296  	return c
  6297  }
  6298  
  6299  // Context sets the context to be used in this call's Do method.
  6300  func (c *ProjectsLocationsFeaturesCreateCall) Context(ctx context.Context) *ProjectsLocationsFeaturesCreateCall {
  6301  	c.ctx_ = ctx
  6302  	return c
  6303  }
  6304  
  6305  // Header returns a http.Header that can be modified by the caller to add
  6306  // headers to the request.
  6307  func (c *ProjectsLocationsFeaturesCreateCall) Header() http.Header {
  6308  	if c.header_ == nil {
  6309  		c.header_ = make(http.Header)
  6310  	}
  6311  	return c.header_
  6312  }
  6313  
  6314  func (c *ProjectsLocationsFeaturesCreateCall) doRequest(alt string) (*http.Response, error) {
  6315  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6316  	var body io.Reader = nil
  6317  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.feature)
  6318  	if err != nil {
  6319  		return nil, err
  6320  	}
  6321  	c.urlParams_.Set("alt", alt)
  6322  	c.urlParams_.Set("prettyPrint", "false")
  6323  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+parent}/features")
  6324  	urls += "?" + c.urlParams_.Encode()
  6325  	req, err := http.NewRequest("POST", urls, body)
  6326  	if err != nil {
  6327  		return nil, err
  6328  	}
  6329  	req.Header = reqHeaders
  6330  	googleapi.Expand(req.URL, map[string]string{
  6331  		"parent": c.parent,
  6332  	})
  6333  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6334  }
  6335  
  6336  // Do executes the "gkehub.projects.locations.features.create" call.
  6337  // Any non-2xx status code is an error. Response headers are in either
  6338  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  6339  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6340  // whether the returned error was because http.StatusNotModified was returned.
  6341  func (c *ProjectsLocationsFeaturesCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  6342  	gensupport.SetOptions(c.urlParams_, opts...)
  6343  	res, err := c.doRequest("json")
  6344  	if res != nil && res.StatusCode == http.StatusNotModified {
  6345  		if res.Body != nil {
  6346  			res.Body.Close()
  6347  		}
  6348  		return nil, gensupport.WrapError(&googleapi.Error{
  6349  			Code:   res.StatusCode,
  6350  			Header: res.Header,
  6351  		})
  6352  	}
  6353  	if err != nil {
  6354  		return nil, err
  6355  	}
  6356  	defer googleapi.CloseBody(res)
  6357  	if err := googleapi.CheckResponse(res); err != nil {
  6358  		return nil, gensupport.WrapError(err)
  6359  	}
  6360  	ret := &Operation{
  6361  		ServerResponse: googleapi.ServerResponse{
  6362  			Header:         res.Header,
  6363  			HTTPStatusCode: res.StatusCode,
  6364  		},
  6365  	}
  6366  	target := &ret
  6367  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6368  		return nil, err
  6369  	}
  6370  	return ret, nil
  6371  }
  6372  
  6373  type ProjectsLocationsFeaturesDeleteCall struct {
  6374  	s          *Service
  6375  	name       string
  6376  	urlParams_ gensupport.URLParams
  6377  	ctx_       context.Context
  6378  	header_    http.Header
  6379  }
  6380  
  6381  // Delete: Removes a Feature.
  6382  //
  6383  //   - name: The Feature resource name in the format
  6384  //     `projects/*/locations/*/features/*`.
  6385  func (r *ProjectsLocationsFeaturesService) Delete(name string) *ProjectsLocationsFeaturesDeleteCall {
  6386  	c := &ProjectsLocationsFeaturesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6387  	c.name = name
  6388  	return c
  6389  }
  6390  
  6391  // Force sets the optional parameter "force": If set to true, the delete will
  6392  // ignore any outstanding resources for this Feature (that is,
  6393  // `FeatureState.has_resources` is set to true). These resources will NOT be
  6394  // cleaned up or modified in any way.
  6395  func (c *ProjectsLocationsFeaturesDeleteCall) Force(force bool) *ProjectsLocationsFeaturesDeleteCall {
  6396  	c.urlParams_.Set("force", fmt.Sprint(force))
  6397  	return c
  6398  }
  6399  
  6400  // RequestId sets the optional parameter "requestId": A request ID to identify
  6401  // requests. Specify a unique request ID so that if you must retry your
  6402  // request, the server will know to ignore the request if it has already been
  6403  // completed. The server will guarantee that for at least 60 minutes after the
  6404  // first request. For example, consider a situation where you make an initial
  6405  // request and the request times out. If you make the request again with the
  6406  // same request ID, the server can check if original operation with the same
  6407  // request ID was received, and if so, will ignore the second request. This
  6408  // prevents clients from accidentally creating duplicate commitments. The
  6409  // request ID must be a valid UUID with the exception that zero UUID is not
  6410  // supported (00000000-0000-0000-0000-000000000000).
  6411  func (c *ProjectsLocationsFeaturesDeleteCall) RequestId(requestId string) *ProjectsLocationsFeaturesDeleteCall {
  6412  	c.urlParams_.Set("requestId", requestId)
  6413  	return c
  6414  }
  6415  
  6416  // Fields allows partial responses to be retrieved. See
  6417  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6418  // details.
  6419  func (c *ProjectsLocationsFeaturesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturesDeleteCall {
  6420  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6421  	return c
  6422  }
  6423  
  6424  // Context sets the context to be used in this call's Do method.
  6425  func (c *ProjectsLocationsFeaturesDeleteCall) Context(ctx context.Context) *ProjectsLocationsFeaturesDeleteCall {
  6426  	c.ctx_ = ctx
  6427  	return c
  6428  }
  6429  
  6430  // Header returns a http.Header that can be modified by the caller to add
  6431  // headers to the request.
  6432  func (c *ProjectsLocationsFeaturesDeleteCall) Header() http.Header {
  6433  	if c.header_ == nil {
  6434  		c.header_ = make(http.Header)
  6435  	}
  6436  	return c.header_
  6437  }
  6438  
  6439  func (c *ProjectsLocationsFeaturesDeleteCall) doRequest(alt string) (*http.Response, error) {
  6440  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6441  	var body io.Reader = nil
  6442  	c.urlParams_.Set("alt", alt)
  6443  	c.urlParams_.Set("prettyPrint", "false")
  6444  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}")
  6445  	urls += "?" + c.urlParams_.Encode()
  6446  	req, err := http.NewRequest("DELETE", urls, body)
  6447  	if err != nil {
  6448  		return nil, err
  6449  	}
  6450  	req.Header = reqHeaders
  6451  	googleapi.Expand(req.URL, map[string]string{
  6452  		"name": c.name,
  6453  	})
  6454  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6455  }
  6456  
  6457  // Do executes the "gkehub.projects.locations.features.delete" call.
  6458  // Any non-2xx status code is an error. Response headers are in either
  6459  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  6460  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6461  // whether the returned error was because http.StatusNotModified was returned.
  6462  func (c *ProjectsLocationsFeaturesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  6463  	gensupport.SetOptions(c.urlParams_, opts...)
  6464  	res, err := c.doRequest("json")
  6465  	if res != nil && res.StatusCode == http.StatusNotModified {
  6466  		if res.Body != nil {
  6467  			res.Body.Close()
  6468  		}
  6469  		return nil, gensupport.WrapError(&googleapi.Error{
  6470  			Code:   res.StatusCode,
  6471  			Header: res.Header,
  6472  		})
  6473  	}
  6474  	if err != nil {
  6475  		return nil, err
  6476  	}
  6477  	defer googleapi.CloseBody(res)
  6478  	if err := googleapi.CheckResponse(res); err != nil {
  6479  		return nil, gensupport.WrapError(err)
  6480  	}
  6481  	ret := &Operation{
  6482  		ServerResponse: googleapi.ServerResponse{
  6483  			Header:         res.Header,
  6484  			HTTPStatusCode: res.StatusCode,
  6485  		},
  6486  	}
  6487  	target := &ret
  6488  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6489  		return nil, err
  6490  	}
  6491  	return ret, nil
  6492  }
  6493  
  6494  type ProjectsLocationsFeaturesGetCall struct {
  6495  	s            *Service
  6496  	name         string
  6497  	urlParams_   gensupport.URLParams
  6498  	ifNoneMatch_ string
  6499  	ctx_         context.Context
  6500  	header_      http.Header
  6501  }
  6502  
  6503  // Get: Gets details of a single Feature.
  6504  //
  6505  //   - name: The Feature resource name in the format
  6506  //     `projects/*/locations/*/features/*`.
  6507  func (r *ProjectsLocationsFeaturesService) Get(name string) *ProjectsLocationsFeaturesGetCall {
  6508  	c := &ProjectsLocationsFeaturesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6509  	c.name = name
  6510  	return c
  6511  }
  6512  
  6513  // Fields allows partial responses to be retrieved. See
  6514  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6515  // details.
  6516  func (c *ProjectsLocationsFeaturesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturesGetCall {
  6517  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6518  	return c
  6519  }
  6520  
  6521  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  6522  // object's ETag matches the given value. This is useful for getting updates
  6523  // only after the object has changed since the last request.
  6524  func (c *ProjectsLocationsFeaturesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsFeaturesGetCall {
  6525  	c.ifNoneMatch_ = entityTag
  6526  	return c
  6527  }
  6528  
  6529  // Context sets the context to be used in this call's Do method.
  6530  func (c *ProjectsLocationsFeaturesGetCall) Context(ctx context.Context) *ProjectsLocationsFeaturesGetCall {
  6531  	c.ctx_ = ctx
  6532  	return c
  6533  }
  6534  
  6535  // Header returns a http.Header that can be modified by the caller to add
  6536  // headers to the request.
  6537  func (c *ProjectsLocationsFeaturesGetCall) Header() http.Header {
  6538  	if c.header_ == nil {
  6539  		c.header_ = make(http.Header)
  6540  	}
  6541  	return c.header_
  6542  }
  6543  
  6544  func (c *ProjectsLocationsFeaturesGetCall) doRequest(alt string) (*http.Response, error) {
  6545  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6546  	if c.ifNoneMatch_ != "" {
  6547  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  6548  	}
  6549  	var body io.Reader = nil
  6550  	c.urlParams_.Set("alt", alt)
  6551  	c.urlParams_.Set("prettyPrint", "false")
  6552  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}")
  6553  	urls += "?" + c.urlParams_.Encode()
  6554  	req, err := http.NewRequest("GET", urls, body)
  6555  	if err != nil {
  6556  		return nil, err
  6557  	}
  6558  	req.Header = reqHeaders
  6559  	googleapi.Expand(req.URL, map[string]string{
  6560  		"name": c.name,
  6561  	})
  6562  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6563  }
  6564  
  6565  // Do executes the "gkehub.projects.locations.features.get" call.
  6566  // Any non-2xx status code is an error. Response headers are in either
  6567  // *Feature.ServerResponse.Header or (if a response was returned at all) in
  6568  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6569  // whether the returned error was because http.StatusNotModified was returned.
  6570  func (c *ProjectsLocationsFeaturesGetCall) Do(opts ...googleapi.CallOption) (*Feature, error) {
  6571  	gensupport.SetOptions(c.urlParams_, opts...)
  6572  	res, err := c.doRequest("json")
  6573  	if res != nil && res.StatusCode == http.StatusNotModified {
  6574  		if res.Body != nil {
  6575  			res.Body.Close()
  6576  		}
  6577  		return nil, gensupport.WrapError(&googleapi.Error{
  6578  			Code:   res.StatusCode,
  6579  			Header: res.Header,
  6580  		})
  6581  	}
  6582  	if err != nil {
  6583  		return nil, err
  6584  	}
  6585  	defer googleapi.CloseBody(res)
  6586  	if err := googleapi.CheckResponse(res); err != nil {
  6587  		return nil, gensupport.WrapError(err)
  6588  	}
  6589  	ret := &Feature{
  6590  		ServerResponse: googleapi.ServerResponse{
  6591  			Header:         res.Header,
  6592  			HTTPStatusCode: res.StatusCode,
  6593  		},
  6594  	}
  6595  	target := &ret
  6596  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6597  		return nil, err
  6598  	}
  6599  	return ret, nil
  6600  }
  6601  
  6602  type ProjectsLocationsFeaturesGetIamPolicyCall struct {
  6603  	s            *Service
  6604  	resource     string
  6605  	urlParams_   gensupport.URLParams
  6606  	ifNoneMatch_ string
  6607  	ctx_         context.Context
  6608  	header_      http.Header
  6609  }
  6610  
  6611  // GetIamPolicy: Gets the access control policy for a resource. Returns an
  6612  // empty policy if the resource exists and does not have a policy set.
  6613  //
  6614  //   - resource: REQUIRED: The resource for which the policy is being requested.
  6615  //     See Resource names (https://cloud.google.com/apis/design/resource_names)
  6616  //     for the appropriate value for this field.
  6617  func (r *ProjectsLocationsFeaturesService) GetIamPolicy(resource string) *ProjectsLocationsFeaturesGetIamPolicyCall {
  6618  	c := &ProjectsLocationsFeaturesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6619  	c.resource = resource
  6620  	return c
  6621  }
  6622  
  6623  // OptionsRequestedPolicyVersion sets the optional parameter
  6624  // "options.requestedPolicyVersion": The maximum policy version that will be
  6625  // used to format the policy. Valid values are 0, 1, and 3. Requests specifying
  6626  // an invalid value will be rejected. Requests for policies with any
  6627  // conditional role bindings must specify version 3. Policies with no
  6628  // conditional role bindings may specify any valid value or leave the field
  6629  // unset. The policy in the response might use the policy version that you
  6630  // specified, or it might use a lower policy version. For example, if you
  6631  // specify version 3, but the policy has no conditional role bindings, the
  6632  // response uses version 1. To learn which resources support conditions in
  6633  // their IAM policies, see the IAM documentation
  6634  // (https://cloud.google.com/iam/help/conditions/resource-policies).
  6635  func (c *ProjectsLocationsFeaturesGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsFeaturesGetIamPolicyCall {
  6636  	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
  6637  	return c
  6638  }
  6639  
  6640  // Fields allows partial responses to be retrieved. See
  6641  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6642  // details.
  6643  func (c *ProjectsLocationsFeaturesGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturesGetIamPolicyCall {
  6644  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6645  	return c
  6646  }
  6647  
  6648  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  6649  // object's ETag matches the given value. This is useful for getting updates
  6650  // only after the object has changed since the last request.
  6651  func (c *ProjectsLocationsFeaturesGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsLocationsFeaturesGetIamPolicyCall {
  6652  	c.ifNoneMatch_ = entityTag
  6653  	return c
  6654  }
  6655  
  6656  // Context sets the context to be used in this call's Do method.
  6657  func (c *ProjectsLocationsFeaturesGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsFeaturesGetIamPolicyCall {
  6658  	c.ctx_ = ctx
  6659  	return c
  6660  }
  6661  
  6662  // Header returns a http.Header that can be modified by the caller to add
  6663  // headers to the request.
  6664  func (c *ProjectsLocationsFeaturesGetIamPolicyCall) Header() http.Header {
  6665  	if c.header_ == nil {
  6666  		c.header_ = make(http.Header)
  6667  	}
  6668  	return c.header_
  6669  }
  6670  
  6671  func (c *ProjectsLocationsFeaturesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
  6672  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6673  	if c.ifNoneMatch_ != "" {
  6674  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  6675  	}
  6676  	var body io.Reader = nil
  6677  	c.urlParams_.Set("alt", alt)
  6678  	c.urlParams_.Set("prettyPrint", "false")
  6679  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+resource}:getIamPolicy")
  6680  	urls += "?" + c.urlParams_.Encode()
  6681  	req, err := http.NewRequest("GET", urls, body)
  6682  	if err != nil {
  6683  		return nil, err
  6684  	}
  6685  	req.Header = reqHeaders
  6686  	googleapi.Expand(req.URL, map[string]string{
  6687  		"resource": c.resource,
  6688  	})
  6689  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6690  }
  6691  
  6692  // Do executes the "gkehub.projects.locations.features.getIamPolicy" call.
  6693  // Any non-2xx status code is an error. Response headers are in either
  6694  // *Policy.ServerResponse.Header or (if a response was returned at all) in
  6695  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6696  // whether the returned error was because http.StatusNotModified was returned.
  6697  func (c *ProjectsLocationsFeaturesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
  6698  	gensupport.SetOptions(c.urlParams_, opts...)
  6699  	res, err := c.doRequest("json")
  6700  	if res != nil && res.StatusCode == http.StatusNotModified {
  6701  		if res.Body != nil {
  6702  			res.Body.Close()
  6703  		}
  6704  		return nil, gensupport.WrapError(&googleapi.Error{
  6705  			Code:   res.StatusCode,
  6706  			Header: res.Header,
  6707  		})
  6708  	}
  6709  	if err != nil {
  6710  		return nil, err
  6711  	}
  6712  	defer googleapi.CloseBody(res)
  6713  	if err := googleapi.CheckResponse(res); err != nil {
  6714  		return nil, gensupport.WrapError(err)
  6715  	}
  6716  	ret := &Policy{
  6717  		ServerResponse: googleapi.ServerResponse{
  6718  			Header:         res.Header,
  6719  			HTTPStatusCode: res.StatusCode,
  6720  		},
  6721  	}
  6722  	target := &ret
  6723  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6724  		return nil, err
  6725  	}
  6726  	return ret, nil
  6727  }
  6728  
  6729  type ProjectsLocationsFeaturesListCall struct {
  6730  	s            *Service
  6731  	parent       string
  6732  	urlParams_   gensupport.URLParams
  6733  	ifNoneMatch_ string
  6734  	ctx_         context.Context
  6735  	header_      http.Header
  6736  }
  6737  
  6738  // List: Lists Features in a given project and location.
  6739  //
  6740  //   - parent: The parent (project and location) where the Features will be
  6741  //     listed. Specified in the format `projects/*/locations/*`.
  6742  func (r *ProjectsLocationsFeaturesService) List(parent string) *ProjectsLocationsFeaturesListCall {
  6743  	c := &ProjectsLocationsFeaturesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6744  	c.parent = parent
  6745  	return c
  6746  }
  6747  
  6748  // Filter sets the optional parameter "filter": Lists Features that match the
  6749  // filter expression, following the syntax outlined in
  6750  // https://google.aip.dev/160. Examples: - Feature with the name "servicemesh"
  6751  // in project "foo-proj": name =
  6752  // "projects/foo-proj/locations/global/features/servicemesh" - Features that
  6753  // have a label called `foo`: labels.foo:* - Features that have a label called
  6754  // `foo` whose value is `bar`: labels.foo = bar
  6755  func (c *ProjectsLocationsFeaturesListCall) Filter(filter string) *ProjectsLocationsFeaturesListCall {
  6756  	c.urlParams_.Set("filter", filter)
  6757  	return c
  6758  }
  6759  
  6760  // OrderBy sets the optional parameter "orderBy": One or more fields to compare
  6761  // and use to sort the output. See https://google.aip.dev/132#ordering.
  6762  func (c *ProjectsLocationsFeaturesListCall) OrderBy(orderBy string) *ProjectsLocationsFeaturesListCall {
  6763  	c.urlParams_.Set("orderBy", orderBy)
  6764  	return c
  6765  }
  6766  
  6767  // PageSize sets the optional parameter "pageSize": When requesting a 'page' of
  6768  // resources, `page_size` specifies number of resources to return. If
  6769  // unspecified or set to 0, all resources will be returned.
  6770  func (c *ProjectsLocationsFeaturesListCall) PageSize(pageSize int64) *ProjectsLocationsFeaturesListCall {
  6771  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  6772  	return c
  6773  }
  6774  
  6775  // PageToken sets the optional parameter "pageToken": Token returned by
  6776  // previous call to `ListFeatures` which specifies the position in the list
  6777  // from where to continue listing the resources.
  6778  func (c *ProjectsLocationsFeaturesListCall) PageToken(pageToken string) *ProjectsLocationsFeaturesListCall {
  6779  	c.urlParams_.Set("pageToken", pageToken)
  6780  	return c
  6781  }
  6782  
  6783  // Fields allows partial responses to be retrieved. See
  6784  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6785  // details.
  6786  func (c *ProjectsLocationsFeaturesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturesListCall {
  6787  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6788  	return c
  6789  }
  6790  
  6791  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  6792  // object's ETag matches the given value. This is useful for getting updates
  6793  // only after the object has changed since the last request.
  6794  func (c *ProjectsLocationsFeaturesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsFeaturesListCall {
  6795  	c.ifNoneMatch_ = entityTag
  6796  	return c
  6797  }
  6798  
  6799  // Context sets the context to be used in this call's Do method.
  6800  func (c *ProjectsLocationsFeaturesListCall) Context(ctx context.Context) *ProjectsLocationsFeaturesListCall {
  6801  	c.ctx_ = ctx
  6802  	return c
  6803  }
  6804  
  6805  // Header returns a http.Header that can be modified by the caller to add
  6806  // headers to the request.
  6807  func (c *ProjectsLocationsFeaturesListCall) Header() http.Header {
  6808  	if c.header_ == nil {
  6809  		c.header_ = make(http.Header)
  6810  	}
  6811  	return c.header_
  6812  }
  6813  
  6814  func (c *ProjectsLocationsFeaturesListCall) doRequest(alt string) (*http.Response, error) {
  6815  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6816  	if c.ifNoneMatch_ != "" {
  6817  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  6818  	}
  6819  	var body io.Reader = nil
  6820  	c.urlParams_.Set("alt", alt)
  6821  	c.urlParams_.Set("prettyPrint", "false")
  6822  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+parent}/features")
  6823  	urls += "?" + c.urlParams_.Encode()
  6824  	req, err := http.NewRequest("GET", urls, body)
  6825  	if err != nil {
  6826  		return nil, err
  6827  	}
  6828  	req.Header = reqHeaders
  6829  	googleapi.Expand(req.URL, map[string]string{
  6830  		"parent": c.parent,
  6831  	})
  6832  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6833  }
  6834  
  6835  // Do executes the "gkehub.projects.locations.features.list" call.
  6836  // Any non-2xx status code is an error. Response headers are in either
  6837  // *ListFeaturesResponse.ServerResponse.Header or (if a response was returned
  6838  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  6839  // check whether the returned error was because http.StatusNotModified was
  6840  // returned.
  6841  func (c *ProjectsLocationsFeaturesListCall) Do(opts ...googleapi.CallOption) (*ListFeaturesResponse, error) {
  6842  	gensupport.SetOptions(c.urlParams_, opts...)
  6843  	res, err := c.doRequest("json")
  6844  	if res != nil && res.StatusCode == http.StatusNotModified {
  6845  		if res.Body != nil {
  6846  			res.Body.Close()
  6847  		}
  6848  		return nil, gensupport.WrapError(&googleapi.Error{
  6849  			Code:   res.StatusCode,
  6850  			Header: res.Header,
  6851  		})
  6852  	}
  6853  	if err != nil {
  6854  		return nil, err
  6855  	}
  6856  	defer googleapi.CloseBody(res)
  6857  	if err := googleapi.CheckResponse(res); err != nil {
  6858  		return nil, gensupport.WrapError(err)
  6859  	}
  6860  	ret := &ListFeaturesResponse{
  6861  		ServerResponse: googleapi.ServerResponse{
  6862  			Header:         res.Header,
  6863  			HTTPStatusCode: res.StatusCode,
  6864  		},
  6865  	}
  6866  	target := &ret
  6867  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6868  		return nil, err
  6869  	}
  6870  	return ret, nil
  6871  }
  6872  
  6873  // Pages invokes f for each page of results.
  6874  // A non-nil error returned from f will halt the iteration.
  6875  // The provided context supersedes any context provided to the Context method.
  6876  func (c *ProjectsLocationsFeaturesListCall) Pages(ctx context.Context, f func(*ListFeaturesResponse) error) error {
  6877  	c.ctx_ = ctx
  6878  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  6879  	for {
  6880  		x, err := c.Do()
  6881  		if err != nil {
  6882  			return err
  6883  		}
  6884  		if err := f(x); err != nil {
  6885  			return err
  6886  		}
  6887  		if x.NextPageToken == "" {
  6888  			return nil
  6889  		}
  6890  		c.PageToken(x.NextPageToken)
  6891  	}
  6892  }
  6893  
  6894  type ProjectsLocationsFeaturesPatchCall struct {
  6895  	s          *Service
  6896  	name       string
  6897  	feature    *Feature
  6898  	urlParams_ gensupport.URLParams
  6899  	ctx_       context.Context
  6900  	header_    http.Header
  6901  }
  6902  
  6903  // Patch: Updates an existing Feature.
  6904  //
  6905  //   - name: The Feature resource name in the format
  6906  //     `projects/*/locations/*/features/*`.
  6907  func (r *ProjectsLocationsFeaturesService) Patch(name string, feature *Feature) *ProjectsLocationsFeaturesPatchCall {
  6908  	c := &ProjectsLocationsFeaturesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6909  	c.name = name
  6910  	c.feature = feature
  6911  	return c
  6912  }
  6913  
  6914  // RequestId sets the optional parameter "requestId": A request ID to identify
  6915  // requests. Specify a unique request ID so that if you must retry your
  6916  // request, the server will know to ignore the request if it has already been
  6917  // completed. The server will guarantee that for at least 60 minutes after the
  6918  // first request. For example, consider a situation where you make an initial
  6919  // request and the request times out. If you make the request again with the
  6920  // same request ID, the server can check if original operation with the same
  6921  // request ID was received, and if so, will ignore the second request. This
  6922  // prevents clients from accidentally creating duplicate commitments. The
  6923  // request ID must be a valid UUID with the exception that zero UUID is not
  6924  // supported (00000000-0000-0000-0000-000000000000).
  6925  func (c *ProjectsLocationsFeaturesPatchCall) RequestId(requestId string) *ProjectsLocationsFeaturesPatchCall {
  6926  	c.urlParams_.Set("requestId", requestId)
  6927  	return c
  6928  }
  6929  
  6930  // UpdateMask sets the optional parameter "updateMask": Mask of fields to
  6931  // update.
  6932  func (c *ProjectsLocationsFeaturesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsFeaturesPatchCall {
  6933  	c.urlParams_.Set("updateMask", updateMask)
  6934  	return c
  6935  }
  6936  
  6937  // Fields allows partial responses to be retrieved. See
  6938  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6939  // details.
  6940  func (c *ProjectsLocationsFeaturesPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturesPatchCall {
  6941  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6942  	return c
  6943  }
  6944  
  6945  // Context sets the context to be used in this call's Do method.
  6946  func (c *ProjectsLocationsFeaturesPatchCall) Context(ctx context.Context) *ProjectsLocationsFeaturesPatchCall {
  6947  	c.ctx_ = ctx
  6948  	return c
  6949  }
  6950  
  6951  // Header returns a http.Header that can be modified by the caller to add
  6952  // headers to the request.
  6953  func (c *ProjectsLocationsFeaturesPatchCall) Header() http.Header {
  6954  	if c.header_ == nil {
  6955  		c.header_ = make(http.Header)
  6956  	}
  6957  	return c.header_
  6958  }
  6959  
  6960  func (c *ProjectsLocationsFeaturesPatchCall) doRequest(alt string) (*http.Response, error) {
  6961  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6962  	var body io.Reader = nil
  6963  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.feature)
  6964  	if err != nil {
  6965  		return nil, err
  6966  	}
  6967  	c.urlParams_.Set("alt", alt)
  6968  	c.urlParams_.Set("prettyPrint", "false")
  6969  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}")
  6970  	urls += "?" + c.urlParams_.Encode()
  6971  	req, err := http.NewRequest("PATCH", urls, body)
  6972  	if err != nil {
  6973  		return nil, err
  6974  	}
  6975  	req.Header = reqHeaders
  6976  	googleapi.Expand(req.URL, map[string]string{
  6977  		"name": c.name,
  6978  	})
  6979  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6980  }
  6981  
  6982  // Do executes the "gkehub.projects.locations.features.patch" call.
  6983  // Any non-2xx status code is an error. Response headers are in either
  6984  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  6985  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6986  // whether the returned error was because http.StatusNotModified was returned.
  6987  func (c *ProjectsLocationsFeaturesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  6988  	gensupport.SetOptions(c.urlParams_, opts...)
  6989  	res, err := c.doRequest("json")
  6990  	if res != nil && res.StatusCode == http.StatusNotModified {
  6991  		if res.Body != nil {
  6992  			res.Body.Close()
  6993  		}
  6994  		return nil, gensupport.WrapError(&googleapi.Error{
  6995  			Code:   res.StatusCode,
  6996  			Header: res.Header,
  6997  		})
  6998  	}
  6999  	if err != nil {
  7000  		return nil, err
  7001  	}
  7002  	defer googleapi.CloseBody(res)
  7003  	if err := googleapi.CheckResponse(res); err != nil {
  7004  		return nil, gensupport.WrapError(err)
  7005  	}
  7006  	ret := &Operation{
  7007  		ServerResponse: googleapi.ServerResponse{
  7008  			Header:         res.Header,
  7009  			HTTPStatusCode: res.StatusCode,
  7010  		},
  7011  	}
  7012  	target := &ret
  7013  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7014  		return nil, err
  7015  	}
  7016  	return ret, nil
  7017  }
  7018  
  7019  type ProjectsLocationsFeaturesSetIamPolicyCall struct {
  7020  	s                   *Service
  7021  	resource            string
  7022  	setiampolicyrequest *SetIamPolicyRequest
  7023  	urlParams_          gensupport.URLParams
  7024  	ctx_                context.Context
  7025  	header_             http.Header
  7026  }
  7027  
  7028  // SetIamPolicy: Sets the access control policy on the specified resource.
  7029  // Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`,
  7030  // and `PERMISSION_DENIED` errors.
  7031  //
  7032  //   - resource: REQUIRED: The resource for which the policy is being specified.
  7033  //     See Resource names (https://cloud.google.com/apis/design/resource_names)
  7034  //     for the appropriate value for this field.
  7035  func (r *ProjectsLocationsFeaturesService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsFeaturesSetIamPolicyCall {
  7036  	c := &ProjectsLocationsFeaturesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7037  	c.resource = resource
  7038  	c.setiampolicyrequest = setiampolicyrequest
  7039  	return c
  7040  }
  7041  
  7042  // Fields allows partial responses to be retrieved. See
  7043  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7044  // details.
  7045  func (c *ProjectsLocationsFeaturesSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturesSetIamPolicyCall {
  7046  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7047  	return c
  7048  }
  7049  
  7050  // Context sets the context to be used in this call's Do method.
  7051  func (c *ProjectsLocationsFeaturesSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsFeaturesSetIamPolicyCall {
  7052  	c.ctx_ = ctx
  7053  	return c
  7054  }
  7055  
  7056  // Header returns a http.Header that can be modified by the caller to add
  7057  // headers to the request.
  7058  func (c *ProjectsLocationsFeaturesSetIamPolicyCall) Header() http.Header {
  7059  	if c.header_ == nil {
  7060  		c.header_ = make(http.Header)
  7061  	}
  7062  	return c.header_
  7063  }
  7064  
  7065  func (c *ProjectsLocationsFeaturesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
  7066  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  7067  	var body io.Reader = nil
  7068  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
  7069  	if err != nil {
  7070  		return nil, err
  7071  	}
  7072  	c.urlParams_.Set("alt", alt)
  7073  	c.urlParams_.Set("prettyPrint", "false")
  7074  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+resource}:setIamPolicy")
  7075  	urls += "?" + c.urlParams_.Encode()
  7076  	req, err := http.NewRequest("POST", urls, body)
  7077  	if err != nil {
  7078  		return nil, err
  7079  	}
  7080  	req.Header = reqHeaders
  7081  	googleapi.Expand(req.URL, map[string]string{
  7082  		"resource": c.resource,
  7083  	})
  7084  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7085  }
  7086  
  7087  // Do executes the "gkehub.projects.locations.features.setIamPolicy" call.
  7088  // Any non-2xx status code is an error. Response headers are in either
  7089  // *Policy.ServerResponse.Header or (if a response was returned at all) in
  7090  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7091  // whether the returned error was because http.StatusNotModified was returned.
  7092  func (c *ProjectsLocationsFeaturesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
  7093  	gensupport.SetOptions(c.urlParams_, opts...)
  7094  	res, err := c.doRequest("json")
  7095  	if res != nil && res.StatusCode == http.StatusNotModified {
  7096  		if res.Body != nil {
  7097  			res.Body.Close()
  7098  		}
  7099  		return nil, gensupport.WrapError(&googleapi.Error{
  7100  			Code:   res.StatusCode,
  7101  			Header: res.Header,
  7102  		})
  7103  	}
  7104  	if err != nil {
  7105  		return nil, err
  7106  	}
  7107  	defer googleapi.CloseBody(res)
  7108  	if err := googleapi.CheckResponse(res); err != nil {
  7109  		return nil, gensupport.WrapError(err)
  7110  	}
  7111  	ret := &Policy{
  7112  		ServerResponse: googleapi.ServerResponse{
  7113  			Header:         res.Header,
  7114  			HTTPStatusCode: res.StatusCode,
  7115  		},
  7116  	}
  7117  	target := &ret
  7118  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7119  		return nil, err
  7120  	}
  7121  	return ret, nil
  7122  }
  7123  
  7124  type ProjectsLocationsFeaturesTestIamPermissionsCall struct {
  7125  	s                         *Service
  7126  	resource                  string
  7127  	testiampermissionsrequest *TestIamPermissionsRequest
  7128  	urlParams_                gensupport.URLParams
  7129  	ctx_                      context.Context
  7130  	header_                   http.Header
  7131  }
  7132  
  7133  // TestIamPermissions: Returns permissions that a caller has on the specified
  7134  // resource. If the resource does not exist, this will return an empty set of
  7135  // permissions, not a `NOT_FOUND` error. Note: This operation is designed to be
  7136  // used for building permission-aware UIs and command-line tools, not for
  7137  // authorization checking. This operation may "fail open" without warning.
  7138  //
  7139  //   - resource: REQUIRED: The resource for which the policy detail is being
  7140  //     requested. See Resource names
  7141  //     (https://cloud.google.com/apis/design/resource_names) for the appropriate
  7142  //     value for this field.
  7143  func (r *ProjectsLocationsFeaturesService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsFeaturesTestIamPermissionsCall {
  7144  	c := &ProjectsLocationsFeaturesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7145  	c.resource = resource
  7146  	c.testiampermissionsrequest = testiampermissionsrequest
  7147  	return c
  7148  }
  7149  
  7150  // Fields allows partial responses to be retrieved. See
  7151  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7152  // details.
  7153  func (c *ProjectsLocationsFeaturesTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturesTestIamPermissionsCall {
  7154  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7155  	return c
  7156  }
  7157  
  7158  // Context sets the context to be used in this call's Do method.
  7159  func (c *ProjectsLocationsFeaturesTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsFeaturesTestIamPermissionsCall {
  7160  	c.ctx_ = ctx
  7161  	return c
  7162  }
  7163  
  7164  // Header returns a http.Header that can be modified by the caller to add
  7165  // headers to the request.
  7166  func (c *ProjectsLocationsFeaturesTestIamPermissionsCall) Header() http.Header {
  7167  	if c.header_ == nil {
  7168  		c.header_ = make(http.Header)
  7169  	}
  7170  	return c.header_
  7171  }
  7172  
  7173  func (c *ProjectsLocationsFeaturesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
  7174  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  7175  	var body io.Reader = nil
  7176  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
  7177  	if err != nil {
  7178  		return nil, err
  7179  	}
  7180  	c.urlParams_.Set("alt", alt)
  7181  	c.urlParams_.Set("prettyPrint", "false")
  7182  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+resource}:testIamPermissions")
  7183  	urls += "?" + c.urlParams_.Encode()
  7184  	req, err := http.NewRequest("POST", urls, body)
  7185  	if err != nil {
  7186  		return nil, err
  7187  	}
  7188  	req.Header = reqHeaders
  7189  	googleapi.Expand(req.URL, map[string]string{
  7190  		"resource": c.resource,
  7191  	})
  7192  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7193  }
  7194  
  7195  // Do executes the "gkehub.projects.locations.features.testIamPermissions" call.
  7196  // Any non-2xx status code is an error. Response headers are in either
  7197  // *TestIamPermissionsResponse.ServerResponse.Header or (if a response was
  7198  // returned at all) in error.(*googleapi.Error).Header. Use
  7199  // googleapi.IsNotModified to check whether the returned error was because
  7200  // http.StatusNotModified was returned.
  7201  func (c *ProjectsLocationsFeaturesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
  7202  	gensupport.SetOptions(c.urlParams_, opts...)
  7203  	res, err := c.doRequest("json")
  7204  	if res != nil && res.StatusCode == http.StatusNotModified {
  7205  		if res.Body != nil {
  7206  			res.Body.Close()
  7207  		}
  7208  		return nil, gensupport.WrapError(&googleapi.Error{
  7209  			Code:   res.StatusCode,
  7210  			Header: res.Header,
  7211  		})
  7212  	}
  7213  	if err != nil {
  7214  		return nil, err
  7215  	}
  7216  	defer googleapi.CloseBody(res)
  7217  	if err := googleapi.CheckResponse(res); err != nil {
  7218  		return nil, gensupport.WrapError(err)
  7219  	}
  7220  	ret := &TestIamPermissionsResponse{
  7221  		ServerResponse: googleapi.ServerResponse{
  7222  			Header:         res.Header,
  7223  			HTTPStatusCode: res.StatusCode,
  7224  		},
  7225  	}
  7226  	target := &ret
  7227  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7228  		return nil, err
  7229  	}
  7230  	return ret, nil
  7231  }
  7232  
  7233  type ProjectsLocationsFleetsCreateCall struct {
  7234  	s          *Service
  7235  	parent     string
  7236  	fleet      *Fleet
  7237  	urlParams_ gensupport.URLParams
  7238  	ctx_       context.Context
  7239  	header_    http.Header
  7240  }
  7241  
  7242  // Create: Creates a fleet.
  7243  //
  7244  //   - parent: The parent (project and location) where the Fleet will be created.
  7245  //     Specified in the format `projects/*/locations/*`.
  7246  func (r *ProjectsLocationsFleetsService) Create(parent string, fleet *Fleet) *ProjectsLocationsFleetsCreateCall {
  7247  	c := &ProjectsLocationsFleetsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7248  	c.parent = parent
  7249  	c.fleet = fleet
  7250  	return c
  7251  }
  7252  
  7253  // Fields allows partial responses to be retrieved. See
  7254  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7255  // details.
  7256  func (c *ProjectsLocationsFleetsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsFleetsCreateCall {
  7257  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7258  	return c
  7259  }
  7260  
  7261  // Context sets the context to be used in this call's Do method.
  7262  func (c *ProjectsLocationsFleetsCreateCall) Context(ctx context.Context) *ProjectsLocationsFleetsCreateCall {
  7263  	c.ctx_ = ctx
  7264  	return c
  7265  }
  7266  
  7267  // Header returns a http.Header that can be modified by the caller to add
  7268  // headers to the request.
  7269  func (c *ProjectsLocationsFleetsCreateCall) Header() http.Header {
  7270  	if c.header_ == nil {
  7271  		c.header_ = make(http.Header)
  7272  	}
  7273  	return c.header_
  7274  }
  7275  
  7276  func (c *ProjectsLocationsFleetsCreateCall) doRequest(alt string) (*http.Response, error) {
  7277  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  7278  	var body io.Reader = nil
  7279  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.fleet)
  7280  	if err != nil {
  7281  		return nil, err
  7282  	}
  7283  	c.urlParams_.Set("alt", alt)
  7284  	c.urlParams_.Set("prettyPrint", "false")
  7285  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+parent}/fleets")
  7286  	urls += "?" + c.urlParams_.Encode()
  7287  	req, err := http.NewRequest("POST", urls, body)
  7288  	if err != nil {
  7289  		return nil, err
  7290  	}
  7291  	req.Header = reqHeaders
  7292  	googleapi.Expand(req.URL, map[string]string{
  7293  		"parent": c.parent,
  7294  	})
  7295  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7296  }
  7297  
  7298  // Do executes the "gkehub.projects.locations.fleets.create" call.
  7299  // Any non-2xx status code is an error. Response headers are in either
  7300  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  7301  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7302  // whether the returned error was because http.StatusNotModified was returned.
  7303  func (c *ProjectsLocationsFleetsCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  7304  	gensupport.SetOptions(c.urlParams_, opts...)
  7305  	res, err := c.doRequest("json")
  7306  	if res != nil && res.StatusCode == http.StatusNotModified {
  7307  		if res.Body != nil {
  7308  			res.Body.Close()
  7309  		}
  7310  		return nil, gensupport.WrapError(&googleapi.Error{
  7311  			Code:   res.StatusCode,
  7312  			Header: res.Header,
  7313  		})
  7314  	}
  7315  	if err != nil {
  7316  		return nil, err
  7317  	}
  7318  	defer googleapi.CloseBody(res)
  7319  	if err := googleapi.CheckResponse(res); err != nil {
  7320  		return nil, gensupport.WrapError(err)
  7321  	}
  7322  	ret := &Operation{
  7323  		ServerResponse: googleapi.ServerResponse{
  7324  			Header:         res.Header,
  7325  			HTTPStatusCode: res.StatusCode,
  7326  		},
  7327  	}
  7328  	target := &ret
  7329  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7330  		return nil, err
  7331  	}
  7332  	return ret, nil
  7333  }
  7334  
  7335  type ProjectsLocationsFleetsDeleteCall struct {
  7336  	s          *Service
  7337  	name       string
  7338  	urlParams_ gensupport.URLParams
  7339  	ctx_       context.Context
  7340  	header_    http.Header
  7341  }
  7342  
  7343  // Delete: Removes a Fleet. There must be no memberships remaining in the
  7344  // Fleet.
  7345  //
  7346  //   - name: The Fleet resource name in the format
  7347  //     `projects/*/locations/*/fleets/*`.
  7348  func (r *ProjectsLocationsFleetsService) Delete(name string) *ProjectsLocationsFleetsDeleteCall {
  7349  	c := &ProjectsLocationsFleetsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7350  	c.name = name
  7351  	return c
  7352  }
  7353  
  7354  // Fields allows partial responses to be retrieved. See
  7355  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7356  // details.
  7357  func (c *ProjectsLocationsFleetsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsFleetsDeleteCall {
  7358  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7359  	return c
  7360  }
  7361  
  7362  // Context sets the context to be used in this call's Do method.
  7363  func (c *ProjectsLocationsFleetsDeleteCall) Context(ctx context.Context) *ProjectsLocationsFleetsDeleteCall {
  7364  	c.ctx_ = ctx
  7365  	return c
  7366  }
  7367  
  7368  // Header returns a http.Header that can be modified by the caller to add
  7369  // headers to the request.
  7370  func (c *ProjectsLocationsFleetsDeleteCall) Header() http.Header {
  7371  	if c.header_ == nil {
  7372  		c.header_ = make(http.Header)
  7373  	}
  7374  	return c.header_
  7375  }
  7376  
  7377  func (c *ProjectsLocationsFleetsDeleteCall) doRequest(alt string) (*http.Response, error) {
  7378  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7379  	var body io.Reader = nil
  7380  	c.urlParams_.Set("alt", alt)
  7381  	c.urlParams_.Set("prettyPrint", "false")
  7382  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}")
  7383  	urls += "?" + c.urlParams_.Encode()
  7384  	req, err := http.NewRequest("DELETE", urls, body)
  7385  	if err != nil {
  7386  		return nil, err
  7387  	}
  7388  	req.Header = reqHeaders
  7389  	googleapi.Expand(req.URL, map[string]string{
  7390  		"name": c.name,
  7391  	})
  7392  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7393  }
  7394  
  7395  // Do executes the "gkehub.projects.locations.fleets.delete" call.
  7396  // Any non-2xx status code is an error. Response headers are in either
  7397  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  7398  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7399  // whether the returned error was because http.StatusNotModified was returned.
  7400  func (c *ProjectsLocationsFleetsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  7401  	gensupport.SetOptions(c.urlParams_, opts...)
  7402  	res, err := c.doRequest("json")
  7403  	if res != nil && res.StatusCode == http.StatusNotModified {
  7404  		if res.Body != nil {
  7405  			res.Body.Close()
  7406  		}
  7407  		return nil, gensupport.WrapError(&googleapi.Error{
  7408  			Code:   res.StatusCode,
  7409  			Header: res.Header,
  7410  		})
  7411  	}
  7412  	if err != nil {
  7413  		return nil, err
  7414  	}
  7415  	defer googleapi.CloseBody(res)
  7416  	if err := googleapi.CheckResponse(res); err != nil {
  7417  		return nil, gensupport.WrapError(err)
  7418  	}
  7419  	ret := &Operation{
  7420  		ServerResponse: googleapi.ServerResponse{
  7421  			Header:         res.Header,
  7422  			HTTPStatusCode: res.StatusCode,
  7423  		},
  7424  	}
  7425  	target := &ret
  7426  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7427  		return nil, err
  7428  	}
  7429  	return ret, nil
  7430  }
  7431  
  7432  type ProjectsLocationsFleetsGetCall struct {
  7433  	s            *Service
  7434  	name         string
  7435  	urlParams_   gensupport.URLParams
  7436  	ifNoneMatch_ string
  7437  	ctx_         context.Context
  7438  	header_      http.Header
  7439  }
  7440  
  7441  // Get: Returns the details of a fleet.
  7442  //
  7443  //   - name: The Fleet resource name in the format
  7444  //     `projects/*/locations/*/fleets/*`.
  7445  func (r *ProjectsLocationsFleetsService) Get(name string) *ProjectsLocationsFleetsGetCall {
  7446  	c := &ProjectsLocationsFleetsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7447  	c.name = name
  7448  	return c
  7449  }
  7450  
  7451  // Fields allows partial responses to be retrieved. See
  7452  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7453  // details.
  7454  func (c *ProjectsLocationsFleetsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsFleetsGetCall {
  7455  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7456  	return c
  7457  }
  7458  
  7459  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  7460  // object's ETag matches the given value. This is useful for getting updates
  7461  // only after the object has changed since the last request.
  7462  func (c *ProjectsLocationsFleetsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsFleetsGetCall {
  7463  	c.ifNoneMatch_ = entityTag
  7464  	return c
  7465  }
  7466  
  7467  // Context sets the context to be used in this call's Do method.
  7468  func (c *ProjectsLocationsFleetsGetCall) Context(ctx context.Context) *ProjectsLocationsFleetsGetCall {
  7469  	c.ctx_ = ctx
  7470  	return c
  7471  }
  7472  
  7473  // Header returns a http.Header that can be modified by the caller to add
  7474  // headers to the request.
  7475  func (c *ProjectsLocationsFleetsGetCall) Header() http.Header {
  7476  	if c.header_ == nil {
  7477  		c.header_ = make(http.Header)
  7478  	}
  7479  	return c.header_
  7480  }
  7481  
  7482  func (c *ProjectsLocationsFleetsGetCall) doRequest(alt string) (*http.Response, error) {
  7483  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7484  	if c.ifNoneMatch_ != "" {
  7485  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  7486  	}
  7487  	var body io.Reader = nil
  7488  	c.urlParams_.Set("alt", alt)
  7489  	c.urlParams_.Set("prettyPrint", "false")
  7490  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}")
  7491  	urls += "?" + c.urlParams_.Encode()
  7492  	req, err := http.NewRequest("GET", urls, body)
  7493  	if err != nil {
  7494  		return nil, err
  7495  	}
  7496  	req.Header = reqHeaders
  7497  	googleapi.Expand(req.URL, map[string]string{
  7498  		"name": c.name,
  7499  	})
  7500  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7501  }
  7502  
  7503  // Do executes the "gkehub.projects.locations.fleets.get" call.
  7504  // Any non-2xx status code is an error. Response headers are in either
  7505  // *Fleet.ServerResponse.Header or (if a response was returned at all) in
  7506  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7507  // whether the returned error was because http.StatusNotModified was returned.
  7508  func (c *ProjectsLocationsFleetsGetCall) Do(opts ...googleapi.CallOption) (*Fleet, error) {
  7509  	gensupport.SetOptions(c.urlParams_, opts...)
  7510  	res, err := c.doRequest("json")
  7511  	if res != nil && res.StatusCode == http.StatusNotModified {
  7512  		if res.Body != nil {
  7513  			res.Body.Close()
  7514  		}
  7515  		return nil, gensupport.WrapError(&googleapi.Error{
  7516  			Code:   res.StatusCode,
  7517  			Header: res.Header,
  7518  		})
  7519  	}
  7520  	if err != nil {
  7521  		return nil, err
  7522  	}
  7523  	defer googleapi.CloseBody(res)
  7524  	if err := googleapi.CheckResponse(res); err != nil {
  7525  		return nil, gensupport.WrapError(err)
  7526  	}
  7527  	ret := &Fleet{
  7528  		ServerResponse: googleapi.ServerResponse{
  7529  			Header:         res.Header,
  7530  			HTTPStatusCode: res.StatusCode,
  7531  		},
  7532  	}
  7533  	target := &ret
  7534  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7535  		return nil, err
  7536  	}
  7537  	return ret, nil
  7538  }
  7539  
  7540  type ProjectsLocationsFleetsListCall struct {
  7541  	s            *Service
  7542  	parent       string
  7543  	urlParams_   gensupport.URLParams
  7544  	ifNoneMatch_ string
  7545  	ctx_         context.Context
  7546  	header_      http.Header
  7547  }
  7548  
  7549  // List: Returns all fleets within an organization or a project that the caller
  7550  // has access to.
  7551  //
  7552  //   - parent: The organization or project to list for Fleets under, in the
  7553  //     format `organizations/*/locations/*` or `projects/*/locations/*`.
  7554  func (r *ProjectsLocationsFleetsService) List(parent string) *ProjectsLocationsFleetsListCall {
  7555  	c := &ProjectsLocationsFleetsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7556  	c.parent = parent
  7557  	return c
  7558  }
  7559  
  7560  // PageSize sets the optional parameter "pageSize": The maximum number of
  7561  // fleets to return. The service may return fewer than this value. If
  7562  // unspecified, at most 200 fleets will be returned. The maximum value is 1000;
  7563  // values above 1000 will be coerced to 1000.
  7564  func (c *ProjectsLocationsFleetsListCall) PageSize(pageSize int64) *ProjectsLocationsFleetsListCall {
  7565  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  7566  	return c
  7567  }
  7568  
  7569  // PageToken sets the optional parameter "pageToken": A page token, received
  7570  // from a previous `ListFleets` call. Provide this to retrieve the subsequent
  7571  // page. When paginating, all other parameters provided to `ListFleets` must
  7572  // match the call that provided the page token.
  7573  func (c *ProjectsLocationsFleetsListCall) PageToken(pageToken string) *ProjectsLocationsFleetsListCall {
  7574  	c.urlParams_.Set("pageToken", pageToken)
  7575  	return c
  7576  }
  7577  
  7578  // Fields allows partial responses to be retrieved. See
  7579  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7580  // details.
  7581  func (c *ProjectsLocationsFleetsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsFleetsListCall {
  7582  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7583  	return c
  7584  }
  7585  
  7586  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  7587  // object's ETag matches the given value. This is useful for getting updates
  7588  // only after the object has changed since the last request.
  7589  func (c *ProjectsLocationsFleetsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsFleetsListCall {
  7590  	c.ifNoneMatch_ = entityTag
  7591  	return c
  7592  }
  7593  
  7594  // Context sets the context to be used in this call's Do method.
  7595  func (c *ProjectsLocationsFleetsListCall) Context(ctx context.Context) *ProjectsLocationsFleetsListCall {
  7596  	c.ctx_ = ctx
  7597  	return c
  7598  }
  7599  
  7600  // Header returns a http.Header that can be modified by the caller to add
  7601  // headers to the request.
  7602  func (c *ProjectsLocationsFleetsListCall) Header() http.Header {
  7603  	if c.header_ == nil {
  7604  		c.header_ = make(http.Header)
  7605  	}
  7606  	return c.header_
  7607  }
  7608  
  7609  func (c *ProjectsLocationsFleetsListCall) doRequest(alt string) (*http.Response, error) {
  7610  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7611  	if c.ifNoneMatch_ != "" {
  7612  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  7613  	}
  7614  	var body io.Reader = nil
  7615  	c.urlParams_.Set("alt", alt)
  7616  	c.urlParams_.Set("prettyPrint", "false")
  7617  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+parent}/fleets")
  7618  	urls += "?" + c.urlParams_.Encode()
  7619  	req, err := http.NewRequest("GET", urls, body)
  7620  	if err != nil {
  7621  		return nil, err
  7622  	}
  7623  	req.Header = reqHeaders
  7624  	googleapi.Expand(req.URL, map[string]string{
  7625  		"parent": c.parent,
  7626  	})
  7627  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7628  }
  7629  
  7630  // Do executes the "gkehub.projects.locations.fleets.list" call.
  7631  // Any non-2xx status code is an error. Response headers are in either
  7632  // *ListFleetsResponse.ServerResponse.Header or (if a response was returned at
  7633  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  7634  // check whether the returned error was because http.StatusNotModified was
  7635  // returned.
  7636  func (c *ProjectsLocationsFleetsListCall) Do(opts ...googleapi.CallOption) (*ListFleetsResponse, error) {
  7637  	gensupport.SetOptions(c.urlParams_, opts...)
  7638  	res, err := c.doRequest("json")
  7639  	if res != nil && res.StatusCode == http.StatusNotModified {
  7640  		if res.Body != nil {
  7641  			res.Body.Close()
  7642  		}
  7643  		return nil, gensupport.WrapError(&googleapi.Error{
  7644  			Code:   res.StatusCode,
  7645  			Header: res.Header,
  7646  		})
  7647  	}
  7648  	if err != nil {
  7649  		return nil, err
  7650  	}
  7651  	defer googleapi.CloseBody(res)
  7652  	if err := googleapi.CheckResponse(res); err != nil {
  7653  		return nil, gensupport.WrapError(err)
  7654  	}
  7655  	ret := &ListFleetsResponse{
  7656  		ServerResponse: googleapi.ServerResponse{
  7657  			Header:         res.Header,
  7658  			HTTPStatusCode: res.StatusCode,
  7659  		},
  7660  	}
  7661  	target := &ret
  7662  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7663  		return nil, err
  7664  	}
  7665  	return ret, nil
  7666  }
  7667  
  7668  // Pages invokes f for each page of results.
  7669  // A non-nil error returned from f will halt the iteration.
  7670  // The provided context supersedes any context provided to the Context method.
  7671  func (c *ProjectsLocationsFleetsListCall) Pages(ctx context.Context, f func(*ListFleetsResponse) error) error {
  7672  	c.ctx_ = ctx
  7673  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  7674  	for {
  7675  		x, err := c.Do()
  7676  		if err != nil {
  7677  			return err
  7678  		}
  7679  		if err := f(x); err != nil {
  7680  			return err
  7681  		}
  7682  		if x.NextPageToken == "" {
  7683  			return nil
  7684  		}
  7685  		c.PageToken(x.NextPageToken)
  7686  	}
  7687  }
  7688  
  7689  type ProjectsLocationsFleetsPatchCall struct {
  7690  	s          *Service
  7691  	name       string
  7692  	fleet      *Fleet
  7693  	urlParams_ gensupport.URLParams
  7694  	ctx_       context.Context
  7695  	header_    http.Header
  7696  }
  7697  
  7698  // Patch: Updates a fleet.
  7699  //
  7700  //   - name: Output only. The full, unique resource name of this fleet in the
  7701  //     format of `projects/{project}/locations/{location}/fleets/{fleet}`. Each
  7702  //     Google Cloud project can have at most one fleet resource, named "default".
  7703  func (r *ProjectsLocationsFleetsService) Patch(name string, fleet *Fleet) *ProjectsLocationsFleetsPatchCall {
  7704  	c := &ProjectsLocationsFleetsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7705  	c.name = name
  7706  	c.fleet = fleet
  7707  	return c
  7708  }
  7709  
  7710  // UpdateMask sets the optional parameter "updateMask": Required. The fields to
  7711  // be updated;
  7712  func (c *ProjectsLocationsFleetsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsFleetsPatchCall {
  7713  	c.urlParams_.Set("updateMask", updateMask)
  7714  	return c
  7715  }
  7716  
  7717  // Fields allows partial responses to be retrieved. See
  7718  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7719  // details.
  7720  func (c *ProjectsLocationsFleetsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsFleetsPatchCall {
  7721  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7722  	return c
  7723  }
  7724  
  7725  // Context sets the context to be used in this call's Do method.
  7726  func (c *ProjectsLocationsFleetsPatchCall) Context(ctx context.Context) *ProjectsLocationsFleetsPatchCall {
  7727  	c.ctx_ = ctx
  7728  	return c
  7729  }
  7730  
  7731  // Header returns a http.Header that can be modified by the caller to add
  7732  // headers to the request.
  7733  func (c *ProjectsLocationsFleetsPatchCall) Header() http.Header {
  7734  	if c.header_ == nil {
  7735  		c.header_ = make(http.Header)
  7736  	}
  7737  	return c.header_
  7738  }
  7739  
  7740  func (c *ProjectsLocationsFleetsPatchCall) doRequest(alt string) (*http.Response, error) {
  7741  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  7742  	var body io.Reader = nil
  7743  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.fleet)
  7744  	if err != nil {
  7745  		return nil, err
  7746  	}
  7747  	c.urlParams_.Set("alt", alt)
  7748  	c.urlParams_.Set("prettyPrint", "false")
  7749  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}")
  7750  	urls += "?" + c.urlParams_.Encode()
  7751  	req, err := http.NewRequest("PATCH", urls, body)
  7752  	if err != nil {
  7753  		return nil, err
  7754  	}
  7755  	req.Header = reqHeaders
  7756  	googleapi.Expand(req.URL, map[string]string{
  7757  		"name": c.name,
  7758  	})
  7759  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7760  }
  7761  
  7762  // Do executes the "gkehub.projects.locations.fleets.patch" call.
  7763  // Any non-2xx status code is an error. Response headers are in either
  7764  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  7765  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7766  // whether the returned error was because http.StatusNotModified was returned.
  7767  func (c *ProjectsLocationsFleetsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  7768  	gensupport.SetOptions(c.urlParams_, opts...)
  7769  	res, err := c.doRequest("json")
  7770  	if res != nil && res.StatusCode == http.StatusNotModified {
  7771  		if res.Body != nil {
  7772  			res.Body.Close()
  7773  		}
  7774  		return nil, gensupport.WrapError(&googleapi.Error{
  7775  			Code:   res.StatusCode,
  7776  			Header: res.Header,
  7777  		})
  7778  	}
  7779  	if err != nil {
  7780  		return nil, err
  7781  	}
  7782  	defer googleapi.CloseBody(res)
  7783  	if err := googleapi.CheckResponse(res); err != nil {
  7784  		return nil, gensupport.WrapError(err)
  7785  	}
  7786  	ret := &Operation{
  7787  		ServerResponse: googleapi.ServerResponse{
  7788  			Header:         res.Header,
  7789  			HTTPStatusCode: res.StatusCode,
  7790  		},
  7791  	}
  7792  	target := &ret
  7793  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7794  		return nil, err
  7795  	}
  7796  	return ret, nil
  7797  }
  7798  
  7799  type ProjectsLocationsMembershipsCreateCall struct {
  7800  	s          *Service
  7801  	parent     string
  7802  	membership *Membership
  7803  	urlParams_ gensupport.URLParams
  7804  	ctx_       context.Context
  7805  	header_    http.Header
  7806  }
  7807  
  7808  // Create: Creates a new Membership. **This is currently only supported for GKE
  7809  // clusters on Google Cloud**. To register other clusters, follow the
  7810  // instructions at
  7811  // https://cloud.google.com/anthos/multicluster-management/connect/registering-a-cluster.
  7812  //
  7813  //   - parent: The parent (project and location) where the Memberships will be
  7814  //     created. Specified in the format `projects/*/locations/*`.
  7815  func (r *ProjectsLocationsMembershipsService) Create(parent string, membership *Membership) *ProjectsLocationsMembershipsCreateCall {
  7816  	c := &ProjectsLocationsMembershipsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7817  	c.parent = parent
  7818  	c.membership = membership
  7819  	return c
  7820  }
  7821  
  7822  // MembershipId sets the optional parameter "membershipId": Required. Client
  7823  // chosen ID for the membership. `membership_id` must be a valid RFC 1123
  7824  // compliant DNS label: 1. At most 63 characters in length 2. It must consist
  7825  // of lower case alphanumeric characters or `-` 3. It must start and end with
  7826  // an alphanumeric character Which can be expressed as the regex:
  7827  // `[a-z0-9]([-a-z0-9]*[a-z0-9])?`, with a maximum length of 63 characters.
  7828  func (c *ProjectsLocationsMembershipsCreateCall) MembershipId(membershipId string) *ProjectsLocationsMembershipsCreateCall {
  7829  	c.urlParams_.Set("membershipId", membershipId)
  7830  	return c
  7831  }
  7832  
  7833  // RequestId sets the optional parameter "requestId": A request ID to identify
  7834  // requests. Specify a unique request ID so that if you must retry your
  7835  // request, the server will know to ignore the request if it has already been
  7836  // completed. The server will guarantee that for at least 60 minutes after the
  7837  // first request. For example, consider a situation where you make an initial
  7838  // request and the request times out. If you make the request again with the
  7839  // same request ID, the server can check if original operation with the same
  7840  // request ID was received, and if so, will ignore the second request. This
  7841  // prevents clients from accidentally creating duplicate commitments. The
  7842  // request ID must be a valid UUID with the exception that zero UUID is not
  7843  // supported (00000000-0000-0000-0000-000000000000).
  7844  func (c *ProjectsLocationsMembershipsCreateCall) RequestId(requestId string) *ProjectsLocationsMembershipsCreateCall {
  7845  	c.urlParams_.Set("requestId", requestId)
  7846  	return c
  7847  }
  7848  
  7849  // Fields allows partial responses to be retrieved. See
  7850  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7851  // details.
  7852  func (c *ProjectsLocationsMembershipsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsMembershipsCreateCall {
  7853  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7854  	return c
  7855  }
  7856  
  7857  // Context sets the context to be used in this call's Do method.
  7858  func (c *ProjectsLocationsMembershipsCreateCall) Context(ctx context.Context) *ProjectsLocationsMembershipsCreateCall {
  7859  	c.ctx_ = ctx
  7860  	return c
  7861  }
  7862  
  7863  // Header returns a http.Header that can be modified by the caller to add
  7864  // headers to the request.
  7865  func (c *ProjectsLocationsMembershipsCreateCall) Header() http.Header {
  7866  	if c.header_ == nil {
  7867  		c.header_ = make(http.Header)
  7868  	}
  7869  	return c.header_
  7870  }
  7871  
  7872  func (c *ProjectsLocationsMembershipsCreateCall) doRequest(alt string) (*http.Response, error) {
  7873  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  7874  	var body io.Reader = nil
  7875  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.membership)
  7876  	if err != nil {
  7877  		return nil, err
  7878  	}
  7879  	c.urlParams_.Set("alt", alt)
  7880  	c.urlParams_.Set("prettyPrint", "false")
  7881  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+parent}/memberships")
  7882  	urls += "?" + c.urlParams_.Encode()
  7883  	req, err := http.NewRequest("POST", urls, body)
  7884  	if err != nil {
  7885  		return nil, err
  7886  	}
  7887  	req.Header = reqHeaders
  7888  	googleapi.Expand(req.URL, map[string]string{
  7889  		"parent": c.parent,
  7890  	})
  7891  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7892  }
  7893  
  7894  // Do executes the "gkehub.projects.locations.memberships.create" call.
  7895  // Any non-2xx status code is an error. Response headers are in either
  7896  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  7897  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7898  // whether the returned error was because http.StatusNotModified was returned.
  7899  func (c *ProjectsLocationsMembershipsCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  7900  	gensupport.SetOptions(c.urlParams_, opts...)
  7901  	res, err := c.doRequest("json")
  7902  	if res != nil && res.StatusCode == http.StatusNotModified {
  7903  		if res.Body != nil {
  7904  			res.Body.Close()
  7905  		}
  7906  		return nil, gensupport.WrapError(&googleapi.Error{
  7907  			Code:   res.StatusCode,
  7908  			Header: res.Header,
  7909  		})
  7910  	}
  7911  	if err != nil {
  7912  		return nil, err
  7913  	}
  7914  	defer googleapi.CloseBody(res)
  7915  	if err := googleapi.CheckResponse(res); err != nil {
  7916  		return nil, gensupport.WrapError(err)
  7917  	}
  7918  	ret := &Operation{
  7919  		ServerResponse: googleapi.ServerResponse{
  7920  			Header:         res.Header,
  7921  			HTTPStatusCode: res.StatusCode,
  7922  		},
  7923  	}
  7924  	target := &ret
  7925  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7926  		return nil, err
  7927  	}
  7928  	return ret, nil
  7929  }
  7930  
  7931  type ProjectsLocationsMembershipsDeleteCall struct {
  7932  	s          *Service
  7933  	name       string
  7934  	urlParams_ gensupport.URLParams
  7935  	ctx_       context.Context
  7936  	header_    http.Header
  7937  }
  7938  
  7939  // Delete: Removes a Membership. **This is currently only supported for GKE
  7940  // clusters on Google Cloud**. To unregister other clusters, follow the
  7941  // instructions at
  7942  // https://cloud.google.com/anthos/multicluster-management/connect/unregistering-a-cluster.
  7943  //
  7944  //   - name: The Membership resource name in the format
  7945  //     `projects/*/locations/*/memberships/*`.
  7946  func (r *ProjectsLocationsMembershipsService) Delete(name string) *ProjectsLocationsMembershipsDeleteCall {
  7947  	c := &ProjectsLocationsMembershipsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7948  	c.name = name
  7949  	return c
  7950  }
  7951  
  7952  // Force sets the optional parameter "force": If set to true, any subresource
  7953  // from this Membership will also be deleted. Otherwise, the request will only
  7954  // work if the Membership has no subresource.
  7955  func (c *ProjectsLocationsMembershipsDeleteCall) Force(force bool) *ProjectsLocationsMembershipsDeleteCall {
  7956  	c.urlParams_.Set("force", fmt.Sprint(force))
  7957  	return c
  7958  }
  7959  
  7960  // RequestId sets the optional parameter "requestId": A request ID to identify
  7961  // requests. Specify a unique request ID so that if you must retry your
  7962  // request, the server will know to ignore the request if it has already been
  7963  // completed. The server will guarantee that for at least 60 minutes after the
  7964  // first request. For example, consider a situation where you make an initial
  7965  // request and the request times out. If you make the request again with the
  7966  // same request ID, the server can check if original operation with the same
  7967  // request ID was received, and if so, will ignore the second request. This
  7968  // prevents clients from accidentally creating duplicate commitments. The
  7969  // request ID must be a valid UUID with the exception that zero UUID is not
  7970  // supported (00000000-0000-0000-0000-000000000000).
  7971  func (c *ProjectsLocationsMembershipsDeleteCall) RequestId(requestId string) *ProjectsLocationsMembershipsDeleteCall {
  7972  	c.urlParams_.Set("requestId", requestId)
  7973  	return c
  7974  }
  7975  
  7976  // Fields allows partial responses to be retrieved. See
  7977  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7978  // details.
  7979  func (c *ProjectsLocationsMembershipsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsMembershipsDeleteCall {
  7980  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7981  	return c
  7982  }
  7983  
  7984  // Context sets the context to be used in this call's Do method.
  7985  func (c *ProjectsLocationsMembershipsDeleteCall) Context(ctx context.Context) *ProjectsLocationsMembershipsDeleteCall {
  7986  	c.ctx_ = ctx
  7987  	return c
  7988  }
  7989  
  7990  // Header returns a http.Header that can be modified by the caller to add
  7991  // headers to the request.
  7992  func (c *ProjectsLocationsMembershipsDeleteCall) Header() http.Header {
  7993  	if c.header_ == nil {
  7994  		c.header_ = make(http.Header)
  7995  	}
  7996  	return c.header_
  7997  }
  7998  
  7999  func (c *ProjectsLocationsMembershipsDeleteCall) doRequest(alt string) (*http.Response, error) {
  8000  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8001  	var body io.Reader = nil
  8002  	c.urlParams_.Set("alt", alt)
  8003  	c.urlParams_.Set("prettyPrint", "false")
  8004  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}")
  8005  	urls += "?" + c.urlParams_.Encode()
  8006  	req, err := http.NewRequest("DELETE", urls, body)
  8007  	if err != nil {
  8008  		return nil, err
  8009  	}
  8010  	req.Header = reqHeaders
  8011  	googleapi.Expand(req.URL, map[string]string{
  8012  		"name": c.name,
  8013  	})
  8014  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8015  }
  8016  
  8017  // Do executes the "gkehub.projects.locations.memberships.delete" call.
  8018  // Any non-2xx status code is an error. Response headers are in either
  8019  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  8020  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8021  // whether the returned error was because http.StatusNotModified was returned.
  8022  func (c *ProjectsLocationsMembershipsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  8023  	gensupport.SetOptions(c.urlParams_, opts...)
  8024  	res, err := c.doRequest("json")
  8025  	if res != nil && res.StatusCode == http.StatusNotModified {
  8026  		if res.Body != nil {
  8027  			res.Body.Close()
  8028  		}
  8029  		return nil, gensupport.WrapError(&googleapi.Error{
  8030  			Code:   res.StatusCode,
  8031  			Header: res.Header,
  8032  		})
  8033  	}
  8034  	if err != nil {
  8035  		return nil, err
  8036  	}
  8037  	defer googleapi.CloseBody(res)
  8038  	if err := googleapi.CheckResponse(res); err != nil {
  8039  		return nil, gensupport.WrapError(err)
  8040  	}
  8041  	ret := &Operation{
  8042  		ServerResponse: googleapi.ServerResponse{
  8043  			Header:         res.Header,
  8044  			HTTPStatusCode: res.StatusCode,
  8045  		},
  8046  	}
  8047  	target := &ret
  8048  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8049  		return nil, err
  8050  	}
  8051  	return ret, nil
  8052  }
  8053  
  8054  type ProjectsLocationsMembershipsGenerateConnectManifestCall struct {
  8055  	s            *Service
  8056  	name         string
  8057  	urlParams_   gensupport.URLParams
  8058  	ifNoneMatch_ string
  8059  	ctx_         context.Context
  8060  	header_      http.Header
  8061  }
  8062  
  8063  // GenerateConnectManifest: Generates the manifest for deployment of the GKE
  8064  // connect agent. **This method is used internally by Google-provided
  8065  // libraries.** Most clients should not need to call this method directly.
  8066  //
  8067  //   - name: The Membership resource name the Agent will associate with, in the
  8068  //     format `projects/*/locations/*/memberships/*`.
  8069  func (r *ProjectsLocationsMembershipsService) GenerateConnectManifest(name string) *ProjectsLocationsMembershipsGenerateConnectManifestCall {
  8070  	c := &ProjectsLocationsMembershipsGenerateConnectManifestCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8071  	c.name = name
  8072  	return c
  8073  }
  8074  
  8075  // ImagePullSecretContent sets the optional parameter "imagePullSecretContent":
  8076  // The image pull secret content for the registry, if not public.
  8077  func (c *ProjectsLocationsMembershipsGenerateConnectManifestCall) ImagePullSecretContent(imagePullSecretContent string) *ProjectsLocationsMembershipsGenerateConnectManifestCall {
  8078  	c.urlParams_.Set("imagePullSecretContent", imagePullSecretContent)
  8079  	return c
  8080  }
  8081  
  8082  // IsUpgrade sets the optional parameter "isUpgrade": If true, generate the
  8083  // resources for upgrade only. Some resources generated only for installation
  8084  // (e.g. secrets) will be excluded.
  8085  func (c *ProjectsLocationsMembershipsGenerateConnectManifestCall) IsUpgrade(isUpgrade bool) *ProjectsLocationsMembershipsGenerateConnectManifestCall {
  8086  	c.urlParams_.Set("isUpgrade", fmt.Sprint(isUpgrade))
  8087  	return c
  8088  }
  8089  
  8090  // Namespace sets the optional parameter "namespace": Namespace for GKE Connect
  8091  // agent resources. Defaults to `gke-connect`. The Connect Agent is authorized
  8092  // automatically when run in the default namespace. Otherwise, explicit
  8093  // authorization must be granted with an additional IAM binding.
  8094  func (c *ProjectsLocationsMembershipsGenerateConnectManifestCall) Namespace(namespace string) *ProjectsLocationsMembershipsGenerateConnectManifestCall {
  8095  	c.urlParams_.Set("namespace", namespace)
  8096  	return c
  8097  }
  8098  
  8099  // Proxy sets the optional parameter "proxy": URI of a proxy if connectivity
  8100  // from the agent to gkeconnect.googleapis.com requires the use of a proxy.
  8101  // Format must be in the form `http(s)://{proxy_address}`, depending on the
  8102  // HTTP/HTTPS protocol supported by the proxy. This will direct the connect
  8103  // agent's outbound traffic through a HTTP(S) proxy.
  8104  func (c *ProjectsLocationsMembershipsGenerateConnectManifestCall) Proxy(proxy string) *ProjectsLocationsMembershipsGenerateConnectManifestCall {
  8105  	c.urlParams_.Set("proxy", proxy)
  8106  	return c
  8107  }
  8108  
  8109  // Registry sets the optional parameter "registry": The registry to fetch the
  8110  // connect agent image from. Defaults to gcr.io/gkeconnect.
  8111  func (c *ProjectsLocationsMembershipsGenerateConnectManifestCall) Registry(registry string) *ProjectsLocationsMembershipsGenerateConnectManifestCall {
  8112  	c.urlParams_.Set("registry", registry)
  8113  	return c
  8114  }
  8115  
  8116  // Version sets the optional parameter "version": The Connect agent version to
  8117  // use. Defaults to the most current version.
  8118  func (c *ProjectsLocationsMembershipsGenerateConnectManifestCall) Version(version string) *ProjectsLocationsMembershipsGenerateConnectManifestCall {
  8119  	c.urlParams_.Set("version", version)
  8120  	return c
  8121  }
  8122  
  8123  // Fields allows partial responses to be retrieved. See
  8124  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8125  // details.
  8126  func (c *ProjectsLocationsMembershipsGenerateConnectManifestCall) Fields(s ...googleapi.Field) *ProjectsLocationsMembershipsGenerateConnectManifestCall {
  8127  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8128  	return c
  8129  }
  8130  
  8131  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  8132  // object's ETag matches the given value. This is useful for getting updates
  8133  // only after the object has changed since the last request.
  8134  func (c *ProjectsLocationsMembershipsGenerateConnectManifestCall) IfNoneMatch(entityTag string) *ProjectsLocationsMembershipsGenerateConnectManifestCall {
  8135  	c.ifNoneMatch_ = entityTag
  8136  	return c
  8137  }
  8138  
  8139  // Context sets the context to be used in this call's Do method.
  8140  func (c *ProjectsLocationsMembershipsGenerateConnectManifestCall) Context(ctx context.Context) *ProjectsLocationsMembershipsGenerateConnectManifestCall {
  8141  	c.ctx_ = ctx
  8142  	return c
  8143  }
  8144  
  8145  // Header returns a http.Header that can be modified by the caller to add
  8146  // headers to the request.
  8147  func (c *ProjectsLocationsMembershipsGenerateConnectManifestCall) Header() http.Header {
  8148  	if c.header_ == nil {
  8149  		c.header_ = make(http.Header)
  8150  	}
  8151  	return c.header_
  8152  }
  8153  
  8154  func (c *ProjectsLocationsMembershipsGenerateConnectManifestCall) doRequest(alt string) (*http.Response, error) {
  8155  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8156  	if c.ifNoneMatch_ != "" {
  8157  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  8158  	}
  8159  	var body io.Reader = nil
  8160  	c.urlParams_.Set("alt", alt)
  8161  	c.urlParams_.Set("prettyPrint", "false")
  8162  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}:generateConnectManifest")
  8163  	urls += "?" + c.urlParams_.Encode()
  8164  	req, err := http.NewRequest("GET", urls, body)
  8165  	if err != nil {
  8166  		return nil, err
  8167  	}
  8168  	req.Header = reqHeaders
  8169  	googleapi.Expand(req.URL, map[string]string{
  8170  		"name": c.name,
  8171  	})
  8172  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8173  }
  8174  
  8175  // Do executes the "gkehub.projects.locations.memberships.generateConnectManifest" call.
  8176  // Any non-2xx status code is an error. Response headers are in either
  8177  // *GenerateConnectManifestResponse.ServerResponse.Header or (if a response was
  8178  // returned at all) in error.(*googleapi.Error).Header. Use
  8179  // googleapi.IsNotModified to check whether the returned error was because
  8180  // http.StatusNotModified was returned.
  8181  func (c *ProjectsLocationsMembershipsGenerateConnectManifestCall) Do(opts ...googleapi.CallOption) (*GenerateConnectManifestResponse, error) {
  8182  	gensupport.SetOptions(c.urlParams_, opts...)
  8183  	res, err := c.doRequest("json")
  8184  	if res != nil && res.StatusCode == http.StatusNotModified {
  8185  		if res.Body != nil {
  8186  			res.Body.Close()
  8187  		}
  8188  		return nil, gensupport.WrapError(&googleapi.Error{
  8189  			Code:   res.StatusCode,
  8190  			Header: res.Header,
  8191  		})
  8192  	}
  8193  	if err != nil {
  8194  		return nil, err
  8195  	}
  8196  	defer googleapi.CloseBody(res)
  8197  	if err := googleapi.CheckResponse(res); err != nil {
  8198  		return nil, gensupport.WrapError(err)
  8199  	}
  8200  	ret := &GenerateConnectManifestResponse{
  8201  		ServerResponse: googleapi.ServerResponse{
  8202  			Header:         res.Header,
  8203  			HTTPStatusCode: res.StatusCode,
  8204  		},
  8205  	}
  8206  	target := &ret
  8207  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8208  		return nil, err
  8209  	}
  8210  	return ret, nil
  8211  }
  8212  
  8213  type ProjectsLocationsMembershipsGetCall struct {
  8214  	s            *Service
  8215  	name         string
  8216  	urlParams_   gensupport.URLParams
  8217  	ifNoneMatch_ string
  8218  	ctx_         context.Context
  8219  	header_      http.Header
  8220  }
  8221  
  8222  // Get: Gets the details of a Membership.
  8223  //
  8224  //   - name: The Membership resource name in the format
  8225  //     `projects/*/locations/*/memberships/*`.
  8226  func (r *ProjectsLocationsMembershipsService) Get(name string) *ProjectsLocationsMembershipsGetCall {
  8227  	c := &ProjectsLocationsMembershipsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8228  	c.name = name
  8229  	return c
  8230  }
  8231  
  8232  // Fields allows partial responses to be retrieved. See
  8233  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8234  // details.
  8235  func (c *ProjectsLocationsMembershipsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsMembershipsGetCall {
  8236  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8237  	return c
  8238  }
  8239  
  8240  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  8241  // object's ETag matches the given value. This is useful for getting updates
  8242  // only after the object has changed since the last request.
  8243  func (c *ProjectsLocationsMembershipsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsMembershipsGetCall {
  8244  	c.ifNoneMatch_ = entityTag
  8245  	return c
  8246  }
  8247  
  8248  // Context sets the context to be used in this call's Do method.
  8249  func (c *ProjectsLocationsMembershipsGetCall) Context(ctx context.Context) *ProjectsLocationsMembershipsGetCall {
  8250  	c.ctx_ = ctx
  8251  	return c
  8252  }
  8253  
  8254  // Header returns a http.Header that can be modified by the caller to add
  8255  // headers to the request.
  8256  func (c *ProjectsLocationsMembershipsGetCall) Header() http.Header {
  8257  	if c.header_ == nil {
  8258  		c.header_ = make(http.Header)
  8259  	}
  8260  	return c.header_
  8261  }
  8262  
  8263  func (c *ProjectsLocationsMembershipsGetCall) doRequest(alt string) (*http.Response, error) {
  8264  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8265  	if c.ifNoneMatch_ != "" {
  8266  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  8267  	}
  8268  	var body io.Reader = nil
  8269  	c.urlParams_.Set("alt", alt)
  8270  	c.urlParams_.Set("prettyPrint", "false")
  8271  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}")
  8272  	urls += "?" + c.urlParams_.Encode()
  8273  	req, err := http.NewRequest("GET", urls, body)
  8274  	if err != nil {
  8275  		return nil, err
  8276  	}
  8277  	req.Header = reqHeaders
  8278  	googleapi.Expand(req.URL, map[string]string{
  8279  		"name": c.name,
  8280  	})
  8281  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8282  }
  8283  
  8284  // Do executes the "gkehub.projects.locations.memberships.get" call.
  8285  // Any non-2xx status code is an error. Response headers are in either
  8286  // *Membership.ServerResponse.Header or (if a response was returned at all) in
  8287  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8288  // whether the returned error was because http.StatusNotModified was returned.
  8289  func (c *ProjectsLocationsMembershipsGetCall) Do(opts ...googleapi.CallOption) (*Membership, error) {
  8290  	gensupport.SetOptions(c.urlParams_, opts...)
  8291  	res, err := c.doRequest("json")
  8292  	if res != nil && res.StatusCode == http.StatusNotModified {
  8293  		if res.Body != nil {
  8294  			res.Body.Close()
  8295  		}
  8296  		return nil, gensupport.WrapError(&googleapi.Error{
  8297  			Code:   res.StatusCode,
  8298  			Header: res.Header,
  8299  		})
  8300  	}
  8301  	if err != nil {
  8302  		return nil, err
  8303  	}
  8304  	defer googleapi.CloseBody(res)
  8305  	if err := googleapi.CheckResponse(res); err != nil {
  8306  		return nil, gensupport.WrapError(err)
  8307  	}
  8308  	ret := &Membership{
  8309  		ServerResponse: googleapi.ServerResponse{
  8310  			Header:         res.Header,
  8311  			HTTPStatusCode: res.StatusCode,
  8312  		},
  8313  	}
  8314  	target := &ret
  8315  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8316  		return nil, err
  8317  	}
  8318  	return ret, nil
  8319  }
  8320  
  8321  type ProjectsLocationsMembershipsGetIamPolicyCall struct {
  8322  	s            *Service
  8323  	resource     string
  8324  	urlParams_   gensupport.URLParams
  8325  	ifNoneMatch_ string
  8326  	ctx_         context.Context
  8327  	header_      http.Header
  8328  }
  8329  
  8330  // GetIamPolicy: Gets the access control policy for a resource. Returns an
  8331  // empty policy if the resource exists and does not have a policy set.
  8332  //
  8333  //   - resource: REQUIRED: The resource for which the policy is being requested.
  8334  //     See Resource names (https://cloud.google.com/apis/design/resource_names)
  8335  //     for the appropriate value for this field.
  8336  func (r *ProjectsLocationsMembershipsService) GetIamPolicy(resource string) *ProjectsLocationsMembershipsGetIamPolicyCall {
  8337  	c := &ProjectsLocationsMembershipsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8338  	c.resource = resource
  8339  	return c
  8340  }
  8341  
  8342  // OptionsRequestedPolicyVersion sets the optional parameter
  8343  // "options.requestedPolicyVersion": The maximum policy version that will be
  8344  // used to format the policy. Valid values are 0, 1, and 3. Requests specifying
  8345  // an invalid value will be rejected. Requests for policies with any
  8346  // conditional role bindings must specify version 3. Policies with no
  8347  // conditional role bindings may specify any valid value or leave the field
  8348  // unset. The policy in the response might use the policy version that you
  8349  // specified, or it might use a lower policy version. For example, if you
  8350  // specify version 3, but the policy has no conditional role bindings, the
  8351  // response uses version 1. To learn which resources support conditions in
  8352  // their IAM policies, see the IAM documentation
  8353  // (https://cloud.google.com/iam/help/conditions/resource-policies).
  8354  func (c *ProjectsLocationsMembershipsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsMembershipsGetIamPolicyCall {
  8355  	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
  8356  	return c
  8357  }
  8358  
  8359  // Fields allows partial responses to be retrieved. See
  8360  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8361  // details.
  8362  func (c *ProjectsLocationsMembershipsGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsMembershipsGetIamPolicyCall {
  8363  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8364  	return c
  8365  }
  8366  
  8367  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  8368  // object's ETag matches the given value. This is useful for getting updates
  8369  // only after the object has changed since the last request.
  8370  func (c *ProjectsLocationsMembershipsGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsLocationsMembershipsGetIamPolicyCall {
  8371  	c.ifNoneMatch_ = entityTag
  8372  	return c
  8373  }
  8374  
  8375  // Context sets the context to be used in this call's Do method.
  8376  func (c *ProjectsLocationsMembershipsGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsMembershipsGetIamPolicyCall {
  8377  	c.ctx_ = ctx
  8378  	return c
  8379  }
  8380  
  8381  // Header returns a http.Header that can be modified by the caller to add
  8382  // headers to the request.
  8383  func (c *ProjectsLocationsMembershipsGetIamPolicyCall) Header() http.Header {
  8384  	if c.header_ == nil {
  8385  		c.header_ = make(http.Header)
  8386  	}
  8387  	return c.header_
  8388  }
  8389  
  8390  func (c *ProjectsLocationsMembershipsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
  8391  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8392  	if c.ifNoneMatch_ != "" {
  8393  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  8394  	}
  8395  	var body io.Reader = nil
  8396  	c.urlParams_.Set("alt", alt)
  8397  	c.urlParams_.Set("prettyPrint", "false")
  8398  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+resource}:getIamPolicy")
  8399  	urls += "?" + c.urlParams_.Encode()
  8400  	req, err := http.NewRequest("GET", urls, body)
  8401  	if err != nil {
  8402  		return nil, err
  8403  	}
  8404  	req.Header = reqHeaders
  8405  	googleapi.Expand(req.URL, map[string]string{
  8406  		"resource": c.resource,
  8407  	})
  8408  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8409  }
  8410  
  8411  // Do executes the "gkehub.projects.locations.memberships.getIamPolicy" call.
  8412  // Any non-2xx status code is an error. Response headers are in either
  8413  // *Policy.ServerResponse.Header or (if a response was returned at all) in
  8414  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8415  // whether the returned error was because http.StatusNotModified was returned.
  8416  func (c *ProjectsLocationsMembershipsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
  8417  	gensupport.SetOptions(c.urlParams_, opts...)
  8418  	res, err := c.doRequest("json")
  8419  	if res != nil && res.StatusCode == http.StatusNotModified {
  8420  		if res.Body != nil {
  8421  			res.Body.Close()
  8422  		}
  8423  		return nil, gensupport.WrapError(&googleapi.Error{
  8424  			Code:   res.StatusCode,
  8425  			Header: res.Header,
  8426  		})
  8427  	}
  8428  	if err != nil {
  8429  		return nil, err
  8430  	}
  8431  	defer googleapi.CloseBody(res)
  8432  	if err := googleapi.CheckResponse(res); err != nil {
  8433  		return nil, gensupport.WrapError(err)
  8434  	}
  8435  	ret := &Policy{
  8436  		ServerResponse: googleapi.ServerResponse{
  8437  			Header:         res.Header,
  8438  			HTTPStatusCode: res.StatusCode,
  8439  		},
  8440  	}
  8441  	target := &ret
  8442  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8443  		return nil, err
  8444  	}
  8445  	return ret, nil
  8446  }
  8447  
  8448  type ProjectsLocationsMembershipsListCall struct {
  8449  	s            *Service
  8450  	parent       string
  8451  	urlParams_   gensupport.URLParams
  8452  	ifNoneMatch_ string
  8453  	ctx_         context.Context
  8454  	header_      http.Header
  8455  }
  8456  
  8457  // List: Lists Memberships in a given project and location.
  8458  //
  8459  //   - parent: The parent (project and location) where the Memberships will be
  8460  //     listed. Specified in the format `projects/*/locations/*`.
  8461  //     `projects/*/locations/-` list memberships in all the regions.
  8462  func (r *ProjectsLocationsMembershipsService) List(parent string) *ProjectsLocationsMembershipsListCall {
  8463  	c := &ProjectsLocationsMembershipsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8464  	c.parent = parent
  8465  	return c
  8466  }
  8467  
  8468  // Filter sets the optional parameter "filter": Lists Memberships that match
  8469  // the filter expression, following the syntax outlined in
  8470  // https://google.aip.dev/160. Examples: - Name is `bar` in project `foo-proj`
  8471  // and location `global`: name =
  8472  // "projects/foo-proj/locations/global/membership/bar" - Memberships that have
  8473  // a label called `foo`: labels.foo:* - Memberships that have a label called
  8474  // `foo` whose value is `bar`: labels.foo = bar - Memberships in the CREATING
  8475  // state: state = CREATING
  8476  func (c *ProjectsLocationsMembershipsListCall) Filter(filter string) *ProjectsLocationsMembershipsListCall {
  8477  	c.urlParams_.Set("filter", filter)
  8478  	return c
  8479  }
  8480  
  8481  // OrderBy sets the optional parameter "orderBy": One or more fields to compare
  8482  // and use to sort the output. See https://google.aip.dev/132#ordering.
  8483  func (c *ProjectsLocationsMembershipsListCall) OrderBy(orderBy string) *ProjectsLocationsMembershipsListCall {
  8484  	c.urlParams_.Set("orderBy", orderBy)
  8485  	return c
  8486  }
  8487  
  8488  // PageSize sets the optional parameter "pageSize": When requesting a 'page' of
  8489  // resources, `page_size` specifies number of resources to return. If
  8490  // unspecified or set to 0, all resources will be returned.
  8491  func (c *ProjectsLocationsMembershipsListCall) PageSize(pageSize int64) *ProjectsLocationsMembershipsListCall {
  8492  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  8493  	return c
  8494  }
  8495  
  8496  // PageToken sets the optional parameter "pageToken": Token returned by
  8497  // previous call to `ListMemberships` which specifies the position in the list
  8498  // from where to continue listing the resources.
  8499  func (c *ProjectsLocationsMembershipsListCall) PageToken(pageToken string) *ProjectsLocationsMembershipsListCall {
  8500  	c.urlParams_.Set("pageToken", pageToken)
  8501  	return c
  8502  }
  8503  
  8504  // Fields allows partial responses to be retrieved. See
  8505  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8506  // details.
  8507  func (c *ProjectsLocationsMembershipsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsMembershipsListCall {
  8508  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8509  	return c
  8510  }
  8511  
  8512  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  8513  // object's ETag matches the given value. This is useful for getting updates
  8514  // only after the object has changed since the last request.
  8515  func (c *ProjectsLocationsMembershipsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsMembershipsListCall {
  8516  	c.ifNoneMatch_ = entityTag
  8517  	return c
  8518  }
  8519  
  8520  // Context sets the context to be used in this call's Do method.
  8521  func (c *ProjectsLocationsMembershipsListCall) Context(ctx context.Context) *ProjectsLocationsMembershipsListCall {
  8522  	c.ctx_ = ctx
  8523  	return c
  8524  }
  8525  
  8526  // Header returns a http.Header that can be modified by the caller to add
  8527  // headers to the request.
  8528  func (c *ProjectsLocationsMembershipsListCall) Header() http.Header {
  8529  	if c.header_ == nil {
  8530  		c.header_ = make(http.Header)
  8531  	}
  8532  	return c.header_
  8533  }
  8534  
  8535  func (c *ProjectsLocationsMembershipsListCall) doRequest(alt string) (*http.Response, error) {
  8536  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8537  	if c.ifNoneMatch_ != "" {
  8538  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  8539  	}
  8540  	var body io.Reader = nil
  8541  	c.urlParams_.Set("alt", alt)
  8542  	c.urlParams_.Set("prettyPrint", "false")
  8543  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+parent}/memberships")
  8544  	urls += "?" + c.urlParams_.Encode()
  8545  	req, err := http.NewRequest("GET", urls, body)
  8546  	if err != nil {
  8547  		return nil, err
  8548  	}
  8549  	req.Header = reqHeaders
  8550  	googleapi.Expand(req.URL, map[string]string{
  8551  		"parent": c.parent,
  8552  	})
  8553  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8554  }
  8555  
  8556  // Do executes the "gkehub.projects.locations.memberships.list" call.
  8557  // Any non-2xx status code is an error. Response headers are in either
  8558  // *ListMembershipsResponse.ServerResponse.Header or (if a response was
  8559  // returned at all) in error.(*googleapi.Error).Header. Use
  8560  // googleapi.IsNotModified to check whether the returned error was because
  8561  // http.StatusNotModified was returned.
  8562  func (c *ProjectsLocationsMembershipsListCall) Do(opts ...googleapi.CallOption) (*ListMembershipsResponse, error) {
  8563  	gensupport.SetOptions(c.urlParams_, opts...)
  8564  	res, err := c.doRequest("json")
  8565  	if res != nil && res.StatusCode == http.StatusNotModified {
  8566  		if res.Body != nil {
  8567  			res.Body.Close()
  8568  		}
  8569  		return nil, gensupport.WrapError(&googleapi.Error{
  8570  			Code:   res.StatusCode,
  8571  			Header: res.Header,
  8572  		})
  8573  	}
  8574  	if err != nil {
  8575  		return nil, err
  8576  	}
  8577  	defer googleapi.CloseBody(res)
  8578  	if err := googleapi.CheckResponse(res); err != nil {
  8579  		return nil, gensupport.WrapError(err)
  8580  	}
  8581  	ret := &ListMembershipsResponse{
  8582  		ServerResponse: googleapi.ServerResponse{
  8583  			Header:         res.Header,
  8584  			HTTPStatusCode: res.StatusCode,
  8585  		},
  8586  	}
  8587  	target := &ret
  8588  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8589  		return nil, err
  8590  	}
  8591  	return ret, nil
  8592  }
  8593  
  8594  // Pages invokes f for each page of results.
  8595  // A non-nil error returned from f will halt the iteration.
  8596  // The provided context supersedes any context provided to the Context method.
  8597  func (c *ProjectsLocationsMembershipsListCall) Pages(ctx context.Context, f func(*ListMembershipsResponse) error) error {
  8598  	c.ctx_ = ctx
  8599  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  8600  	for {
  8601  		x, err := c.Do()
  8602  		if err != nil {
  8603  			return err
  8604  		}
  8605  		if err := f(x); err != nil {
  8606  			return err
  8607  		}
  8608  		if x.NextPageToken == "" {
  8609  			return nil
  8610  		}
  8611  		c.PageToken(x.NextPageToken)
  8612  	}
  8613  }
  8614  
  8615  type ProjectsLocationsMembershipsPatchCall struct {
  8616  	s          *Service
  8617  	name       string
  8618  	membership *Membership
  8619  	urlParams_ gensupport.URLParams
  8620  	ctx_       context.Context
  8621  	header_    http.Header
  8622  }
  8623  
  8624  // Patch: Updates an existing Membership.
  8625  //
  8626  //   - name: The Membership resource name in the format
  8627  //     `projects/*/locations/*/memberships/*`.
  8628  func (r *ProjectsLocationsMembershipsService) Patch(name string, membership *Membership) *ProjectsLocationsMembershipsPatchCall {
  8629  	c := &ProjectsLocationsMembershipsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8630  	c.name = name
  8631  	c.membership = membership
  8632  	return c
  8633  }
  8634  
  8635  // RequestId sets the optional parameter "requestId": A request ID to identify
  8636  // requests. Specify a unique request ID so that if you must retry your
  8637  // request, the server will know to ignore the request if it has already been
  8638  // completed. The server will guarantee that for at least 60 minutes after the
  8639  // first request. For example, consider a situation where you make an initial
  8640  // request and the request times out. If you make the request again with the
  8641  // same request ID, the server can check if original operation with the same
  8642  // request ID was received, and if so, will ignore the second request. This
  8643  // prevents clients from accidentally creating duplicate commitments. The
  8644  // request ID must be a valid UUID with the exception that zero UUID is not
  8645  // supported (00000000-0000-0000-0000-000000000000).
  8646  func (c *ProjectsLocationsMembershipsPatchCall) RequestId(requestId string) *ProjectsLocationsMembershipsPatchCall {
  8647  	c.urlParams_.Set("requestId", requestId)
  8648  	return c
  8649  }
  8650  
  8651  // UpdateMask sets the optional parameter "updateMask": Required. Mask of
  8652  // fields to update.
  8653  func (c *ProjectsLocationsMembershipsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsMembershipsPatchCall {
  8654  	c.urlParams_.Set("updateMask", updateMask)
  8655  	return c
  8656  }
  8657  
  8658  // Fields allows partial responses to be retrieved. See
  8659  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8660  // details.
  8661  func (c *ProjectsLocationsMembershipsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsMembershipsPatchCall {
  8662  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8663  	return c
  8664  }
  8665  
  8666  // Context sets the context to be used in this call's Do method.
  8667  func (c *ProjectsLocationsMembershipsPatchCall) Context(ctx context.Context) *ProjectsLocationsMembershipsPatchCall {
  8668  	c.ctx_ = ctx
  8669  	return c
  8670  }
  8671  
  8672  // Header returns a http.Header that can be modified by the caller to add
  8673  // headers to the request.
  8674  func (c *ProjectsLocationsMembershipsPatchCall) Header() http.Header {
  8675  	if c.header_ == nil {
  8676  		c.header_ = make(http.Header)
  8677  	}
  8678  	return c.header_
  8679  }
  8680  
  8681  func (c *ProjectsLocationsMembershipsPatchCall) doRequest(alt string) (*http.Response, error) {
  8682  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  8683  	var body io.Reader = nil
  8684  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.membership)
  8685  	if err != nil {
  8686  		return nil, err
  8687  	}
  8688  	c.urlParams_.Set("alt", alt)
  8689  	c.urlParams_.Set("prettyPrint", "false")
  8690  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}")
  8691  	urls += "?" + c.urlParams_.Encode()
  8692  	req, err := http.NewRequest("PATCH", urls, body)
  8693  	if err != nil {
  8694  		return nil, err
  8695  	}
  8696  	req.Header = reqHeaders
  8697  	googleapi.Expand(req.URL, map[string]string{
  8698  		"name": c.name,
  8699  	})
  8700  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8701  }
  8702  
  8703  // Do executes the "gkehub.projects.locations.memberships.patch" call.
  8704  // Any non-2xx status code is an error. Response headers are in either
  8705  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  8706  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8707  // whether the returned error was because http.StatusNotModified was returned.
  8708  func (c *ProjectsLocationsMembershipsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  8709  	gensupport.SetOptions(c.urlParams_, opts...)
  8710  	res, err := c.doRequest("json")
  8711  	if res != nil && res.StatusCode == http.StatusNotModified {
  8712  		if res.Body != nil {
  8713  			res.Body.Close()
  8714  		}
  8715  		return nil, gensupport.WrapError(&googleapi.Error{
  8716  			Code:   res.StatusCode,
  8717  			Header: res.Header,
  8718  		})
  8719  	}
  8720  	if err != nil {
  8721  		return nil, err
  8722  	}
  8723  	defer googleapi.CloseBody(res)
  8724  	if err := googleapi.CheckResponse(res); err != nil {
  8725  		return nil, gensupport.WrapError(err)
  8726  	}
  8727  	ret := &Operation{
  8728  		ServerResponse: googleapi.ServerResponse{
  8729  			Header:         res.Header,
  8730  			HTTPStatusCode: res.StatusCode,
  8731  		},
  8732  	}
  8733  	target := &ret
  8734  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8735  		return nil, err
  8736  	}
  8737  	return ret, nil
  8738  }
  8739  
  8740  type ProjectsLocationsMembershipsSetIamPolicyCall struct {
  8741  	s                   *Service
  8742  	resource            string
  8743  	setiampolicyrequest *SetIamPolicyRequest
  8744  	urlParams_          gensupport.URLParams
  8745  	ctx_                context.Context
  8746  	header_             http.Header
  8747  }
  8748  
  8749  // SetIamPolicy: Sets the access control policy on the specified resource.
  8750  // Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`,
  8751  // and `PERMISSION_DENIED` errors.
  8752  //
  8753  //   - resource: REQUIRED: The resource for which the policy is being specified.
  8754  //     See Resource names (https://cloud.google.com/apis/design/resource_names)
  8755  //     for the appropriate value for this field.
  8756  func (r *ProjectsLocationsMembershipsService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsMembershipsSetIamPolicyCall {
  8757  	c := &ProjectsLocationsMembershipsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8758  	c.resource = resource
  8759  	c.setiampolicyrequest = setiampolicyrequest
  8760  	return c
  8761  }
  8762  
  8763  // Fields allows partial responses to be retrieved. See
  8764  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8765  // details.
  8766  func (c *ProjectsLocationsMembershipsSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsMembershipsSetIamPolicyCall {
  8767  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8768  	return c
  8769  }
  8770  
  8771  // Context sets the context to be used in this call's Do method.
  8772  func (c *ProjectsLocationsMembershipsSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsMembershipsSetIamPolicyCall {
  8773  	c.ctx_ = ctx
  8774  	return c
  8775  }
  8776  
  8777  // Header returns a http.Header that can be modified by the caller to add
  8778  // headers to the request.
  8779  func (c *ProjectsLocationsMembershipsSetIamPolicyCall) Header() http.Header {
  8780  	if c.header_ == nil {
  8781  		c.header_ = make(http.Header)
  8782  	}
  8783  	return c.header_
  8784  }
  8785  
  8786  func (c *ProjectsLocationsMembershipsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
  8787  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  8788  	var body io.Reader = nil
  8789  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
  8790  	if err != nil {
  8791  		return nil, err
  8792  	}
  8793  	c.urlParams_.Set("alt", alt)
  8794  	c.urlParams_.Set("prettyPrint", "false")
  8795  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+resource}:setIamPolicy")
  8796  	urls += "?" + c.urlParams_.Encode()
  8797  	req, err := http.NewRequest("POST", urls, body)
  8798  	if err != nil {
  8799  		return nil, err
  8800  	}
  8801  	req.Header = reqHeaders
  8802  	googleapi.Expand(req.URL, map[string]string{
  8803  		"resource": c.resource,
  8804  	})
  8805  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8806  }
  8807  
  8808  // Do executes the "gkehub.projects.locations.memberships.setIamPolicy" call.
  8809  // Any non-2xx status code is an error. Response headers are in either
  8810  // *Policy.ServerResponse.Header or (if a response was returned at all) in
  8811  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8812  // whether the returned error was because http.StatusNotModified was returned.
  8813  func (c *ProjectsLocationsMembershipsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
  8814  	gensupport.SetOptions(c.urlParams_, opts...)
  8815  	res, err := c.doRequest("json")
  8816  	if res != nil && res.StatusCode == http.StatusNotModified {
  8817  		if res.Body != nil {
  8818  			res.Body.Close()
  8819  		}
  8820  		return nil, gensupport.WrapError(&googleapi.Error{
  8821  			Code:   res.StatusCode,
  8822  			Header: res.Header,
  8823  		})
  8824  	}
  8825  	if err != nil {
  8826  		return nil, err
  8827  	}
  8828  	defer googleapi.CloseBody(res)
  8829  	if err := googleapi.CheckResponse(res); err != nil {
  8830  		return nil, gensupport.WrapError(err)
  8831  	}
  8832  	ret := &Policy{
  8833  		ServerResponse: googleapi.ServerResponse{
  8834  			Header:         res.Header,
  8835  			HTTPStatusCode: res.StatusCode,
  8836  		},
  8837  	}
  8838  	target := &ret
  8839  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8840  		return nil, err
  8841  	}
  8842  	return ret, nil
  8843  }
  8844  
  8845  type ProjectsLocationsMembershipsTestIamPermissionsCall struct {
  8846  	s                         *Service
  8847  	resource                  string
  8848  	testiampermissionsrequest *TestIamPermissionsRequest
  8849  	urlParams_                gensupport.URLParams
  8850  	ctx_                      context.Context
  8851  	header_                   http.Header
  8852  }
  8853  
  8854  // TestIamPermissions: Returns permissions that a caller has on the specified
  8855  // resource. If the resource does not exist, this will return an empty set of
  8856  // permissions, not a `NOT_FOUND` error. Note: This operation is designed to be
  8857  // used for building permission-aware UIs and command-line tools, not for
  8858  // authorization checking. This operation may "fail open" without warning.
  8859  //
  8860  //   - resource: REQUIRED: The resource for which the policy detail is being
  8861  //     requested. See Resource names
  8862  //     (https://cloud.google.com/apis/design/resource_names) for the appropriate
  8863  //     value for this field.
  8864  func (r *ProjectsLocationsMembershipsService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsMembershipsTestIamPermissionsCall {
  8865  	c := &ProjectsLocationsMembershipsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8866  	c.resource = resource
  8867  	c.testiampermissionsrequest = testiampermissionsrequest
  8868  	return c
  8869  }
  8870  
  8871  // Fields allows partial responses to be retrieved. See
  8872  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8873  // details.
  8874  func (c *ProjectsLocationsMembershipsTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsMembershipsTestIamPermissionsCall {
  8875  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8876  	return c
  8877  }
  8878  
  8879  // Context sets the context to be used in this call's Do method.
  8880  func (c *ProjectsLocationsMembershipsTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsMembershipsTestIamPermissionsCall {
  8881  	c.ctx_ = ctx
  8882  	return c
  8883  }
  8884  
  8885  // Header returns a http.Header that can be modified by the caller to add
  8886  // headers to the request.
  8887  func (c *ProjectsLocationsMembershipsTestIamPermissionsCall) Header() http.Header {
  8888  	if c.header_ == nil {
  8889  		c.header_ = make(http.Header)
  8890  	}
  8891  	return c.header_
  8892  }
  8893  
  8894  func (c *ProjectsLocationsMembershipsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
  8895  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  8896  	var body io.Reader = nil
  8897  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
  8898  	if err != nil {
  8899  		return nil, err
  8900  	}
  8901  	c.urlParams_.Set("alt", alt)
  8902  	c.urlParams_.Set("prettyPrint", "false")
  8903  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+resource}:testIamPermissions")
  8904  	urls += "?" + c.urlParams_.Encode()
  8905  	req, err := http.NewRequest("POST", urls, body)
  8906  	if err != nil {
  8907  		return nil, err
  8908  	}
  8909  	req.Header = reqHeaders
  8910  	googleapi.Expand(req.URL, map[string]string{
  8911  		"resource": c.resource,
  8912  	})
  8913  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8914  }
  8915  
  8916  // Do executes the "gkehub.projects.locations.memberships.testIamPermissions" call.
  8917  // Any non-2xx status code is an error. Response headers are in either
  8918  // *TestIamPermissionsResponse.ServerResponse.Header or (if a response was
  8919  // returned at all) in error.(*googleapi.Error).Header. Use
  8920  // googleapi.IsNotModified to check whether the returned error was because
  8921  // http.StatusNotModified was returned.
  8922  func (c *ProjectsLocationsMembershipsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
  8923  	gensupport.SetOptions(c.urlParams_, opts...)
  8924  	res, err := c.doRequest("json")
  8925  	if res != nil && res.StatusCode == http.StatusNotModified {
  8926  		if res.Body != nil {
  8927  			res.Body.Close()
  8928  		}
  8929  		return nil, gensupport.WrapError(&googleapi.Error{
  8930  			Code:   res.StatusCode,
  8931  			Header: res.Header,
  8932  		})
  8933  	}
  8934  	if err != nil {
  8935  		return nil, err
  8936  	}
  8937  	defer googleapi.CloseBody(res)
  8938  	if err := googleapi.CheckResponse(res); err != nil {
  8939  		return nil, gensupport.WrapError(err)
  8940  	}
  8941  	ret := &TestIamPermissionsResponse{
  8942  		ServerResponse: googleapi.ServerResponse{
  8943  			Header:         res.Header,
  8944  			HTTPStatusCode: res.StatusCode,
  8945  		},
  8946  	}
  8947  	target := &ret
  8948  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8949  		return nil, err
  8950  	}
  8951  	return ret, nil
  8952  }
  8953  
  8954  type ProjectsLocationsMembershipsBindingsCreateCall struct {
  8955  	s                 *Service
  8956  	parent            string
  8957  	membershipbinding *MembershipBinding
  8958  	urlParams_        gensupport.URLParams
  8959  	ctx_              context.Context
  8960  	header_           http.Header
  8961  }
  8962  
  8963  // Create: Creates a MembershipBinding.
  8964  //
  8965  //   - parent: The parent (project and location) where the MembershipBinding will
  8966  //     be created. Specified in the format
  8967  //     `projects/*/locations/*/memberships/*`.
  8968  func (r *ProjectsLocationsMembershipsBindingsService) Create(parent string, membershipbinding *MembershipBinding) *ProjectsLocationsMembershipsBindingsCreateCall {
  8969  	c := &ProjectsLocationsMembershipsBindingsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8970  	c.parent = parent
  8971  	c.membershipbinding = membershipbinding
  8972  	return c
  8973  }
  8974  
  8975  // MembershipBindingId sets the optional parameter "membershipBindingId":
  8976  // Required. The ID to use for the MembershipBinding.
  8977  func (c *ProjectsLocationsMembershipsBindingsCreateCall) MembershipBindingId(membershipBindingId string) *ProjectsLocationsMembershipsBindingsCreateCall {
  8978  	c.urlParams_.Set("membershipBindingId", membershipBindingId)
  8979  	return c
  8980  }
  8981  
  8982  // Fields allows partial responses to be retrieved. See
  8983  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8984  // details.
  8985  func (c *ProjectsLocationsMembershipsBindingsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsMembershipsBindingsCreateCall {
  8986  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8987  	return c
  8988  }
  8989  
  8990  // Context sets the context to be used in this call's Do method.
  8991  func (c *ProjectsLocationsMembershipsBindingsCreateCall) Context(ctx context.Context) *ProjectsLocationsMembershipsBindingsCreateCall {
  8992  	c.ctx_ = ctx
  8993  	return c
  8994  }
  8995  
  8996  // Header returns a http.Header that can be modified by the caller to add
  8997  // headers to the request.
  8998  func (c *ProjectsLocationsMembershipsBindingsCreateCall) Header() http.Header {
  8999  	if c.header_ == nil {
  9000  		c.header_ = make(http.Header)
  9001  	}
  9002  	return c.header_
  9003  }
  9004  
  9005  func (c *ProjectsLocationsMembershipsBindingsCreateCall) doRequest(alt string) (*http.Response, error) {
  9006  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  9007  	var body io.Reader = nil
  9008  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.membershipbinding)
  9009  	if err != nil {
  9010  		return nil, err
  9011  	}
  9012  	c.urlParams_.Set("alt", alt)
  9013  	c.urlParams_.Set("prettyPrint", "false")
  9014  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+parent}/bindings")
  9015  	urls += "?" + c.urlParams_.Encode()
  9016  	req, err := http.NewRequest("POST", urls, body)
  9017  	if err != nil {
  9018  		return nil, err
  9019  	}
  9020  	req.Header = reqHeaders
  9021  	googleapi.Expand(req.URL, map[string]string{
  9022  		"parent": c.parent,
  9023  	})
  9024  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9025  }
  9026  
  9027  // Do executes the "gkehub.projects.locations.memberships.bindings.create" call.
  9028  // Any non-2xx status code is an error. Response headers are in either
  9029  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  9030  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9031  // whether the returned error was because http.StatusNotModified was returned.
  9032  func (c *ProjectsLocationsMembershipsBindingsCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  9033  	gensupport.SetOptions(c.urlParams_, opts...)
  9034  	res, err := c.doRequest("json")
  9035  	if res != nil && res.StatusCode == http.StatusNotModified {
  9036  		if res.Body != nil {
  9037  			res.Body.Close()
  9038  		}
  9039  		return nil, gensupport.WrapError(&googleapi.Error{
  9040  			Code:   res.StatusCode,
  9041  			Header: res.Header,
  9042  		})
  9043  	}
  9044  	if err != nil {
  9045  		return nil, err
  9046  	}
  9047  	defer googleapi.CloseBody(res)
  9048  	if err := googleapi.CheckResponse(res); err != nil {
  9049  		return nil, gensupport.WrapError(err)
  9050  	}
  9051  	ret := &Operation{
  9052  		ServerResponse: googleapi.ServerResponse{
  9053  			Header:         res.Header,
  9054  			HTTPStatusCode: res.StatusCode,
  9055  		},
  9056  	}
  9057  	target := &ret
  9058  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9059  		return nil, err
  9060  	}
  9061  	return ret, nil
  9062  }
  9063  
  9064  type ProjectsLocationsMembershipsBindingsDeleteCall struct {
  9065  	s          *Service
  9066  	name       string
  9067  	urlParams_ gensupport.URLParams
  9068  	ctx_       context.Context
  9069  	header_    http.Header
  9070  }
  9071  
  9072  // Delete: Deletes a MembershipBinding.
  9073  //
  9074  //   - name: The MembershipBinding resource name in the format
  9075  //     `projects/*/locations/*/memberships/*/bindings/*`.
  9076  func (r *ProjectsLocationsMembershipsBindingsService) Delete(name string) *ProjectsLocationsMembershipsBindingsDeleteCall {
  9077  	c := &ProjectsLocationsMembershipsBindingsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9078  	c.name = name
  9079  	return c
  9080  }
  9081  
  9082  // Fields allows partial responses to be retrieved. See
  9083  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9084  // details.
  9085  func (c *ProjectsLocationsMembershipsBindingsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsMembershipsBindingsDeleteCall {
  9086  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9087  	return c
  9088  }
  9089  
  9090  // Context sets the context to be used in this call's Do method.
  9091  func (c *ProjectsLocationsMembershipsBindingsDeleteCall) Context(ctx context.Context) *ProjectsLocationsMembershipsBindingsDeleteCall {
  9092  	c.ctx_ = ctx
  9093  	return c
  9094  }
  9095  
  9096  // Header returns a http.Header that can be modified by the caller to add
  9097  // headers to the request.
  9098  func (c *ProjectsLocationsMembershipsBindingsDeleteCall) Header() http.Header {
  9099  	if c.header_ == nil {
  9100  		c.header_ = make(http.Header)
  9101  	}
  9102  	return c.header_
  9103  }
  9104  
  9105  func (c *ProjectsLocationsMembershipsBindingsDeleteCall) doRequest(alt string) (*http.Response, error) {
  9106  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9107  	var body io.Reader = nil
  9108  	c.urlParams_.Set("alt", alt)
  9109  	c.urlParams_.Set("prettyPrint", "false")
  9110  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}")
  9111  	urls += "?" + c.urlParams_.Encode()
  9112  	req, err := http.NewRequest("DELETE", urls, body)
  9113  	if err != nil {
  9114  		return nil, err
  9115  	}
  9116  	req.Header = reqHeaders
  9117  	googleapi.Expand(req.URL, map[string]string{
  9118  		"name": c.name,
  9119  	})
  9120  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9121  }
  9122  
  9123  // Do executes the "gkehub.projects.locations.memberships.bindings.delete" call.
  9124  // Any non-2xx status code is an error. Response headers are in either
  9125  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  9126  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9127  // whether the returned error was because http.StatusNotModified was returned.
  9128  func (c *ProjectsLocationsMembershipsBindingsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  9129  	gensupport.SetOptions(c.urlParams_, opts...)
  9130  	res, err := c.doRequest("json")
  9131  	if res != nil && res.StatusCode == http.StatusNotModified {
  9132  		if res.Body != nil {
  9133  			res.Body.Close()
  9134  		}
  9135  		return nil, gensupport.WrapError(&googleapi.Error{
  9136  			Code:   res.StatusCode,
  9137  			Header: res.Header,
  9138  		})
  9139  	}
  9140  	if err != nil {
  9141  		return nil, err
  9142  	}
  9143  	defer googleapi.CloseBody(res)
  9144  	if err := googleapi.CheckResponse(res); err != nil {
  9145  		return nil, gensupport.WrapError(err)
  9146  	}
  9147  	ret := &Operation{
  9148  		ServerResponse: googleapi.ServerResponse{
  9149  			Header:         res.Header,
  9150  			HTTPStatusCode: res.StatusCode,
  9151  		},
  9152  	}
  9153  	target := &ret
  9154  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9155  		return nil, err
  9156  	}
  9157  	return ret, nil
  9158  }
  9159  
  9160  type ProjectsLocationsMembershipsBindingsGetCall struct {
  9161  	s            *Service
  9162  	name         string
  9163  	urlParams_   gensupport.URLParams
  9164  	ifNoneMatch_ string
  9165  	ctx_         context.Context
  9166  	header_      http.Header
  9167  }
  9168  
  9169  // Get: Returns the details of a MembershipBinding.
  9170  //
  9171  //   - name: The MembershipBinding resource name in the format
  9172  //     `projects/*/locations/*/memberships/*/bindings/*`.
  9173  func (r *ProjectsLocationsMembershipsBindingsService) Get(name string) *ProjectsLocationsMembershipsBindingsGetCall {
  9174  	c := &ProjectsLocationsMembershipsBindingsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9175  	c.name = name
  9176  	return c
  9177  }
  9178  
  9179  // Fields allows partial responses to be retrieved. See
  9180  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9181  // details.
  9182  func (c *ProjectsLocationsMembershipsBindingsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsMembershipsBindingsGetCall {
  9183  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9184  	return c
  9185  }
  9186  
  9187  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  9188  // object's ETag matches the given value. This is useful for getting updates
  9189  // only after the object has changed since the last request.
  9190  func (c *ProjectsLocationsMembershipsBindingsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsMembershipsBindingsGetCall {
  9191  	c.ifNoneMatch_ = entityTag
  9192  	return c
  9193  }
  9194  
  9195  // Context sets the context to be used in this call's Do method.
  9196  func (c *ProjectsLocationsMembershipsBindingsGetCall) Context(ctx context.Context) *ProjectsLocationsMembershipsBindingsGetCall {
  9197  	c.ctx_ = ctx
  9198  	return c
  9199  }
  9200  
  9201  // Header returns a http.Header that can be modified by the caller to add
  9202  // headers to the request.
  9203  func (c *ProjectsLocationsMembershipsBindingsGetCall) Header() http.Header {
  9204  	if c.header_ == nil {
  9205  		c.header_ = make(http.Header)
  9206  	}
  9207  	return c.header_
  9208  }
  9209  
  9210  func (c *ProjectsLocationsMembershipsBindingsGetCall) doRequest(alt string) (*http.Response, error) {
  9211  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9212  	if c.ifNoneMatch_ != "" {
  9213  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  9214  	}
  9215  	var body io.Reader = nil
  9216  	c.urlParams_.Set("alt", alt)
  9217  	c.urlParams_.Set("prettyPrint", "false")
  9218  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}")
  9219  	urls += "?" + c.urlParams_.Encode()
  9220  	req, err := http.NewRequest("GET", urls, body)
  9221  	if err != nil {
  9222  		return nil, err
  9223  	}
  9224  	req.Header = reqHeaders
  9225  	googleapi.Expand(req.URL, map[string]string{
  9226  		"name": c.name,
  9227  	})
  9228  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9229  }
  9230  
  9231  // Do executes the "gkehub.projects.locations.memberships.bindings.get" call.
  9232  // Any non-2xx status code is an error. Response headers are in either
  9233  // *MembershipBinding.ServerResponse.Header or (if a response was returned at
  9234  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  9235  // check whether the returned error was because http.StatusNotModified was
  9236  // returned.
  9237  func (c *ProjectsLocationsMembershipsBindingsGetCall) Do(opts ...googleapi.CallOption) (*MembershipBinding, error) {
  9238  	gensupport.SetOptions(c.urlParams_, opts...)
  9239  	res, err := c.doRequest("json")
  9240  	if res != nil && res.StatusCode == http.StatusNotModified {
  9241  		if res.Body != nil {
  9242  			res.Body.Close()
  9243  		}
  9244  		return nil, gensupport.WrapError(&googleapi.Error{
  9245  			Code:   res.StatusCode,
  9246  			Header: res.Header,
  9247  		})
  9248  	}
  9249  	if err != nil {
  9250  		return nil, err
  9251  	}
  9252  	defer googleapi.CloseBody(res)
  9253  	if err := googleapi.CheckResponse(res); err != nil {
  9254  		return nil, gensupport.WrapError(err)
  9255  	}
  9256  	ret := &MembershipBinding{
  9257  		ServerResponse: googleapi.ServerResponse{
  9258  			Header:         res.Header,
  9259  			HTTPStatusCode: res.StatusCode,
  9260  		},
  9261  	}
  9262  	target := &ret
  9263  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9264  		return nil, err
  9265  	}
  9266  	return ret, nil
  9267  }
  9268  
  9269  type ProjectsLocationsMembershipsBindingsListCall struct {
  9270  	s            *Service
  9271  	parent       string
  9272  	urlParams_   gensupport.URLParams
  9273  	ifNoneMatch_ string
  9274  	ctx_         context.Context
  9275  	header_      http.Header
  9276  }
  9277  
  9278  // List: Lists MembershipBindings.
  9279  //
  9280  //   - parent: The parent Membership for which the MembershipBindings will be
  9281  //     listed. Specified in the format `projects/*/locations/*/memberships/*`.
  9282  func (r *ProjectsLocationsMembershipsBindingsService) List(parent string) *ProjectsLocationsMembershipsBindingsListCall {
  9283  	c := &ProjectsLocationsMembershipsBindingsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9284  	c.parent = parent
  9285  	return c
  9286  }
  9287  
  9288  // Filter sets the optional parameter "filter": Lists MembershipBindings that
  9289  // match the filter expression, following the syntax outlined in
  9290  // https://google.aip.dev/160.
  9291  func (c *ProjectsLocationsMembershipsBindingsListCall) Filter(filter string) *ProjectsLocationsMembershipsBindingsListCall {
  9292  	c.urlParams_.Set("filter", filter)
  9293  	return c
  9294  }
  9295  
  9296  // PageSize sets the optional parameter "pageSize": When requesting a 'page' of
  9297  // resources, `page_size` specifies number of resources to return. If
  9298  // unspecified or set to 0, all resources will be returned.
  9299  func (c *ProjectsLocationsMembershipsBindingsListCall) PageSize(pageSize int64) *ProjectsLocationsMembershipsBindingsListCall {
  9300  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  9301  	return c
  9302  }
  9303  
  9304  // PageToken sets the optional parameter "pageToken": Token returned by
  9305  // previous call to `ListMembershipBindings` which specifies the position in
  9306  // the list from where to continue listing the resources.
  9307  func (c *ProjectsLocationsMembershipsBindingsListCall) PageToken(pageToken string) *ProjectsLocationsMembershipsBindingsListCall {
  9308  	c.urlParams_.Set("pageToken", pageToken)
  9309  	return c
  9310  }
  9311  
  9312  // Fields allows partial responses to be retrieved. See
  9313  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9314  // details.
  9315  func (c *ProjectsLocationsMembershipsBindingsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsMembershipsBindingsListCall {
  9316  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9317  	return c
  9318  }
  9319  
  9320  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  9321  // object's ETag matches the given value. This is useful for getting updates
  9322  // only after the object has changed since the last request.
  9323  func (c *ProjectsLocationsMembershipsBindingsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsMembershipsBindingsListCall {
  9324  	c.ifNoneMatch_ = entityTag
  9325  	return c
  9326  }
  9327  
  9328  // Context sets the context to be used in this call's Do method.
  9329  func (c *ProjectsLocationsMembershipsBindingsListCall) Context(ctx context.Context) *ProjectsLocationsMembershipsBindingsListCall {
  9330  	c.ctx_ = ctx
  9331  	return c
  9332  }
  9333  
  9334  // Header returns a http.Header that can be modified by the caller to add
  9335  // headers to the request.
  9336  func (c *ProjectsLocationsMembershipsBindingsListCall) Header() http.Header {
  9337  	if c.header_ == nil {
  9338  		c.header_ = make(http.Header)
  9339  	}
  9340  	return c.header_
  9341  }
  9342  
  9343  func (c *ProjectsLocationsMembershipsBindingsListCall) doRequest(alt string) (*http.Response, error) {
  9344  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9345  	if c.ifNoneMatch_ != "" {
  9346  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  9347  	}
  9348  	var body io.Reader = nil
  9349  	c.urlParams_.Set("alt", alt)
  9350  	c.urlParams_.Set("prettyPrint", "false")
  9351  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+parent}/bindings")
  9352  	urls += "?" + c.urlParams_.Encode()
  9353  	req, err := http.NewRequest("GET", urls, body)
  9354  	if err != nil {
  9355  		return nil, err
  9356  	}
  9357  	req.Header = reqHeaders
  9358  	googleapi.Expand(req.URL, map[string]string{
  9359  		"parent": c.parent,
  9360  	})
  9361  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9362  }
  9363  
  9364  // Do executes the "gkehub.projects.locations.memberships.bindings.list" call.
  9365  // Any non-2xx status code is an error. Response headers are in either
  9366  // *ListMembershipBindingsResponse.ServerResponse.Header or (if a response was
  9367  // returned at all) in error.(*googleapi.Error).Header. Use
  9368  // googleapi.IsNotModified to check whether the returned error was because
  9369  // http.StatusNotModified was returned.
  9370  func (c *ProjectsLocationsMembershipsBindingsListCall) Do(opts ...googleapi.CallOption) (*ListMembershipBindingsResponse, error) {
  9371  	gensupport.SetOptions(c.urlParams_, opts...)
  9372  	res, err := c.doRequest("json")
  9373  	if res != nil && res.StatusCode == http.StatusNotModified {
  9374  		if res.Body != nil {
  9375  			res.Body.Close()
  9376  		}
  9377  		return nil, gensupport.WrapError(&googleapi.Error{
  9378  			Code:   res.StatusCode,
  9379  			Header: res.Header,
  9380  		})
  9381  	}
  9382  	if err != nil {
  9383  		return nil, err
  9384  	}
  9385  	defer googleapi.CloseBody(res)
  9386  	if err := googleapi.CheckResponse(res); err != nil {
  9387  		return nil, gensupport.WrapError(err)
  9388  	}
  9389  	ret := &ListMembershipBindingsResponse{
  9390  		ServerResponse: googleapi.ServerResponse{
  9391  			Header:         res.Header,
  9392  			HTTPStatusCode: res.StatusCode,
  9393  		},
  9394  	}
  9395  	target := &ret
  9396  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9397  		return nil, err
  9398  	}
  9399  	return ret, nil
  9400  }
  9401  
  9402  // Pages invokes f for each page of results.
  9403  // A non-nil error returned from f will halt the iteration.
  9404  // The provided context supersedes any context provided to the Context method.
  9405  func (c *ProjectsLocationsMembershipsBindingsListCall) Pages(ctx context.Context, f func(*ListMembershipBindingsResponse) error) error {
  9406  	c.ctx_ = ctx
  9407  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  9408  	for {
  9409  		x, err := c.Do()
  9410  		if err != nil {
  9411  			return err
  9412  		}
  9413  		if err := f(x); err != nil {
  9414  			return err
  9415  		}
  9416  		if x.NextPageToken == "" {
  9417  			return nil
  9418  		}
  9419  		c.PageToken(x.NextPageToken)
  9420  	}
  9421  }
  9422  
  9423  type ProjectsLocationsMembershipsBindingsPatchCall struct {
  9424  	s                 *Service
  9425  	name              string
  9426  	membershipbinding *MembershipBinding
  9427  	urlParams_        gensupport.URLParams
  9428  	ctx_              context.Context
  9429  	header_           http.Header
  9430  }
  9431  
  9432  // Patch: Updates a MembershipBinding.
  9433  //
  9434  //   - name: The resource name for the membershipbinding itself
  9435  //     `projects/{project}/locations/{location}/memberships/{membership}/bindings/
  9436  //     {membershipbinding}`.
  9437  func (r *ProjectsLocationsMembershipsBindingsService) Patch(name string, membershipbinding *MembershipBinding) *ProjectsLocationsMembershipsBindingsPatchCall {
  9438  	c := &ProjectsLocationsMembershipsBindingsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9439  	c.name = name
  9440  	c.membershipbinding = membershipbinding
  9441  	return c
  9442  }
  9443  
  9444  // UpdateMask sets the optional parameter "updateMask": Required. The fields to
  9445  // be updated.
  9446  func (c *ProjectsLocationsMembershipsBindingsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsMembershipsBindingsPatchCall {
  9447  	c.urlParams_.Set("updateMask", updateMask)
  9448  	return c
  9449  }
  9450  
  9451  // Fields allows partial responses to be retrieved. See
  9452  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9453  // details.
  9454  func (c *ProjectsLocationsMembershipsBindingsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsMembershipsBindingsPatchCall {
  9455  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9456  	return c
  9457  }
  9458  
  9459  // Context sets the context to be used in this call's Do method.
  9460  func (c *ProjectsLocationsMembershipsBindingsPatchCall) Context(ctx context.Context) *ProjectsLocationsMembershipsBindingsPatchCall {
  9461  	c.ctx_ = ctx
  9462  	return c
  9463  }
  9464  
  9465  // Header returns a http.Header that can be modified by the caller to add
  9466  // headers to the request.
  9467  func (c *ProjectsLocationsMembershipsBindingsPatchCall) Header() http.Header {
  9468  	if c.header_ == nil {
  9469  		c.header_ = make(http.Header)
  9470  	}
  9471  	return c.header_
  9472  }
  9473  
  9474  func (c *ProjectsLocationsMembershipsBindingsPatchCall) doRequest(alt string) (*http.Response, error) {
  9475  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  9476  	var body io.Reader = nil
  9477  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.membershipbinding)
  9478  	if err != nil {
  9479  		return nil, err
  9480  	}
  9481  	c.urlParams_.Set("alt", alt)
  9482  	c.urlParams_.Set("prettyPrint", "false")
  9483  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}")
  9484  	urls += "?" + c.urlParams_.Encode()
  9485  	req, err := http.NewRequest("PATCH", urls, body)
  9486  	if err != nil {
  9487  		return nil, err
  9488  	}
  9489  	req.Header = reqHeaders
  9490  	googleapi.Expand(req.URL, map[string]string{
  9491  		"name": c.name,
  9492  	})
  9493  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9494  }
  9495  
  9496  // Do executes the "gkehub.projects.locations.memberships.bindings.patch" call.
  9497  // Any non-2xx status code is an error. Response headers are in either
  9498  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  9499  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9500  // whether the returned error was because http.StatusNotModified was returned.
  9501  func (c *ProjectsLocationsMembershipsBindingsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  9502  	gensupport.SetOptions(c.urlParams_, opts...)
  9503  	res, err := c.doRequest("json")
  9504  	if res != nil && res.StatusCode == http.StatusNotModified {
  9505  		if res.Body != nil {
  9506  			res.Body.Close()
  9507  		}
  9508  		return nil, gensupport.WrapError(&googleapi.Error{
  9509  			Code:   res.StatusCode,
  9510  			Header: res.Header,
  9511  		})
  9512  	}
  9513  	if err != nil {
  9514  		return nil, err
  9515  	}
  9516  	defer googleapi.CloseBody(res)
  9517  	if err := googleapi.CheckResponse(res); err != nil {
  9518  		return nil, gensupport.WrapError(err)
  9519  	}
  9520  	ret := &Operation{
  9521  		ServerResponse: googleapi.ServerResponse{
  9522  			Header:         res.Header,
  9523  			HTTPStatusCode: res.StatusCode,
  9524  		},
  9525  	}
  9526  	target := &ret
  9527  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9528  		return nil, err
  9529  	}
  9530  	return ret, nil
  9531  }
  9532  
  9533  type ProjectsLocationsMembershipsRbacrolebindingsCreateCall struct {
  9534  	s               *Service
  9535  	parent          string
  9536  	rbacrolebinding *RBACRoleBinding
  9537  	urlParams_      gensupport.URLParams
  9538  	ctx_            context.Context
  9539  	header_         http.Header
  9540  }
  9541  
  9542  // Create: Creates a Membership RBACRoleBinding.
  9543  //
  9544  //   - parent: The parent (project and location) where the RBACRoleBinding will
  9545  //     be created. Specified in the format
  9546  //     `projects/*/locations/*/memberships/*`.
  9547  func (r *ProjectsLocationsMembershipsRbacrolebindingsService) Create(parent string, rbacrolebinding *RBACRoleBinding) *ProjectsLocationsMembershipsRbacrolebindingsCreateCall {
  9548  	c := &ProjectsLocationsMembershipsRbacrolebindingsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9549  	c.parent = parent
  9550  	c.rbacrolebinding = rbacrolebinding
  9551  	return c
  9552  }
  9553  
  9554  // RbacrolebindingId sets the optional parameter "rbacrolebindingId": Required.
  9555  // Client chosen ID for the RBACRoleBinding. `rbacrolebinding_id` must be a
  9556  // valid RFC 1123 compliant DNS label: 1. At most 63 characters in length 2. It
  9557  // must consist of lower case alphanumeric characters or `-` 3. It must start
  9558  // and end with an alphanumeric character Which can be expressed as the regex:
  9559  // `[a-z0-9]([-a-z0-9]*[a-z0-9])?`, with a maximum length of 63 characters.
  9560  func (c *ProjectsLocationsMembershipsRbacrolebindingsCreateCall) RbacrolebindingId(rbacrolebindingId string) *ProjectsLocationsMembershipsRbacrolebindingsCreateCall {
  9561  	c.urlParams_.Set("rbacrolebindingId", rbacrolebindingId)
  9562  	return c
  9563  }
  9564  
  9565  // Fields allows partial responses to be retrieved. See
  9566  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9567  // details.
  9568  func (c *ProjectsLocationsMembershipsRbacrolebindingsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsMembershipsRbacrolebindingsCreateCall {
  9569  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9570  	return c
  9571  }
  9572  
  9573  // Context sets the context to be used in this call's Do method.
  9574  func (c *ProjectsLocationsMembershipsRbacrolebindingsCreateCall) Context(ctx context.Context) *ProjectsLocationsMembershipsRbacrolebindingsCreateCall {
  9575  	c.ctx_ = ctx
  9576  	return c
  9577  }
  9578  
  9579  // Header returns a http.Header that can be modified by the caller to add
  9580  // headers to the request.
  9581  func (c *ProjectsLocationsMembershipsRbacrolebindingsCreateCall) Header() http.Header {
  9582  	if c.header_ == nil {
  9583  		c.header_ = make(http.Header)
  9584  	}
  9585  	return c.header_
  9586  }
  9587  
  9588  func (c *ProjectsLocationsMembershipsRbacrolebindingsCreateCall) doRequest(alt string) (*http.Response, error) {
  9589  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  9590  	var body io.Reader = nil
  9591  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.rbacrolebinding)
  9592  	if err != nil {
  9593  		return nil, err
  9594  	}
  9595  	c.urlParams_.Set("alt", alt)
  9596  	c.urlParams_.Set("prettyPrint", "false")
  9597  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+parent}/rbacrolebindings")
  9598  	urls += "?" + c.urlParams_.Encode()
  9599  	req, err := http.NewRequest("POST", urls, body)
  9600  	if err != nil {
  9601  		return nil, err
  9602  	}
  9603  	req.Header = reqHeaders
  9604  	googleapi.Expand(req.URL, map[string]string{
  9605  		"parent": c.parent,
  9606  	})
  9607  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9608  }
  9609  
  9610  // Do executes the "gkehub.projects.locations.memberships.rbacrolebindings.create" call.
  9611  // Any non-2xx status code is an error. Response headers are in either
  9612  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  9613  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9614  // whether the returned error was because http.StatusNotModified was returned.
  9615  func (c *ProjectsLocationsMembershipsRbacrolebindingsCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  9616  	gensupport.SetOptions(c.urlParams_, opts...)
  9617  	res, err := c.doRequest("json")
  9618  	if res != nil && res.StatusCode == http.StatusNotModified {
  9619  		if res.Body != nil {
  9620  			res.Body.Close()
  9621  		}
  9622  		return nil, gensupport.WrapError(&googleapi.Error{
  9623  			Code:   res.StatusCode,
  9624  			Header: res.Header,
  9625  		})
  9626  	}
  9627  	if err != nil {
  9628  		return nil, err
  9629  	}
  9630  	defer googleapi.CloseBody(res)
  9631  	if err := googleapi.CheckResponse(res); err != nil {
  9632  		return nil, gensupport.WrapError(err)
  9633  	}
  9634  	ret := &Operation{
  9635  		ServerResponse: googleapi.ServerResponse{
  9636  			Header:         res.Header,
  9637  			HTTPStatusCode: res.StatusCode,
  9638  		},
  9639  	}
  9640  	target := &ret
  9641  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9642  		return nil, err
  9643  	}
  9644  	return ret, nil
  9645  }
  9646  
  9647  type ProjectsLocationsMembershipsRbacrolebindingsDeleteCall struct {
  9648  	s          *Service
  9649  	name       string
  9650  	urlParams_ gensupport.URLParams
  9651  	ctx_       context.Context
  9652  	header_    http.Header
  9653  }
  9654  
  9655  // Delete: Deletes a Membership RBACRoleBinding.
  9656  //
  9657  //   - name: The RBACRoleBinding resource name in the format
  9658  //     `projects/*/locations/*/memberships/*/rbacrolebindings/*`.
  9659  func (r *ProjectsLocationsMembershipsRbacrolebindingsService) Delete(name string) *ProjectsLocationsMembershipsRbacrolebindingsDeleteCall {
  9660  	c := &ProjectsLocationsMembershipsRbacrolebindingsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9661  	c.name = name
  9662  	return c
  9663  }
  9664  
  9665  // Fields allows partial responses to be retrieved. See
  9666  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9667  // details.
  9668  func (c *ProjectsLocationsMembershipsRbacrolebindingsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsMembershipsRbacrolebindingsDeleteCall {
  9669  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9670  	return c
  9671  }
  9672  
  9673  // Context sets the context to be used in this call's Do method.
  9674  func (c *ProjectsLocationsMembershipsRbacrolebindingsDeleteCall) Context(ctx context.Context) *ProjectsLocationsMembershipsRbacrolebindingsDeleteCall {
  9675  	c.ctx_ = ctx
  9676  	return c
  9677  }
  9678  
  9679  // Header returns a http.Header that can be modified by the caller to add
  9680  // headers to the request.
  9681  func (c *ProjectsLocationsMembershipsRbacrolebindingsDeleteCall) Header() http.Header {
  9682  	if c.header_ == nil {
  9683  		c.header_ = make(http.Header)
  9684  	}
  9685  	return c.header_
  9686  }
  9687  
  9688  func (c *ProjectsLocationsMembershipsRbacrolebindingsDeleteCall) doRequest(alt string) (*http.Response, error) {
  9689  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9690  	var body io.Reader = nil
  9691  	c.urlParams_.Set("alt", alt)
  9692  	c.urlParams_.Set("prettyPrint", "false")
  9693  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}")
  9694  	urls += "?" + c.urlParams_.Encode()
  9695  	req, err := http.NewRequest("DELETE", urls, body)
  9696  	if err != nil {
  9697  		return nil, err
  9698  	}
  9699  	req.Header = reqHeaders
  9700  	googleapi.Expand(req.URL, map[string]string{
  9701  		"name": c.name,
  9702  	})
  9703  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9704  }
  9705  
  9706  // Do executes the "gkehub.projects.locations.memberships.rbacrolebindings.delete" call.
  9707  // Any non-2xx status code is an error. Response headers are in either
  9708  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  9709  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9710  // whether the returned error was because http.StatusNotModified was returned.
  9711  func (c *ProjectsLocationsMembershipsRbacrolebindingsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  9712  	gensupport.SetOptions(c.urlParams_, opts...)
  9713  	res, err := c.doRequest("json")
  9714  	if res != nil && res.StatusCode == http.StatusNotModified {
  9715  		if res.Body != nil {
  9716  			res.Body.Close()
  9717  		}
  9718  		return nil, gensupport.WrapError(&googleapi.Error{
  9719  			Code:   res.StatusCode,
  9720  			Header: res.Header,
  9721  		})
  9722  	}
  9723  	if err != nil {
  9724  		return nil, err
  9725  	}
  9726  	defer googleapi.CloseBody(res)
  9727  	if err := googleapi.CheckResponse(res); err != nil {
  9728  		return nil, gensupport.WrapError(err)
  9729  	}
  9730  	ret := &Operation{
  9731  		ServerResponse: googleapi.ServerResponse{
  9732  			Header:         res.Header,
  9733  			HTTPStatusCode: res.StatusCode,
  9734  		},
  9735  	}
  9736  	target := &ret
  9737  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9738  		return nil, err
  9739  	}
  9740  	return ret, nil
  9741  }
  9742  
  9743  type ProjectsLocationsMembershipsRbacrolebindingsGenerateMembershipRBACRoleBindingYAMLCall struct {
  9744  	s               *Service
  9745  	parent          string
  9746  	rbacrolebinding *RBACRoleBinding
  9747  	urlParams_      gensupport.URLParams
  9748  	ctx_            context.Context
  9749  	header_         http.Header
  9750  }
  9751  
  9752  // GenerateMembershipRBACRoleBindingYAML: Generates a YAML of the RBAC policies
  9753  // for the specified RoleBinding and its associated impersonation resources.
  9754  //
  9755  //   - parent: The parent (project and location) where the RBACRoleBinding will
  9756  //     be created. Specified in the format
  9757  //     `projects/*/locations/*/memberships/*`.
  9758  func (r *ProjectsLocationsMembershipsRbacrolebindingsService) GenerateMembershipRBACRoleBindingYAML(parent string, rbacrolebinding *RBACRoleBinding) *ProjectsLocationsMembershipsRbacrolebindingsGenerateMembershipRBACRoleBindingYAMLCall {
  9759  	c := &ProjectsLocationsMembershipsRbacrolebindingsGenerateMembershipRBACRoleBindingYAMLCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9760  	c.parent = parent
  9761  	c.rbacrolebinding = rbacrolebinding
  9762  	return c
  9763  }
  9764  
  9765  // RbacrolebindingId sets the optional parameter "rbacrolebindingId": Required.
  9766  // Client chosen ID for the RBACRoleBinding. `rbacrolebinding_id` must be a
  9767  // valid RFC 1123 compliant DNS label: 1. At most 63 characters in length 2. It
  9768  // must consist of lower case alphanumeric characters or `-` 3. It must start
  9769  // and end with an alphanumeric character Which can be expressed as the regex:
  9770  // `[a-z0-9]([-a-z0-9]*[a-z0-9])?`, with a maximum length of 63 characters.
  9771  func (c *ProjectsLocationsMembershipsRbacrolebindingsGenerateMembershipRBACRoleBindingYAMLCall) RbacrolebindingId(rbacrolebindingId string) *ProjectsLocationsMembershipsRbacrolebindingsGenerateMembershipRBACRoleBindingYAMLCall {
  9772  	c.urlParams_.Set("rbacrolebindingId", rbacrolebindingId)
  9773  	return c
  9774  }
  9775  
  9776  // Fields allows partial responses to be retrieved. See
  9777  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9778  // details.
  9779  func (c *ProjectsLocationsMembershipsRbacrolebindingsGenerateMembershipRBACRoleBindingYAMLCall) Fields(s ...googleapi.Field) *ProjectsLocationsMembershipsRbacrolebindingsGenerateMembershipRBACRoleBindingYAMLCall {
  9780  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9781  	return c
  9782  }
  9783  
  9784  // Context sets the context to be used in this call's Do method.
  9785  func (c *ProjectsLocationsMembershipsRbacrolebindingsGenerateMembershipRBACRoleBindingYAMLCall) Context(ctx context.Context) *ProjectsLocationsMembershipsRbacrolebindingsGenerateMembershipRBACRoleBindingYAMLCall {
  9786  	c.ctx_ = ctx
  9787  	return c
  9788  }
  9789  
  9790  // Header returns a http.Header that can be modified by the caller to add
  9791  // headers to the request.
  9792  func (c *ProjectsLocationsMembershipsRbacrolebindingsGenerateMembershipRBACRoleBindingYAMLCall) Header() http.Header {
  9793  	if c.header_ == nil {
  9794  		c.header_ = make(http.Header)
  9795  	}
  9796  	return c.header_
  9797  }
  9798  
  9799  func (c *ProjectsLocationsMembershipsRbacrolebindingsGenerateMembershipRBACRoleBindingYAMLCall) doRequest(alt string) (*http.Response, error) {
  9800  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  9801  	var body io.Reader = nil
  9802  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.rbacrolebinding)
  9803  	if err != nil {
  9804  		return nil, err
  9805  	}
  9806  	c.urlParams_.Set("alt", alt)
  9807  	c.urlParams_.Set("prettyPrint", "false")
  9808  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+parent}/rbacrolebindings:generateMembershipRBACRoleBindingYAML")
  9809  	urls += "?" + c.urlParams_.Encode()
  9810  	req, err := http.NewRequest("POST", urls, body)
  9811  	if err != nil {
  9812  		return nil, err
  9813  	}
  9814  	req.Header = reqHeaders
  9815  	googleapi.Expand(req.URL, map[string]string{
  9816  		"parent": c.parent,
  9817  	})
  9818  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9819  }
  9820  
  9821  // Do executes the "gkehub.projects.locations.memberships.rbacrolebindings.generateMembershipRBACRoleBindingYAML" call.
  9822  // Any non-2xx status code is an error. Response headers are in either
  9823  // *GenerateMembershipRBACRoleBindingYAMLResponse.ServerResponse.Header or (if
  9824  // a response was returned at all) in error.(*googleapi.Error).Header. Use
  9825  // googleapi.IsNotModified to check whether the returned error was because
  9826  // http.StatusNotModified was returned.
  9827  func (c *ProjectsLocationsMembershipsRbacrolebindingsGenerateMembershipRBACRoleBindingYAMLCall) Do(opts ...googleapi.CallOption) (*GenerateMembershipRBACRoleBindingYAMLResponse, error) {
  9828  	gensupport.SetOptions(c.urlParams_, opts...)
  9829  	res, err := c.doRequest("json")
  9830  	if res != nil && res.StatusCode == http.StatusNotModified {
  9831  		if res.Body != nil {
  9832  			res.Body.Close()
  9833  		}
  9834  		return nil, gensupport.WrapError(&googleapi.Error{
  9835  			Code:   res.StatusCode,
  9836  			Header: res.Header,
  9837  		})
  9838  	}
  9839  	if err != nil {
  9840  		return nil, err
  9841  	}
  9842  	defer googleapi.CloseBody(res)
  9843  	if err := googleapi.CheckResponse(res); err != nil {
  9844  		return nil, gensupport.WrapError(err)
  9845  	}
  9846  	ret := &GenerateMembershipRBACRoleBindingYAMLResponse{
  9847  		ServerResponse: googleapi.ServerResponse{
  9848  			Header:         res.Header,
  9849  			HTTPStatusCode: res.StatusCode,
  9850  		},
  9851  	}
  9852  	target := &ret
  9853  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9854  		return nil, err
  9855  	}
  9856  	return ret, nil
  9857  }
  9858  
  9859  type ProjectsLocationsMembershipsRbacrolebindingsGetCall struct {
  9860  	s            *Service
  9861  	name         string
  9862  	urlParams_   gensupport.URLParams
  9863  	ifNoneMatch_ string
  9864  	ctx_         context.Context
  9865  	header_      http.Header
  9866  }
  9867  
  9868  // Get: Returns the details of a Membership RBACRoleBinding.
  9869  //
  9870  //   - name: The RBACRoleBinding resource name in the format
  9871  //     `projects/*/locations/*/memberships/*/rbacrolebindings/*`.
  9872  func (r *ProjectsLocationsMembershipsRbacrolebindingsService) Get(name string) *ProjectsLocationsMembershipsRbacrolebindingsGetCall {
  9873  	c := &ProjectsLocationsMembershipsRbacrolebindingsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9874  	c.name = name
  9875  	return c
  9876  }
  9877  
  9878  // Fields allows partial responses to be retrieved. See
  9879  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9880  // details.
  9881  func (c *ProjectsLocationsMembershipsRbacrolebindingsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsMembershipsRbacrolebindingsGetCall {
  9882  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9883  	return c
  9884  }
  9885  
  9886  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  9887  // object's ETag matches the given value. This is useful for getting updates
  9888  // only after the object has changed since the last request.
  9889  func (c *ProjectsLocationsMembershipsRbacrolebindingsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsMembershipsRbacrolebindingsGetCall {
  9890  	c.ifNoneMatch_ = entityTag
  9891  	return c
  9892  }
  9893  
  9894  // Context sets the context to be used in this call's Do method.
  9895  func (c *ProjectsLocationsMembershipsRbacrolebindingsGetCall) Context(ctx context.Context) *ProjectsLocationsMembershipsRbacrolebindingsGetCall {
  9896  	c.ctx_ = ctx
  9897  	return c
  9898  }
  9899  
  9900  // Header returns a http.Header that can be modified by the caller to add
  9901  // headers to the request.
  9902  func (c *ProjectsLocationsMembershipsRbacrolebindingsGetCall) Header() http.Header {
  9903  	if c.header_ == nil {
  9904  		c.header_ = make(http.Header)
  9905  	}
  9906  	return c.header_
  9907  }
  9908  
  9909  func (c *ProjectsLocationsMembershipsRbacrolebindingsGetCall) doRequest(alt string) (*http.Response, error) {
  9910  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9911  	if c.ifNoneMatch_ != "" {
  9912  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  9913  	}
  9914  	var body io.Reader = nil
  9915  	c.urlParams_.Set("alt", alt)
  9916  	c.urlParams_.Set("prettyPrint", "false")
  9917  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}")
  9918  	urls += "?" + c.urlParams_.Encode()
  9919  	req, err := http.NewRequest("GET", urls, body)
  9920  	if err != nil {
  9921  		return nil, err
  9922  	}
  9923  	req.Header = reqHeaders
  9924  	googleapi.Expand(req.URL, map[string]string{
  9925  		"name": c.name,
  9926  	})
  9927  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9928  }
  9929  
  9930  // Do executes the "gkehub.projects.locations.memberships.rbacrolebindings.get" call.
  9931  // Any non-2xx status code is an error. Response headers are in either
  9932  // *RBACRoleBinding.ServerResponse.Header or (if a response was returned at
  9933  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  9934  // check whether the returned error was because http.StatusNotModified was
  9935  // returned.
  9936  func (c *ProjectsLocationsMembershipsRbacrolebindingsGetCall) Do(opts ...googleapi.CallOption) (*RBACRoleBinding, error) {
  9937  	gensupport.SetOptions(c.urlParams_, opts...)
  9938  	res, err := c.doRequest("json")
  9939  	if res != nil && res.StatusCode == http.StatusNotModified {
  9940  		if res.Body != nil {
  9941  			res.Body.Close()
  9942  		}
  9943  		return nil, gensupport.WrapError(&googleapi.Error{
  9944  			Code:   res.StatusCode,
  9945  			Header: res.Header,
  9946  		})
  9947  	}
  9948  	if err != nil {
  9949  		return nil, err
  9950  	}
  9951  	defer googleapi.CloseBody(res)
  9952  	if err := googleapi.CheckResponse(res); err != nil {
  9953  		return nil, gensupport.WrapError(err)
  9954  	}
  9955  	ret := &RBACRoleBinding{
  9956  		ServerResponse: googleapi.ServerResponse{
  9957  			Header:         res.Header,
  9958  			HTTPStatusCode: res.StatusCode,
  9959  		},
  9960  	}
  9961  	target := &ret
  9962  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9963  		return nil, err
  9964  	}
  9965  	return ret, nil
  9966  }
  9967  
  9968  type ProjectsLocationsMembershipsRbacrolebindingsListCall struct {
  9969  	s            *Service
  9970  	parent       string
  9971  	urlParams_   gensupport.URLParams
  9972  	ifNoneMatch_ string
  9973  	ctx_         context.Context
  9974  	header_      http.Header
  9975  }
  9976  
  9977  // List: Lists all Membership RBACRoleBindings.
  9978  //
  9979  //   - parent: The parent (project and location) where the Features will be
  9980  //     listed. Specified in the format `projects/*/locations/*/memberships/*`.
  9981  func (r *ProjectsLocationsMembershipsRbacrolebindingsService) List(parent string) *ProjectsLocationsMembershipsRbacrolebindingsListCall {
  9982  	c := &ProjectsLocationsMembershipsRbacrolebindingsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9983  	c.parent = parent
  9984  	return c
  9985  }
  9986  
  9987  // PageSize sets the optional parameter "pageSize": When requesting a 'page' of
  9988  // resources, `page_size` specifies number of resources to return. If
  9989  // unspecified or set to 0, all resources will be returned.
  9990  func (c *ProjectsLocationsMembershipsRbacrolebindingsListCall) PageSize(pageSize int64) *ProjectsLocationsMembershipsRbacrolebindingsListCall {
  9991  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  9992  	return c
  9993  }
  9994  
  9995  // PageToken sets the optional parameter "pageToken": Token returned by
  9996  // previous call to `ListMembershipRBACRoleBindings` which specifies the
  9997  // position in the list from where to continue listing the resources.
  9998  func (c *ProjectsLocationsMembershipsRbacrolebindingsListCall) PageToken(pageToken string) *ProjectsLocationsMembershipsRbacrolebindingsListCall {
  9999  	c.urlParams_.Set("pageToken", pageToken)
 10000  	return c
 10001  }
 10002  
 10003  // Fields allows partial responses to be retrieved. See
 10004  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10005  // details.
 10006  func (c *ProjectsLocationsMembershipsRbacrolebindingsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsMembershipsRbacrolebindingsListCall {
 10007  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10008  	return c
 10009  }
 10010  
 10011  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 10012  // object's ETag matches the given value. This is useful for getting updates
 10013  // only after the object has changed since the last request.
 10014  func (c *ProjectsLocationsMembershipsRbacrolebindingsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsMembershipsRbacrolebindingsListCall {
 10015  	c.ifNoneMatch_ = entityTag
 10016  	return c
 10017  }
 10018  
 10019  // Context sets the context to be used in this call's Do method.
 10020  func (c *ProjectsLocationsMembershipsRbacrolebindingsListCall) Context(ctx context.Context) *ProjectsLocationsMembershipsRbacrolebindingsListCall {
 10021  	c.ctx_ = ctx
 10022  	return c
 10023  }
 10024  
 10025  // Header returns a http.Header that can be modified by the caller to add
 10026  // headers to the request.
 10027  func (c *ProjectsLocationsMembershipsRbacrolebindingsListCall) Header() http.Header {
 10028  	if c.header_ == nil {
 10029  		c.header_ = make(http.Header)
 10030  	}
 10031  	return c.header_
 10032  }
 10033  
 10034  func (c *ProjectsLocationsMembershipsRbacrolebindingsListCall) doRequest(alt string) (*http.Response, error) {
 10035  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 10036  	if c.ifNoneMatch_ != "" {
 10037  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 10038  	}
 10039  	var body io.Reader = nil
 10040  	c.urlParams_.Set("alt", alt)
 10041  	c.urlParams_.Set("prettyPrint", "false")
 10042  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+parent}/rbacrolebindings")
 10043  	urls += "?" + c.urlParams_.Encode()
 10044  	req, err := http.NewRequest("GET", urls, body)
 10045  	if err != nil {
 10046  		return nil, err
 10047  	}
 10048  	req.Header = reqHeaders
 10049  	googleapi.Expand(req.URL, map[string]string{
 10050  		"parent": c.parent,
 10051  	})
 10052  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10053  }
 10054  
 10055  // Do executes the "gkehub.projects.locations.memberships.rbacrolebindings.list" call.
 10056  // Any non-2xx status code is an error. Response headers are in either
 10057  // *ListMembershipRBACRoleBindingsResponse.ServerResponse.Header or (if a
 10058  // response was returned at all) in error.(*googleapi.Error).Header. Use
 10059  // googleapi.IsNotModified to check whether the returned error was because
 10060  // http.StatusNotModified was returned.
 10061  func (c *ProjectsLocationsMembershipsRbacrolebindingsListCall) Do(opts ...googleapi.CallOption) (*ListMembershipRBACRoleBindingsResponse, error) {
 10062  	gensupport.SetOptions(c.urlParams_, opts...)
 10063  	res, err := c.doRequest("json")
 10064  	if res != nil && res.StatusCode == http.StatusNotModified {
 10065  		if res.Body != nil {
 10066  			res.Body.Close()
 10067  		}
 10068  		return nil, gensupport.WrapError(&googleapi.Error{
 10069  			Code:   res.StatusCode,
 10070  			Header: res.Header,
 10071  		})
 10072  	}
 10073  	if err != nil {
 10074  		return nil, err
 10075  	}
 10076  	defer googleapi.CloseBody(res)
 10077  	if err := googleapi.CheckResponse(res); err != nil {
 10078  		return nil, gensupport.WrapError(err)
 10079  	}
 10080  	ret := &ListMembershipRBACRoleBindingsResponse{
 10081  		ServerResponse: googleapi.ServerResponse{
 10082  			Header:         res.Header,
 10083  			HTTPStatusCode: res.StatusCode,
 10084  		},
 10085  	}
 10086  	target := &ret
 10087  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10088  		return nil, err
 10089  	}
 10090  	return ret, nil
 10091  }
 10092  
 10093  // Pages invokes f for each page of results.
 10094  // A non-nil error returned from f will halt the iteration.
 10095  // The provided context supersedes any context provided to the Context method.
 10096  func (c *ProjectsLocationsMembershipsRbacrolebindingsListCall) Pages(ctx context.Context, f func(*ListMembershipRBACRoleBindingsResponse) error) error {
 10097  	c.ctx_ = ctx
 10098  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 10099  	for {
 10100  		x, err := c.Do()
 10101  		if err != nil {
 10102  			return err
 10103  		}
 10104  		if err := f(x); err != nil {
 10105  			return err
 10106  		}
 10107  		if x.NextPageToken == "" {
 10108  			return nil
 10109  		}
 10110  		c.PageToken(x.NextPageToken)
 10111  	}
 10112  }
 10113  
 10114  type ProjectsLocationsMembershipsRbacrolebindingsPatchCall struct {
 10115  	s               *Service
 10116  	name            string
 10117  	rbacrolebinding *RBACRoleBinding
 10118  	urlParams_      gensupport.URLParams
 10119  	ctx_            context.Context
 10120  	header_         http.Header
 10121  }
 10122  
 10123  // Patch: Updates a Membership RBACRoleBinding.
 10124  //
 10125  //   - name: The resource name for the rbacrolebinding
 10126  //     `projects/{project}/locations/{location}/scopes/{scope}/rbacrolebindings/{r
 10127  //     bacrolebinding}` or
 10128  //     `projects/{project}/locations/{location}/memberships/{membership}/rbacroleb
 10129  //     indings/{rbacrolebinding}`.
 10130  func (r *ProjectsLocationsMembershipsRbacrolebindingsService) Patch(name string, rbacrolebinding *RBACRoleBinding) *ProjectsLocationsMembershipsRbacrolebindingsPatchCall {
 10131  	c := &ProjectsLocationsMembershipsRbacrolebindingsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10132  	c.name = name
 10133  	c.rbacrolebinding = rbacrolebinding
 10134  	return c
 10135  }
 10136  
 10137  // UpdateMask sets the optional parameter "updateMask": Required. The fields to
 10138  // be updated.
 10139  func (c *ProjectsLocationsMembershipsRbacrolebindingsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsMembershipsRbacrolebindingsPatchCall {
 10140  	c.urlParams_.Set("updateMask", updateMask)
 10141  	return c
 10142  }
 10143  
 10144  // Fields allows partial responses to be retrieved. See
 10145  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10146  // details.
 10147  func (c *ProjectsLocationsMembershipsRbacrolebindingsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsMembershipsRbacrolebindingsPatchCall {
 10148  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10149  	return c
 10150  }
 10151  
 10152  // Context sets the context to be used in this call's Do method.
 10153  func (c *ProjectsLocationsMembershipsRbacrolebindingsPatchCall) Context(ctx context.Context) *ProjectsLocationsMembershipsRbacrolebindingsPatchCall {
 10154  	c.ctx_ = ctx
 10155  	return c
 10156  }
 10157  
 10158  // Header returns a http.Header that can be modified by the caller to add
 10159  // headers to the request.
 10160  func (c *ProjectsLocationsMembershipsRbacrolebindingsPatchCall) Header() http.Header {
 10161  	if c.header_ == nil {
 10162  		c.header_ = make(http.Header)
 10163  	}
 10164  	return c.header_
 10165  }
 10166  
 10167  func (c *ProjectsLocationsMembershipsRbacrolebindingsPatchCall) doRequest(alt string) (*http.Response, error) {
 10168  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 10169  	var body io.Reader = nil
 10170  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.rbacrolebinding)
 10171  	if err != nil {
 10172  		return nil, err
 10173  	}
 10174  	c.urlParams_.Set("alt", alt)
 10175  	c.urlParams_.Set("prettyPrint", "false")
 10176  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}")
 10177  	urls += "?" + c.urlParams_.Encode()
 10178  	req, err := http.NewRequest("PATCH", urls, body)
 10179  	if err != nil {
 10180  		return nil, err
 10181  	}
 10182  	req.Header = reqHeaders
 10183  	googleapi.Expand(req.URL, map[string]string{
 10184  		"name": c.name,
 10185  	})
 10186  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10187  }
 10188  
 10189  // Do executes the "gkehub.projects.locations.memberships.rbacrolebindings.patch" call.
 10190  // Any non-2xx status code is an error. Response headers are in either
 10191  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 10192  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 10193  // whether the returned error was because http.StatusNotModified was returned.
 10194  func (c *ProjectsLocationsMembershipsRbacrolebindingsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 10195  	gensupport.SetOptions(c.urlParams_, opts...)
 10196  	res, err := c.doRequest("json")
 10197  	if res != nil && res.StatusCode == http.StatusNotModified {
 10198  		if res.Body != nil {
 10199  			res.Body.Close()
 10200  		}
 10201  		return nil, gensupport.WrapError(&googleapi.Error{
 10202  			Code:   res.StatusCode,
 10203  			Header: res.Header,
 10204  		})
 10205  	}
 10206  	if err != nil {
 10207  		return nil, err
 10208  	}
 10209  	defer googleapi.CloseBody(res)
 10210  	if err := googleapi.CheckResponse(res); err != nil {
 10211  		return nil, gensupport.WrapError(err)
 10212  	}
 10213  	ret := &Operation{
 10214  		ServerResponse: googleapi.ServerResponse{
 10215  			Header:         res.Header,
 10216  			HTTPStatusCode: res.StatusCode,
 10217  		},
 10218  	}
 10219  	target := &ret
 10220  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10221  		return nil, err
 10222  	}
 10223  	return ret, nil
 10224  }
 10225  
 10226  type ProjectsLocationsOperationsCancelCall struct {
 10227  	s                      *Service
 10228  	name                   string
 10229  	canceloperationrequest *CancelOperationRequest
 10230  	urlParams_             gensupport.URLParams
 10231  	ctx_                   context.Context
 10232  	header_                http.Header
 10233  }
 10234  
 10235  // Cancel: Starts asynchronous cancellation on a long-running operation. The
 10236  // server makes a best effort to cancel the operation, but success is not
 10237  // guaranteed. If the server doesn't support this method, it returns
 10238  // `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
 10239  // other methods to check whether the cancellation succeeded or whether the
 10240  // operation completed despite cancellation. On successful cancellation, the
 10241  // operation is not deleted; instead, it becomes an operation with an
 10242  // Operation.error value with a google.rpc.Status.code of 1, corresponding to
 10243  // `Code.CANCELLED`.
 10244  //
 10245  // - name: The name of the operation resource to be cancelled.
 10246  func (r *ProjectsLocationsOperationsService) Cancel(name string, canceloperationrequest *CancelOperationRequest) *ProjectsLocationsOperationsCancelCall {
 10247  	c := &ProjectsLocationsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10248  	c.name = name
 10249  	c.canceloperationrequest = canceloperationrequest
 10250  	return c
 10251  }
 10252  
 10253  // Fields allows partial responses to be retrieved. See
 10254  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10255  // details.
 10256  func (c *ProjectsLocationsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsCancelCall {
 10257  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10258  	return c
 10259  }
 10260  
 10261  // Context sets the context to be used in this call's Do method.
 10262  func (c *ProjectsLocationsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsOperationsCancelCall {
 10263  	c.ctx_ = ctx
 10264  	return c
 10265  }
 10266  
 10267  // Header returns a http.Header that can be modified by the caller to add
 10268  // headers to the request.
 10269  func (c *ProjectsLocationsOperationsCancelCall) Header() http.Header {
 10270  	if c.header_ == nil {
 10271  		c.header_ = make(http.Header)
 10272  	}
 10273  	return c.header_
 10274  }
 10275  
 10276  func (c *ProjectsLocationsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 10277  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 10278  	var body io.Reader = nil
 10279  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.canceloperationrequest)
 10280  	if err != nil {
 10281  		return nil, err
 10282  	}
 10283  	c.urlParams_.Set("alt", alt)
 10284  	c.urlParams_.Set("prettyPrint", "false")
 10285  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}:cancel")
 10286  	urls += "?" + c.urlParams_.Encode()
 10287  	req, err := http.NewRequest("POST", urls, body)
 10288  	if err != nil {
 10289  		return nil, err
 10290  	}
 10291  	req.Header = reqHeaders
 10292  	googleapi.Expand(req.URL, map[string]string{
 10293  		"name": c.name,
 10294  	})
 10295  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10296  }
 10297  
 10298  // Do executes the "gkehub.projects.locations.operations.cancel" call.
 10299  // Any non-2xx status code is an error. Response headers are in either
 10300  // *Empty.ServerResponse.Header or (if a response was returned at all) in
 10301  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 10302  // whether the returned error was because http.StatusNotModified was returned.
 10303  func (c *ProjectsLocationsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
 10304  	gensupport.SetOptions(c.urlParams_, opts...)
 10305  	res, err := c.doRequest("json")
 10306  	if res != nil && res.StatusCode == http.StatusNotModified {
 10307  		if res.Body != nil {
 10308  			res.Body.Close()
 10309  		}
 10310  		return nil, gensupport.WrapError(&googleapi.Error{
 10311  			Code:   res.StatusCode,
 10312  			Header: res.Header,
 10313  		})
 10314  	}
 10315  	if err != nil {
 10316  		return nil, err
 10317  	}
 10318  	defer googleapi.CloseBody(res)
 10319  	if err := googleapi.CheckResponse(res); err != nil {
 10320  		return nil, gensupport.WrapError(err)
 10321  	}
 10322  	ret := &Empty{
 10323  		ServerResponse: googleapi.ServerResponse{
 10324  			Header:         res.Header,
 10325  			HTTPStatusCode: res.StatusCode,
 10326  		},
 10327  	}
 10328  	target := &ret
 10329  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10330  		return nil, err
 10331  	}
 10332  	return ret, nil
 10333  }
 10334  
 10335  type ProjectsLocationsOperationsDeleteCall struct {
 10336  	s          *Service
 10337  	name       string
 10338  	urlParams_ gensupport.URLParams
 10339  	ctx_       context.Context
 10340  	header_    http.Header
 10341  }
 10342  
 10343  // Delete: Deletes a long-running operation. This method indicates that the
 10344  // client is no longer interested in the operation result. It does not cancel
 10345  // the operation. If the server doesn't support this method, it returns
 10346  // `google.rpc.Code.UNIMPLEMENTED`.
 10347  //
 10348  // - name: The name of the operation resource to be deleted.
 10349  func (r *ProjectsLocationsOperationsService) Delete(name string) *ProjectsLocationsOperationsDeleteCall {
 10350  	c := &ProjectsLocationsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10351  	c.name = name
 10352  	return c
 10353  }
 10354  
 10355  // Fields allows partial responses to be retrieved. See
 10356  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10357  // details.
 10358  func (c *ProjectsLocationsOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsDeleteCall {
 10359  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10360  	return c
 10361  }
 10362  
 10363  // Context sets the context to be used in this call's Do method.
 10364  func (c *ProjectsLocationsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsOperationsDeleteCall {
 10365  	c.ctx_ = ctx
 10366  	return c
 10367  }
 10368  
 10369  // Header returns a http.Header that can be modified by the caller to add
 10370  // headers to the request.
 10371  func (c *ProjectsLocationsOperationsDeleteCall) Header() http.Header {
 10372  	if c.header_ == nil {
 10373  		c.header_ = make(http.Header)
 10374  	}
 10375  	return c.header_
 10376  }
 10377  
 10378  func (c *ProjectsLocationsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 10379  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 10380  	var body io.Reader = nil
 10381  	c.urlParams_.Set("alt", alt)
 10382  	c.urlParams_.Set("prettyPrint", "false")
 10383  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}")
 10384  	urls += "?" + c.urlParams_.Encode()
 10385  	req, err := http.NewRequest("DELETE", urls, body)
 10386  	if err != nil {
 10387  		return nil, err
 10388  	}
 10389  	req.Header = reqHeaders
 10390  	googleapi.Expand(req.URL, map[string]string{
 10391  		"name": c.name,
 10392  	})
 10393  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10394  }
 10395  
 10396  // Do executes the "gkehub.projects.locations.operations.delete" call.
 10397  // Any non-2xx status code is an error. Response headers are in either
 10398  // *Empty.ServerResponse.Header or (if a response was returned at all) in
 10399  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 10400  // whether the returned error was because http.StatusNotModified was returned.
 10401  func (c *ProjectsLocationsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
 10402  	gensupport.SetOptions(c.urlParams_, opts...)
 10403  	res, err := c.doRequest("json")
 10404  	if res != nil && res.StatusCode == http.StatusNotModified {
 10405  		if res.Body != nil {
 10406  			res.Body.Close()
 10407  		}
 10408  		return nil, gensupport.WrapError(&googleapi.Error{
 10409  			Code:   res.StatusCode,
 10410  			Header: res.Header,
 10411  		})
 10412  	}
 10413  	if err != nil {
 10414  		return nil, err
 10415  	}
 10416  	defer googleapi.CloseBody(res)
 10417  	if err := googleapi.CheckResponse(res); err != nil {
 10418  		return nil, gensupport.WrapError(err)
 10419  	}
 10420  	ret := &Empty{
 10421  		ServerResponse: googleapi.ServerResponse{
 10422  			Header:         res.Header,
 10423  			HTTPStatusCode: res.StatusCode,
 10424  		},
 10425  	}
 10426  	target := &ret
 10427  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10428  		return nil, err
 10429  	}
 10430  	return ret, nil
 10431  }
 10432  
 10433  type ProjectsLocationsOperationsGetCall struct {
 10434  	s            *Service
 10435  	name         string
 10436  	urlParams_   gensupport.URLParams
 10437  	ifNoneMatch_ string
 10438  	ctx_         context.Context
 10439  	header_      http.Header
 10440  }
 10441  
 10442  // Get: Gets the latest state of a long-running operation. Clients can use this
 10443  // method to poll the operation result at intervals as recommended by the API
 10444  // service.
 10445  //
 10446  // - name: The name of the operation resource.
 10447  func (r *ProjectsLocationsOperationsService) Get(name string) *ProjectsLocationsOperationsGetCall {
 10448  	c := &ProjectsLocationsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10449  	c.name = name
 10450  	return c
 10451  }
 10452  
 10453  // Fields allows partial responses to be retrieved. See
 10454  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10455  // details.
 10456  func (c *ProjectsLocationsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsGetCall {
 10457  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10458  	return c
 10459  }
 10460  
 10461  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 10462  // object's ETag matches the given value. This is useful for getting updates
 10463  // only after the object has changed since the last request.
 10464  func (c *ProjectsLocationsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsOperationsGetCall {
 10465  	c.ifNoneMatch_ = entityTag
 10466  	return c
 10467  }
 10468  
 10469  // Context sets the context to be used in this call's Do method.
 10470  func (c *ProjectsLocationsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsOperationsGetCall {
 10471  	c.ctx_ = ctx
 10472  	return c
 10473  }
 10474  
 10475  // Header returns a http.Header that can be modified by the caller to add
 10476  // headers to the request.
 10477  func (c *ProjectsLocationsOperationsGetCall) Header() http.Header {
 10478  	if c.header_ == nil {
 10479  		c.header_ = make(http.Header)
 10480  	}
 10481  	return c.header_
 10482  }
 10483  
 10484  func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 10485  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 10486  	if c.ifNoneMatch_ != "" {
 10487  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 10488  	}
 10489  	var body io.Reader = nil
 10490  	c.urlParams_.Set("alt", alt)
 10491  	c.urlParams_.Set("prettyPrint", "false")
 10492  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}")
 10493  	urls += "?" + c.urlParams_.Encode()
 10494  	req, err := http.NewRequest("GET", urls, body)
 10495  	if err != nil {
 10496  		return nil, err
 10497  	}
 10498  	req.Header = reqHeaders
 10499  	googleapi.Expand(req.URL, map[string]string{
 10500  		"name": c.name,
 10501  	})
 10502  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10503  }
 10504  
 10505  // Do executes the "gkehub.projects.locations.operations.get" call.
 10506  // Any non-2xx status code is an error. Response headers are in either
 10507  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 10508  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 10509  // whether the returned error was because http.StatusNotModified was returned.
 10510  func (c *ProjectsLocationsOperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 10511  	gensupport.SetOptions(c.urlParams_, opts...)
 10512  	res, err := c.doRequest("json")
 10513  	if res != nil && res.StatusCode == http.StatusNotModified {
 10514  		if res.Body != nil {
 10515  			res.Body.Close()
 10516  		}
 10517  		return nil, gensupport.WrapError(&googleapi.Error{
 10518  			Code:   res.StatusCode,
 10519  			Header: res.Header,
 10520  		})
 10521  	}
 10522  	if err != nil {
 10523  		return nil, err
 10524  	}
 10525  	defer googleapi.CloseBody(res)
 10526  	if err := googleapi.CheckResponse(res); err != nil {
 10527  		return nil, gensupport.WrapError(err)
 10528  	}
 10529  	ret := &Operation{
 10530  		ServerResponse: googleapi.ServerResponse{
 10531  			Header:         res.Header,
 10532  			HTTPStatusCode: res.StatusCode,
 10533  		},
 10534  	}
 10535  	target := &ret
 10536  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10537  		return nil, err
 10538  	}
 10539  	return ret, nil
 10540  }
 10541  
 10542  type ProjectsLocationsOperationsListCall struct {
 10543  	s            *Service
 10544  	name         string
 10545  	urlParams_   gensupport.URLParams
 10546  	ifNoneMatch_ string
 10547  	ctx_         context.Context
 10548  	header_      http.Header
 10549  }
 10550  
 10551  // List: Lists operations that match the specified filter in the request. If
 10552  // the server doesn't support this method, it returns `UNIMPLEMENTED`.
 10553  //
 10554  // - name: The name of the operation's parent resource.
 10555  func (r *ProjectsLocationsOperationsService) List(name string) *ProjectsLocationsOperationsListCall {
 10556  	c := &ProjectsLocationsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10557  	c.name = name
 10558  	return c
 10559  }
 10560  
 10561  // Filter sets the optional parameter "filter": The standard list filter.
 10562  func (c *ProjectsLocationsOperationsListCall) Filter(filter string) *ProjectsLocationsOperationsListCall {
 10563  	c.urlParams_.Set("filter", filter)
 10564  	return c
 10565  }
 10566  
 10567  // PageSize sets the optional parameter "pageSize": The standard list page
 10568  // size.
 10569  func (c *ProjectsLocationsOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsOperationsListCall {
 10570  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 10571  	return c
 10572  }
 10573  
 10574  // PageToken sets the optional parameter "pageToken": The standard list page
 10575  // token.
 10576  func (c *ProjectsLocationsOperationsListCall) PageToken(pageToken string) *ProjectsLocationsOperationsListCall {
 10577  	c.urlParams_.Set("pageToken", pageToken)
 10578  	return c
 10579  }
 10580  
 10581  // Fields allows partial responses to be retrieved. See
 10582  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10583  // details.
 10584  func (c *ProjectsLocationsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsListCall {
 10585  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10586  	return c
 10587  }
 10588  
 10589  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 10590  // object's ETag matches the given value. This is useful for getting updates
 10591  // only after the object has changed since the last request.
 10592  func (c *ProjectsLocationsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsOperationsListCall {
 10593  	c.ifNoneMatch_ = entityTag
 10594  	return c
 10595  }
 10596  
 10597  // Context sets the context to be used in this call's Do method.
 10598  func (c *ProjectsLocationsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsOperationsListCall {
 10599  	c.ctx_ = ctx
 10600  	return c
 10601  }
 10602  
 10603  // Header returns a http.Header that can be modified by the caller to add
 10604  // headers to the request.
 10605  func (c *ProjectsLocationsOperationsListCall) Header() http.Header {
 10606  	if c.header_ == nil {
 10607  		c.header_ = make(http.Header)
 10608  	}
 10609  	return c.header_
 10610  }
 10611  
 10612  func (c *ProjectsLocationsOperationsListCall) doRequest(alt string) (*http.Response, error) {
 10613  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 10614  	if c.ifNoneMatch_ != "" {
 10615  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 10616  	}
 10617  	var body io.Reader = nil
 10618  	c.urlParams_.Set("alt", alt)
 10619  	c.urlParams_.Set("prettyPrint", "false")
 10620  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}/operations")
 10621  	urls += "?" + c.urlParams_.Encode()
 10622  	req, err := http.NewRequest("GET", urls, body)
 10623  	if err != nil {
 10624  		return nil, err
 10625  	}
 10626  	req.Header = reqHeaders
 10627  	googleapi.Expand(req.URL, map[string]string{
 10628  		"name": c.name,
 10629  	})
 10630  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10631  }
 10632  
 10633  // Do executes the "gkehub.projects.locations.operations.list" call.
 10634  // Any non-2xx status code is an error. Response headers are in either
 10635  // *ListOperationsResponse.ServerResponse.Header or (if a response was returned
 10636  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 10637  // check whether the returned error was because http.StatusNotModified was
 10638  // returned.
 10639  func (c *ProjectsLocationsOperationsListCall) Do(opts ...googleapi.CallOption) (*ListOperationsResponse, error) {
 10640  	gensupport.SetOptions(c.urlParams_, opts...)
 10641  	res, err := c.doRequest("json")
 10642  	if res != nil && res.StatusCode == http.StatusNotModified {
 10643  		if res.Body != nil {
 10644  			res.Body.Close()
 10645  		}
 10646  		return nil, gensupport.WrapError(&googleapi.Error{
 10647  			Code:   res.StatusCode,
 10648  			Header: res.Header,
 10649  		})
 10650  	}
 10651  	if err != nil {
 10652  		return nil, err
 10653  	}
 10654  	defer googleapi.CloseBody(res)
 10655  	if err := googleapi.CheckResponse(res); err != nil {
 10656  		return nil, gensupport.WrapError(err)
 10657  	}
 10658  	ret := &ListOperationsResponse{
 10659  		ServerResponse: googleapi.ServerResponse{
 10660  			Header:         res.Header,
 10661  			HTTPStatusCode: res.StatusCode,
 10662  		},
 10663  	}
 10664  	target := &ret
 10665  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10666  		return nil, err
 10667  	}
 10668  	return ret, nil
 10669  }
 10670  
 10671  // Pages invokes f for each page of results.
 10672  // A non-nil error returned from f will halt the iteration.
 10673  // The provided context supersedes any context provided to the Context method.
 10674  func (c *ProjectsLocationsOperationsListCall) Pages(ctx context.Context, f func(*ListOperationsResponse) error) error {
 10675  	c.ctx_ = ctx
 10676  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 10677  	for {
 10678  		x, err := c.Do()
 10679  		if err != nil {
 10680  			return err
 10681  		}
 10682  		if err := f(x); err != nil {
 10683  			return err
 10684  		}
 10685  		if x.NextPageToken == "" {
 10686  			return nil
 10687  		}
 10688  		c.PageToken(x.NextPageToken)
 10689  	}
 10690  }
 10691  
 10692  type ProjectsLocationsScopesCreateCall struct {
 10693  	s          *Service
 10694  	parent     string
 10695  	scope      *Scope
 10696  	urlParams_ gensupport.URLParams
 10697  	ctx_       context.Context
 10698  	header_    http.Header
 10699  }
 10700  
 10701  // Create: Creates a Scope.
 10702  //
 10703  //   - parent: The parent (project and location) where the Scope will be created.
 10704  //     Specified in the format `projects/*/locations/*`.
 10705  func (r *ProjectsLocationsScopesService) Create(parent string, scope *Scope) *ProjectsLocationsScopesCreateCall {
 10706  	c := &ProjectsLocationsScopesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10707  	c.parent = parent
 10708  	c.scope = scope
 10709  	return c
 10710  }
 10711  
 10712  // ScopeId sets the optional parameter "scopeId": Required. Client chosen ID
 10713  // for the Scope. `scope_id` must be a ????
 10714  func (c *ProjectsLocationsScopesCreateCall) ScopeId(scopeId string) *ProjectsLocationsScopesCreateCall {
 10715  	c.urlParams_.Set("scopeId", scopeId)
 10716  	return c
 10717  }
 10718  
 10719  // Fields allows partial responses to be retrieved. See
 10720  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10721  // details.
 10722  func (c *ProjectsLocationsScopesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsScopesCreateCall {
 10723  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10724  	return c
 10725  }
 10726  
 10727  // Context sets the context to be used in this call's Do method.
 10728  func (c *ProjectsLocationsScopesCreateCall) Context(ctx context.Context) *ProjectsLocationsScopesCreateCall {
 10729  	c.ctx_ = ctx
 10730  	return c
 10731  }
 10732  
 10733  // Header returns a http.Header that can be modified by the caller to add
 10734  // headers to the request.
 10735  func (c *ProjectsLocationsScopesCreateCall) Header() http.Header {
 10736  	if c.header_ == nil {
 10737  		c.header_ = make(http.Header)
 10738  	}
 10739  	return c.header_
 10740  }
 10741  
 10742  func (c *ProjectsLocationsScopesCreateCall) doRequest(alt string) (*http.Response, error) {
 10743  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 10744  	var body io.Reader = nil
 10745  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.scope)
 10746  	if err != nil {
 10747  		return nil, err
 10748  	}
 10749  	c.urlParams_.Set("alt", alt)
 10750  	c.urlParams_.Set("prettyPrint", "false")
 10751  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+parent}/scopes")
 10752  	urls += "?" + c.urlParams_.Encode()
 10753  	req, err := http.NewRequest("POST", urls, body)
 10754  	if err != nil {
 10755  		return nil, err
 10756  	}
 10757  	req.Header = reqHeaders
 10758  	googleapi.Expand(req.URL, map[string]string{
 10759  		"parent": c.parent,
 10760  	})
 10761  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10762  }
 10763  
 10764  // Do executes the "gkehub.projects.locations.scopes.create" call.
 10765  // Any non-2xx status code is an error. Response headers are in either
 10766  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 10767  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 10768  // whether the returned error was because http.StatusNotModified was returned.
 10769  func (c *ProjectsLocationsScopesCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 10770  	gensupport.SetOptions(c.urlParams_, opts...)
 10771  	res, err := c.doRequest("json")
 10772  	if res != nil && res.StatusCode == http.StatusNotModified {
 10773  		if res.Body != nil {
 10774  			res.Body.Close()
 10775  		}
 10776  		return nil, gensupport.WrapError(&googleapi.Error{
 10777  			Code:   res.StatusCode,
 10778  			Header: res.Header,
 10779  		})
 10780  	}
 10781  	if err != nil {
 10782  		return nil, err
 10783  	}
 10784  	defer googleapi.CloseBody(res)
 10785  	if err := googleapi.CheckResponse(res); err != nil {
 10786  		return nil, gensupport.WrapError(err)
 10787  	}
 10788  	ret := &Operation{
 10789  		ServerResponse: googleapi.ServerResponse{
 10790  			Header:         res.Header,
 10791  			HTTPStatusCode: res.StatusCode,
 10792  		},
 10793  	}
 10794  	target := &ret
 10795  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10796  		return nil, err
 10797  	}
 10798  	return ret, nil
 10799  }
 10800  
 10801  type ProjectsLocationsScopesDeleteCall struct {
 10802  	s          *Service
 10803  	name       string
 10804  	urlParams_ gensupport.URLParams
 10805  	ctx_       context.Context
 10806  	header_    http.Header
 10807  }
 10808  
 10809  // Delete: Deletes a Scope.
 10810  //
 10811  //   - name: The Scope resource name in the format
 10812  //     `projects/*/locations/*/scopes/*`.
 10813  func (r *ProjectsLocationsScopesService) Delete(name string) *ProjectsLocationsScopesDeleteCall {
 10814  	c := &ProjectsLocationsScopesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10815  	c.name = name
 10816  	return c
 10817  }
 10818  
 10819  // Fields allows partial responses to be retrieved. See
 10820  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10821  // details.
 10822  func (c *ProjectsLocationsScopesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsScopesDeleteCall {
 10823  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10824  	return c
 10825  }
 10826  
 10827  // Context sets the context to be used in this call's Do method.
 10828  func (c *ProjectsLocationsScopesDeleteCall) Context(ctx context.Context) *ProjectsLocationsScopesDeleteCall {
 10829  	c.ctx_ = ctx
 10830  	return c
 10831  }
 10832  
 10833  // Header returns a http.Header that can be modified by the caller to add
 10834  // headers to the request.
 10835  func (c *ProjectsLocationsScopesDeleteCall) Header() http.Header {
 10836  	if c.header_ == nil {
 10837  		c.header_ = make(http.Header)
 10838  	}
 10839  	return c.header_
 10840  }
 10841  
 10842  func (c *ProjectsLocationsScopesDeleteCall) doRequest(alt string) (*http.Response, error) {
 10843  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 10844  	var body io.Reader = nil
 10845  	c.urlParams_.Set("alt", alt)
 10846  	c.urlParams_.Set("prettyPrint", "false")
 10847  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}")
 10848  	urls += "?" + c.urlParams_.Encode()
 10849  	req, err := http.NewRequest("DELETE", urls, body)
 10850  	if err != nil {
 10851  		return nil, err
 10852  	}
 10853  	req.Header = reqHeaders
 10854  	googleapi.Expand(req.URL, map[string]string{
 10855  		"name": c.name,
 10856  	})
 10857  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10858  }
 10859  
 10860  // Do executes the "gkehub.projects.locations.scopes.delete" call.
 10861  // Any non-2xx status code is an error. Response headers are in either
 10862  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 10863  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 10864  // whether the returned error was because http.StatusNotModified was returned.
 10865  func (c *ProjectsLocationsScopesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 10866  	gensupport.SetOptions(c.urlParams_, opts...)
 10867  	res, err := c.doRequest("json")
 10868  	if res != nil && res.StatusCode == http.StatusNotModified {
 10869  		if res.Body != nil {
 10870  			res.Body.Close()
 10871  		}
 10872  		return nil, gensupport.WrapError(&googleapi.Error{
 10873  			Code:   res.StatusCode,
 10874  			Header: res.Header,
 10875  		})
 10876  	}
 10877  	if err != nil {
 10878  		return nil, err
 10879  	}
 10880  	defer googleapi.CloseBody(res)
 10881  	if err := googleapi.CheckResponse(res); err != nil {
 10882  		return nil, gensupport.WrapError(err)
 10883  	}
 10884  	ret := &Operation{
 10885  		ServerResponse: googleapi.ServerResponse{
 10886  			Header:         res.Header,
 10887  			HTTPStatusCode: res.StatusCode,
 10888  		},
 10889  	}
 10890  	target := &ret
 10891  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10892  		return nil, err
 10893  	}
 10894  	return ret, nil
 10895  }
 10896  
 10897  type ProjectsLocationsScopesGetCall struct {
 10898  	s            *Service
 10899  	name         string
 10900  	urlParams_   gensupport.URLParams
 10901  	ifNoneMatch_ string
 10902  	ctx_         context.Context
 10903  	header_      http.Header
 10904  }
 10905  
 10906  // Get: Returns the details of a Scope.
 10907  //
 10908  //   - name: The Scope resource name in the format
 10909  //     `projects/*/locations/*/scopes/*`.
 10910  func (r *ProjectsLocationsScopesService) Get(name string) *ProjectsLocationsScopesGetCall {
 10911  	c := &ProjectsLocationsScopesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10912  	c.name = name
 10913  	return c
 10914  }
 10915  
 10916  // Fields allows partial responses to be retrieved. See
 10917  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10918  // details.
 10919  func (c *ProjectsLocationsScopesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsScopesGetCall {
 10920  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10921  	return c
 10922  }
 10923  
 10924  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 10925  // object's ETag matches the given value. This is useful for getting updates
 10926  // only after the object has changed since the last request.
 10927  func (c *ProjectsLocationsScopesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsScopesGetCall {
 10928  	c.ifNoneMatch_ = entityTag
 10929  	return c
 10930  }
 10931  
 10932  // Context sets the context to be used in this call's Do method.
 10933  func (c *ProjectsLocationsScopesGetCall) Context(ctx context.Context) *ProjectsLocationsScopesGetCall {
 10934  	c.ctx_ = ctx
 10935  	return c
 10936  }
 10937  
 10938  // Header returns a http.Header that can be modified by the caller to add
 10939  // headers to the request.
 10940  func (c *ProjectsLocationsScopesGetCall) Header() http.Header {
 10941  	if c.header_ == nil {
 10942  		c.header_ = make(http.Header)
 10943  	}
 10944  	return c.header_
 10945  }
 10946  
 10947  func (c *ProjectsLocationsScopesGetCall) doRequest(alt string) (*http.Response, error) {
 10948  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 10949  	if c.ifNoneMatch_ != "" {
 10950  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 10951  	}
 10952  	var body io.Reader = nil
 10953  	c.urlParams_.Set("alt", alt)
 10954  	c.urlParams_.Set("prettyPrint", "false")
 10955  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}")
 10956  	urls += "?" + c.urlParams_.Encode()
 10957  	req, err := http.NewRequest("GET", urls, body)
 10958  	if err != nil {
 10959  		return nil, err
 10960  	}
 10961  	req.Header = reqHeaders
 10962  	googleapi.Expand(req.URL, map[string]string{
 10963  		"name": c.name,
 10964  	})
 10965  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10966  }
 10967  
 10968  // Do executes the "gkehub.projects.locations.scopes.get" call.
 10969  // Any non-2xx status code is an error. Response headers are in either
 10970  // *Scope.ServerResponse.Header or (if a response was returned at all) in
 10971  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 10972  // whether the returned error was because http.StatusNotModified was returned.
 10973  func (c *ProjectsLocationsScopesGetCall) Do(opts ...googleapi.CallOption) (*Scope, error) {
 10974  	gensupport.SetOptions(c.urlParams_, opts...)
 10975  	res, err := c.doRequest("json")
 10976  	if res != nil && res.StatusCode == http.StatusNotModified {
 10977  		if res.Body != nil {
 10978  			res.Body.Close()
 10979  		}
 10980  		return nil, gensupport.WrapError(&googleapi.Error{
 10981  			Code:   res.StatusCode,
 10982  			Header: res.Header,
 10983  		})
 10984  	}
 10985  	if err != nil {
 10986  		return nil, err
 10987  	}
 10988  	defer googleapi.CloseBody(res)
 10989  	if err := googleapi.CheckResponse(res); err != nil {
 10990  		return nil, gensupport.WrapError(err)
 10991  	}
 10992  	ret := &Scope{
 10993  		ServerResponse: googleapi.ServerResponse{
 10994  			Header:         res.Header,
 10995  			HTTPStatusCode: res.StatusCode,
 10996  		},
 10997  	}
 10998  	target := &ret
 10999  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11000  		return nil, err
 11001  	}
 11002  	return ret, nil
 11003  }
 11004  
 11005  type ProjectsLocationsScopesGetIamPolicyCall struct {
 11006  	s            *Service
 11007  	resource     string
 11008  	urlParams_   gensupport.URLParams
 11009  	ifNoneMatch_ string
 11010  	ctx_         context.Context
 11011  	header_      http.Header
 11012  }
 11013  
 11014  // GetIamPolicy: Gets the access control policy for a resource. Returns an
 11015  // empty policy if the resource exists and does not have a policy set.
 11016  //
 11017  //   - resource: REQUIRED: The resource for which the policy is being requested.
 11018  //     See Resource names (https://cloud.google.com/apis/design/resource_names)
 11019  //     for the appropriate value for this field.
 11020  func (r *ProjectsLocationsScopesService) GetIamPolicy(resource string) *ProjectsLocationsScopesGetIamPolicyCall {
 11021  	c := &ProjectsLocationsScopesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11022  	c.resource = resource
 11023  	return c
 11024  }
 11025  
 11026  // OptionsRequestedPolicyVersion sets the optional parameter
 11027  // "options.requestedPolicyVersion": The maximum policy version that will be
 11028  // used to format the policy. Valid values are 0, 1, and 3. Requests specifying
 11029  // an invalid value will be rejected. Requests for policies with any
 11030  // conditional role bindings must specify version 3. Policies with no
 11031  // conditional role bindings may specify any valid value or leave the field
 11032  // unset. The policy in the response might use the policy version that you
 11033  // specified, or it might use a lower policy version. For example, if you
 11034  // specify version 3, but the policy has no conditional role bindings, the
 11035  // response uses version 1. To learn which resources support conditions in
 11036  // their IAM policies, see the IAM documentation
 11037  // (https://cloud.google.com/iam/help/conditions/resource-policies).
 11038  func (c *ProjectsLocationsScopesGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsScopesGetIamPolicyCall {
 11039  	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
 11040  	return c
 11041  }
 11042  
 11043  // Fields allows partial responses to be retrieved. See
 11044  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11045  // details.
 11046  func (c *ProjectsLocationsScopesGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsScopesGetIamPolicyCall {
 11047  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11048  	return c
 11049  }
 11050  
 11051  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 11052  // object's ETag matches the given value. This is useful for getting updates
 11053  // only after the object has changed since the last request.
 11054  func (c *ProjectsLocationsScopesGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsLocationsScopesGetIamPolicyCall {
 11055  	c.ifNoneMatch_ = entityTag
 11056  	return c
 11057  }
 11058  
 11059  // Context sets the context to be used in this call's Do method.
 11060  func (c *ProjectsLocationsScopesGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsScopesGetIamPolicyCall {
 11061  	c.ctx_ = ctx
 11062  	return c
 11063  }
 11064  
 11065  // Header returns a http.Header that can be modified by the caller to add
 11066  // headers to the request.
 11067  func (c *ProjectsLocationsScopesGetIamPolicyCall) Header() http.Header {
 11068  	if c.header_ == nil {
 11069  		c.header_ = make(http.Header)
 11070  	}
 11071  	return c.header_
 11072  }
 11073  
 11074  func (c *ProjectsLocationsScopesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 11075  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 11076  	if c.ifNoneMatch_ != "" {
 11077  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 11078  	}
 11079  	var body io.Reader = nil
 11080  	c.urlParams_.Set("alt", alt)
 11081  	c.urlParams_.Set("prettyPrint", "false")
 11082  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+resource}:getIamPolicy")
 11083  	urls += "?" + c.urlParams_.Encode()
 11084  	req, err := http.NewRequest("GET", urls, body)
 11085  	if err != nil {
 11086  		return nil, err
 11087  	}
 11088  	req.Header = reqHeaders
 11089  	googleapi.Expand(req.URL, map[string]string{
 11090  		"resource": c.resource,
 11091  	})
 11092  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11093  }
 11094  
 11095  // Do executes the "gkehub.projects.locations.scopes.getIamPolicy" call.
 11096  // Any non-2xx status code is an error. Response headers are in either
 11097  // *Policy.ServerResponse.Header or (if a response was returned at all) in
 11098  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 11099  // whether the returned error was because http.StatusNotModified was returned.
 11100  func (c *ProjectsLocationsScopesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
 11101  	gensupport.SetOptions(c.urlParams_, opts...)
 11102  	res, err := c.doRequest("json")
 11103  	if res != nil && res.StatusCode == http.StatusNotModified {
 11104  		if res.Body != nil {
 11105  			res.Body.Close()
 11106  		}
 11107  		return nil, gensupport.WrapError(&googleapi.Error{
 11108  			Code:   res.StatusCode,
 11109  			Header: res.Header,
 11110  		})
 11111  	}
 11112  	if err != nil {
 11113  		return nil, err
 11114  	}
 11115  	defer googleapi.CloseBody(res)
 11116  	if err := googleapi.CheckResponse(res); err != nil {
 11117  		return nil, gensupport.WrapError(err)
 11118  	}
 11119  	ret := &Policy{
 11120  		ServerResponse: googleapi.ServerResponse{
 11121  			Header:         res.Header,
 11122  			HTTPStatusCode: res.StatusCode,
 11123  		},
 11124  	}
 11125  	target := &ret
 11126  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11127  		return nil, err
 11128  	}
 11129  	return ret, nil
 11130  }
 11131  
 11132  type ProjectsLocationsScopesListCall struct {
 11133  	s            *Service
 11134  	parent       string
 11135  	urlParams_   gensupport.URLParams
 11136  	ifNoneMatch_ string
 11137  	ctx_         context.Context
 11138  	header_      http.Header
 11139  }
 11140  
 11141  // List: Lists Scopes.
 11142  //
 11143  //   - parent: The parent (project and location) where the Scope will be listed.
 11144  //     Specified in the format `projects/*/locations/*`.
 11145  func (r *ProjectsLocationsScopesService) List(parent string) *ProjectsLocationsScopesListCall {
 11146  	c := &ProjectsLocationsScopesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11147  	c.parent = parent
 11148  	return c
 11149  }
 11150  
 11151  // PageSize sets the optional parameter "pageSize": When requesting a 'page' of
 11152  // resources, `page_size` specifies number of resources to return. If
 11153  // unspecified or set to 0, all resources will be returned.
 11154  func (c *ProjectsLocationsScopesListCall) PageSize(pageSize int64) *ProjectsLocationsScopesListCall {
 11155  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 11156  	return c
 11157  }
 11158  
 11159  // PageToken sets the optional parameter "pageToken": Token returned by
 11160  // previous call to `ListScopes` which specifies the position in the list from
 11161  // where to continue listing the resources.
 11162  func (c *ProjectsLocationsScopesListCall) PageToken(pageToken string) *ProjectsLocationsScopesListCall {
 11163  	c.urlParams_.Set("pageToken", pageToken)
 11164  	return c
 11165  }
 11166  
 11167  // Fields allows partial responses to be retrieved. See
 11168  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11169  // details.
 11170  func (c *ProjectsLocationsScopesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsScopesListCall {
 11171  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11172  	return c
 11173  }
 11174  
 11175  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 11176  // object's ETag matches the given value. This is useful for getting updates
 11177  // only after the object has changed since the last request.
 11178  func (c *ProjectsLocationsScopesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsScopesListCall {
 11179  	c.ifNoneMatch_ = entityTag
 11180  	return c
 11181  }
 11182  
 11183  // Context sets the context to be used in this call's Do method.
 11184  func (c *ProjectsLocationsScopesListCall) Context(ctx context.Context) *ProjectsLocationsScopesListCall {
 11185  	c.ctx_ = ctx
 11186  	return c
 11187  }
 11188  
 11189  // Header returns a http.Header that can be modified by the caller to add
 11190  // headers to the request.
 11191  func (c *ProjectsLocationsScopesListCall) Header() http.Header {
 11192  	if c.header_ == nil {
 11193  		c.header_ = make(http.Header)
 11194  	}
 11195  	return c.header_
 11196  }
 11197  
 11198  func (c *ProjectsLocationsScopesListCall) doRequest(alt string) (*http.Response, error) {
 11199  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 11200  	if c.ifNoneMatch_ != "" {
 11201  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 11202  	}
 11203  	var body io.Reader = nil
 11204  	c.urlParams_.Set("alt", alt)
 11205  	c.urlParams_.Set("prettyPrint", "false")
 11206  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+parent}/scopes")
 11207  	urls += "?" + c.urlParams_.Encode()
 11208  	req, err := http.NewRequest("GET", urls, body)
 11209  	if err != nil {
 11210  		return nil, err
 11211  	}
 11212  	req.Header = reqHeaders
 11213  	googleapi.Expand(req.URL, map[string]string{
 11214  		"parent": c.parent,
 11215  	})
 11216  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11217  }
 11218  
 11219  // Do executes the "gkehub.projects.locations.scopes.list" call.
 11220  // Any non-2xx status code is an error. Response headers are in either
 11221  // *ListScopesResponse.ServerResponse.Header or (if a response was returned at
 11222  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 11223  // check whether the returned error was because http.StatusNotModified was
 11224  // returned.
 11225  func (c *ProjectsLocationsScopesListCall) Do(opts ...googleapi.CallOption) (*ListScopesResponse, error) {
 11226  	gensupport.SetOptions(c.urlParams_, opts...)
 11227  	res, err := c.doRequest("json")
 11228  	if res != nil && res.StatusCode == http.StatusNotModified {
 11229  		if res.Body != nil {
 11230  			res.Body.Close()
 11231  		}
 11232  		return nil, gensupport.WrapError(&googleapi.Error{
 11233  			Code:   res.StatusCode,
 11234  			Header: res.Header,
 11235  		})
 11236  	}
 11237  	if err != nil {
 11238  		return nil, err
 11239  	}
 11240  	defer googleapi.CloseBody(res)
 11241  	if err := googleapi.CheckResponse(res); err != nil {
 11242  		return nil, gensupport.WrapError(err)
 11243  	}
 11244  	ret := &ListScopesResponse{
 11245  		ServerResponse: googleapi.ServerResponse{
 11246  			Header:         res.Header,
 11247  			HTTPStatusCode: res.StatusCode,
 11248  		},
 11249  	}
 11250  	target := &ret
 11251  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11252  		return nil, err
 11253  	}
 11254  	return ret, nil
 11255  }
 11256  
 11257  // Pages invokes f for each page of results.
 11258  // A non-nil error returned from f will halt the iteration.
 11259  // The provided context supersedes any context provided to the Context method.
 11260  func (c *ProjectsLocationsScopesListCall) Pages(ctx context.Context, f func(*ListScopesResponse) error) error {
 11261  	c.ctx_ = ctx
 11262  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 11263  	for {
 11264  		x, err := c.Do()
 11265  		if err != nil {
 11266  			return err
 11267  		}
 11268  		if err := f(x); err != nil {
 11269  			return err
 11270  		}
 11271  		if x.NextPageToken == "" {
 11272  			return nil
 11273  		}
 11274  		c.PageToken(x.NextPageToken)
 11275  	}
 11276  }
 11277  
 11278  type ProjectsLocationsScopesListMembershipsCall struct {
 11279  	s            *Service
 11280  	scopeName    string
 11281  	urlParams_   gensupport.URLParams
 11282  	ifNoneMatch_ string
 11283  	ctx_         context.Context
 11284  	header_      http.Header
 11285  }
 11286  
 11287  // ListMemberships: Lists Memberships bound to a Scope. The response includes
 11288  // relevant Memberships from all regions.
 11289  //
 11290  //   - scopeName: Name of the Scope, in the format
 11291  //     `projects/*/locations/global/scopes/*`, to which the Memberships are
 11292  //     bound.
 11293  func (r *ProjectsLocationsScopesService) ListMemberships(scopeName string) *ProjectsLocationsScopesListMembershipsCall {
 11294  	c := &ProjectsLocationsScopesListMembershipsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11295  	c.scopeName = scopeName
 11296  	return c
 11297  }
 11298  
 11299  // Filter sets the optional parameter "filter": Lists Memberships that match
 11300  // the filter expression, following the syntax outlined in
 11301  // https://google.aip.dev/160. Currently, filtering can be done only based on
 11302  // Memberships's `name`, `labels`, `create_time`, `update_time`, and
 11303  // `unique_id`.
 11304  func (c *ProjectsLocationsScopesListMembershipsCall) Filter(filter string) *ProjectsLocationsScopesListMembershipsCall {
 11305  	c.urlParams_.Set("filter", filter)
 11306  	return c
 11307  }
 11308  
 11309  // PageSize sets the optional parameter "pageSize": When requesting a 'page' of
 11310  // resources, `page_size` specifies number of resources to return. If
 11311  // unspecified or set to 0, all resources will be returned. Pagination is
 11312  // currently not supported; therefore, setting this field does not have any
 11313  // impact for now.
 11314  func (c *ProjectsLocationsScopesListMembershipsCall) PageSize(pageSize int64) *ProjectsLocationsScopesListMembershipsCall {
 11315  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 11316  	return c
 11317  }
 11318  
 11319  // PageToken sets the optional parameter "pageToken": Token returned by
 11320  // previous call to `ListBoundMemberships` which specifies the position in the
 11321  // list from where to continue listing the resources.
 11322  func (c *ProjectsLocationsScopesListMembershipsCall) PageToken(pageToken string) *ProjectsLocationsScopesListMembershipsCall {
 11323  	c.urlParams_.Set("pageToken", pageToken)
 11324  	return c
 11325  }
 11326  
 11327  // Fields allows partial responses to be retrieved. See
 11328  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11329  // details.
 11330  func (c *ProjectsLocationsScopesListMembershipsCall) Fields(s ...googleapi.Field) *ProjectsLocationsScopesListMembershipsCall {
 11331  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11332  	return c
 11333  }
 11334  
 11335  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 11336  // object's ETag matches the given value. This is useful for getting updates
 11337  // only after the object has changed since the last request.
 11338  func (c *ProjectsLocationsScopesListMembershipsCall) IfNoneMatch(entityTag string) *ProjectsLocationsScopesListMembershipsCall {
 11339  	c.ifNoneMatch_ = entityTag
 11340  	return c
 11341  }
 11342  
 11343  // Context sets the context to be used in this call's Do method.
 11344  func (c *ProjectsLocationsScopesListMembershipsCall) Context(ctx context.Context) *ProjectsLocationsScopesListMembershipsCall {
 11345  	c.ctx_ = ctx
 11346  	return c
 11347  }
 11348  
 11349  // Header returns a http.Header that can be modified by the caller to add
 11350  // headers to the request.
 11351  func (c *ProjectsLocationsScopesListMembershipsCall) Header() http.Header {
 11352  	if c.header_ == nil {
 11353  		c.header_ = make(http.Header)
 11354  	}
 11355  	return c.header_
 11356  }
 11357  
 11358  func (c *ProjectsLocationsScopesListMembershipsCall) doRequest(alt string) (*http.Response, error) {
 11359  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 11360  	if c.ifNoneMatch_ != "" {
 11361  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 11362  	}
 11363  	var body io.Reader = nil
 11364  	c.urlParams_.Set("alt", alt)
 11365  	c.urlParams_.Set("prettyPrint", "false")
 11366  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+scopeName}:listMemberships")
 11367  	urls += "?" + c.urlParams_.Encode()
 11368  	req, err := http.NewRequest("GET", urls, body)
 11369  	if err != nil {
 11370  		return nil, err
 11371  	}
 11372  	req.Header = reqHeaders
 11373  	googleapi.Expand(req.URL, map[string]string{
 11374  		"scopeName": c.scopeName,
 11375  	})
 11376  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11377  }
 11378  
 11379  // Do executes the "gkehub.projects.locations.scopes.listMemberships" call.
 11380  // Any non-2xx status code is an error. Response headers are in either
 11381  // *ListBoundMembershipsResponse.ServerResponse.Header or (if a response was
 11382  // returned at all) in error.(*googleapi.Error).Header. Use
 11383  // googleapi.IsNotModified to check whether the returned error was because
 11384  // http.StatusNotModified was returned.
 11385  func (c *ProjectsLocationsScopesListMembershipsCall) Do(opts ...googleapi.CallOption) (*ListBoundMembershipsResponse, error) {
 11386  	gensupport.SetOptions(c.urlParams_, opts...)
 11387  	res, err := c.doRequest("json")
 11388  	if res != nil && res.StatusCode == http.StatusNotModified {
 11389  		if res.Body != nil {
 11390  			res.Body.Close()
 11391  		}
 11392  		return nil, gensupport.WrapError(&googleapi.Error{
 11393  			Code:   res.StatusCode,
 11394  			Header: res.Header,
 11395  		})
 11396  	}
 11397  	if err != nil {
 11398  		return nil, err
 11399  	}
 11400  	defer googleapi.CloseBody(res)
 11401  	if err := googleapi.CheckResponse(res); err != nil {
 11402  		return nil, gensupport.WrapError(err)
 11403  	}
 11404  	ret := &ListBoundMembershipsResponse{
 11405  		ServerResponse: googleapi.ServerResponse{
 11406  			Header:         res.Header,
 11407  			HTTPStatusCode: res.StatusCode,
 11408  		},
 11409  	}
 11410  	target := &ret
 11411  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11412  		return nil, err
 11413  	}
 11414  	return ret, nil
 11415  }
 11416  
 11417  // Pages invokes f for each page of results.
 11418  // A non-nil error returned from f will halt the iteration.
 11419  // The provided context supersedes any context provided to the Context method.
 11420  func (c *ProjectsLocationsScopesListMembershipsCall) Pages(ctx context.Context, f func(*ListBoundMembershipsResponse) error) error {
 11421  	c.ctx_ = ctx
 11422  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 11423  	for {
 11424  		x, err := c.Do()
 11425  		if err != nil {
 11426  			return err
 11427  		}
 11428  		if err := f(x); err != nil {
 11429  			return err
 11430  		}
 11431  		if x.NextPageToken == "" {
 11432  			return nil
 11433  		}
 11434  		c.PageToken(x.NextPageToken)
 11435  	}
 11436  }
 11437  
 11438  type ProjectsLocationsScopesListPermittedCall struct {
 11439  	s            *Service
 11440  	parent       string
 11441  	urlParams_   gensupport.URLParams
 11442  	ifNoneMatch_ string
 11443  	ctx_         context.Context
 11444  	header_      http.Header
 11445  }
 11446  
 11447  // ListPermitted: Lists permitted Scopes.
 11448  //
 11449  //   - parent: The parent (project and location) where the Scope will be listed.
 11450  //     Specified in the format `projects/*/locations/*`.
 11451  func (r *ProjectsLocationsScopesService) ListPermitted(parent string) *ProjectsLocationsScopesListPermittedCall {
 11452  	c := &ProjectsLocationsScopesListPermittedCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11453  	c.parent = parent
 11454  	return c
 11455  }
 11456  
 11457  // PageSize sets the optional parameter "pageSize": When requesting a 'page' of
 11458  // resources, `page_size` specifies number of resources to return. If
 11459  // unspecified or set to 0, all resources will be returned.
 11460  func (c *ProjectsLocationsScopesListPermittedCall) PageSize(pageSize int64) *ProjectsLocationsScopesListPermittedCall {
 11461  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 11462  	return c
 11463  }
 11464  
 11465  // PageToken sets the optional parameter "pageToken": Token returned by
 11466  // previous call to `ListPermittedScopes` which specifies the position in the
 11467  // list from where to continue listing the resources.
 11468  func (c *ProjectsLocationsScopesListPermittedCall) PageToken(pageToken string) *ProjectsLocationsScopesListPermittedCall {
 11469  	c.urlParams_.Set("pageToken", pageToken)
 11470  	return c
 11471  }
 11472  
 11473  // Fields allows partial responses to be retrieved. See
 11474  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11475  // details.
 11476  func (c *ProjectsLocationsScopesListPermittedCall) Fields(s ...googleapi.Field) *ProjectsLocationsScopesListPermittedCall {
 11477  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11478  	return c
 11479  }
 11480  
 11481  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 11482  // object's ETag matches the given value. This is useful for getting updates
 11483  // only after the object has changed since the last request.
 11484  func (c *ProjectsLocationsScopesListPermittedCall) IfNoneMatch(entityTag string) *ProjectsLocationsScopesListPermittedCall {
 11485  	c.ifNoneMatch_ = entityTag
 11486  	return c
 11487  }
 11488  
 11489  // Context sets the context to be used in this call's Do method.
 11490  func (c *ProjectsLocationsScopesListPermittedCall) Context(ctx context.Context) *ProjectsLocationsScopesListPermittedCall {
 11491  	c.ctx_ = ctx
 11492  	return c
 11493  }
 11494  
 11495  // Header returns a http.Header that can be modified by the caller to add
 11496  // headers to the request.
 11497  func (c *ProjectsLocationsScopesListPermittedCall) Header() http.Header {
 11498  	if c.header_ == nil {
 11499  		c.header_ = make(http.Header)
 11500  	}
 11501  	return c.header_
 11502  }
 11503  
 11504  func (c *ProjectsLocationsScopesListPermittedCall) doRequest(alt string) (*http.Response, error) {
 11505  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 11506  	if c.ifNoneMatch_ != "" {
 11507  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 11508  	}
 11509  	var body io.Reader = nil
 11510  	c.urlParams_.Set("alt", alt)
 11511  	c.urlParams_.Set("prettyPrint", "false")
 11512  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+parent}/scopes:listPermitted")
 11513  	urls += "?" + c.urlParams_.Encode()
 11514  	req, err := http.NewRequest("GET", urls, body)
 11515  	if err != nil {
 11516  		return nil, err
 11517  	}
 11518  	req.Header = reqHeaders
 11519  	googleapi.Expand(req.URL, map[string]string{
 11520  		"parent": c.parent,
 11521  	})
 11522  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11523  }
 11524  
 11525  // Do executes the "gkehub.projects.locations.scopes.listPermitted" call.
 11526  // Any non-2xx status code is an error. Response headers are in either
 11527  // *ListPermittedScopesResponse.ServerResponse.Header or (if a response was
 11528  // returned at all) in error.(*googleapi.Error).Header. Use
 11529  // googleapi.IsNotModified to check whether the returned error was because
 11530  // http.StatusNotModified was returned.
 11531  func (c *ProjectsLocationsScopesListPermittedCall) Do(opts ...googleapi.CallOption) (*ListPermittedScopesResponse, error) {
 11532  	gensupport.SetOptions(c.urlParams_, opts...)
 11533  	res, err := c.doRequest("json")
 11534  	if res != nil && res.StatusCode == http.StatusNotModified {
 11535  		if res.Body != nil {
 11536  			res.Body.Close()
 11537  		}
 11538  		return nil, gensupport.WrapError(&googleapi.Error{
 11539  			Code:   res.StatusCode,
 11540  			Header: res.Header,
 11541  		})
 11542  	}
 11543  	if err != nil {
 11544  		return nil, err
 11545  	}
 11546  	defer googleapi.CloseBody(res)
 11547  	if err := googleapi.CheckResponse(res); err != nil {
 11548  		return nil, gensupport.WrapError(err)
 11549  	}
 11550  	ret := &ListPermittedScopesResponse{
 11551  		ServerResponse: googleapi.ServerResponse{
 11552  			Header:         res.Header,
 11553  			HTTPStatusCode: res.StatusCode,
 11554  		},
 11555  	}
 11556  	target := &ret
 11557  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11558  		return nil, err
 11559  	}
 11560  	return ret, nil
 11561  }
 11562  
 11563  // Pages invokes f for each page of results.
 11564  // A non-nil error returned from f will halt the iteration.
 11565  // The provided context supersedes any context provided to the Context method.
 11566  func (c *ProjectsLocationsScopesListPermittedCall) Pages(ctx context.Context, f func(*ListPermittedScopesResponse) error) error {
 11567  	c.ctx_ = ctx
 11568  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 11569  	for {
 11570  		x, err := c.Do()
 11571  		if err != nil {
 11572  			return err
 11573  		}
 11574  		if err := f(x); err != nil {
 11575  			return err
 11576  		}
 11577  		if x.NextPageToken == "" {
 11578  			return nil
 11579  		}
 11580  		c.PageToken(x.NextPageToken)
 11581  	}
 11582  }
 11583  
 11584  type ProjectsLocationsScopesPatchCall struct {
 11585  	s          *Service
 11586  	name       string
 11587  	scope      *Scope
 11588  	urlParams_ gensupport.URLParams
 11589  	ctx_       context.Context
 11590  	header_    http.Header
 11591  }
 11592  
 11593  // Patch: Updates a scopes.
 11594  //
 11595  //   - name: The resource name for the scope
 11596  //     `projects/{project}/locations/{location}/scopes/{scope}`.
 11597  func (r *ProjectsLocationsScopesService) Patch(name string, scope *Scope) *ProjectsLocationsScopesPatchCall {
 11598  	c := &ProjectsLocationsScopesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11599  	c.name = name
 11600  	c.scope = scope
 11601  	return c
 11602  }
 11603  
 11604  // UpdateMask sets the optional parameter "updateMask": Required. The fields to
 11605  // be updated.
 11606  func (c *ProjectsLocationsScopesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsScopesPatchCall {
 11607  	c.urlParams_.Set("updateMask", updateMask)
 11608  	return c
 11609  }
 11610  
 11611  // Fields allows partial responses to be retrieved. See
 11612  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11613  // details.
 11614  func (c *ProjectsLocationsScopesPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsScopesPatchCall {
 11615  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11616  	return c
 11617  }
 11618  
 11619  // Context sets the context to be used in this call's Do method.
 11620  func (c *ProjectsLocationsScopesPatchCall) Context(ctx context.Context) *ProjectsLocationsScopesPatchCall {
 11621  	c.ctx_ = ctx
 11622  	return c
 11623  }
 11624  
 11625  // Header returns a http.Header that can be modified by the caller to add
 11626  // headers to the request.
 11627  func (c *ProjectsLocationsScopesPatchCall) Header() http.Header {
 11628  	if c.header_ == nil {
 11629  		c.header_ = make(http.Header)
 11630  	}
 11631  	return c.header_
 11632  }
 11633  
 11634  func (c *ProjectsLocationsScopesPatchCall) doRequest(alt string) (*http.Response, error) {
 11635  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 11636  	var body io.Reader = nil
 11637  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.scope)
 11638  	if err != nil {
 11639  		return nil, err
 11640  	}
 11641  	c.urlParams_.Set("alt", alt)
 11642  	c.urlParams_.Set("prettyPrint", "false")
 11643  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}")
 11644  	urls += "?" + c.urlParams_.Encode()
 11645  	req, err := http.NewRequest("PATCH", urls, body)
 11646  	if err != nil {
 11647  		return nil, err
 11648  	}
 11649  	req.Header = reqHeaders
 11650  	googleapi.Expand(req.URL, map[string]string{
 11651  		"name": c.name,
 11652  	})
 11653  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11654  }
 11655  
 11656  // Do executes the "gkehub.projects.locations.scopes.patch" call.
 11657  // Any non-2xx status code is an error. Response headers are in either
 11658  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 11659  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 11660  // whether the returned error was because http.StatusNotModified was returned.
 11661  func (c *ProjectsLocationsScopesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 11662  	gensupport.SetOptions(c.urlParams_, opts...)
 11663  	res, err := c.doRequest("json")
 11664  	if res != nil && res.StatusCode == http.StatusNotModified {
 11665  		if res.Body != nil {
 11666  			res.Body.Close()
 11667  		}
 11668  		return nil, gensupport.WrapError(&googleapi.Error{
 11669  			Code:   res.StatusCode,
 11670  			Header: res.Header,
 11671  		})
 11672  	}
 11673  	if err != nil {
 11674  		return nil, err
 11675  	}
 11676  	defer googleapi.CloseBody(res)
 11677  	if err := googleapi.CheckResponse(res); err != nil {
 11678  		return nil, gensupport.WrapError(err)
 11679  	}
 11680  	ret := &Operation{
 11681  		ServerResponse: googleapi.ServerResponse{
 11682  			Header:         res.Header,
 11683  			HTTPStatusCode: res.StatusCode,
 11684  		},
 11685  	}
 11686  	target := &ret
 11687  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11688  		return nil, err
 11689  	}
 11690  	return ret, nil
 11691  }
 11692  
 11693  type ProjectsLocationsScopesSetIamPolicyCall struct {
 11694  	s                   *Service
 11695  	resource            string
 11696  	setiampolicyrequest *SetIamPolicyRequest
 11697  	urlParams_          gensupport.URLParams
 11698  	ctx_                context.Context
 11699  	header_             http.Header
 11700  }
 11701  
 11702  // SetIamPolicy: Sets the access control policy on the specified resource.
 11703  // Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`,
 11704  // and `PERMISSION_DENIED` errors.
 11705  //
 11706  //   - resource: REQUIRED: The resource for which the policy is being specified.
 11707  //     See Resource names (https://cloud.google.com/apis/design/resource_names)
 11708  //     for the appropriate value for this field.
 11709  func (r *ProjectsLocationsScopesService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsScopesSetIamPolicyCall {
 11710  	c := &ProjectsLocationsScopesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11711  	c.resource = resource
 11712  	c.setiampolicyrequest = setiampolicyrequest
 11713  	return c
 11714  }
 11715  
 11716  // Fields allows partial responses to be retrieved. See
 11717  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11718  // details.
 11719  func (c *ProjectsLocationsScopesSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsScopesSetIamPolicyCall {
 11720  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11721  	return c
 11722  }
 11723  
 11724  // Context sets the context to be used in this call's Do method.
 11725  func (c *ProjectsLocationsScopesSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsScopesSetIamPolicyCall {
 11726  	c.ctx_ = ctx
 11727  	return c
 11728  }
 11729  
 11730  // Header returns a http.Header that can be modified by the caller to add
 11731  // headers to the request.
 11732  func (c *ProjectsLocationsScopesSetIamPolicyCall) Header() http.Header {
 11733  	if c.header_ == nil {
 11734  		c.header_ = make(http.Header)
 11735  	}
 11736  	return c.header_
 11737  }
 11738  
 11739  func (c *ProjectsLocationsScopesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 11740  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 11741  	var body io.Reader = nil
 11742  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
 11743  	if err != nil {
 11744  		return nil, err
 11745  	}
 11746  	c.urlParams_.Set("alt", alt)
 11747  	c.urlParams_.Set("prettyPrint", "false")
 11748  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+resource}:setIamPolicy")
 11749  	urls += "?" + c.urlParams_.Encode()
 11750  	req, err := http.NewRequest("POST", urls, body)
 11751  	if err != nil {
 11752  		return nil, err
 11753  	}
 11754  	req.Header = reqHeaders
 11755  	googleapi.Expand(req.URL, map[string]string{
 11756  		"resource": c.resource,
 11757  	})
 11758  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11759  }
 11760  
 11761  // Do executes the "gkehub.projects.locations.scopes.setIamPolicy" call.
 11762  // Any non-2xx status code is an error. Response headers are in either
 11763  // *Policy.ServerResponse.Header or (if a response was returned at all) in
 11764  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 11765  // whether the returned error was because http.StatusNotModified was returned.
 11766  func (c *ProjectsLocationsScopesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
 11767  	gensupport.SetOptions(c.urlParams_, opts...)
 11768  	res, err := c.doRequest("json")
 11769  	if res != nil && res.StatusCode == http.StatusNotModified {
 11770  		if res.Body != nil {
 11771  			res.Body.Close()
 11772  		}
 11773  		return nil, gensupport.WrapError(&googleapi.Error{
 11774  			Code:   res.StatusCode,
 11775  			Header: res.Header,
 11776  		})
 11777  	}
 11778  	if err != nil {
 11779  		return nil, err
 11780  	}
 11781  	defer googleapi.CloseBody(res)
 11782  	if err := googleapi.CheckResponse(res); err != nil {
 11783  		return nil, gensupport.WrapError(err)
 11784  	}
 11785  	ret := &Policy{
 11786  		ServerResponse: googleapi.ServerResponse{
 11787  			Header:         res.Header,
 11788  			HTTPStatusCode: res.StatusCode,
 11789  		},
 11790  	}
 11791  	target := &ret
 11792  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11793  		return nil, err
 11794  	}
 11795  	return ret, nil
 11796  }
 11797  
 11798  type ProjectsLocationsScopesTestIamPermissionsCall struct {
 11799  	s                         *Service
 11800  	resource                  string
 11801  	testiampermissionsrequest *TestIamPermissionsRequest
 11802  	urlParams_                gensupport.URLParams
 11803  	ctx_                      context.Context
 11804  	header_                   http.Header
 11805  }
 11806  
 11807  // TestIamPermissions: Returns permissions that a caller has on the specified
 11808  // resource. If the resource does not exist, this will return an empty set of
 11809  // permissions, not a `NOT_FOUND` error. Note: This operation is designed to be
 11810  // used for building permission-aware UIs and command-line tools, not for
 11811  // authorization checking. This operation may "fail open" without warning.
 11812  //
 11813  //   - resource: REQUIRED: The resource for which the policy detail is being
 11814  //     requested. See Resource names
 11815  //     (https://cloud.google.com/apis/design/resource_names) for the appropriate
 11816  //     value for this field.
 11817  func (r *ProjectsLocationsScopesService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsScopesTestIamPermissionsCall {
 11818  	c := &ProjectsLocationsScopesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11819  	c.resource = resource
 11820  	c.testiampermissionsrequest = testiampermissionsrequest
 11821  	return c
 11822  }
 11823  
 11824  // Fields allows partial responses to be retrieved. See
 11825  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11826  // details.
 11827  func (c *ProjectsLocationsScopesTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsScopesTestIamPermissionsCall {
 11828  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11829  	return c
 11830  }
 11831  
 11832  // Context sets the context to be used in this call's Do method.
 11833  func (c *ProjectsLocationsScopesTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsScopesTestIamPermissionsCall {
 11834  	c.ctx_ = ctx
 11835  	return c
 11836  }
 11837  
 11838  // Header returns a http.Header that can be modified by the caller to add
 11839  // headers to the request.
 11840  func (c *ProjectsLocationsScopesTestIamPermissionsCall) Header() http.Header {
 11841  	if c.header_ == nil {
 11842  		c.header_ = make(http.Header)
 11843  	}
 11844  	return c.header_
 11845  }
 11846  
 11847  func (c *ProjectsLocationsScopesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 11848  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 11849  	var body io.Reader = nil
 11850  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
 11851  	if err != nil {
 11852  		return nil, err
 11853  	}
 11854  	c.urlParams_.Set("alt", alt)
 11855  	c.urlParams_.Set("prettyPrint", "false")
 11856  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+resource}:testIamPermissions")
 11857  	urls += "?" + c.urlParams_.Encode()
 11858  	req, err := http.NewRequest("POST", urls, body)
 11859  	if err != nil {
 11860  		return nil, err
 11861  	}
 11862  	req.Header = reqHeaders
 11863  	googleapi.Expand(req.URL, map[string]string{
 11864  		"resource": c.resource,
 11865  	})
 11866  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11867  }
 11868  
 11869  // Do executes the "gkehub.projects.locations.scopes.testIamPermissions" call.
 11870  // Any non-2xx status code is an error. Response headers are in either
 11871  // *TestIamPermissionsResponse.ServerResponse.Header or (if a response was
 11872  // returned at all) in error.(*googleapi.Error).Header. Use
 11873  // googleapi.IsNotModified to check whether the returned error was because
 11874  // http.StatusNotModified was returned.
 11875  func (c *ProjectsLocationsScopesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
 11876  	gensupport.SetOptions(c.urlParams_, opts...)
 11877  	res, err := c.doRequest("json")
 11878  	if res != nil && res.StatusCode == http.StatusNotModified {
 11879  		if res.Body != nil {
 11880  			res.Body.Close()
 11881  		}
 11882  		return nil, gensupport.WrapError(&googleapi.Error{
 11883  			Code:   res.StatusCode,
 11884  			Header: res.Header,
 11885  		})
 11886  	}
 11887  	if err != nil {
 11888  		return nil, err
 11889  	}
 11890  	defer googleapi.CloseBody(res)
 11891  	if err := googleapi.CheckResponse(res); err != nil {
 11892  		return nil, gensupport.WrapError(err)
 11893  	}
 11894  	ret := &TestIamPermissionsResponse{
 11895  		ServerResponse: googleapi.ServerResponse{
 11896  			Header:         res.Header,
 11897  			HTTPStatusCode: res.StatusCode,
 11898  		},
 11899  	}
 11900  	target := &ret
 11901  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11902  		return nil, err
 11903  	}
 11904  	return ret, nil
 11905  }
 11906  
 11907  type ProjectsLocationsScopesNamespacesCreateCall struct {
 11908  	s          *Service
 11909  	parent     string
 11910  	namespace  *Namespace
 11911  	urlParams_ gensupport.URLParams
 11912  	ctx_       context.Context
 11913  	header_    http.Header
 11914  }
 11915  
 11916  // Create: Creates a fleet namespace.
 11917  //
 11918  //   - parent: The parent (project and location) where the Namespace will be
 11919  //     created. Specified in the format `projects/*/locations/*/scopes/*`.
 11920  func (r *ProjectsLocationsScopesNamespacesService) Create(parent string, namespace *Namespace) *ProjectsLocationsScopesNamespacesCreateCall {
 11921  	c := &ProjectsLocationsScopesNamespacesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11922  	c.parent = parent
 11923  	c.namespace = namespace
 11924  	return c
 11925  }
 11926  
 11927  // ScopeNamespaceId sets the optional parameter "scopeNamespaceId": Required.
 11928  // Client chosen ID for the Namespace. `namespace_id` must be a valid RFC 1123
 11929  // compliant DNS label: 1. At most 63 characters in length 2. It must consist
 11930  // of lower case alphanumeric characters or `-` 3. It must start and end with
 11931  // an alphanumeric character Which can be expressed as the regex:
 11932  // `[a-z0-9]([-a-z0-9]*[a-z0-9])?`, with a maximum length of 63 characters.
 11933  func (c *ProjectsLocationsScopesNamespacesCreateCall) ScopeNamespaceId(scopeNamespaceId string) *ProjectsLocationsScopesNamespacesCreateCall {
 11934  	c.urlParams_.Set("scopeNamespaceId", scopeNamespaceId)
 11935  	return c
 11936  }
 11937  
 11938  // Fields allows partial responses to be retrieved. See
 11939  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11940  // details.
 11941  func (c *ProjectsLocationsScopesNamespacesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsScopesNamespacesCreateCall {
 11942  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11943  	return c
 11944  }
 11945  
 11946  // Context sets the context to be used in this call's Do method.
 11947  func (c *ProjectsLocationsScopesNamespacesCreateCall) Context(ctx context.Context) *ProjectsLocationsScopesNamespacesCreateCall {
 11948  	c.ctx_ = ctx
 11949  	return c
 11950  }
 11951  
 11952  // Header returns a http.Header that can be modified by the caller to add
 11953  // headers to the request.
 11954  func (c *ProjectsLocationsScopesNamespacesCreateCall) Header() http.Header {
 11955  	if c.header_ == nil {
 11956  		c.header_ = make(http.Header)
 11957  	}
 11958  	return c.header_
 11959  }
 11960  
 11961  func (c *ProjectsLocationsScopesNamespacesCreateCall) doRequest(alt string) (*http.Response, error) {
 11962  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 11963  	var body io.Reader = nil
 11964  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.namespace)
 11965  	if err != nil {
 11966  		return nil, err
 11967  	}
 11968  	c.urlParams_.Set("alt", alt)
 11969  	c.urlParams_.Set("prettyPrint", "false")
 11970  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+parent}/namespaces")
 11971  	urls += "?" + c.urlParams_.Encode()
 11972  	req, err := http.NewRequest("POST", urls, body)
 11973  	if err != nil {
 11974  		return nil, err
 11975  	}
 11976  	req.Header = reqHeaders
 11977  	googleapi.Expand(req.URL, map[string]string{
 11978  		"parent": c.parent,
 11979  	})
 11980  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11981  }
 11982  
 11983  // Do executes the "gkehub.projects.locations.scopes.namespaces.create" call.
 11984  // Any non-2xx status code is an error. Response headers are in either
 11985  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 11986  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 11987  // whether the returned error was because http.StatusNotModified was returned.
 11988  func (c *ProjectsLocationsScopesNamespacesCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 11989  	gensupport.SetOptions(c.urlParams_, opts...)
 11990  	res, err := c.doRequest("json")
 11991  	if res != nil && res.StatusCode == http.StatusNotModified {
 11992  		if res.Body != nil {
 11993  			res.Body.Close()
 11994  		}
 11995  		return nil, gensupport.WrapError(&googleapi.Error{
 11996  			Code:   res.StatusCode,
 11997  			Header: res.Header,
 11998  		})
 11999  	}
 12000  	if err != nil {
 12001  		return nil, err
 12002  	}
 12003  	defer googleapi.CloseBody(res)
 12004  	if err := googleapi.CheckResponse(res); err != nil {
 12005  		return nil, gensupport.WrapError(err)
 12006  	}
 12007  	ret := &Operation{
 12008  		ServerResponse: googleapi.ServerResponse{
 12009  			Header:         res.Header,
 12010  			HTTPStatusCode: res.StatusCode,
 12011  		},
 12012  	}
 12013  	target := &ret
 12014  	if err := gensupport.DecodeResponse(target, res); err != nil {
 12015  		return nil, err
 12016  	}
 12017  	return ret, nil
 12018  }
 12019  
 12020  type ProjectsLocationsScopesNamespacesDeleteCall struct {
 12021  	s          *Service
 12022  	name       string
 12023  	urlParams_ gensupport.URLParams
 12024  	ctx_       context.Context
 12025  	header_    http.Header
 12026  }
 12027  
 12028  // Delete: Deletes a fleet namespace.
 12029  //
 12030  //   - name: The Namespace resource name in the format
 12031  //     `projects/*/locations/*/scopes/*/namespaces/*`.
 12032  func (r *ProjectsLocationsScopesNamespacesService) Delete(name string) *ProjectsLocationsScopesNamespacesDeleteCall {
 12033  	c := &ProjectsLocationsScopesNamespacesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 12034  	c.name = name
 12035  	return c
 12036  }
 12037  
 12038  // Fields allows partial responses to be retrieved. See
 12039  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 12040  // details.
 12041  func (c *ProjectsLocationsScopesNamespacesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsScopesNamespacesDeleteCall {
 12042  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 12043  	return c
 12044  }
 12045  
 12046  // Context sets the context to be used in this call's Do method.
 12047  func (c *ProjectsLocationsScopesNamespacesDeleteCall) Context(ctx context.Context) *ProjectsLocationsScopesNamespacesDeleteCall {
 12048  	c.ctx_ = ctx
 12049  	return c
 12050  }
 12051  
 12052  // Header returns a http.Header that can be modified by the caller to add
 12053  // headers to the request.
 12054  func (c *ProjectsLocationsScopesNamespacesDeleteCall) Header() http.Header {
 12055  	if c.header_ == nil {
 12056  		c.header_ = make(http.Header)
 12057  	}
 12058  	return c.header_
 12059  }
 12060  
 12061  func (c *ProjectsLocationsScopesNamespacesDeleteCall) doRequest(alt string) (*http.Response, error) {
 12062  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 12063  	var body io.Reader = nil
 12064  	c.urlParams_.Set("alt", alt)
 12065  	c.urlParams_.Set("prettyPrint", "false")
 12066  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}")
 12067  	urls += "?" + c.urlParams_.Encode()
 12068  	req, err := http.NewRequest("DELETE", urls, body)
 12069  	if err != nil {
 12070  		return nil, err
 12071  	}
 12072  	req.Header = reqHeaders
 12073  	googleapi.Expand(req.URL, map[string]string{
 12074  		"name": c.name,
 12075  	})
 12076  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 12077  }
 12078  
 12079  // Do executes the "gkehub.projects.locations.scopes.namespaces.delete" call.
 12080  // Any non-2xx status code is an error. Response headers are in either
 12081  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 12082  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 12083  // whether the returned error was because http.StatusNotModified was returned.
 12084  func (c *ProjectsLocationsScopesNamespacesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 12085  	gensupport.SetOptions(c.urlParams_, opts...)
 12086  	res, err := c.doRequest("json")
 12087  	if res != nil && res.StatusCode == http.StatusNotModified {
 12088  		if res.Body != nil {
 12089  			res.Body.Close()
 12090  		}
 12091  		return nil, gensupport.WrapError(&googleapi.Error{
 12092  			Code:   res.StatusCode,
 12093  			Header: res.Header,
 12094  		})
 12095  	}
 12096  	if err != nil {
 12097  		return nil, err
 12098  	}
 12099  	defer googleapi.CloseBody(res)
 12100  	if err := googleapi.CheckResponse(res); err != nil {
 12101  		return nil, gensupport.WrapError(err)
 12102  	}
 12103  	ret := &Operation{
 12104  		ServerResponse: googleapi.ServerResponse{
 12105  			Header:         res.Header,
 12106  			HTTPStatusCode: res.StatusCode,
 12107  		},
 12108  	}
 12109  	target := &ret
 12110  	if err := gensupport.DecodeResponse(target, res); err != nil {
 12111  		return nil, err
 12112  	}
 12113  	return ret, nil
 12114  }
 12115  
 12116  type ProjectsLocationsScopesNamespacesGetCall struct {
 12117  	s            *Service
 12118  	name         string
 12119  	urlParams_   gensupport.URLParams
 12120  	ifNoneMatch_ string
 12121  	ctx_         context.Context
 12122  	header_      http.Header
 12123  }
 12124  
 12125  // Get: Returns the details of a fleet namespace.
 12126  //
 12127  //   - name: The Namespace resource name in the format
 12128  //     `projects/*/locations/*/scopes/*/namespaces/*`.
 12129  func (r *ProjectsLocationsScopesNamespacesService) Get(name string) *ProjectsLocationsScopesNamespacesGetCall {
 12130  	c := &ProjectsLocationsScopesNamespacesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 12131  	c.name = name
 12132  	return c
 12133  }
 12134  
 12135  // Fields allows partial responses to be retrieved. See
 12136  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 12137  // details.
 12138  func (c *ProjectsLocationsScopesNamespacesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsScopesNamespacesGetCall {
 12139  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 12140  	return c
 12141  }
 12142  
 12143  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 12144  // object's ETag matches the given value. This is useful for getting updates
 12145  // only after the object has changed since the last request.
 12146  func (c *ProjectsLocationsScopesNamespacesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsScopesNamespacesGetCall {
 12147  	c.ifNoneMatch_ = entityTag
 12148  	return c
 12149  }
 12150  
 12151  // Context sets the context to be used in this call's Do method.
 12152  func (c *ProjectsLocationsScopesNamespacesGetCall) Context(ctx context.Context) *ProjectsLocationsScopesNamespacesGetCall {
 12153  	c.ctx_ = ctx
 12154  	return c
 12155  }
 12156  
 12157  // Header returns a http.Header that can be modified by the caller to add
 12158  // headers to the request.
 12159  func (c *ProjectsLocationsScopesNamespacesGetCall) Header() http.Header {
 12160  	if c.header_ == nil {
 12161  		c.header_ = make(http.Header)
 12162  	}
 12163  	return c.header_
 12164  }
 12165  
 12166  func (c *ProjectsLocationsScopesNamespacesGetCall) doRequest(alt string) (*http.Response, error) {
 12167  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 12168  	if c.ifNoneMatch_ != "" {
 12169  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 12170  	}
 12171  	var body io.Reader = nil
 12172  	c.urlParams_.Set("alt", alt)
 12173  	c.urlParams_.Set("prettyPrint", "false")
 12174  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}")
 12175  	urls += "?" + c.urlParams_.Encode()
 12176  	req, err := http.NewRequest("GET", urls, body)
 12177  	if err != nil {
 12178  		return nil, err
 12179  	}
 12180  	req.Header = reqHeaders
 12181  	googleapi.Expand(req.URL, map[string]string{
 12182  		"name": c.name,
 12183  	})
 12184  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 12185  }
 12186  
 12187  // Do executes the "gkehub.projects.locations.scopes.namespaces.get" call.
 12188  // Any non-2xx status code is an error. Response headers are in either
 12189  // *Namespace.ServerResponse.Header or (if a response was returned at all) in
 12190  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 12191  // whether the returned error was because http.StatusNotModified was returned.
 12192  func (c *ProjectsLocationsScopesNamespacesGetCall) Do(opts ...googleapi.CallOption) (*Namespace, error) {
 12193  	gensupport.SetOptions(c.urlParams_, opts...)
 12194  	res, err := c.doRequest("json")
 12195  	if res != nil && res.StatusCode == http.StatusNotModified {
 12196  		if res.Body != nil {
 12197  			res.Body.Close()
 12198  		}
 12199  		return nil, gensupport.WrapError(&googleapi.Error{
 12200  			Code:   res.StatusCode,
 12201  			Header: res.Header,
 12202  		})
 12203  	}
 12204  	if err != nil {
 12205  		return nil, err
 12206  	}
 12207  	defer googleapi.CloseBody(res)
 12208  	if err := googleapi.CheckResponse(res); err != nil {
 12209  		return nil, gensupport.WrapError(err)
 12210  	}
 12211  	ret := &Namespace{
 12212  		ServerResponse: googleapi.ServerResponse{
 12213  			Header:         res.Header,
 12214  			HTTPStatusCode: res.StatusCode,
 12215  		},
 12216  	}
 12217  	target := &ret
 12218  	if err := gensupport.DecodeResponse(target, res); err != nil {
 12219  		return nil, err
 12220  	}
 12221  	return ret, nil
 12222  }
 12223  
 12224  type ProjectsLocationsScopesNamespacesListCall struct {
 12225  	s            *Service
 12226  	parent       string
 12227  	urlParams_   gensupport.URLParams
 12228  	ifNoneMatch_ string
 12229  	ctx_         context.Context
 12230  	header_      http.Header
 12231  }
 12232  
 12233  // List: Lists fleet namespaces.
 12234  //
 12235  //   - parent: The parent (project and location) where the Features will be
 12236  //     listed. Specified in the format `projects/*/locations/*/scopes/*`.
 12237  func (r *ProjectsLocationsScopesNamespacesService) List(parent string) *ProjectsLocationsScopesNamespacesListCall {
 12238  	c := &ProjectsLocationsScopesNamespacesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 12239  	c.parent = parent
 12240  	return c
 12241  }
 12242  
 12243  // PageSize sets the optional parameter "pageSize": When requesting a 'page' of
 12244  // resources, `page_size` specifies number of resources to return. If
 12245  // unspecified or set to 0, all resources will be returned.
 12246  func (c *ProjectsLocationsScopesNamespacesListCall) PageSize(pageSize int64) *ProjectsLocationsScopesNamespacesListCall {
 12247  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 12248  	return c
 12249  }
 12250  
 12251  // PageToken sets the optional parameter "pageToken": Token returned by
 12252  // previous call to `ListFeatures` which specifies the position in the list
 12253  // from where to continue listing the resources.
 12254  func (c *ProjectsLocationsScopesNamespacesListCall) PageToken(pageToken string) *ProjectsLocationsScopesNamespacesListCall {
 12255  	c.urlParams_.Set("pageToken", pageToken)
 12256  	return c
 12257  }
 12258  
 12259  // Fields allows partial responses to be retrieved. See
 12260  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 12261  // details.
 12262  func (c *ProjectsLocationsScopesNamespacesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsScopesNamespacesListCall {
 12263  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 12264  	return c
 12265  }
 12266  
 12267  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 12268  // object's ETag matches the given value. This is useful for getting updates
 12269  // only after the object has changed since the last request.
 12270  func (c *ProjectsLocationsScopesNamespacesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsScopesNamespacesListCall {
 12271  	c.ifNoneMatch_ = entityTag
 12272  	return c
 12273  }
 12274  
 12275  // Context sets the context to be used in this call's Do method.
 12276  func (c *ProjectsLocationsScopesNamespacesListCall) Context(ctx context.Context) *ProjectsLocationsScopesNamespacesListCall {
 12277  	c.ctx_ = ctx
 12278  	return c
 12279  }
 12280  
 12281  // Header returns a http.Header that can be modified by the caller to add
 12282  // headers to the request.
 12283  func (c *ProjectsLocationsScopesNamespacesListCall) Header() http.Header {
 12284  	if c.header_ == nil {
 12285  		c.header_ = make(http.Header)
 12286  	}
 12287  	return c.header_
 12288  }
 12289  
 12290  func (c *ProjectsLocationsScopesNamespacesListCall) doRequest(alt string) (*http.Response, error) {
 12291  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 12292  	if c.ifNoneMatch_ != "" {
 12293  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 12294  	}
 12295  	var body io.Reader = nil
 12296  	c.urlParams_.Set("alt", alt)
 12297  	c.urlParams_.Set("prettyPrint", "false")
 12298  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+parent}/namespaces")
 12299  	urls += "?" + c.urlParams_.Encode()
 12300  	req, err := http.NewRequest("GET", urls, body)
 12301  	if err != nil {
 12302  		return nil, err
 12303  	}
 12304  	req.Header = reqHeaders
 12305  	googleapi.Expand(req.URL, map[string]string{
 12306  		"parent": c.parent,
 12307  	})
 12308  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 12309  }
 12310  
 12311  // Do executes the "gkehub.projects.locations.scopes.namespaces.list" call.
 12312  // Any non-2xx status code is an error. Response headers are in either
 12313  // *ListScopeNamespacesResponse.ServerResponse.Header or (if a response was
 12314  // returned at all) in error.(*googleapi.Error).Header. Use
 12315  // googleapi.IsNotModified to check whether the returned error was because
 12316  // http.StatusNotModified was returned.
 12317  func (c *ProjectsLocationsScopesNamespacesListCall) Do(opts ...googleapi.CallOption) (*ListScopeNamespacesResponse, error) {
 12318  	gensupport.SetOptions(c.urlParams_, opts...)
 12319  	res, err := c.doRequest("json")
 12320  	if res != nil && res.StatusCode == http.StatusNotModified {
 12321  		if res.Body != nil {
 12322  			res.Body.Close()
 12323  		}
 12324  		return nil, gensupport.WrapError(&googleapi.Error{
 12325  			Code:   res.StatusCode,
 12326  			Header: res.Header,
 12327  		})
 12328  	}
 12329  	if err != nil {
 12330  		return nil, err
 12331  	}
 12332  	defer googleapi.CloseBody(res)
 12333  	if err := googleapi.CheckResponse(res); err != nil {
 12334  		return nil, gensupport.WrapError(err)
 12335  	}
 12336  	ret := &ListScopeNamespacesResponse{
 12337  		ServerResponse: googleapi.ServerResponse{
 12338  			Header:         res.Header,
 12339  			HTTPStatusCode: res.StatusCode,
 12340  		},
 12341  	}
 12342  	target := &ret
 12343  	if err := gensupport.DecodeResponse(target, res); err != nil {
 12344  		return nil, err
 12345  	}
 12346  	return ret, nil
 12347  }
 12348  
 12349  // Pages invokes f for each page of results.
 12350  // A non-nil error returned from f will halt the iteration.
 12351  // The provided context supersedes any context provided to the Context method.
 12352  func (c *ProjectsLocationsScopesNamespacesListCall) Pages(ctx context.Context, f func(*ListScopeNamespacesResponse) error) error {
 12353  	c.ctx_ = ctx
 12354  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 12355  	for {
 12356  		x, err := c.Do()
 12357  		if err != nil {
 12358  			return err
 12359  		}
 12360  		if err := f(x); err != nil {
 12361  			return err
 12362  		}
 12363  		if x.NextPageToken == "" {
 12364  			return nil
 12365  		}
 12366  		c.PageToken(x.NextPageToken)
 12367  	}
 12368  }
 12369  
 12370  type ProjectsLocationsScopesNamespacesPatchCall struct {
 12371  	s          *Service
 12372  	name       string
 12373  	namespace  *Namespace
 12374  	urlParams_ gensupport.URLParams
 12375  	ctx_       context.Context
 12376  	header_    http.Header
 12377  }
 12378  
 12379  // Patch: Updates a fleet namespace.
 12380  //
 12381  //   - name: The resource name for the namespace
 12382  //     `projects/{project}/locations/{location}/namespaces/{namespace}`.
 12383  func (r *ProjectsLocationsScopesNamespacesService) Patch(name string, namespace *Namespace) *ProjectsLocationsScopesNamespacesPatchCall {
 12384  	c := &ProjectsLocationsScopesNamespacesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 12385  	c.name = name
 12386  	c.namespace = namespace
 12387  	return c
 12388  }
 12389  
 12390  // UpdateMask sets the optional parameter "updateMask": Required. The fields to
 12391  // be updated.
 12392  func (c *ProjectsLocationsScopesNamespacesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsScopesNamespacesPatchCall {
 12393  	c.urlParams_.Set("updateMask", updateMask)
 12394  	return c
 12395  }
 12396  
 12397  // Fields allows partial responses to be retrieved. See
 12398  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 12399  // details.
 12400  func (c *ProjectsLocationsScopesNamespacesPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsScopesNamespacesPatchCall {
 12401  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 12402  	return c
 12403  }
 12404  
 12405  // Context sets the context to be used in this call's Do method.
 12406  func (c *ProjectsLocationsScopesNamespacesPatchCall) Context(ctx context.Context) *ProjectsLocationsScopesNamespacesPatchCall {
 12407  	c.ctx_ = ctx
 12408  	return c
 12409  }
 12410  
 12411  // Header returns a http.Header that can be modified by the caller to add
 12412  // headers to the request.
 12413  func (c *ProjectsLocationsScopesNamespacesPatchCall) Header() http.Header {
 12414  	if c.header_ == nil {
 12415  		c.header_ = make(http.Header)
 12416  	}
 12417  	return c.header_
 12418  }
 12419  
 12420  func (c *ProjectsLocationsScopesNamespacesPatchCall) doRequest(alt string) (*http.Response, error) {
 12421  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 12422  	var body io.Reader = nil
 12423  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.namespace)
 12424  	if err != nil {
 12425  		return nil, err
 12426  	}
 12427  	c.urlParams_.Set("alt", alt)
 12428  	c.urlParams_.Set("prettyPrint", "false")
 12429  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}")
 12430  	urls += "?" + c.urlParams_.Encode()
 12431  	req, err := http.NewRequest("PATCH", urls, body)
 12432  	if err != nil {
 12433  		return nil, err
 12434  	}
 12435  	req.Header = reqHeaders
 12436  	googleapi.Expand(req.URL, map[string]string{
 12437  		"name": c.name,
 12438  	})
 12439  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 12440  }
 12441  
 12442  // Do executes the "gkehub.projects.locations.scopes.namespaces.patch" call.
 12443  // Any non-2xx status code is an error. Response headers are in either
 12444  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 12445  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 12446  // whether the returned error was because http.StatusNotModified was returned.
 12447  func (c *ProjectsLocationsScopesNamespacesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 12448  	gensupport.SetOptions(c.urlParams_, opts...)
 12449  	res, err := c.doRequest("json")
 12450  	if res != nil && res.StatusCode == http.StatusNotModified {
 12451  		if res.Body != nil {
 12452  			res.Body.Close()
 12453  		}
 12454  		return nil, gensupport.WrapError(&googleapi.Error{
 12455  			Code:   res.StatusCode,
 12456  			Header: res.Header,
 12457  		})
 12458  	}
 12459  	if err != nil {
 12460  		return nil, err
 12461  	}
 12462  	defer googleapi.CloseBody(res)
 12463  	if err := googleapi.CheckResponse(res); err != nil {
 12464  		return nil, gensupport.WrapError(err)
 12465  	}
 12466  	ret := &Operation{
 12467  		ServerResponse: googleapi.ServerResponse{
 12468  			Header:         res.Header,
 12469  			HTTPStatusCode: res.StatusCode,
 12470  		},
 12471  	}
 12472  	target := &ret
 12473  	if err := gensupport.DecodeResponse(target, res); err != nil {
 12474  		return nil, err
 12475  	}
 12476  	return ret, nil
 12477  }
 12478  
 12479  type ProjectsLocationsScopesRbacrolebindingsCreateCall struct {
 12480  	s               *Service
 12481  	parent          string
 12482  	rbacrolebinding *RBACRoleBinding
 12483  	urlParams_      gensupport.URLParams
 12484  	ctx_            context.Context
 12485  	header_         http.Header
 12486  }
 12487  
 12488  // Create: Creates a Scope RBACRoleBinding.
 12489  //
 12490  //   - parent: The parent (project and location) where the RBACRoleBinding will
 12491  //     be created. Specified in the format `projects/*/locations/*/scopes/*`.
 12492  func (r *ProjectsLocationsScopesRbacrolebindingsService) Create(parent string, rbacrolebinding *RBACRoleBinding) *ProjectsLocationsScopesRbacrolebindingsCreateCall {
 12493  	c := &ProjectsLocationsScopesRbacrolebindingsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 12494  	c.parent = parent
 12495  	c.rbacrolebinding = rbacrolebinding
 12496  	return c
 12497  }
 12498  
 12499  // RbacrolebindingId sets the optional parameter "rbacrolebindingId": Required.
 12500  // Client chosen ID for the RBACRoleBinding. `rbacrolebinding_id` must be a
 12501  // valid RFC 1123 compliant DNS label: 1. At most 63 characters in length 2. It
 12502  // must consist of lower case alphanumeric characters or `-` 3. It must start
 12503  // and end with an alphanumeric character Which can be expressed as the regex:
 12504  // `[a-z0-9]([-a-z0-9]*[a-z0-9])?`, with a maximum length of 63 characters.
 12505  func (c *ProjectsLocationsScopesRbacrolebindingsCreateCall) RbacrolebindingId(rbacrolebindingId string) *ProjectsLocationsScopesRbacrolebindingsCreateCall {
 12506  	c.urlParams_.Set("rbacrolebindingId", rbacrolebindingId)
 12507  	return c
 12508  }
 12509  
 12510  // Fields allows partial responses to be retrieved. See
 12511  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 12512  // details.
 12513  func (c *ProjectsLocationsScopesRbacrolebindingsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsScopesRbacrolebindingsCreateCall {
 12514  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 12515  	return c
 12516  }
 12517  
 12518  // Context sets the context to be used in this call's Do method.
 12519  func (c *ProjectsLocationsScopesRbacrolebindingsCreateCall) Context(ctx context.Context) *ProjectsLocationsScopesRbacrolebindingsCreateCall {
 12520  	c.ctx_ = ctx
 12521  	return c
 12522  }
 12523  
 12524  // Header returns a http.Header that can be modified by the caller to add
 12525  // headers to the request.
 12526  func (c *ProjectsLocationsScopesRbacrolebindingsCreateCall) Header() http.Header {
 12527  	if c.header_ == nil {
 12528  		c.header_ = make(http.Header)
 12529  	}
 12530  	return c.header_
 12531  }
 12532  
 12533  func (c *ProjectsLocationsScopesRbacrolebindingsCreateCall) doRequest(alt string) (*http.Response, error) {
 12534  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 12535  	var body io.Reader = nil
 12536  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.rbacrolebinding)
 12537  	if err != nil {
 12538  		return nil, err
 12539  	}
 12540  	c.urlParams_.Set("alt", alt)
 12541  	c.urlParams_.Set("prettyPrint", "false")
 12542  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+parent}/rbacrolebindings")
 12543  	urls += "?" + c.urlParams_.Encode()
 12544  	req, err := http.NewRequest("POST", urls, body)
 12545  	if err != nil {
 12546  		return nil, err
 12547  	}
 12548  	req.Header = reqHeaders
 12549  	googleapi.Expand(req.URL, map[string]string{
 12550  		"parent": c.parent,
 12551  	})
 12552  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 12553  }
 12554  
 12555  // Do executes the "gkehub.projects.locations.scopes.rbacrolebindings.create" call.
 12556  // Any non-2xx status code is an error. Response headers are in either
 12557  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 12558  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 12559  // whether the returned error was because http.StatusNotModified was returned.
 12560  func (c *ProjectsLocationsScopesRbacrolebindingsCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 12561  	gensupport.SetOptions(c.urlParams_, opts...)
 12562  	res, err := c.doRequest("json")
 12563  	if res != nil && res.StatusCode == http.StatusNotModified {
 12564  		if res.Body != nil {
 12565  			res.Body.Close()
 12566  		}
 12567  		return nil, gensupport.WrapError(&googleapi.Error{
 12568  			Code:   res.StatusCode,
 12569  			Header: res.Header,
 12570  		})
 12571  	}
 12572  	if err != nil {
 12573  		return nil, err
 12574  	}
 12575  	defer googleapi.CloseBody(res)
 12576  	if err := googleapi.CheckResponse(res); err != nil {
 12577  		return nil, gensupport.WrapError(err)
 12578  	}
 12579  	ret := &Operation{
 12580  		ServerResponse: googleapi.ServerResponse{
 12581  			Header:         res.Header,
 12582  			HTTPStatusCode: res.StatusCode,
 12583  		},
 12584  	}
 12585  	target := &ret
 12586  	if err := gensupport.DecodeResponse(target, res); err != nil {
 12587  		return nil, err
 12588  	}
 12589  	return ret, nil
 12590  }
 12591  
 12592  type ProjectsLocationsScopesRbacrolebindingsDeleteCall struct {
 12593  	s          *Service
 12594  	name       string
 12595  	urlParams_ gensupport.URLParams
 12596  	ctx_       context.Context
 12597  	header_    http.Header
 12598  }
 12599  
 12600  // Delete: Deletes a Scope RBACRoleBinding.
 12601  //
 12602  //   - name: The RBACRoleBinding resource name in the format
 12603  //     `projects/*/locations/*/scopes/*/rbacrolebindings/*`.
 12604  func (r *ProjectsLocationsScopesRbacrolebindingsService) Delete(name string) *ProjectsLocationsScopesRbacrolebindingsDeleteCall {
 12605  	c := &ProjectsLocationsScopesRbacrolebindingsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 12606  	c.name = name
 12607  	return c
 12608  }
 12609  
 12610  // Fields allows partial responses to be retrieved. See
 12611  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 12612  // details.
 12613  func (c *ProjectsLocationsScopesRbacrolebindingsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsScopesRbacrolebindingsDeleteCall {
 12614  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 12615  	return c
 12616  }
 12617  
 12618  // Context sets the context to be used in this call's Do method.
 12619  func (c *ProjectsLocationsScopesRbacrolebindingsDeleteCall) Context(ctx context.Context) *ProjectsLocationsScopesRbacrolebindingsDeleteCall {
 12620  	c.ctx_ = ctx
 12621  	return c
 12622  }
 12623  
 12624  // Header returns a http.Header that can be modified by the caller to add
 12625  // headers to the request.
 12626  func (c *ProjectsLocationsScopesRbacrolebindingsDeleteCall) Header() http.Header {
 12627  	if c.header_ == nil {
 12628  		c.header_ = make(http.Header)
 12629  	}
 12630  	return c.header_
 12631  }
 12632  
 12633  func (c *ProjectsLocationsScopesRbacrolebindingsDeleteCall) doRequest(alt string) (*http.Response, error) {
 12634  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 12635  	var body io.Reader = nil
 12636  	c.urlParams_.Set("alt", alt)
 12637  	c.urlParams_.Set("prettyPrint", "false")
 12638  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}")
 12639  	urls += "?" + c.urlParams_.Encode()
 12640  	req, err := http.NewRequest("DELETE", urls, body)
 12641  	if err != nil {
 12642  		return nil, err
 12643  	}
 12644  	req.Header = reqHeaders
 12645  	googleapi.Expand(req.URL, map[string]string{
 12646  		"name": c.name,
 12647  	})
 12648  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 12649  }
 12650  
 12651  // Do executes the "gkehub.projects.locations.scopes.rbacrolebindings.delete" call.
 12652  // Any non-2xx status code is an error. Response headers are in either
 12653  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 12654  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 12655  // whether the returned error was because http.StatusNotModified was returned.
 12656  func (c *ProjectsLocationsScopesRbacrolebindingsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 12657  	gensupport.SetOptions(c.urlParams_, opts...)
 12658  	res, err := c.doRequest("json")
 12659  	if res != nil && res.StatusCode == http.StatusNotModified {
 12660  		if res.Body != nil {
 12661  			res.Body.Close()
 12662  		}
 12663  		return nil, gensupport.WrapError(&googleapi.Error{
 12664  			Code:   res.StatusCode,
 12665  			Header: res.Header,
 12666  		})
 12667  	}
 12668  	if err != nil {
 12669  		return nil, err
 12670  	}
 12671  	defer googleapi.CloseBody(res)
 12672  	if err := googleapi.CheckResponse(res); err != nil {
 12673  		return nil, gensupport.WrapError(err)
 12674  	}
 12675  	ret := &Operation{
 12676  		ServerResponse: googleapi.ServerResponse{
 12677  			Header:         res.Header,
 12678  			HTTPStatusCode: res.StatusCode,
 12679  		},
 12680  	}
 12681  	target := &ret
 12682  	if err := gensupport.DecodeResponse(target, res); err != nil {
 12683  		return nil, err
 12684  	}
 12685  	return ret, nil
 12686  }
 12687  
 12688  type ProjectsLocationsScopesRbacrolebindingsGetCall struct {
 12689  	s            *Service
 12690  	name         string
 12691  	urlParams_   gensupport.URLParams
 12692  	ifNoneMatch_ string
 12693  	ctx_         context.Context
 12694  	header_      http.Header
 12695  }
 12696  
 12697  // Get: Returns the details of a Scope RBACRoleBinding.
 12698  //
 12699  //   - name: The RBACRoleBinding resource name in the format
 12700  //     `projects/*/locations/*/scopes/*/rbacrolebindings/*`.
 12701  func (r *ProjectsLocationsScopesRbacrolebindingsService) Get(name string) *ProjectsLocationsScopesRbacrolebindingsGetCall {
 12702  	c := &ProjectsLocationsScopesRbacrolebindingsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 12703  	c.name = name
 12704  	return c
 12705  }
 12706  
 12707  // Fields allows partial responses to be retrieved. See
 12708  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 12709  // details.
 12710  func (c *ProjectsLocationsScopesRbacrolebindingsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsScopesRbacrolebindingsGetCall {
 12711  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 12712  	return c
 12713  }
 12714  
 12715  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 12716  // object's ETag matches the given value. This is useful for getting updates
 12717  // only after the object has changed since the last request.
 12718  func (c *ProjectsLocationsScopesRbacrolebindingsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsScopesRbacrolebindingsGetCall {
 12719  	c.ifNoneMatch_ = entityTag
 12720  	return c
 12721  }
 12722  
 12723  // Context sets the context to be used in this call's Do method.
 12724  func (c *ProjectsLocationsScopesRbacrolebindingsGetCall) Context(ctx context.Context) *ProjectsLocationsScopesRbacrolebindingsGetCall {
 12725  	c.ctx_ = ctx
 12726  	return c
 12727  }
 12728  
 12729  // Header returns a http.Header that can be modified by the caller to add
 12730  // headers to the request.
 12731  func (c *ProjectsLocationsScopesRbacrolebindingsGetCall) Header() http.Header {
 12732  	if c.header_ == nil {
 12733  		c.header_ = make(http.Header)
 12734  	}
 12735  	return c.header_
 12736  }
 12737  
 12738  func (c *ProjectsLocationsScopesRbacrolebindingsGetCall) doRequest(alt string) (*http.Response, error) {
 12739  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 12740  	if c.ifNoneMatch_ != "" {
 12741  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 12742  	}
 12743  	var body io.Reader = nil
 12744  	c.urlParams_.Set("alt", alt)
 12745  	c.urlParams_.Set("prettyPrint", "false")
 12746  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}")
 12747  	urls += "?" + c.urlParams_.Encode()
 12748  	req, err := http.NewRequest("GET", urls, body)
 12749  	if err != nil {
 12750  		return nil, err
 12751  	}
 12752  	req.Header = reqHeaders
 12753  	googleapi.Expand(req.URL, map[string]string{
 12754  		"name": c.name,
 12755  	})
 12756  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 12757  }
 12758  
 12759  // Do executes the "gkehub.projects.locations.scopes.rbacrolebindings.get" call.
 12760  // Any non-2xx status code is an error. Response headers are in either
 12761  // *RBACRoleBinding.ServerResponse.Header or (if a response was returned at
 12762  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 12763  // check whether the returned error was because http.StatusNotModified was
 12764  // returned.
 12765  func (c *ProjectsLocationsScopesRbacrolebindingsGetCall) Do(opts ...googleapi.CallOption) (*RBACRoleBinding, error) {
 12766  	gensupport.SetOptions(c.urlParams_, opts...)
 12767  	res, err := c.doRequest("json")
 12768  	if res != nil && res.StatusCode == http.StatusNotModified {
 12769  		if res.Body != nil {
 12770  			res.Body.Close()
 12771  		}
 12772  		return nil, gensupport.WrapError(&googleapi.Error{
 12773  			Code:   res.StatusCode,
 12774  			Header: res.Header,
 12775  		})
 12776  	}
 12777  	if err != nil {
 12778  		return nil, err
 12779  	}
 12780  	defer googleapi.CloseBody(res)
 12781  	if err := googleapi.CheckResponse(res); err != nil {
 12782  		return nil, gensupport.WrapError(err)
 12783  	}
 12784  	ret := &RBACRoleBinding{
 12785  		ServerResponse: googleapi.ServerResponse{
 12786  			Header:         res.Header,
 12787  			HTTPStatusCode: res.StatusCode,
 12788  		},
 12789  	}
 12790  	target := &ret
 12791  	if err := gensupport.DecodeResponse(target, res); err != nil {
 12792  		return nil, err
 12793  	}
 12794  	return ret, nil
 12795  }
 12796  
 12797  type ProjectsLocationsScopesRbacrolebindingsListCall struct {
 12798  	s            *Service
 12799  	parent       string
 12800  	urlParams_   gensupport.URLParams
 12801  	ifNoneMatch_ string
 12802  	ctx_         context.Context
 12803  	header_      http.Header
 12804  }
 12805  
 12806  // List: Lists all Scope RBACRoleBindings.
 12807  //
 12808  //   - parent: The parent (project and location) where the Features will be
 12809  //     listed. Specified in the format `projects/*/locations/*/scopes/*`.
 12810  func (r *ProjectsLocationsScopesRbacrolebindingsService) List(parent string) *ProjectsLocationsScopesRbacrolebindingsListCall {
 12811  	c := &ProjectsLocationsScopesRbacrolebindingsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 12812  	c.parent = parent
 12813  	return c
 12814  }
 12815  
 12816  // PageSize sets the optional parameter "pageSize": When requesting a 'page' of
 12817  // resources, `page_size` specifies number of resources to return. If
 12818  // unspecified or set to 0, all resources will be returned.
 12819  func (c *ProjectsLocationsScopesRbacrolebindingsListCall) PageSize(pageSize int64) *ProjectsLocationsScopesRbacrolebindingsListCall {
 12820  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 12821  	return c
 12822  }
 12823  
 12824  // PageToken sets the optional parameter "pageToken": Token returned by
 12825  // previous call to `ListScopeRBACRoleBindings` which specifies the position in
 12826  // the list from where to continue listing the resources.
 12827  func (c *ProjectsLocationsScopesRbacrolebindingsListCall) PageToken(pageToken string) *ProjectsLocationsScopesRbacrolebindingsListCall {
 12828  	c.urlParams_.Set("pageToken", pageToken)
 12829  	return c
 12830  }
 12831  
 12832  // Fields allows partial responses to be retrieved. See
 12833  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 12834  // details.
 12835  func (c *ProjectsLocationsScopesRbacrolebindingsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsScopesRbacrolebindingsListCall {
 12836  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 12837  	return c
 12838  }
 12839  
 12840  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 12841  // object's ETag matches the given value. This is useful for getting updates
 12842  // only after the object has changed since the last request.
 12843  func (c *ProjectsLocationsScopesRbacrolebindingsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsScopesRbacrolebindingsListCall {
 12844  	c.ifNoneMatch_ = entityTag
 12845  	return c
 12846  }
 12847  
 12848  // Context sets the context to be used in this call's Do method.
 12849  func (c *ProjectsLocationsScopesRbacrolebindingsListCall) Context(ctx context.Context) *ProjectsLocationsScopesRbacrolebindingsListCall {
 12850  	c.ctx_ = ctx
 12851  	return c
 12852  }
 12853  
 12854  // Header returns a http.Header that can be modified by the caller to add
 12855  // headers to the request.
 12856  func (c *ProjectsLocationsScopesRbacrolebindingsListCall) Header() http.Header {
 12857  	if c.header_ == nil {
 12858  		c.header_ = make(http.Header)
 12859  	}
 12860  	return c.header_
 12861  }
 12862  
 12863  func (c *ProjectsLocationsScopesRbacrolebindingsListCall) doRequest(alt string) (*http.Response, error) {
 12864  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 12865  	if c.ifNoneMatch_ != "" {
 12866  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 12867  	}
 12868  	var body io.Reader = nil
 12869  	c.urlParams_.Set("alt", alt)
 12870  	c.urlParams_.Set("prettyPrint", "false")
 12871  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+parent}/rbacrolebindings")
 12872  	urls += "?" + c.urlParams_.Encode()
 12873  	req, err := http.NewRequest("GET", urls, body)
 12874  	if err != nil {
 12875  		return nil, err
 12876  	}
 12877  	req.Header = reqHeaders
 12878  	googleapi.Expand(req.URL, map[string]string{
 12879  		"parent": c.parent,
 12880  	})
 12881  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 12882  }
 12883  
 12884  // Do executes the "gkehub.projects.locations.scopes.rbacrolebindings.list" call.
 12885  // Any non-2xx status code is an error. Response headers are in either
 12886  // *ListScopeRBACRoleBindingsResponse.ServerResponse.Header or (if a response
 12887  // was returned at all) in error.(*googleapi.Error).Header. Use
 12888  // googleapi.IsNotModified to check whether the returned error was because
 12889  // http.StatusNotModified was returned.
 12890  func (c *ProjectsLocationsScopesRbacrolebindingsListCall) Do(opts ...googleapi.CallOption) (*ListScopeRBACRoleBindingsResponse, error) {
 12891  	gensupport.SetOptions(c.urlParams_, opts...)
 12892  	res, err := c.doRequest("json")
 12893  	if res != nil && res.StatusCode == http.StatusNotModified {
 12894  		if res.Body != nil {
 12895  			res.Body.Close()
 12896  		}
 12897  		return nil, gensupport.WrapError(&googleapi.Error{
 12898  			Code:   res.StatusCode,
 12899  			Header: res.Header,
 12900  		})
 12901  	}
 12902  	if err != nil {
 12903  		return nil, err
 12904  	}
 12905  	defer googleapi.CloseBody(res)
 12906  	if err := googleapi.CheckResponse(res); err != nil {
 12907  		return nil, gensupport.WrapError(err)
 12908  	}
 12909  	ret := &ListScopeRBACRoleBindingsResponse{
 12910  		ServerResponse: googleapi.ServerResponse{
 12911  			Header:         res.Header,
 12912  			HTTPStatusCode: res.StatusCode,
 12913  		},
 12914  	}
 12915  	target := &ret
 12916  	if err := gensupport.DecodeResponse(target, res); err != nil {
 12917  		return nil, err
 12918  	}
 12919  	return ret, nil
 12920  }
 12921  
 12922  // Pages invokes f for each page of results.
 12923  // A non-nil error returned from f will halt the iteration.
 12924  // The provided context supersedes any context provided to the Context method.
 12925  func (c *ProjectsLocationsScopesRbacrolebindingsListCall) Pages(ctx context.Context, f func(*ListScopeRBACRoleBindingsResponse) error) error {
 12926  	c.ctx_ = ctx
 12927  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 12928  	for {
 12929  		x, err := c.Do()
 12930  		if err != nil {
 12931  			return err
 12932  		}
 12933  		if err := f(x); err != nil {
 12934  			return err
 12935  		}
 12936  		if x.NextPageToken == "" {
 12937  			return nil
 12938  		}
 12939  		c.PageToken(x.NextPageToken)
 12940  	}
 12941  }
 12942  
 12943  type ProjectsLocationsScopesRbacrolebindingsPatchCall struct {
 12944  	s               *Service
 12945  	name            string
 12946  	rbacrolebinding *RBACRoleBinding
 12947  	urlParams_      gensupport.URLParams
 12948  	ctx_            context.Context
 12949  	header_         http.Header
 12950  }
 12951  
 12952  // Patch: Updates a Scope RBACRoleBinding.
 12953  //
 12954  //   - name: The resource name for the rbacrolebinding
 12955  //     `projects/{project}/locations/{location}/scopes/{scope}/rbacrolebindings/{r
 12956  //     bacrolebinding}` or
 12957  //     `projects/{project}/locations/{location}/memberships/{membership}/rbacroleb
 12958  //     indings/{rbacrolebinding}`.
 12959  func (r *ProjectsLocationsScopesRbacrolebindingsService) Patch(name string, rbacrolebinding *RBACRoleBinding) *ProjectsLocationsScopesRbacrolebindingsPatchCall {
 12960  	c := &ProjectsLocationsScopesRbacrolebindingsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 12961  	c.name = name
 12962  	c.rbacrolebinding = rbacrolebinding
 12963  	return c
 12964  }
 12965  
 12966  // UpdateMask sets the optional parameter "updateMask": Required. The fields to
 12967  // be updated.
 12968  func (c *ProjectsLocationsScopesRbacrolebindingsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsScopesRbacrolebindingsPatchCall {
 12969  	c.urlParams_.Set("updateMask", updateMask)
 12970  	return c
 12971  }
 12972  
 12973  // Fields allows partial responses to be retrieved. See
 12974  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 12975  // details.
 12976  func (c *ProjectsLocationsScopesRbacrolebindingsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsScopesRbacrolebindingsPatchCall {
 12977  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 12978  	return c
 12979  }
 12980  
 12981  // Context sets the context to be used in this call's Do method.
 12982  func (c *ProjectsLocationsScopesRbacrolebindingsPatchCall) Context(ctx context.Context) *ProjectsLocationsScopesRbacrolebindingsPatchCall {
 12983  	c.ctx_ = ctx
 12984  	return c
 12985  }
 12986  
 12987  // Header returns a http.Header that can be modified by the caller to add
 12988  // headers to the request.
 12989  func (c *ProjectsLocationsScopesRbacrolebindingsPatchCall) Header() http.Header {
 12990  	if c.header_ == nil {
 12991  		c.header_ = make(http.Header)
 12992  	}
 12993  	return c.header_
 12994  }
 12995  
 12996  func (c *ProjectsLocationsScopesRbacrolebindingsPatchCall) doRequest(alt string) (*http.Response, error) {
 12997  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 12998  	var body io.Reader = nil
 12999  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.rbacrolebinding)
 13000  	if err != nil {
 13001  		return nil, err
 13002  	}
 13003  	c.urlParams_.Set("alt", alt)
 13004  	c.urlParams_.Set("prettyPrint", "false")
 13005  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}")
 13006  	urls += "?" + c.urlParams_.Encode()
 13007  	req, err := http.NewRequest("PATCH", urls, body)
 13008  	if err != nil {
 13009  		return nil, err
 13010  	}
 13011  	req.Header = reqHeaders
 13012  	googleapi.Expand(req.URL, map[string]string{
 13013  		"name": c.name,
 13014  	})
 13015  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 13016  }
 13017  
 13018  // Do executes the "gkehub.projects.locations.scopes.rbacrolebindings.patch" call.
 13019  // Any non-2xx status code is an error. Response headers are in either
 13020  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 13021  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 13022  // whether the returned error was because http.StatusNotModified was returned.
 13023  func (c *ProjectsLocationsScopesRbacrolebindingsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 13024  	gensupport.SetOptions(c.urlParams_, opts...)
 13025  	res, err := c.doRequest("json")
 13026  	if res != nil && res.StatusCode == http.StatusNotModified {
 13027  		if res.Body != nil {
 13028  			res.Body.Close()
 13029  		}
 13030  		return nil, gensupport.WrapError(&googleapi.Error{
 13031  			Code:   res.StatusCode,
 13032  			Header: res.Header,
 13033  		})
 13034  	}
 13035  	if err != nil {
 13036  		return nil, err
 13037  	}
 13038  	defer googleapi.CloseBody(res)
 13039  	if err := googleapi.CheckResponse(res); err != nil {
 13040  		return nil, gensupport.WrapError(err)
 13041  	}
 13042  	ret := &Operation{
 13043  		ServerResponse: googleapi.ServerResponse{
 13044  			Header:         res.Header,
 13045  			HTTPStatusCode: res.StatusCode,
 13046  		},
 13047  	}
 13048  	target := &ret
 13049  	if err := gensupport.DecodeResponse(target, res); err != nil {
 13050  		return nil, err
 13051  	}
 13052  	return ret, nil
 13053  }
 13054  

View as plain text