...

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

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

     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/v1"
    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/v1"
    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:v1"
    90  const apiName = "gkehub"
    91  const apiVersion = "v1"
    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  	return rs
   251  }
   252  
   253  type ProjectsLocationsMembershipsService struct {
   254  	s *Service
   255  
   256  	Bindings *ProjectsLocationsMembershipsBindingsService
   257  }
   258  
   259  func NewProjectsLocationsMembershipsBindingsService(s *Service) *ProjectsLocationsMembershipsBindingsService {
   260  	rs := &ProjectsLocationsMembershipsBindingsService{s: s}
   261  	return rs
   262  }
   263  
   264  type ProjectsLocationsMembershipsBindingsService struct {
   265  	s *Service
   266  }
   267  
   268  func NewProjectsLocationsOperationsService(s *Service) *ProjectsLocationsOperationsService {
   269  	rs := &ProjectsLocationsOperationsService{s: s}
   270  	return rs
   271  }
   272  
   273  type ProjectsLocationsOperationsService struct {
   274  	s *Service
   275  }
   276  
   277  func NewProjectsLocationsScopesService(s *Service) *ProjectsLocationsScopesService {
   278  	rs := &ProjectsLocationsScopesService{s: s}
   279  	rs.Namespaces = NewProjectsLocationsScopesNamespacesService(s)
   280  	rs.Rbacrolebindings = NewProjectsLocationsScopesRbacrolebindingsService(s)
   281  	return rs
   282  }
   283  
   284  type ProjectsLocationsScopesService struct {
   285  	s *Service
   286  
   287  	Namespaces *ProjectsLocationsScopesNamespacesService
   288  
   289  	Rbacrolebindings *ProjectsLocationsScopesRbacrolebindingsService
   290  }
   291  
   292  func NewProjectsLocationsScopesNamespacesService(s *Service) *ProjectsLocationsScopesNamespacesService {
   293  	rs := &ProjectsLocationsScopesNamespacesService{s: s}
   294  	return rs
   295  }
   296  
   297  type ProjectsLocationsScopesNamespacesService struct {
   298  	s *Service
   299  }
   300  
   301  func NewProjectsLocationsScopesRbacrolebindingsService(s *Service) *ProjectsLocationsScopesRbacrolebindingsService {
   302  	rs := &ProjectsLocationsScopesRbacrolebindingsService{s: s}
   303  	return rs
   304  }
   305  
   306  type ProjectsLocationsScopesRbacrolebindingsService struct {
   307  	s *Service
   308  }
   309  
   310  // AppDevExperienceFeatureSpec: Spec for App Dev Experience Feature.
   311  type AppDevExperienceFeatureSpec struct {
   312  }
   313  
   314  // AppDevExperienceFeatureState: State for App Dev Exp Feature.
   315  type AppDevExperienceFeatureState struct {
   316  	// NetworkingInstallSucceeded: Status of subcomponent that detects configured
   317  	// Service Mesh resources.
   318  	NetworkingInstallSucceeded *Status `json:"networkingInstallSucceeded,omitempty"`
   319  	// ForceSendFields is a list of field names (e.g. "NetworkingInstallSucceeded")
   320  	// to unconditionally include in API requests. By default, fields with empty or
   321  	// default values are omitted from API requests. See
   322  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   323  	// details.
   324  	ForceSendFields []string `json:"-"`
   325  	// NullFields is a list of field names (e.g. "NetworkingInstallSucceeded") to
   326  	// include in API requests with the JSON null value. By default, fields with
   327  	// empty values are omitted from API requests. See
   328  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   329  	NullFields []string `json:"-"`
   330  }
   331  
   332  func (s *AppDevExperienceFeatureState) MarshalJSON() ([]byte, error) {
   333  	type NoMethod AppDevExperienceFeatureState
   334  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   335  }
   336  
   337  // ApplianceCluster: ApplianceCluster contains information specific to GDC Edge
   338  // Appliance Clusters.
   339  type ApplianceCluster struct {
   340  	// ResourceLink: Immutable. Self-link of the Google Cloud resource for the
   341  	// Appliance Cluster. For example:
   342  	// //transferappliance.googleapis.com/projects/my-project/locations/us-west1-a/a
   343  	// ppliances/my-appliance
   344  	ResourceLink string `json:"resourceLink,omitempty"`
   345  	// ForceSendFields is a list of field names (e.g. "ResourceLink") to
   346  	// unconditionally include in API requests. By default, fields with empty or
   347  	// default values are omitted from API requests. See
   348  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   349  	// details.
   350  	ForceSendFields []string `json:"-"`
   351  	// NullFields is a list of field names (e.g. "ResourceLink") to include in API
   352  	// requests with the JSON null value. By default, fields with empty values are
   353  	// omitted from API requests. See
   354  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   355  	NullFields []string `json:"-"`
   356  }
   357  
   358  func (s *ApplianceCluster) MarshalJSON() ([]byte, error) {
   359  	type NoMethod ApplianceCluster
   360  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   361  }
   362  
   363  // AuditConfig: Specifies the audit configuration for a service. The
   364  // configuration determines which permission types are logged, and what
   365  // identities, if any, are exempted from logging. An AuditConfig must have one
   366  // or more AuditLogConfigs. If there are AuditConfigs for both `allServices`
   367  // and a specific service, the union of the two AuditConfigs is used for that
   368  // service: the log_types specified in each AuditConfig are enabled, and the
   369  // exempted_members in each AuditLogConfig are exempted. Example Policy with
   370  // multiple AuditConfigs: { "audit_configs": [ { "service": "allServices",
   371  // "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [
   372  // "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type":
   373  // "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com",
   374  // "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type":
   375  // "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For
   376  // sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
   377  // logging. It also exempts `jose@example.com` from DATA_READ logging, and
   378  // `aliya@example.com` from DATA_WRITE logging.
   379  type AuditConfig struct {
   380  	// AuditLogConfigs: The configuration for logging of each type of permission.
   381  	AuditLogConfigs []*AuditLogConfig `json:"auditLogConfigs,omitempty"`
   382  	// Service: Specifies a service that will be enabled for audit logging. For
   383  	// example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices`
   384  	// is a special value that covers all services.
   385  	Service string `json:"service,omitempty"`
   386  	// ForceSendFields is a list of field names (e.g. "AuditLogConfigs") to
   387  	// unconditionally include in API requests. By default, fields with empty or
   388  	// default values are omitted from API requests. See
   389  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   390  	// details.
   391  	ForceSendFields []string `json:"-"`
   392  	// NullFields is a list of field names (e.g. "AuditLogConfigs") to include in
   393  	// API requests with the JSON null value. By default, fields with empty values
   394  	// are omitted from API requests. See
   395  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   396  	NullFields []string `json:"-"`
   397  }
   398  
   399  func (s *AuditConfig) MarshalJSON() ([]byte, error) {
   400  	type NoMethod AuditConfig
   401  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   402  }
   403  
   404  // AuditLogConfig: Provides the configuration for logging a type of
   405  // permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ",
   406  // "exempted_members": [ "user:jose@example.com" ] }, { "log_type":
   407  // "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while
   408  // exempting jose@example.com from DATA_READ logging.
   409  type AuditLogConfig struct {
   410  	// ExemptedMembers: Specifies the identities that do not cause logging for this
   411  	// type of permission. Follows the same format of Binding.members.
   412  	ExemptedMembers []string `json:"exemptedMembers,omitempty"`
   413  	// LogType: The log type that this config enables.
   414  	//
   415  	// Possible values:
   416  	//   "LOG_TYPE_UNSPECIFIED" - Default case. Should never be this.
   417  	//   "ADMIN_READ" - Admin reads. Example: CloudIAM getIamPolicy
   418  	//   "DATA_WRITE" - Data writes. Example: CloudSQL Users create
   419  	//   "DATA_READ" - Data reads. Example: CloudSQL Users list
   420  	LogType string `json:"logType,omitempty"`
   421  	// ForceSendFields is a list of field names (e.g. "ExemptedMembers") to
   422  	// unconditionally include in API requests. By default, fields with empty or
   423  	// default values are omitted from API requests. See
   424  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   425  	// details.
   426  	ForceSendFields []string `json:"-"`
   427  	// NullFields is a list of field names (e.g. "ExemptedMembers") to include in
   428  	// API requests with the JSON null value. By default, fields with empty values
   429  	// are omitted from API requests. See
   430  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   431  	NullFields []string `json:"-"`
   432  }
   433  
   434  func (s *AuditLogConfig) MarshalJSON() ([]byte, error) {
   435  	type NoMethod AuditLogConfig
   436  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   437  }
   438  
   439  // Authority: Authority encodes how Google will recognize identities from this
   440  // Membership. See the workload identity documentation for more details:
   441  // https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity
   442  type Authority struct {
   443  	// IdentityProvider: Output only. An identity provider that reflects the
   444  	// `issuer` in the workload identity pool.
   445  	IdentityProvider string `json:"identityProvider,omitempty"`
   446  	// Issuer: Optional. A JSON Web Token (JWT) issuer URI. `issuer` must start
   447  	// with `https://` and be a valid URL with length <2000 characters, it must use
   448  	// `location` rather than `zone` for GKE clusters. If set, then Google will
   449  	// allow valid OIDC tokens from this issuer to authenticate within the
   450  	// workload_identity_pool. OIDC discovery will be performed on this URI to
   451  	// validate tokens from the issuer. Clearing `issuer` disables Workload
   452  	// Identity. `issuer` cannot be directly modified; it must be cleared (and
   453  	// Workload Identity disabled) before using a new issuer (and re-enabling
   454  	// Workload Identity).
   455  	Issuer string `json:"issuer,omitempty"`
   456  	// OidcJwks: Optional. OIDC verification keys for this Membership in JWKS
   457  	// format (RFC 7517). When this field is set, OIDC discovery will NOT be
   458  	// performed on `issuer`, and instead OIDC tokens will be validated using this
   459  	// field.
   460  	OidcJwks string `json:"oidcJwks,omitempty"`
   461  	// WorkloadIdentityPool: Output only. The name of the workload identity pool in
   462  	// which `issuer` will be recognized. There is a single Workload Identity Pool
   463  	// per Hub that is shared between all Memberships that belong to that Hub. For
   464  	// a Hub hosted in {PROJECT_ID}, the workload pool format is
   465  	// `{PROJECT_ID}.hub.id.goog`, although this is subject to change in newer
   466  	// versions of this API.
   467  	WorkloadIdentityPool string `json:"workloadIdentityPool,omitempty"`
   468  	// ForceSendFields is a list of field names (e.g. "IdentityProvider") to
   469  	// unconditionally include in API requests. By default, fields with empty or
   470  	// default values are omitted from API requests. See
   471  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   472  	// details.
   473  	ForceSendFields []string `json:"-"`
   474  	// NullFields is a list of field names (e.g. "IdentityProvider") to include in
   475  	// API requests with the JSON null value. By default, fields with empty values
   476  	// are omitted from API requests. See
   477  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   478  	NullFields []string `json:"-"`
   479  }
   480  
   481  func (s *Authority) MarshalJSON() ([]byte, error) {
   482  	type NoMethod Authority
   483  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   484  }
   485  
   486  // BinaryAuthorizationConfig: BinaryAuthorizationConfig defines the fleet level
   487  // configuration of binary authorization feature.
   488  type BinaryAuthorizationConfig struct {
   489  	// EvaluationMode: Optional. Mode of operation for binauthz policy evaluation.
   490  	//
   491  	// Possible values:
   492  	//   "EVALUATION_MODE_UNSPECIFIED" - Default value
   493  	//   "DISABLED" - Disable BinaryAuthorization
   494  	//   "POLICY_BINDINGS" - Use Binary Authorization with the policies specified
   495  	// in policy_bindings.
   496  	EvaluationMode string `json:"evaluationMode,omitempty"`
   497  	// PolicyBindings: Optional. Binauthz policies that apply to this cluster.
   498  	PolicyBindings []*PolicyBinding `json:"policyBindings,omitempty"`
   499  	// ForceSendFields is a list of field names (e.g. "EvaluationMode") to
   500  	// unconditionally include in API requests. By default, fields with empty or
   501  	// default values are omitted from API requests. See
   502  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   503  	// details.
   504  	ForceSendFields []string `json:"-"`
   505  	// NullFields is a list of field names (e.g. "EvaluationMode") to include in
   506  	// API requests with the JSON null value. By default, fields with empty values
   507  	// are omitted from API requests. See
   508  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   509  	NullFields []string `json:"-"`
   510  }
   511  
   512  func (s *BinaryAuthorizationConfig) MarshalJSON() ([]byte, error) {
   513  	type NoMethod BinaryAuthorizationConfig
   514  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   515  }
   516  
   517  // Binding: Associates `members`, or principals, with a `role`.
   518  type Binding struct {
   519  	// Condition: The condition that is associated with this binding. If the
   520  	// condition evaluates to `true`, then this binding applies to the current
   521  	// request. If the condition evaluates to `false`, then this binding does not
   522  	// apply to the current request. However, a different role binding might grant
   523  	// the same role to one or more of the principals in this binding. To learn
   524  	// which resources support conditions in their IAM policies, see the IAM
   525  	// documentation
   526  	// (https://cloud.google.com/iam/help/conditions/resource-policies).
   527  	Condition *Expr `json:"condition,omitempty"`
   528  	// Members: Specifies the principals requesting access for a Google Cloud
   529  	// resource. `members` can have the following values: * `allUsers`: A special
   530  	// identifier that represents anyone who is on the internet; with or without a
   531  	// Google account. * `allAuthenticatedUsers`: A special identifier that
   532  	// represents anyone who is authenticated with a Google account or a service
   533  	// account. Does not include identities that come from external identity
   534  	// providers (IdPs) through identity federation. * `user:{emailid}`: An email
   535  	// address that represents a specific Google account. For example,
   536  	// `alice@example.com` . * `serviceAccount:{emailid}`: An email address that
   537  	// represents a Google service account. For example,
   538  	// `my-other-app@appspot.gserviceaccount.com`. *
   539  	// `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An
   540  	// identifier for a Kubernetes service account
   541  	// (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts).
   542  	// For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. *
   543  	// `group:{emailid}`: An email address that represents a Google group. For
   544  	// example, `admins@example.com`. * `domain:{domain}`: The G Suite domain
   545  	// (primary) that represents all the users of that domain. For example,
   546  	// `google.com` or `example.com`. *
   547  	// `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/sub
   548  	// ject/{subject_attribute_value}`: A single identity in a workforce identity
   549  	// pool. *
   550  	// `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/
   551  	// group/{group_id}`: All workforce identities in a group. *
   552  	// `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/
   553  	// attribute.{attribute_name}/{attribute_value}`: All workforce identities with
   554  	// a specific attribute value. *
   555  	// `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/
   556  	// *`: All identities in a workforce identity pool. *
   557  	// `principal://iam.googleapis.com/projects/{project_number}/locations/global/wo
   558  	// rkloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single
   559  	// identity in a workload identity pool. *
   560  	// `principalSet://iam.googleapis.com/projects/{project_number}/locations/global
   561  	// /workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool
   562  	// group. *
   563  	// `principalSet://iam.googleapis.com/projects/{project_number}/locations/global
   564  	// /workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}
   565  	// `: All identities in a workload identity pool with a certain attribute. *
   566  	// `principalSet://iam.googleapis.com/projects/{project_number}/locations/global
   567  	// /workloadIdentityPools/{pool_id}/*`: All identities in a workload identity
   568  	// pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus
   569  	// unique identifier) representing a user that has been recently deleted. For
   570  	// example, `alice@example.com?uid=123456789012345678901`. If the user is
   571  	// recovered, this value reverts to `user:{emailid}` and the recovered user
   572  	// retains the role in the binding. *
   573  	// `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus
   574  	// unique identifier) representing a service account that has been recently
   575  	// deleted. For example,
   576  	// `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the
   577  	// service account is undeleted, this value reverts to
   578  	// `serviceAccount:{emailid}` and the undeleted service account retains the
   579  	// role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email
   580  	// address (plus unique identifier) representing a Google group that has been
   581  	// recently deleted. For example,
   582  	// `admins@example.com?uid=123456789012345678901`. If the group is recovered,
   583  	// this value reverts to `group:{emailid}` and the recovered group retains the
   584  	// role in the binding. *
   585  	// `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool
   586  	// _id}/subject/{subject_attribute_value}`: Deleted single identity in a
   587  	// workforce identity pool. For example,
   588  	// `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-po
   589  	// ol-id/subject/my-subject-attribute-value`.
   590  	Members []string `json:"members,omitempty"`
   591  	// Role: Role that is assigned to the list of `members`, or principals. For
   592  	// example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview
   593  	// of the IAM roles and permissions, see the IAM documentation
   594  	// (https://cloud.google.com/iam/docs/roles-overview). For a list of the
   595  	// available pre-defined roles, see here
   596  	// (https://cloud.google.com/iam/docs/understanding-roles).
   597  	Role string `json:"role,omitempty"`
   598  	// ForceSendFields is a list of field names (e.g. "Condition") to
   599  	// unconditionally include in API requests. By default, fields with empty or
   600  	// default values are omitted from API requests. See
   601  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   602  	// details.
   603  	ForceSendFields []string `json:"-"`
   604  	// NullFields is a list of field names (e.g. "Condition") to include in API
   605  	// requests with the JSON null value. By default, fields with empty values are
   606  	// omitted from API requests. See
   607  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   608  	NullFields []string `json:"-"`
   609  }
   610  
   611  func (s *Binding) MarshalJSON() ([]byte, error) {
   612  	type NoMethod Binding
   613  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   614  }
   615  
   616  // CancelOperationRequest: The request message for Operations.CancelOperation.
   617  type CancelOperationRequest struct {
   618  }
   619  
   620  // ClusterUpgradeFleetSpec: **ClusterUpgrade**: The configuration for the
   621  // fleet-level ClusterUpgrade feature.
   622  type ClusterUpgradeFleetSpec struct {
   623  	// GkeUpgradeOverrides: Allow users to override some properties of each GKE
   624  	// upgrade.
   625  	GkeUpgradeOverrides []*ClusterUpgradeGKEUpgradeOverride `json:"gkeUpgradeOverrides,omitempty"`
   626  	// PostConditions: Required. Post conditions to evaluate to mark an upgrade
   627  	// COMPLETE. Required.
   628  	PostConditions *ClusterUpgradePostConditions `json:"postConditions,omitempty"`
   629  	// UpstreamFleets: This fleet consumes upgrades that have COMPLETE status code
   630  	// in the upstream fleets. See UpgradeStatus.Code for code definitions. The
   631  	// fleet name should be either fleet project number or id. This is defined as
   632  	// repeated for future proof reasons. Initial implementation will enforce at
   633  	// most one upstream fleet.
   634  	UpstreamFleets []string `json:"upstreamFleets,omitempty"`
   635  	// ForceSendFields is a list of field names (e.g. "GkeUpgradeOverrides") to
   636  	// unconditionally include in API requests. By default, fields with empty or
   637  	// default values are omitted from API requests. See
   638  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   639  	// details.
   640  	ForceSendFields []string `json:"-"`
   641  	// NullFields is a list of field names (e.g. "GkeUpgradeOverrides") to include
   642  	// in API requests with the JSON null value. By default, fields with empty
   643  	// values are omitted from API requests. See
   644  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   645  	NullFields []string `json:"-"`
   646  }
   647  
   648  func (s *ClusterUpgradeFleetSpec) MarshalJSON() ([]byte, error) {
   649  	type NoMethod ClusterUpgradeFleetSpec
   650  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   651  }
   652  
   653  // ClusterUpgradeFleetState: **ClusterUpgrade**: The state for the fleet-level
   654  // ClusterUpgrade feature.
   655  type ClusterUpgradeFleetState struct {
   656  	// DownstreamFleets: This fleets whose upstream_fleets contain the current
   657  	// fleet. The fleet name should be either fleet project number or id.
   658  	DownstreamFleets []string `json:"downstreamFleets,omitempty"`
   659  	// GkeState: Feature state for GKE clusters.
   660  	GkeState *ClusterUpgradeGKEUpgradeFeatureState `json:"gkeState,omitempty"`
   661  	// Ignored: A list of memberships ignored by the feature. For example, manually
   662  	// upgraded clusters can be ignored if they are newer than the default versions
   663  	// of its release channel. The membership resource is in the format:
   664  	// `projects/{p}/locations/{l}/membership/{m}`.
   665  	Ignored map[string]ClusterUpgradeIgnoredMembership `json:"ignored,omitempty"`
   666  	// ForceSendFields is a list of field names (e.g. "DownstreamFleets") to
   667  	// unconditionally include in API requests. By default, fields with empty or
   668  	// default values are omitted from API requests. See
   669  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   670  	// details.
   671  	ForceSendFields []string `json:"-"`
   672  	// NullFields is a list of field names (e.g. "DownstreamFleets") to include in
   673  	// API requests with the JSON null value. By default, fields with empty values
   674  	// are omitted from API requests. See
   675  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   676  	NullFields []string `json:"-"`
   677  }
   678  
   679  func (s *ClusterUpgradeFleetState) MarshalJSON() ([]byte, error) {
   680  	type NoMethod ClusterUpgradeFleetState
   681  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   682  }
   683  
   684  // ClusterUpgradeGKEUpgrade: GKEUpgrade represents a GKE provided upgrade,
   685  // e.g., control plane upgrade.
   686  type ClusterUpgradeGKEUpgrade struct {
   687  	// Name: Name of the upgrade, e.g., "k8s_control_plane". It should be a valid
   688  	// upgrade name. It must not exceet 99 characters.
   689  	Name string `json:"name,omitempty"`
   690  	// Version: Version of the upgrade, e.g., "1.22.1-gke.100". It should be a
   691  	// valid version. It must not exceet 99 characters.
   692  	Version string `json:"version,omitempty"`
   693  	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
   694  	// include in API requests. By default, fields with empty or default values are
   695  	// omitted from API requests. See
   696  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   697  	// details.
   698  	ForceSendFields []string `json:"-"`
   699  	// NullFields is a list of field names (e.g. "Name") to include in API requests
   700  	// with the JSON null value. By default, fields with empty values are omitted
   701  	// from API requests. See
   702  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   703  	NullFields []string `json:"-"`
   704  }
   705  
   706  func (s *ClusterUpgradeGKEUpgrade) MarshalJSON() ([]byte, error) {
   707  	type NoMethod ClusterUpgradeGKEUpgrade
   708  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   709  }
   710  
   711  // ClusterUpgradeGKEUpgradeFeatureCondition: GKEUpgradeFeatureCondition
   712  // describes the condition of the feature for GKE clusters at a certain point
   713  // of time.
   714  type ClusterUpgradeGKEUpgradeFeatureCondition struct {
   715  	// Reason: Reason why the feature is in this status.
   716  	Reason string `json:"reason,omitempty"`
   717  	// Status: Status of the condition, one of True, False, Unknown.
   718  	Status string `json:"status,omitempty"`
   719  	// Type: Type of the condition, for example, "ready".
   720  	Type string `json:"type,omitempty"`
   721  	// UpdateTime: Last timestamp the condition was updated.
   722  	UpdateTime string `json:"updateTime,omitempty"`
   723  	// ForceSendFields is a list of field names (e.g. "Reason") to unconditionally
   724  	// include in API requests. By default, fields with empty or default values are
   725  	// omitted from API requests. See
   726  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   727  	// details.
   728  	ForceSendFields []string `json:"-"`
   729  	// NullFields is a list of field names (e.g. "Reason") to include in API
   730  	// requests with the JSON null value. By default, fields with empty values are
   731  	// omitted from API requests. See
   732  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   733  	NullFields []string `json:"-"`
   734  }
   735  
   736  func (s *ClusterUpgradeGKEUpgradeFeatureCondition) MarshalJSON() ([]byte, error) {
   737  	type NoMethod ClusterUpgradeGKEUpgradeFeatureCondition
   738  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   739  }
   740  
   741  // ClusterUpgradeGKEUpgradeFeatureState: GKEUpgradeFeatureState contains
   742  // feature states for GKE clusters in the scope.
   743  type ClusterUpgradeGKEUpgradeFeatureState struct {
   744  	// Conditions: Current conditions of the feature.
   745  	Conditions []*ClusterUpgradeGKEUpgradeFeatureCondition `json:"conditions,omitempty"`
   746  	// UpgradeState: Upgrade state. It will eventually replace `state`.
   747  	UpgradeState []*ClusterUpgradeGKEUpgradeState `json:"upgradeState,omitempty"`
   748  	// ForceSendFields is a list of field names (e.g. "Conditions") to
   749  	// unconditionally include in API requests. By default, fields with empty or
   750  	// default values are omitted from API requests. See
   751  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   752  	// details.
   753  	ForceSendFields []string `json:"-"`
   754  	// NullFields is a list of field names (e.g. "Conditions") to include in API
   755  	// requests with the JSON null value. By default, fields with empty values are
   756  	// omitted from API requests. See
   757  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   758  	NullFields []string `json:"-"`
   759  }
   760  
   761  func (s *ClusterUpgradeGKEUpgradeFeatureState) MarshalJSON() ([]byte, error) {
   762  	type NoMethod ClusterUpgradeGKEUpgradeFeatureState
   763  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   764  }
   765  
   766  // ClusterUpgradeGKEUpgradeOverride: Properties of a GKE upgrade that can be
   767  // overridden by the user. For example, a user can skip soaking by overriding
   768  // the soaking to 0.
   769  type ClusterUpgradeGKEUpgradeOverride struct {
   770  	// PostConditions: Required. Post conditions to override for the specified
   771  	// upgrade (name + version). Required.
   772  	PostConditions *ClusterUpgradePostConditions `json:"postConditions,omitempty"`
   773  	// Upgrade: Required. Which upgrade to override. Required.
   774  	Upgrade *ClusterUpgradeGKEUpgrade `json:"upgrade,omitempty"`
   775  	// ForceSendFields is a list of field names (e.g. "PostConditions") to
   776  	// unconditionally include in API requests. By default, fields with empty or
   777  	// default values are omitted from API requests. See
   778  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   779  	// details.
   780  	ForceSendFields []string `json:"-"`
   781  	// NullFields is a list of field names (e.g. "PostConditions") to include in
   782  	// API requests with the JSON null value. By default, fields with empty values
   783  	// are omitted from API requests. See
   784  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   785  	NullFields []string `json:"-"`
   786  }
   787  
   788  func (s *ClusterUpgradeGKEUpgradeOverride) MarshalJSON() ([]byte, error) {
   789  	type NoMethod ClusterUpgradeGKEUpgradeOverride
   790  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   791  }
   792  
   793  // ClusterUpgradeGKEUpgradeState: GKEUpgradeState is a GKEUpgrade and its state
   794  // at the scope and fleet level.
   795  type ClusterUpgradeGKEUpgradeState struct {
   796  	// Stats: Number of GKE clusters in each status code.
   797  	Stats map[string]string `json:"stats,omitempty"`
   798  	// Status: Status of the upgrade.
   799  	Status *ClusterUpgradeUpgradeStatus `json:"status,omitempty"`
   800  	// Upgrade: Which upgrade to track the state.
   801  	Upgrade *ClusterUpgradeGKEUpgrade `json:"upgrade,omitempty"`
   802  	// ForceSendFields is a list of field names (e.g. "Stats") to unconditionally
   803  	// include in API requests. By default, fields with empty or default values are
   804  	// omitted from API requests. See
   805  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   806  	// details.
   807  	ForceSendFields []string `json:"-"`
   808  	// NullFields is a list of field names (e.g. "Stats") to include in API
   809  	// requests with the JSON null value. By default, fields with empty values are
   810  	// omitted from API requests. See
   811  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   812  	NullFields []string `json:"-"`
   813  }
   814  
   815  func (s *ClusterUpgradeGKEUpgradeState) MarshalJSON() ([]byte, error) {
   816  	type NoMethod ClusterUpgradeGKEUpgradeState
   817  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   818  }
   819  
   820  // ClusterUpgradeIgnoredMembership: IgnoredMembership represents a membership
   821  // ignored by the feature. A membership can be ignored because it was manually
   822  // upgraded to a newer version than RC default.
   823  type ClusterUpgradeIgnoredMembership struct {
   824  	// IgnoredTime: Time when the membership was first set to ignored.
   825  	IgnoredTime string `json:"ignoredTime,omitempty"`
   826  	// Reason: Reason why the membership is ignored.
   827  	Reason string `json:"reason,omitempty"`
   828  	// ForceSendFields is a list of field names (e.g. "IgnoredTime") to
   829  	// unconditionally include in API requests. By default, fields with empty or
   830  	// default values are omitted from API requests. See
   831  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   832  	// details.
   833  	ForceSendFields []string `json:"-"`
   834  	// NullFields is a list of field names (e.g. "IgnoredTime") to include in API
   835  	// requests with the JSON null value. By default, fields with empty values are
   836  	// omitted from API requests. See
   837  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   838  	NullFields []string `json:"-"`
   839  }
   840  
   841  func (s *ClusterUpgradeIgnoredMembership) MarshalJSON() ([]byte, error) {
   842  	type NoMethod ClusterUpgradeIgnoredMembership
   843  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   844  }
   845  
   846  // ClusterUpgradeMembershipGKEUpgradeState: ScopeGKEUpgradeState is a
   847  // GKEUpgrade and its state per-membership.
   848  type ClusterUpgradeMembershipGKEUpgradeState struct {
   849  	// Status: Status of the upgrade.
   850  	Status *ClusterUpgradeUpgradeStatus `json:"status,omitempty"`
   851  	// Upgrade: Which upgrade to track the state.
   852  	Upgrade *ClusterUpgradeGKEUpgrade `json:"upgrade,omitempty"`
   853  	// ForceSendFields is a list of field names (e.g. "Status") to unconditionally
   854  	// include in API requests. By default, fields with empty or default values are
   855  	// omitted from API requests. See
   856  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   857  	// details.
   858  	ForceSendFields []string `json:"-"`
   859  	// NullFields is a list of field names (e.g. "Status") to include in API
   860  	// requests with the JSON null value. By default, fields with empty values are
   861  	// omitted from API requests. See
   862  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   863  	NullFields []string `json:"-"`
   864  }
   865  
   866  func (s *ClusterUpgradeMembershipGKEUpgradeState) MarshalJSON() ([]byte, error) {
   867  	type NoMethod ClusterUpgradeMembershipGKEUpgradeState
   868  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   869  }
   870  
   871  // ClusterUpgradeMembershipState: Per-membership state for this feature.
   872  type ClusterUpgradeMembershipState struct {
   873  	// Ignored: Whether this membership is ignored by the feature. For example,
   874  	// manually upgraded clusters can be ignored if they are newer than the default
   875  	// versions of its release channel.
   876  	Ignored *ClusterUpgradeIgnoredMembership `json:"ignored,omitempty"`
   877  	// Upgrades: Actual upgrade state against desired.
   878  	Upgrades []*ClusterUpgradeMembershipGKEUpgradeState `json:"upgrades,omitempty"`
   879  	// ForceSendFields is a list of field names (e.g. "Ignored") to unconditionally
   880  	// include in API requests. By default, fields with empty or default values are
   881  	// omitted from API requests. See
   882  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   883  	// details.
   884  	ForceSendFields []string `json:"-"`
   885  	// NullFields is a list of field names (e.g. "Ignored") to include in API
   886  	// requests with the JSON null value. By default, fields with empty values are
   887  	// omitted from API requests. See
   888  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   889  	NullFields []string `json:"-"`
   890  }
   891  
   892  func (s *ClusterUpgradeMembershipState) MarshalJSON() ([]byte, error) {
   893  	type NoMethod ClusterUpgradeMembershipState
   894  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   895  }
   896  
   897  // ClusterUpgradePostConditions: Post conditional checks after an upgrade has
   898  // been applied on all eligible clusters.
   899  type ClusterUpgradePostConditions struct {
   900  	// Soaking: Required. Amount of time to "soak" after a rollout has been
   901  	// finished before marking it COMPLETE. Cannot exceed 30 days. Required.
   902  	Soaking string `json:"soaking,omitempty"`
   903  	// ForceSendFields is a list of field names (e.g. "Soaking") to unconditionally
   904  	// include in API requests. By default, fields with empty or default values are
   905  	// omitted from API requests. See
   906  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   907  	// details.
   908  	ForceSendFields []string `json:"-"`
   909  	// NullFields is a list of field names (e.g. "Soaking") to include in API
   910  	// requests with the JSON null value. By default, fields with empty values are
   911  	// omitted from API requests. See
   912  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   913  	NullFields []string `json:"-"`
   914  }
   915  
   916  func (s *ClusterUpgradePostConditions) MarshalJSON() ([]byte, error) {
   917  	type NoMethod ClusterUpgradePostConditions
   918  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   919  }
   920  
   921  // ClusterUpgradeUpgradeStatus: UpgradeStatus provides status information for
   922  // each upgrade.
   923  type ClusterUpgradeUpgradeStatus struct {
   924  	// Code: Status code of the upgrade.
   925  	//
   926  	// Possible values:
   927  	//   "CODE_UNSPECIFIED" - Required by https://linter.aip.dev/126/unspecified.
   928  	//   "INELIGIBLE" - The upgrade is ineligible. At the scope level, this means
   929  	// the upgrade is ineligible for all the clusters in the scope.
   930  	//   "PENDING" - The upgrade is pending. At the scope level, this means the
   931  	// upgrade is pending for all the clusters in the scope.
   932  	//   "IN_PROGRESS" - The upgrade is in progress. At the scope level, this means
   933  	// the upgrade is in progress for at least one cluster in the scope.
   934  	//   "SOAKING" - The upgrade has finished and is soaking until the soaking time
   935  	// is up. At the scope level, this means at least one cluster is in soaking
   936  	// while the rest are either soaking or complete.
   937  	//   "FORCED_SOAKING" - A cluster will be forced to enter soaking if an upgrade
   938  	// doesn't finish within a certain limit, despite it's actual status.
   939  	//   "COMPLETE" - The upgrade has passed all post conditions (soaking). At the
   940  	// scope level, this means all eligible clusters are in COMPLETE status.
   941  	Code string `json:"code,omitempty"`
   942  	// Reason: Reason for this status.
   943  	Reason string `json:"reason,omitempty"`
   944  	// UpdateTime: Last timestamp the status was updated.
   945  	UpdateTime string `json:"updateTime,omitempty"`
   946  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
   947  	// include in API requests. By default, fields with empty or default values are
   948  	// omitted from API requests. See
   949  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   950  	// details.
   951  	ForceSendFields []string `json:"-"`
   952  	// NullFields is a list of field names (e.g. "Code") to include in API requests
   953  	// with the JSON null value. By default, fields with empty values are omitted
   954  	// from API requests. See
   955  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   956  	NullFields []string `json:"-"`
   957  }
   958  
   959  func (s *ClusterUpgradeUpgradeStatus) MarshalJSON() ([]byte, error) {
   960  	type NoMethod ClusterUpgradeUpgradeStatus
   961  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   962  }
   963  
   964  // CommonFeatureSpec: CommonFeatureSpec contains Hub-wide configuration
   965  // information
   966  type CommonFeatureSpec struct {
   967  	// Appdevexperience: Appdevexperience specific spec.
   968  	Appdevexperience *AppDevExperienceFeatureSpec `json:"appdevexperience,omitempty"`
   969  	// Clusterupgrade: ClusterUpgrade (fleet-based) feature spec.
   970  	Clusterupgrade *ClusterUpgradeFleetSpec `json:"clusterupgrade,omitempty"`
   971  	// Dataplanev2: DataplaneV2 feature spec.
   972  	Dataplanev2 *DataplaneV2FeatureSpec `json:"dataplanev2,omitempty"`
   973  	// Fleetobservability: FleetObservability feature spec.
   974  	Fleetobservability *FleetObservabilityFeatureSpec `json:"fleetobservability,omitempty"`
   975  	// Multiclusteringress: Multicluster Ingress-specific spec.
   976  	Multiclusteringress *MultiClusterIngressFeatureSpec `json:"multiclusteringress,omitempty"`
   977  	// ForceSendFields is a list of field names (e.g. "Appdevexperience") to
   978  	// unconditionally include in API requests. By default, fields with empty or
   979  	// default values are omitted from API requests. See
   980  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   981  	// details.
   982  	ForceSendFields []string `json:"-"`
   983  	// NullFields is a list of field names (e.g. "Appdevexperience") to include in
   984  	// API requests with the JSON null value. By default, fields with empty values
   985  	// are omitted from API requests. See
   986  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   987  	NullFields []string `json:"-"`
   988  }
   989  
   990  func (s *CommonFeatureSpec) MarshalJSON() ([]byte, error) {
   991  	type NoMethod CommonFeatureSpec
   992  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   993  }
   994  
   995  // CommonFeatureState: CommonFeatureState contains Hub-wide Feature status
   996  // information.
   997  type CommonFeatureState struct {
   998  	// Appdevexperience: Appdevexperience specific state.
   999  	Appdevexperience *AppDevExperienceFeatureState `json:"appdevexperience,omitempty"`
  1000  	// Clusterupgrade: ClusterUpgrade fleet-level state.
  1001  	Clusterupgrade *ClusterUpgradeFleetState `json:"clusterupgrade,omitempty"`
  1002  	// Fleetobservability: FleetObservability feature state.
  1003  	Fleetobservability *FleetObservabilityFeatureState `json:"fleetobservability,omitempty"`
  1004  	// State: Output only. The "running state" of the Feature in this Hub.
  1005  	State *FeatureState `json:"state,omitempty"`
  1006  	// ForceSendFields is a list of field names (e.g. "Appdevexperience") to
  1007  	// unconditionally include in API requests. By default, fields with empty or
  1008  	// default values are omitted from API requests. See
  1009  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1010  	// details.
  1011  	ForceSendFields []string `json:"-"`
  1012  	// NullFields is a list of field names (e.g. "Appdevexperience") to include in
  1013  	// API requests with the JSON null value. By default, fields with empty values
  1014  	// are omitted from API requests. See
  1015  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1016  	NullFields []string `json:"-"`
  1017  }
  1018  
  1019  func (s *CommonFeatureState) MarshalJSON() ([]byte, error) {
  1020  	type NoMethod CommonFeatureState
  1021  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1022  }
  1023  
  1024  // CommonFleetDefaultMemberConfigSpec: CommonFleetDefaultMemberConfigSpec
  1025  // contains default configuration information for memberships of a fleet
  1026  type CommonFleetDefaultMemberConfigSpec struct {
  1027  	// Configmanagement: Config Management-specific spec.
  1028  	Configmanagement *ConfigManagementMembershipSpec `json:"configmanagement,omitempty"`
  1029  	// Identityservice: Identity Service-specific spec.
  1030  	Identityservice *IdentityServiceMembershipSpec `json:"identityservice,omitempty"`
  1031  	// Mesh: Anthos Service Mesh-specific spec
  1032  	Mesh *ServiceMeshMembershipSpec `json:"mesh,omitempty"`
  1033  	// Policycontroller: Policy Controller spec.
  1034  	Policycontroller *PolicyControllerMembershipSpec `json:"policycontroller,omitempty"`
  1035  	// ForceSendFields is a list of field names (e.g. "Configmanagement") to
  1036  	// unconditionally include in API requests. By default, fields with empty or
  1037  	// default values are omitted from API requests. See
  1038  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1039  	// details.
  1040  	ForceSendFields []string `json:"-"`
  1041  	// NullFields is a list of field names (e.g. "Configmanagement") to include in
  1042  	// API requests with the JSON null value. By default, fields with empty values
  1043  	// are omitted from API requests. See
  1044  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1045  	NullFields []string `json:"-"`
  1046  }
  1047  
  1048  func (s *CommonFleetDefaultMemberConfigSpec) MarshalJSON() ([]byte, error) {
  1049  	type NoMethod CommonFleetDefaultMemberConfigSpec
  1050  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1051  }
  1052  
  1053  // ConfigManagementConfigSync: Configuration for Config Sync
  1054  type ConfigManagementConfigSync struct {
  1055  	// AllowVerticalScale: Set to true to allow the vertical scaling. Defaults to
  1056  	// false which disallows vertical scaling. This field is deprecated.
  1057  	AllowVerticalScale bool `json:"allowVerticalScale,omitempty"`
  1058  	// Enabled: Enables the installation of ConfigSync. If set to true, ConfigSync
  1059  	// resources will be created and the other ConfigSync fields will be applied if
  1060  	// exist. If set to false, all other ConfigSync fields will be ignored,
  1061  	// ConfigSync resources will be deleted. If omitted, ConfigSync resources will
  1062  	// be managed depends on the presence of the git or oci field.
  1063  	Enabled bool `json:"enabled,omitempty"`
  1064  	// Git: Git repo configuration for the cluster.
  1065  	Git *ConfigManagementGitConfig `json:"git,omitempty"`
  1066  	// MetricsGcpServiceAccountEmail: The Email of the Google Cloud Service Account
  1067  	// (GSA) used for exporting Config Sync metrics to Cloud Monitoring and Cloud
  1068  	// Monarch when Workload Identity is enabled. The GSA should have the
  1069  	// Monitoring Metric Writer (roles/monitoring.metricWriter) IAM role. The
  1070  	// Kubernetes ServiceAccount `default` in the namespace
  1071  	// `config-management-monitoring` should be bound to the GSA.
  1072  	MetricsGcpServiceAccountEmail string `json:"metricsGcpServiceAccountEmail,omitempty"`
  1073  	// Oci: OCI repo configuration for the cluster
  1074  	Oci *ConfigManagementOciConfig `json:"oci,omitempty"`
  1075  	// PreventDrift: Set to true to enable the Config Sync admission webhook to
  1076  	// prevent drifts. If set to `false`, disables the Config Sync admission
  1077  	// webhook and does not prevent drifts.
  1078  	PreventDrift bool `json:"preventDrift,omitempty"`
  1079  	// SourceFormat: Specifies whether the Config Sync Repo is in "hierarchical" or
  1080  	// "unstructured" mode.
  1081  	SourceFormat string `json:"sourceFormat,omitempty"`
  1082  	// ForceSendFields is a list of field names (e.g. "AllowVerticalScale") to
  1083  	// unconditionally include in API requests. By default, fields with empty or
  1084  	// default values are omitted from API requests. See
  1085  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1086  	// details.
  1087  	ForceSendFields []string `json:"-"`
  1088  	// NullFields is a list of field names (e.g. "AllowVerticalScale") to include
  1089  	// in API requests with the JSON null value. By default, fields with empty
  1090  	// values are omitted from API requests. See
  1091  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1092  	NullFields []string `json:"-"`
  1093  }
  1094  
  1095  func (s *ConfigManagementConfigSync) MarshalJSON() ([]byte, error) {
  1096  	type NoMethod ConfigManagementConfigSync
  1097  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1098  }
  1099  
  1100  // ConfigManagementConfigSyncDeploymentState: The state of ConfigSync's
  1101  // deployment on a cluster
  1102  type ConfigManagementConfigSyncDeploymentState struct {
  1103  	// AdmissionWebhook: Deployment state of admission-webhook
  1104  	//
  1105  	// Possible values:
  1106  	//   "DEPLOYMENT_STATE_UNSPECIFIED" - Deployment's state cannot be determined
  1107  	//   "NOT_INSTALLED" - Deployment is not installed
  1108  	//   "INSTALLED" - Deployment is installed
  1109  	//   "ERROR" - Deployment was attempted to be installed, but has errors
  1110  	//   "PENDING" - Deployment is installing or terminating
  1111  	AdmissionWebhook string `json:"admissionWebhook,omitempty"`
  1112  	// GitSync: Deployment state of the git-sync pod
  1113  	//
  1114  	// Possible values:
  1115  	//   "DEPLOYMENT_STATE_UNSPECIFIED" - Deployment's state cannot be determined
  1116  	//   "NOT_INSTALLED" - Deployment is not installed
  1117  	//   "INSTALLED" - Deployment is installed
  1118  	//   "ERROR" - Deployment was attempted to be installed, but has errors
  1119  	//   "PENDING" - Deployment is installing or terminating
  1120  	GitSync string `json:"gitSync,omitempty"`
  1121  	// Importer: Deployment state of the importer pod
  1122  	//
  1123  	// Possible values:
  1124  	//   "DEPLOYMENT_STATE_UNSPECIFIED" - Deployment's state cannot be determined
  1125  	//   "NOT_INSTALLED" - Deployment is not installed
  1126  	//   "INSTALLED" - Deployment is installed
  1127  	//   "ERROR" - Deployment was attempted to be installed, but has errors
  1128  	//   "PENDING" - Deployment is installing or terminating
  1129  	Importer string `json:"importer,omitempty"`
  1130  	// Monitor: Deployment state of the monitor pod
  1131  	//
  1132  	// Possible values:
  1133  	//   "DEPLOYMENT_STATE_UNSPECIFIED" - Deployment's state cannot be determined
  1134  	//   "NOT_INSTALLED" - Deployment is not installed
  1135  	//   "INSTALLED" - Deployment is installed
  1136  	//   "ERROR" - Deployment was attempted to be installed, but has errors
  1137  	//   "PENDING" - Deployment is installing or terminating
  1138  	Monitor string `json:"monitor,omitempty"`
  1139  	// ReconcilerManager: Deployment state of reconciler-manager pod
  1140  	//
  1141  	// Possible values:
  1142  	//   "DEPLOYMENT_STATE_UNSPECIFIED" - Deployment's state cannot be determined
  1143  	//   "NOT_INSTALLED" - Deployment is not installed
  1144  	//   "INSTALLED" - Deployment is installed
  1145  	//   "ERROR" - Deployment was attempted to be installed, but has errors
  1146  	//   "PENDING" - Deployment is installing or terminating
  1147  	ReconcilerManager string `json:"reconcilerManager,omitempty"`
  1148  	// RootReconciler: Deployment state of root-reconciler
  1149  	//
  1150  	// Possible values:
  1151  	//   "DEPLOYMENT_STATE_UNSPECIFIED" - Deployment's state cannot be determined
  1152  	//   "NOT_INSTALLED" - Deployment is not installed
  1153  	//   "INSTALLED" - Deployment is installed
  1154  	//   "ERROR" - Deployment was attempted to be installed, but has errors
  1155  	//   "PENDING" - Deployment is installing or terminating
  1156  	RootReconciler string `json:"rootReconciler,omitempty"`
  1157  	// Syncer: Deployment state of the syncer pod
  1158  	//
  1159  	// Possible values:
  1160  	//   "DEPLOYMENT_STATE_UNSPECIFIED" - Deployment's state cannot be determined
  1161  	//   "NOT_INSTALLED" - Deployment is not installed
  1162  	//   "INSTALLED" - Deployment is installed
  1163  	//   "ERROR" - Deployment was attempted to be installed, but has errors
  1164  	//   "PENDING" - Deployment is installing or terminating
  1165  	Syncer string `json:"syncer,omitempty"`
  1166  	// ForceSendFields is a list of field names (e.g. "AdmissionWebhook") to
  1167  	// unconditionally include in API requests. By default, fields with empty or
  1168  	// default values are omitted from API requests. See
  1169  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1170  	// details.
  1171  	ForceSendFields []string `json:"-"`
  1172  	// NullFields is a list of field names (e.g. "AdmissionWebhook") to include in
  1173  	// API requests with the JSON null value. By default, fields with empty values
  1174  	// are omitted from API requests. See
  1175  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1176  	NullFields []string `json:"-"`
  1177  }
  1178  
  1179  func (s *ConfigManagementConfigSyncDeploymentState) MarshalJSON() ([]byte, error) {
  1180  	type NoMethod ConfigManagementConfigSyncDeploymentState
  1181  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1182  }
  1183  
  1184  // ConfigManagementConfigSyncError: Errors pertaining to the installation of
  1185  // Config Sync
  1186  type ConfigManagementConfigSyncError struct {
  1187  	// ErrorMessage: A string representing the user facing error message
  1188  	ErrorMessage string `json:"errorMessage,omitempty"`
  1189  	// ForceSendFields is a list of field names (e.g. "ErrorMessage") to
  1190  	// unconditionally include in API requests. By default, fields with empty or
  1191  	// default values are omitted from API requests. See
  1192  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1193  	// details.
  1194  	ForceSendFields []string `json:"-"`
  1195  	// NullFields is a list of field names (e.g. "ErrorMessage") to include in API
  1196  	// requests with the JSON null value. By default, fields with empty values are
  1197  	// omitted from API requests. See
  1198  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1199  	NullFields []string `json:"-"`
  1200  }
  1201  
  1202  func (s *ConfigManagementConfigSyncError) MarshalJSON() ([]byte, error) {
  1203  	type NoMethod ConfigManagementConfigSyncError
  1204  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1205  }
  1206  
  1207  // ConfigManagementConfigSyncState: State information for ConfigSync
  1208  type ConfigManagementConfigSyncState struct {
  1209  	// DeploymentState: Information about the deployment of ConfigSync, including
  1210  	// the version of the various Pods deployed
  1211  	DeploymentState *ConfigManagementConfigSyncDeploymentState `json:"deploymentState,omitempty"`
  1212  	// Errors: Errors pertaining to the installation of Config Sync.
  1213  	Errors []*ConfigManagementConfigSyncError `json:"errors,omitempty"`
  1214  	// ReposyncCrd: The state of the Reposync CRD
  1215  	//
  1216  	// Possible values:
  1217  	//   "CRD_STATE_UNSPECIFIED" - CRD's state cannot be determined
  1218  	//   "NOT_INSTALLED" - CRD is not installed
  1219  	//   "INSTALLED" - CRD is installed
  1220  	//   "TERMINATING" - CRD is terminating (i.e., it has been deleted and is
  1221  	// cleaning up)
  1222  	//   "INSTALLING" - CRD is installing
  1223  	ReposyncCrd string `json:"reposyncCrd,omitempty"`
  1224  	// RootsyncCrd: The state of the RootSync CRD
  1225  	//
  1226  	// Possible values:
  1227  	//   "CRD_STATE_UNSPECIFIED" - CRD's state cannot be determined
  1228  	//   "NOT_INSTALLED" - CRD is not installed
  1229  	//   "INSTALLED" - CRD is installed
  1230  	//   "TERMINATING" - CRD is terminating (i.e., it has been deleted and is
  1231  	// cleaning up)
  1232  	//   "INSTALLING" - CRD is installing
  1233  	RootsyncCrd string `json:"rootsyncCrd,omitempty"`
  1234  	// State: The state of CS This field summarizes the other fields in this
  1235  	// message.
  1236  	//
  1237  	// Possible values:
  1238  	//   "STATE_UNSPECIFIED" - CS's state cannot be determined.
  1239  	//   "CONFIG_SYNC_NOT_INSTALLED" - CS is not installed.
  1240  	//   "CONFIG_SYNC_INSTALLED" - The expected CS version is installed
  1241  	// successfully.
  1242  	//   "CONFIG_SYNC_ERROR" - CS encounters errors.
  1243  	//   "CONFIG_SYNC_PENDING" - CS is installing or terminating.
  1244  	State string `json:"state,omitempty"`
  1245  	// SyncState: The state of ConfigSync's process to sync configs to a cluster
  1246  	SyncState *ConfigManagementSyncState `json:"syncState,omitempty"`
  1247  	// Version: The version of ConfigSync deployed
  1248  	Version *ConfigManagementConfigSyncVersion `json:"version,omitempty"`
  1249  	// ForceSendFields is a list of field names (e.g. "DeploymentState") to
  1250  	// unconditionally include in API requests. By default, fields with empty or
  1251  	// default values are omitted from API requests. See
  1252  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1253  	// details.
  1254  	ForceSendFields []string `json:"-"`
  1255  	// NullFields is a list of field names (e.g. "DeploymentState") to include in
  1256  	// API requests with the JSON null value. By default, fields with empty values
  1257  	// are omitted from API requests. See
  1258  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1259  	NullFields []string `json:"-"`
  1260  }
  1261  
  1262  func (s *ConfigManagementConfigSyncState) MarshalJSON() ([]byte, error) {
  1263  	type NoMethod ConfigManagementConfigSyncState
  1264  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1265  }
  1266  
  1267  // ConfigManagementConfigSyncVersion: Specific versioning information
  1268  // pertaining to ConfigSync's Pods
  1269  type ConfigManagementConfigSyncVersion struct {
  1270  	// AdmissionWebhook: Version of the deployed admission_webhook pod
  1271  	AdmissionWebhook string `json:"admissionWebhook,omitempty"`
  1272  	// GitSync: Version of the deployed git-sync pod
  1273  	GitSync string `json:"gitSync,omitempty"`
  1274  	// Importer: Version of the deployed importer pod
  1275  	Importer string `json:"importer,omitempty"`
  1276  	// Monitor: Version of the deployed monitor pod
  1277  	Monitor string `json:"monitor,omitempty"`
  1278  	// ReconcilerManager: Version of the deployed reconciler-manager pod
  1279  	ReconcilerManager string `json:"reconcilerManager,omitempty"`
  1280  	// RootReconciler: Version of the deployed reconciler container in
  1281  	// root-reconciler pod
  1282  	RootReconciler string `json:"rootReconciler,omitempty"`
  1283  	// Syncer: Version of the deployed syncer pod
  1284  	Syncer string `json:"syncer,omitempty"`
  1285  	// ForceSendFields is a list of field names (e.g. "AdmissionWebhook") to
  1286  	// unconditionally include in API requests. By default, fields with empty or
  1287  	// default values are omitted from API requests. See
  1288  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1289  	// details.
  1290  	ForceSendFields []string `json:"-"`
  1291  	// NullFields is a list of field names (e.g. "AdmissionWebhook") to include in
  1292  	// API requests with the JSON null value. By default, fields with empty values
  1293  	// are omitted from API requests. See
  1294  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1295  	NullFields []string `json:"-"`
  1296  }
  1297  
  1298  func (s *ConfigManagementConfigSyncVersion) MarshalJSON() ([]byte, error) {
  1299  	type NoMethod ConfigManagementConfigSyncVersion
  1300  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1301  }
  1302  
  1303  // ConfigManagementErrorResource: Model for a config file in the git repo with
  1304  // an associated Sync error
  1305  type ConfigManagementErrorResource struct {
  1306  	// ResourceGvk: Group/version/kind of the resource that is causing an error
  1307  	ResourceGvk *ConfigManagementGroupVersionKind `json:"resourceGvk,omitempty"`
  1308  	// ResourceName: Metadata name of the resource that is causing an error
  1309  	ResourceName string `json:"resourceName,omitempty"`
  1310  	// ResourceNamespace: Namespace of the resource that is causing an error
  1311  	ResourceNamespace string `json:"resourceNamespace,omitempty"`
  1312  	// SourcePath: Path in the git repo of the erroneous config
  1313  	SourcePath string `json:"sourcePath,omitempty"`
  1314  	// ForceSendFields is a list of field names (e.g. "ResourceGvk") to
  1315  	// unconditionally include in API requests. By default, fields with empty or
  1316  	// default values are omitted from API requests. See
  1317  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1318  	// details.
  1319  	ForceSendFields []string `json:"-"`
  1320  	// NullFields is a list of field names (e.g. "ResourceGvk") to include in API
  1321  	// requests with the JSON null value. By default, fields with empty values are
  1322  	// omitted from API requests. See
  1323  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1324  	NullFields []string `json:"-"`
  1325  }
  1326  
  1327  func (s *ConfigManagementErrorResource) MarshalJSON() ([]byte, error) {
  1328  	type NoMethod ConfigManagementErrorResource
  1329  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1330  }
  1331  
  1332  // ConfigManagementGatekeeperDeploymentState: State of Policy Controller
  1333  // installation.
  1334  type ConfigManagementGatekeeperDeploymentState struct {
  1335  	// GatekeeperAudit: Status of gatekeeper-audit deployment.
  1336  	//
  1337  	// Possible values:
  1338  	//   "DEPLOYMENT_STATE_UNSPECIFIED" - Deployment's state cannot be determined
  1339  	//   "NOT_INSTALLED" - Deployment is not installed
  1340  	//   "INSTALLED" - Deployment is installed
  1341  	//   "ERROR" - Deployment was attempted to be installed, but has errors
  1342  	//   "PENDING" - Deployment is installing or terminating
  1343  	GatekeeperAudit string `json:"gatekeeperAudit,omitempty"`
  1344  	// GatekeeperControllerManagerState: Status of gatekeeper-controller-manager
  1345  	// pod.
  1346  	//
  1347  	// Possible values:
  1348  	//   "DEPLOYMENT_STATE_UNSPECIFIED" - Deployment's state cannot be determined
  1349  	//   "NOT_INSTALLED" - Deployment is not installed
  1350  	//   "INSTALLED" - Deployment is installed
  1351  	//   "ERROR" - Deployment was attempted to be installed, but has errors
  1352  	//   "PENDING" - Deployment is installing or terminating
  1353  	GatekeeperControllerManagerState string `json:"gatekeeperControllerManagerState,omitempty"`
  1354  	// GatekeeperMutation: Status of the pod serving the mutation webhook.
  1355  	//
  1356  	// Possible values:
  1357  	//   "DEPLOYMENT_STATE_UNSPECIFIED" - Deployment's state cannot be determined
  1358  	//   "NOT_INSTALLED" - Deployment is not installed
  1359  	//   "INSTALLED" - Deployment is installed
  1360  	//   "ERROR" - Deployment was attempted to be installed, but has errors
  1361  	//   "PENDING" - Deployment is installing or terminating
  1362  	GatekeeperMutation string `json:"gatekeeperMutation,omitempty"`
  1363  	// ForceSendFields is a list of field names (e.g. "GatekeeperAudit") to
  1364  	// unconditionally include in API requests. By default, fields with empty or
  1365  	// default values are omitted from API requests. See
  1366  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1367  	// details.
  1368  	ForceSendFields []string `json:"-"`
  1369  	// NullFields is a list of field names (e.g. "GatekeeperAudit") to include in
  1370  	// API requests with the JSON null value. By default, fields with empty values
  1371  	// are omitted from API requests. See
  1372  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1373  	NullFields []string `json:"-"`
  1374  }
  1375  
  1376  func (s *ConfigManagementGatekeeperDeploymentState) MarshalJSON() ([]byte, error) {
  1377  	type NoMethod ConfigManagementGatekeeperDeploymentState
  1378  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1379  }
  1380  
  1381  // ConfigManagementGitConfig: Git repo configuration for a single cluster.
  1382  type ConfigManagementGitConfig struct {
  1383  	// GcpServiceAccountEmail: The Google Cloud Service Account Email used for auth
  1384  	// when secret_type is gcpServiceAccount.
  1385  	GcpServiceAccountEmail string `json:"gcpServiceAccountEmail,omitempty"`
  1386  	// HttpsProxy: URL for the HTTPS proxy to be used when communicating with the
  1387  	// Git repo.
  1388  	HttpsProxy string `json:"httpsProxy,omitempty"`
  1389  	// PolicyDir: The path within the Git repository that represents the top level
  1390  	// of the repo to sync. Default: the root directory of the repository.
  1391  	PolicyDir string `json:"policyDir,omitempty"`
  1392  	// SecretType: Type of secret configured for access to the Git repo. Must be
  1393  	// one of ssh, cookiefile, gcenode, token, gcpserviceaccount or none. The
  1394  	// validation of this is case-sensitive. Required.
  1395  	SecretType string `json:"secretType,omitempty"`
  1396  	// SyncBranch: The branch of the repository to sync from. Default: master.
  1397  	SyncBranch string `json:"syncBranch,omitempty"`
  1398  	// SyncRepo: The URL of the Git repository to use as the source of truth.
  1399  	SyncRepo string `json:"syncRepo,omitempty"`
  1400  	// SyncRev: Git revision (tag or hash) to check out. Default HEAD.
  1401  	SyncRev string `json:"syncRev,omitempty"`
  1402  	// SyncWaitSecs: Period in seconds between consecutive syncs. Default: 15.
  1403  	SyncWaitSecs int64 `json:"syncWaitSecs,omitempty,string"`
  1404  	// ForceSendFields is a list of field names (e.g. "GcpServiceAccountEmail") to
  1405  	// unconditionally include in API requests. By default, fields with empty or
  1406  	// default values are omitted from API requests. See
  1407  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1408  	// details.
  1409  	ForceSendFields []string `json:"-"`
  1410  	// NullFields is a list of field names (e.g. "GcpServiceAccountEmail") to
  1411  	// include in API requests with the JSON null value. By default, fields with
  1412  	// empty values are omitted from API requests. See
  1413  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1414  	NullFields []string `json:"-"`
  1415  }
  1416  
  1417  func (s *ConfigManagementGitConfig) MarshalJSON() ([]byte, error) {
  1418  	type NoMethod ConfigManagementGitConfig
  1419  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1420  }
  1421  
  1422  // ConfigManagementGroupVersionKind: A Kubernetes object's GVK
  1423  type ConfigManagementGroupVersionKind struct {
  1424  	// Group: Kubernetes Group
  1425  	Group string `json:"group,omitempty"`
  1426  	// Kind: Kubernetes Kind
  1427  	Kind string `json:"kind,omitempty"`
  1428  	// Version: Kubernetes Version
  1429  	Version string `json:"version,omitempty"`
  1430  	// ForceSendFields is a list of field names (e.g. "Group") to unconditionally
  1431  	// include in API requests. By default, fields with empty or default values are
  1432  	// omitted from API requests. See
  1433  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1434  	// details.
  1435  	ForceSendFields []string `json:"-"`
  1436  	// NullFields is a list of field names (e.g. "Group") to include in API
  1437  	// requests with the JSON null value. By default, fields with empty values are
  1438  	// omitted from API requests. See
  1439  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1440  	NullFields []string `json:"-"`
  1441  }
  1442  
  1443  func (s *ConfigManagementGroupVersionKind) MarshalJSON() ([]byte, error) {
  1444  	type NoMethod ConfigManagementGroupVersionKind
  1445  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1446  }
  1447  
  1448  // ConfigManagementHierarchyControllerConfig: Configuration for Hierarchy
  1449  // Controller
  1450  type ConfigManagementHierarchyControllerConfig struct {
  1451  	// EnableHierarchicalResourceQuota: Whether hierarchical resource quota is
  1452  	// enabled in this cluster.
  1453  	EnableHierarchicalResourceQuota bool `json:"enableHierarchicalResourceQuota,omitempty"`
  1454  	// EnablePodTreeLabels: Whether pod tree labels are enabled in this cluster.
  1455  	EnablePodTreeLabels bool `json:"enablePodTreeLabels,omitempty"`
  1456  	// Enabled: Whether Hierarchy Controller is enabled in this cluster.
  1457  	Enabled bool `json:"enabled,omitempty"`
  1458  	// ForceSendFields is a list of field names (e.g.
  1459  	// "EnableHierarchicalResourceQuota") to unconditionally include in API
  1460  	// requests. By default, fields with empty or default values are omitted from
  1461  	// API requests. See
  1462  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1463  	// details.
  1464  	ForceSendFields []string `json:"-"`
  1465  	// NullFields is a list of field names (e.g. "EnableHierarchicalResourceQuota")
  1466  	// to include in API requests with the JSON null value. By default, fields with
  1467  	// empty values are omitted from API requests. See
  1468  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1469  	NullFields []string `json:"-"`
  1470  }
  1471  
  1472  func (s *ConfigManagementHierarchyControllerConfig) MarshalJSON() ([]byte, error) {
  1473  	type NoMethod ConfigManagementHierarchyControllerConfig
  1474  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1475  }
  1476  
  1477  // ConfigManagementHierarchyControllerDeploymentState: Deployment state for
  1478  // Hierarchy Controller
  1479  type ConfigManagementHierarchyControllerDeploymentState struct {
  1480  	// Extension: The deployment state for Hierarchy Controller extension (e.g.
  1481  	// v0.7.0-hc.1)
  1482  	//
  1483  	// Possible values:
  1484  	//   "DEPLOYMENT_STATE_UNSPECIFIED" - Deployment's state cannot be determined
  1485  	//   "NOT_INSTALLED" - Deployment is not installed
  1486  	//   "INSTALLED" - Deployment is installed
  1487  	//   "ERROR" - Deployment was attempted to be installed, but has errors
  1488  	//   "PENDING" - Deployment is installing or terminating
  1489  	Extension string `json:"extension,omitempty"`
  1490  	// Hnc: The deployment state for open source HNC (e.g. v0.7.0-hc.0)
  1491  	//
  1492  	// Possible values:
  1493  	//   "DEPLOYMENT_STATE_UNSPECIFIED" - Deployment's state cannot be determined
  1494  	//   "NOT_INSTALLED" - Deployment is not installed
  1495  	//   "INSTALLED" - Deployment is installed
  1496  	//   "ERROR" - Deployment was attempted to be installed, but has errors
  1497  	//   "PENDING" - Deployment is installing or terminating
  1498  	Hnc string `json:"hnc,omitempty"`
  1499  	// ForceSendFields is a list of field names (e.g. "Extension") to
  1500  	// unconditionally include in API requests. By default, fields with empty or
  1501  	// default values are omitted from API requests. See
  1502  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1503  	// details.
  1504  	ForceSendFields []string `json:"-"`
  1505  	// NullFields is a list of field names (e.g. "Extension") to include in API
  1506  	// requests with the JSON null value. By default, fields with empty values are
  1507  	// omitted from API requests. See
  1508  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1509  	NullFields []string `json:"-"`
  1510  }
  1511  
  1512  func (s *ConfigManagementHierarchyControllerDeploymentState) MarshalJSON() ([]byte, error) {
  1513  	type NoMethod ConfigManagementHierarchyControllerDeploymentState
  1514  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1515  }
  1516  
  1517  // ConfigManagementHierarchyControllerState: State for Hierarchy Controller
  1518  type ConfigManagementHierarchyControllerState struct {
  1519  	// State: The deployment state for Hierarchy Controller
  1520  	State *ConfigManagementHierarchyControllerDeploymentState `json:"state,omitempty"`
  1521  	// Version: The version for Hierarchy Controller
  1522  	Version *ConfigManagementHierarchyControllerVersion `json:"version,omitempty"`
  1523  	// ForceSendFields is a list of field names (e.g. "State") to unconditionally
  1524  	// include in API requests. By default, fields with empty or default values are
  1525  	// omitted from API requests. See
  1526  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1527  	// details.
  1528  	ForceSendFields []string `json:"-"`
  1529  	// NullFields is a list of field names (e.g. "State") to include in API
  1530  	// requests with the JSON null value. By default, fields with empty values are
  1531  	// omitted from API requests. See
  1532  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1533  	NullFields []string `json:"-"`
  1534  }
  1535  
  1536  func (s *ConfigManagementHierarchyControllerState) MarshalJSON() ([]byte, error) {
  1537  	type NoMethod ConfigManagementHierarchyControllerState
  1538  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1539  }
  1540  
  1541  // ConfigManagementHierarchyControllerVersion: Version for Hierarchy Controller
  1542  type ConfigManagementHierarchyControllerVersion struct {
  1543  	// Extension: Version for Hierarchy Controller extension
  1544  	Extension string `json:"extension,omitempty"`
  1545  	// Hnc: Version for open source HNC
  1546  	Hnc string `json:"hnc,omitempty"`
  1547  	// ForceSendFields is a list of field names (e.g. "Extension") to
  1548  	// unconditionally include in API requests. By default, fields with empty or
  1549  	// default values are omitted from API requests. See
  1550  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1551  	// details.
  1552  	ForceSendFields []string `json:"-"`
  1553  	// NullFields is a list of field names (e.g. "Extension") to include in API
  1554  	// requests with the JSON null value. By default, fields with empty values are
  1555  	// omitted from API requests. See
  1556  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1557  	NullFields []string `json:"-"`
  1558  }
  1559  
  1560  func (s *ConfigManagementHierarchyControllerVersion) MarshalJSON() ([]byte, error) {
  1561  	type NoMethod ConfigManagementHierarchyControllerVersion
  1562  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1563  }
  1564  
  1565  // ConfigManagementInstallError: Errors pertaining to the installation of ACM
  1566  type ConfigManagementInstallError struct {
  1567  	// ErrorMessage: A string representing the user facing error message
  1568  	ErrorMessage string `json:"errorMessage,omitempty"`
  1569  	// ForceSendFields is a list of field names (e.g. "ErrorMessage") to
  1570  	// unconditionally include in API requests. By default, fields with empty or
  1571  	// default values are omitted from API requests. See
  1572  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1573  	// details.
  1574  	ForceSendFields []string `json:"-"`
  1575  	// NullFields is a list of field names (e.g. "ErrorMessage") to include in API
  1576  	// requests with the JSON null value. By default, fields with empty values are
  1577  	// omitted from API requests. See
  1578  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1579  	NullFields []string `json:"-"`
  1580  }
  1581  
  1582  func (s *ConfigManagementInstallError) MarshalJSON() ([]byte, error) {
  1583  	type NoMethod ConfigManagementInstallError
  1584  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1585  }
  1586  
  1587  // ConfigManagementMembershipSpec: **Anthos Config Management**: Configuration
  1588  // for a single cluster. Intended to parallel the ConfigManagement CR.
  1589  type ConfigManagementMembershipSpec struct {
  1590  	// Cluster: The user-specified cluster name used by Config Sync
  1591  	// cluster-name-selector annotation or ClusterSelector, for applying configs to
  1592  	// only a subset of clusters. Omit this field if the cluster's fleet membership
  1593  	// name is used by Config Sync cluster-name-selector annotation or
  1594  	// ClusterSelector. Set this field if a name different from the cluster's fleet
  1595  	// membership name is used by Config Sync cluster-name-selector annotation or
  1596  	// ClusterSelector.
  1597  	Cluster string `json:"cluster,omitempty"`
  1598  	// ConfigSync: Config Sync configuration for the cluster.
  1599  	ConfigSync *ConfigManagementConfigSync `json:"configSync,omitempty"`
  1600  	// HierarchyController: Hierarchy Controller configuration for the cluster.
  1601  	HierarchyController *ConfigManagementHierarchyControllerConfig `json:"hierarchyController,omitempty"`
  1602  	// Management: Enables automatic Feature management.
  1603  	//
  1604  	// Possible values:
  1605  	//   "MANAGEMENT_UNSPECIFIED" - Unspecified
  1606  	//   "MANAGEMENT_AUTOMATIC" - Google will manage the Feature for the cluster.
  1607  	//   "MANAGEMENT_MANUAL" - User will manually manage the Feature for the
  1608  	// cluster.
  1609  	Management string `json:"management,omitempty"`
  1610  	// PolicyController: Policy Controller configuration for the cluster.
  1611  	PolicyController *ConfigManagementPolicyController `json:"policyController,omitempty"`
  1612  	// Version: Version of ACM installed.
  1613  	Version string `json:"version,omitempty"`
  1614  	// ForceSendFields is a list of field names (e.g. "Cluster") to unconditionally
  1615  	// include in API requests. By default, fields with empty or default values are
  1616  	// omitted from API requests. See
  1617  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1618  	// details.
  1619  	ForceSendFields []string `json:"-"`
  1620  	// NullFields is a list of field names (e.g. "Cluster") to include in API
  1621  	// requests with the JSON null value. By default, fields with empty values are
  1622  	// omitted from API requests. See
  1623  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1624  	NullFields []string `json:"-"`
  1625  }
  1626  
  1627  func (s *ConfigManagementMembershipSpec) MarshalJSON() ([]byte, error) {
  1628  	type NoMethod ConfigManagementMembershipSpec
  1629  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1630  }
  1631  
  1632  // ConfigManagementMembershipState: **Anthos Config Management**: State for a
  1633  // single cluster.
  1634  type ConfigManagementMembershipState struct {
  1635  	// ClusterName: This field is set to the `cluster_name` field of the Membership
  1636  	// Spec if it is not empty. Otherwise, it is set to the cluster's fleet
  1637  	// membership name.
  1638  	ClusterName string `json:"clusterName,omitempty"`
  1639  	// ConfigSyncState: Current sync status
  1640  	ConfigSyncState *ConfigManagementConfigSyncState `json:"configSyncState,omitempty"`
  1641  	// HierarchyControllerState: Hierarchy Controller status
  1642  	HierarchyControllerState *ConfigManagementHierarchyControllerState `json:"hierarchyControllerState,omitempty"`
  1643  	// MembershipSpec: Membership configuration in the cluster. This represents the
  1644  	// actual state in the cluster, while the MembershipSpec in the FeatureSpec
  1645  	// represents the intended state
  1646  	MembershipSpec *ConfigManagementMembershipSpec `json:"membershipSpec,omitempty"`
  1647  	// OperatorState: Current install status of ACM's Operator
  1648  	OperatorState *ConfigManagementOperatorState `json:"operatorState,omitempty"`
  1649  	// PolicyControllerState: PolicyController status
  1650  	PolicyControllerState *ConfigManagementPolicyControllerState `json:"policyControllerState,omitempty"`
  1651  	// ForceSendFields is a list of field names (e.g. "ClusterName") to
  1652  	// unconditionally include in API requests. By default, fields with empty or
  1653  	// default values are omitted from API requests. See
  1654  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1655  	// details.
  1656  	ForceSendFields []string `json:"-"`
  1657  	// NullFields is a list of field names (e.g. "ClusterName") to include in API
  1658  	// requests with the JSON null value. By default, fields with empty values are
  1659  	// omitted from API requests. See
  1660  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1661  	NullFields []string `json:"-"`
  1662  }
  1663  
  1664  func (s *ConfigManagementMembershipState) MarshalJSON() ([]byte, error) {
  1665  	type NoMethod ConfigManagementMembershipState
  1666  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1667  }
  1668  
  1669  // ConfigManagementOciConfig: OCI repo configuration for a single cluster
  1670  type ConfigManagementOciConfig struct {
  1671  	// GcpServiceAccountEmail: The Google Cloud Service Account Email used for auth
  1672  	// when secret_type is gcpServiceAccount.
  1673  	GcpServiceAccountEmail string `json:"gcpServiceAccountEmail,omitempty"`
  1674  	// PolicyDir: The absolute path of the directory that contains the local
  1675  	// resources. Default: the root directory of the image.
  1676  	PolicyDir string `json:"policyDir,omitempty"`
  1677  	// SecretType: Type of secret configured for access to the Git repo.
  1678  	SecretType string `json:"secretType,omitempty"`
  1679  	// SyncRepo: The OCI image repository URL for the package to sync from. e.g.
  1680  	// `LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME`.
  1681  	SyncRepo string `json:"syncRepo,omitempty"`
  1682  	// SyncWaitSecs: Period in seconds between consecutive syncs. Default: 15.
  1683  	SyncWaitSecs int64 `json:"syncWaitSecs,omitempty,string"`
  1684  	// ForceSendFields is a list of field names (e.g. "GcpServiceAccountEmail") to
  1685  	// unconditionally include in API requests. By default, fields with empty or
  1686  	// default values are omitted from API requests. See
  1687  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1688  	// details.
  1689  	ForceSendFields []string `json:"-"`
  1690  	// NullFields is a list of field names (e.g. "GcpServiceAccountEmail") to
  1691  	// include in API requests with the JSON null value. By default, fields with
  1692  	// empty values are omitted from API requests. See
  1693  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1694  	NullFields []string `json:"-"`
  1695  }
  1696  
  1697  func (s *ConfigManagementOciConfig) MarshalJSON() ([]byte, error) {
  1698  	type NoMethod ConfigManagementOciConfig
  1699  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1700  }
  1701  
  1702  // ConfigManagementOperatorState: State information for an ACM's Operator
  1703  type ConfigManagementOperatorState struct {
  1704  	// DeploymentState: The state of the Operator's deployment
  1705  	//
  1706  	// Possible values:
  1707  	//   "DEPLOYMENT_STATE_UNSPECIFIED" - Deployment's state cannot be determined
  1708  	//   "NOT_INSTALLED" - Deployment is not installed
  1709  	//   "INSTALLED" - Deployment is installed
  1710  	//   "ERROR" - Deployment was attempted to be installed, but has errors
  1711  	//   "PENDING" - Deployment is installing or terminating
  1712  	DeploymentState string `json:"deploymentState,omitempty"`
  1713  	// Errors: Install errors.
  1714  	Errors []*ConfigManagementInstallError `json:"errors,omitempty"`
  1715  	// Version: The semenatic version number of the operator
  1716  	Version string `json:"version,omitempty"`
  1717  	// ForceSendFields is a list of field names (e.g. "DeploymentState") to
  1718  	// unconditionally include in API requests. By default, fields with empty or
  1719  	// default values are omitted from API requests. See
  1720  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1721  	// details.
  1722  	ForceSendFields []string `json:"-"`
  1723  	// NullFields is a list of field names (e.g. "DeploymentState") to include in
  1724  	// API requests with the JSON null value. By default, fields with empty values
  1725  	// are omitted from API requests. See
  1726  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1727  	NullFields []string `json:"-"`
  1728  }
  1729  
  1730  func (s *ConfigManagementOperatorState) MarshalJSON() ([]byte, error) {
  1731  	type NoMethod ConfigManagementOperatorState
  1732  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1733  }
  1734  
  1735  // ConfigManagementPolicyController: Configuration for Policy Controller
  1736  type ConfigManagementPolicyController struct {
  1737  	// AuditIntervalSeconds: Sets the interval for Policy Controller Audit Scans
  1738  	// (in seconds). When set to 0, this disables audit functionality altogether.
  1739  	AuditIntervalSeconds int64 `json:"auditIntervalSeconds,omitempty,string"`
  1740  	// Enabled: Enables the installation of Policy Controller. If false, the rest
  1741  	// of PolicyController fields take no effect.
  1742  	Enabled bool `json:"enabled,omitempty"`
  1743  	// ExemptableNamespaces: The set of namespaces that are excluded from Policy
  1744  	// Controller checks. Namespaces do not need to currently exist on the cluster.
  1745  	ExemptableNamespaces []string `json:"exemptableNamespaces,omitempty"`
  1746  	// LogDeniesEnabled: Logs all denies and dry run failures.
  1747  	LogDeniesEnabled bool `json:"logDeniesEnabled,omitempty"`
  1748  	// Monitoring: Monitoring specifies the configuration of monitoring.
  1749  	Monitoring *ConfigManagementPolicyControllerMonitoring `json:"monitoring,omitempty"`
  1750  	// MutationEnabled: Enable or disable mutation in policy controller. If true,
  1751  	// mutation CRDs, webhook and controller deployment will be deployed to the
  1752  	// cluster.
  1753  	MutationEnabled bool `json:"mutationEnabled,omitempty"`
  1754  	// ReferentialRulesEnabled: Enables the ability to use Constraint Templates
  1755  	// that reference to objects other than the object currently being evaluated.
  1756  	ReferentialRulesEnabled bool `json:"referentialRulesEnabled,omitempty"`
  1757  	// TemplateLibraryInstalled: Installs the default template library along with
  1758  	// Policy Controller.
  1759  	TemplateLibraryInstalled bool `json:"templateLibraryInstalled,omitempty"`
  1760  	// UpdateTime: Output only. Last time this membership spec was updated.
  1761  	UpdateTime string `json:"updateTime,omitempty"`
  1762  	// ForceSendFields is a list of field names (e.g. "AuditIntervalSeconds") to
  1763  	// unconditionally include in API requests. By default, fields with empty or
  1764  	// default values are omitted from API requests. See
  1765  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1766  	// details.
  1767  	ForceSendFields []string `json:"-"`
  1768  	// NullFields is a list of field names (e.g. "AuditIntervalSeconds") to include
  1769  	// in API requests with the JSON null value. By default, fields with empty
  1770  	// values are omitted from API requests. See
  1771  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1772  	NullFields []string `json:"-"`
  1773  }
  1774  
  1775  func (s *ConfigManagementPolicyController) MarshalJSON() ([]byte, error) {
  1776  	type NoMethod ConfigManagementPolicyController
  1777  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1778  }
  1779  
  1780  // ConfigManagementPolicyControllerMigration: State for the migration of
  1781  // PolicyController from ACM -> PoCo Hub.
  1782  type ConfigManagementPolicyControllerMigration struct {
  1783  	// CopyTime: Last time this membership spec was copied to PoCo feature.
  1784  	CopyTime string `json:"copyTime,omitempty"`
  1785  	// Stage: Stage of the migration.
  1786  	//
  1787  	// Possible values:
  1788  	//   "STAGE_UNSPECIFIED" - Unknown state of migration.
  1789  	//   "ACM_MANAGED" - ACM Hub/Operator manages policycontroller. No migration
  1790  	// yet completed.
  1791  	//   "POCO_MANAGED" - All migrations steps complete; Poco Hub now manages
  1792  	// policycontroller.
  1793  	Stage string `json:"stage,omitempty"`
  1794  	// ForceSendFields is a list of field names (e.g. "CopyTime") to
  1795  	// unconditionally include in API requests. By default, fields with empty or
  1796  	// default values are omitted from API requests. See
  1797  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1798  	// details.
  1799  	ForceSendFields []string `json:"-"`
  1800  	// NullFields is a list of field names (e.g. "CopyTime") to include in API
  1801  	// requests with the JSON null value. By default, fields with empty values are
  1802  	// omitted from API requests. See
  1803  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1804  	NullFields []string `json:"-"`
  1805  }
  1806  
  1807  func (s *ConfigManagementPolicyControllerMigration) MarshalJSON() ([]byte, error) {
  1808  	type NoMethod ConfigManagementPolicyControllerMigration
  1809  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1810  }
  1811  
  1812  // ConfigManagementPolicyControllerMonitoring: PolicyControllerMonitoring
  1813  // specifies the backends Policy Controller should export metrics to. For
  1814  // example, to specify metrics should be exported to Cloud Monitoring and
  1815  // Prometheus, specify backends: ["cloudmonitoring", "prometheus"]
  1816  type ConfigManagementPolicyControllerMonitoring struct {
  1817  	// Backends: Specifies the list of backends Policy Controller will export to.
  1818  	// An empty list would effectively disable metrics export.
  1819  	//
  1820  	// Possible values:
  1821  	//   "MONITORING_BACKEND_UNSPECIFIED" - Backend cannot be determined
  1822  	//   "PROMETHEUS" - Prometheus backend for monitoring
  1823  	//   "CLOUD_MONITORING" - Stackdriver/Cloud Monitoring backend for monitoring
  1824  	Backends []string `json:"backends,omitempty"`
  1825  	// ForceSendFields is a list of field names (e.g. "Backends") to
  1826  	// unconditionally include in API requests. By default, fields with empty or
  1827  	// default values are omitted from API requests. See
  1828  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1829  	// details.
  1830  	ForceSendFields []string `json:"-"`
  1831  	// NullFields is a list of field names (e.g. "Backends") to include in API
  1832  	// requests with the JSON null value. By default, fields with empty values are
  1833  	// omitted from API requests. See
  1834  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1835  	NullFields []string `json:"-"`
  1836  }
  1837  
  1838  func (s *ConfigManagementPolicyControllerMonitoring) MarshalJSON() ([]byte, error) {
  1839  	type NoMethod ConfigManagementPolicyControllerMonitoring
  1840  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1841  }
  1842  
  1843  // ConfigManagementPolicyControllerState: State for PolicyControllerState.
  1844  type ConfigManagementPolicyControllerState struct {
  1845  	// DeploymentState: The state about the policy controller installation.
  1846  	DeploymentState *ConfigManagementGatekeeperDeploymentState `json:"deploymentState,omitempty"`
  1847  	// Migration: Record state of ACM -> PoCo Hub migration for this feature.
  1848  	Migration *ConfigManagementPolicyControllerMigration `json:"migration,omitempty"`
  1849  	// Version: The version of Gatekeeper Policy Controller deployed.
  1850  	Version *ConfigManagementPolicyControllerVersion `json:"version,omitempty"`
  1851  	// ForceSendFields is a list of field names (e.g. "DeploymentState") to
  1852  	// unconditionally include in API requests. By default, fields with empty or
  1853  	// default values are omitted from API requests. See
  1854  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1855  	// details.
  1856  	ForceSendFields []string `json:"-"`
  1857  	// NullFields is a list of field names (e.g. "DeploymentState") to include in
  1858  	// API requests with the JSON null value. By default, fields with empty values
  1859  	// are omitted from API requests. See
  1860  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1861  	NullFields []string `json:"-"`
  1862  }
  1863  
  1864  func (s *ConfigManagementPolicyControllerState) MarshalJSON() ([]byte, error) {
  1865  	type NoMethod ConfigManagementPolicyControllerState
  1866  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1867  }
  1868  
  1869  // ConfigManagementPolicyControllerVersion: The build version of Gatekeeper
  1870  // Policy Controller is using.
  1871  type ConfigManagementPolicyControllerVersion struct {
  1872  	// Version: The gatekeeper image tag that is composed of ACM version, git tag,
  1873  	// build number.
  1874  	Version string `json:"version,omitempty"`
  1875  	// ForceSendFields is a list of field names (e.g. "Version") to unconditionally
  1876  	// include in API requests. By default, fields with empty or default values are
  1877  	// omitted from API requests. See
  1878  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1879  	// details.
  1880  	ForceSendFields []string `json:"-"`
  1881  	// NullFields is a list of field names (e.g. "Version") to include in API
  1882  	// requests with the JSON null value. By default, fields with empty values are
  1883  	// omitted from API requests. See
  1884  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1885  	NullFields []string `json:"-"`
  1886  }
  1887  
  1888  func (s *ConfigManagementPolicyControllerVersion) MarshalJSON() ([]byte, error) {
  1889  	type NoMethod ConfigManagementPolicyControllerVersion
  1890  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1891  }
  1892  
  1893  // ConfigManagementSyncError: An ACM created error representing a problem
  1894  // syncing configurations
  1895  type ConfigManagementSyncError struct {
  1896  	// Code: An ACM defined error code
  1897  	Code string `json:"code,omitempty"`
  1898  	// ErrorMessage: A description of the error
  1899  	ErrorMessage string `json:"errorMessage,omitempty"`
  1900  	// ErrorResources: A list of config(s) associated with the error, if any
  1901  	ErrorResources []*ConfigManagementErrorResource `json:"errorResources,omitempty"`
  1902  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  1903  	// include in API requests. By default, fields with empty or default values are
  1904  	// omitted from API requests. See
  1905  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1906  	// details.
  1907  	ForceSendFields []string `json:"-"`
  1908  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  1909  	// with the JSON null value. By default, fields with empty values are omitted
  1910  	// from API requests. See
  1911  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1912  	NullFields []string `json:"-"`
  1913  }
  1914  
  1915  func (s *ConfigManagementSyncError) MarshalJSON() ([]byte, error) {
  1916  	type NoMethod ConfigManagementSyncError
  1917  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1918  }
  1919  
  1920  // ConfigManagementSyncState: State indicating an ACM's progress syncing
  1921  // configurations to a cluster
  1922  type ConfigManagementSyncState struct {
  1923  	// Code: Sync status code
  1924  	//
  1925  	// Possible values:
  1926  	//   "SYNC_CODE_UNSPECIFIED" - Config Sync cannot determine a sync code
  1927  	//   "SYNCED" - Config Sync successfully synced the git Repo with the cluster
  1928  	//   "PENDING" - Config Sync is in the progress of syncing a new change
  1929  	//   "ERROR" - Indicates an error configuring Config Sync, and user action is
  1930  	// required
  1931  	//   "NOT_CONFIGURED" - Config Sync has been installed but not configured
  1932  	//   "NOT_INSTALLED" - Config Sync has not been installed
  1933  	//   "UNAUTHORIZED" - Error authorizing with the cluster
  1934  	//   "UNREACHABLE" - Cluster could not be reached
  1935  	Code string `json:"code,omitempty"`
  1936  	// Errors: A list of errors resulting from problematic configs. This list will
  1937  	// be truncated after 100 errors, although it is unlikely for that many errors
  1938  	// to simultaneously exist.
  1939  	Errors []*ConfigManagementSyncError `json:"errors,omitempty"`
  1940  	// ImportToken: Token indicating the state of the importer.
  1941  	ImportToken string `json:"importToken,omitempty"`
  1942  	// LastSync: Deprecated: use last_sync_time instead. Timestamp of when ACM last
  1943  	// successfully synced the repo The time format is specified in
  1944  	// https://golang.org/pkg/time/#Time.String
  1945  	LastSync string `json:"lastSync,omitempty"`
  1946  	// LastSyncTime: Timestamp type of when ACM last successfully synced the repo
  1947  	LastSyncTime string `json:"lastSyncTime,omitempty"`
  1948  	// SourceToken: Token indicating the state of the repo.
  1949  	SourceToken string `json:"sourceToken,omitempty"`
  1950  	// SyncToken: Token indicating the state of the syncer.
  1951  	SyncToken string `json:"syncToken,omitempty"`
  1952  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  1953  	// include in API requests. By default, fields with empty or default values are
  1954  	// omitted from API requests. See
  1955  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1956  	// details.
  1957  	ForceSendFields []string `json:"-"`
  1958  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  1959  	// with the JSON null value. By default, fields with empty values are omitted
  1960  	// from API requests. See
  1961  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1962  	NullFields []string `json:"-"`
  1963  }
  1964  
  1965  func (s *ConfigManagementSyncState) MarshalJSON() ([]byte, error) {
  1966  	type NoMethod ConfigManagementSyncState
  1967  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1968  }
  1969  
  1970  // ConnectAgentResource: ConnectAgentResource represents a Kubernetes resource
  1971  // manifest for Connect Agent deployment.
  1972  type ConnectAgentResource struct {
  1973  	// Manifest: YAML manifest of the resource.
  1974  	Manifest string `json:"manifest,omitempty"`
  1975  	// Type: Kubernetes type of the resource.
  1976  	Type *TypeMeta `json:"type,omitempty"`
  1977  	// ForceSendFields is a list of field names (e.g. "Manifest") to
  1978  	// unconditionally include in API requests. By default, fields with empty or
  1979  	// default values are omitted from API requests. See
  1980  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1981  	// details.
  1982  	ForceSendFields []string `json:"-"`
  1983  	// NullFields is a list of field names (e.g. "Manifest") to include in API
  1984  	// requests with the JSON null value. By default, fields with empty values are
  1985  	// omitted from API requests. See
  1986  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1987  	NullFields []string `json:"-"`
  1988  }
  1989  
  1990  func (s *ConnectAgentResource) MarshalJSON() ([]byte, error) {
  1991  	type NoMethod ConnectAgentResource
  1992  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1993  }
  1994  
  1995  // DataplaneV2FeatureSpec: **Dataplane V2**: Spec
  1996  type DataplaneV2FeatureSpec struct {
  1997  	// EnableEncryption: Enable dataplane-v2 based encryption for multiple
  1998  	// clusters.
  1999  	EnableEncryption bool `json:"enableEncryption,omitempty"`
  2000  	// ForceSendFields is a list of field names (e.g. "EnableEncryption") to
  2001  	// unconditionally include in API requests. By default, fields with empty or
  2002  	// default values are omitted from API requests. See
  2003  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2004  	// details.
  2005  	ForceSendFields []string `json:"-"`
  2006  	// NullFields is a list of field names (e.g. "EnableEncryption") to include in
  2007  	// API requests with the JSON null value. By default, fields with empty values
  2008  	// are omitted from API requests. See
  2009  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2010  	NullFields []string `json:"-"`
  2011  }
  2012  
  2013  func (s *DataplaneV2FeatureSpec) MarshalJSON() ([]byte, error) {
  2014  	type NoMethod DataplaneV2FeatureSpec
  2015  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2016  }
  2017  
  2018  // DefaultClusterConfig: DefaultClusterConfig describes the default cluster
  2019  // configurations to be applied to all clusters born-in-fleet.
  2020  type DefaultClusterConfig struct {
  2021  	// BinaryAuthorizationConfig: Optional. Enable/Disable binary authorization
  2022  	// features for the cluster.
  2023  	BinaryAuthorizationConfig *BinaryAuthorizationConfig `json:"binaryAuthorizationConfig,omitempty"`
  2024  	// SecurityPostureConfig: Enable/Disable Security Posture features for the
  2025  	// cluster.
  2026  	SecurityPostureConfig *SecurityPostureConfig `json:"securityPostureConfig,omitempty"`
  2027  	// ForceSendFields is a list of field names (e.g. "BinaryAuthorizationConfig")
  2028  	// to unconditionally include in API requests. By default, fields with empty or
  2029  	// default values are omitted from API requests. See
  2030  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2031  	// details.
  2032  	ForceSendFields []string `json:"-"`
  2033  	// NullFields is a list of field names (e.g. "BinaryAuthorizationConfig") to
  2034  	// include in API requests with the JSON null value. By default, fields with
  2035  	// empty values are omitted from API requests. See
  2036  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2037  	NullFields []string `json:"-"`
  2038  }
  2039  
  2040  func (s *DefaultClusterConfig) MarshalJSON() ([]byte, error) {
  2041  	type NoMethod DefaultClusterConfig
  2042  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2043  }
  2044  
  2045  // EdgeCluster: EdgeCluster contains information specific to Google Edge
  2046  // Clusters.
  2047  type EdgeCluster struct {
  2048  	// ResourceLink: Immutable. Self-link of the Google Cloud resource for the Edge
  2049  	// Cluster. For example:
  2050  	// //edgecontainer.googleapis.com/projects/my-project/locations/us-west1-a/clust
  2051  	// ers/my-cluster
  2052  	ResourceLink string `json:"resourceLink,omitempty"`
  2053  	// ForceSendFields is a list of field names (e.g. "ResourceLink") to
  2054  	// unconditionally include in API requests. By default, fields with empty or
  2055  	// default values are omitted from API requests. See
  2056  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2057  	// details.
  2058  	ForceSendFields []string `json:"-"`
  2059  	// NullFields is a list of field names (e.g. "ResourceLink") to include in API
  2060  	// requests with the JSON null value. By default, fields with empty values are
  2061  	// omitted from API requests. See
  2062  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2063  	NullFields []string `json:"-"`
  2064  }
  2065  
  2066  func (s *EdgeCluster) MarshalJSON() ([]byte, error) {
  2067  	type NoMethod EdgeCluster
  2068  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2069  }
  2070  
  2071  // Empty: A generic empty message that you can re-use to avoid defining
  2072  // duplicated empty messages in your APIs. A typical example is to use it as
  2073  // the request or the response type of an API method. For instance: service Foo
  2074  // { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
  2075  type Empty struct {
  2076  	// ServerResponse contains the HTTP response code and headers from the server.
  2077  	googleapi.ServerResponse `json:"-"`
  2078  }
  2079  
  2080  // Expr: Represents a textual expression in the Common Expression Language
  2081  // (CEL) syntax. CEL is a C-like expression language. The syntax and semantics
  2082  // of CEL are documented at https://github.com/google/cel-spec. Example
  2083  // (Comparison): title: "Summary size limit" description: "Determines if a
  2084  // summary is less than 100 chars" expression: "document.summary.size() < 100"
  2085  // Example (Equality): title: "Requestor is owner" description: "Determines if
  2086  // requestor is the document owner" expression: "document.owner ==
  2087  // request.auth.claims.email" Example (Logic): title: "Public documents"
  2088  // description: "Determine whether the document should be publicly visible"
  2089  // expression: "document.type != 'private' && document.type != 'internal'"
  2090  // Example (Data Manipulation): title: "Notification string" description:
  2091  // "Create a notification string with a timestamp." expression: "'New message
  2092  // received at ' + string(document.create_time)" The exact variables and
  2093  // functions that may be referenced within an expression are determined by the
  2094  // service that evaluates it. See the service documentation for additional
  2095  // information.
  2096  type Expr struct {
  2097  	// Description: Optional. Description of the expression. This is a longer text
  2098  	// which describes the expression, e.g. when hovered over it in a UI.
  2099  	Description string `json:"description,omitempty"`
  2100  	// Expression: Textual representation of an expression in Common Expression
  2101  	// Language syntax.
  2102  	Expression string `json:"expression,omitempty"`
  2103  	// Location: Optional. String indicating the location of the expression for
  2104  	// error reporting, e.g. a file name and a position in the file.
  2105  	Location string `json:"location,omitempty"`
  2106  	// Title: Optional. Title for the expression, i.e. a short string describing
  2107  	// its purpose. This can be used e.g. in UIs which allow to enter the
  2108  	// expression.
  2109  	Title string `json:"title,omitempty"`
  2110  	// ForceSendFields is a list of field names (e.g. "Description") to
  2111  	// unconditionally include in API requests. By default, fields with empty or
  2112  	// default values are omitted from API requests. See
  2113  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2114  	// details.
  2115  	ForceSendFields []string `json:"-"`
  2116  	// NullFields is a list of field names (e.g. "Description") to include in API
  2117  	// requests with the JSON null value. By default, fields with empty values are
  2118  	// omitted from API requests. See
  2119  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2120  	NullFields []string `json:"-"`
  2121  }
  2122  
  2123  func (s *Expr) MarshalJSON() ([]byte, error) {
  2124  	type NoMethod Expr
  2125  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2126  }
  2127  
  2128  // Feature: Feature represents the settings and status of any Hub Feature.
  2129  type Feature struct {
  2130  	// CreateTime: Output only. When the Feature resource was created.
  2131  	CreateTime string `json:"createTime,omitempty"`
  2132  	// DeleteTime: Output only. When the Feature resource was deleted.
  2133  	DeleteTime string `json:"deleteTime,omitempty"`
  2134  	// FleetDefaultMemberConfig: Optional. Feature configuration applicable to all
  2135  	// memberships of the fleet.
  2136  	FleetDefaultMemberConfig *CommonFleetDefaultMemberConfigSpec `json:"fleetDefaultMemberConfig,omitempty"`
  2137  	// Labels: Labels for this Feature.
  2138  	Labels map[string]string `json:"labels,omitempty"`
  2139  	// MembershipSpecs: Optional. Membership-specific configuration for this
  2140  	// Feature. If this Feature does not support any per-Membership configuration,
  2141  	// this field may be unused. The keys indicate which Membership the
  2142  	// configuration is for, in the form:
  2143  	// `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l}
  2144  	// is a valid location and {m} is a valid Membership in this project at that
  2145  	// location. {p} WILL match the Feature's project. {p} will always be returned
  2146  	// as the project number, but the project ID is also accepted during input. If
  2147  	// the same Membership is specified in the map twice (using the project ID
  2148  	// form, and the project number form), exactly ONE of the entries will be
  2149  	// saved, with no guarantees as to which. For this reason, it is recommended
  2150  	// the same format be used for all entries when mutating a Feature.
  2151  	MembershipSpecs map[string]MembershipFeatureSpec `json:"membershipSpecs,omitempty"`
  2152  	// MembershipStates: Output only. Membership-specific Feature status. If this
  2153  	// Feature does report any per-Membership status, this field may be unused. The
  2154  	// keys indicate which Membership the state is for, in the form:
  2155  	// `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project
  2156  	// number, {l} is a valid location and {m} is a valid Membership in this
  2157  	// project at that location. {p} MUST match the Feature's project number.
  2158  	MembershipStates map[string]MembershipFeatureState `json:"membershipStates,omitempty"`
  2159  	// Name: Output only. The full, unique name of this Feature resource in the
  2160  	// format `projects/*/locations/*/features/*`.
  2161  	Name string `json:"name,omitempty"`
  2162  	// ResourceState: Output only. State of the Feature resource itself.
  2163  	ResourceState *FeatureResourceState `json:"resourceState,omitempty"`
  2164  	// ScopeSpecs: Optional. Scope-specific configuration for this Feature. If this
  2165  	// Feature does not support any per-Scope configuration, this field may be
  2166  	// unused. The keys indicate which Scope the configuration is for, in the form:
  2167  	// `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is
  2168  	// a valid Scope in this project. {p} WILL match the Feature's project. {p}
  2169  	// will always be returned as the project number, but the project ID is also
  2170  	// accepted during input. If the same Scope is specified in the map twice
  2171  	// (using the project ID form, and the project number form), exactly ONE of the
  2172  	// entries will be saved, with no guarantees as to which. For this reason, it
  2173  	// is recommended the same format be used for all entries when mutating a
  2174  	// Feature.
  2175  	ScopeSpecs map[string]ScopeFeatureSpec `json:"scopeSpecs,omitempty"`
  2176  	// ScopeStates: Output only. Scope-specific Feature status. If this Feature
  2177  	// does report any per-Scope status, this field may be unused. The keys
  2178  	// indicate which Scope the state is for, in the form:
  2179  	// `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is
  2180  	// a valid Scope in this project. {p} WILL match the Feature's project.
  2181  	ScopeStates map[string]ScopeFeatureState `json:"scopeStates,omitempty"`
  2182  	// Spec: Optional. Hub-wide Feature configuration. If this Feature does not
  2183  	// support any Hub-wide configuration, this field may be unused.
  2184  	Spec *CommonFeatureSpec `json:"spec,omitempty"`
  2185  	// State: Output only. The Hub-wide Feature state.
  2186  	State *CommonFeatureState `json:"state,omitempty"`
  2187  	// UpdateTime: Output only. When the Feature resource was last updated.
  2188  	UpdateTime string `json:"updateTime,omitempty"`
  2189  
  2190  	// ServerResponse contains the HTTP response code and headers from the server.
  2191  	googleapi.ServerResponse `json:"-"`
  2192  	// ForceSendFields is a list of field names (e.g. "CreateTime") to
  2193  	// unconditionally include in API requests. By default, fields with empty or
  2194  	// default values are omitted from API requests. See
  2195  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2196  	// details.
  2197  	ForceSendFields []string `json:"-"`
  2198  	// NullFields is a list of field names (e.g. "CreateTime") to include in API
  2199  	// requests with the JSON null value. By default, fields with empty values are
  2200  	// omitted from API requests. See
  2201  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2202  	NullFields []string `json:"-"`
  2203  }
  2204  
  2205  func (s *Feature) MarshalJSON() ([]byte, error) {
  2206  	type NoMethod Feature
  2207  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2208  }
  2209  
  2210  // FeatureResourceState: FeatureResourceState describes the state of a Feature
  2211  // *resource* in the GkeHub API. See `FeatureState` for the "running state" of
  2212  // the Feature in the Hub and across Memberships.
  2213  type FeatureResourceState struct {
  2214  	// State: The current state of the Feature resource in the Hub API.
  2215  	//
  2216  	// Possible values:
  2217  	//   "STATE_UNSPECIFIED" - State is unknown or not set.
  2218  	//   "ENABLING" - The Feature is being enabled, and the Feature resource is
  2219  	// being created. Once complete, the corresponding Feature will be enabled in
  2220  	// this Hub.
  2221  	//   "ACTIVE" - The Feature is enabled in this Hub, and the Feature resource is
  2222  	// fully available.
  2223  	//   "DISABLING" - The Feature is being disabled in this Hub, and the Feature
  2224  	// resource is being deleted.
  2225  	//   "UPDATING" - The Feature resource is being updated.
  2226  	//   "SERVICE_UPDATING" - The Feature resource is being updated by the Hub
  2227  	// Service.
  2228  	State string `json:"state,omitempty"`
  2229  	// ForceSendFields is a list of field names (e.g. "State") to unconditionally
  2230  	// include in API requests. By default, fields with empty or default values are
  2231  	// omitted from API requests. See
  2232  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2233  	// details.
  2234  	ForceSendFields []string `json:"-"`
  2235  	// NullFields is a list of field names (e.g. "State") to include in API
  2236  	// requests with the JSON null value. By default, fields with empty values are
  2237  	// omitted from API requests. See
  2238  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2239  	NullFields []string `json:"-"`
  2240  }
  2241  
  2242  func (s *FeatureResourceState) MarshalJSON() ([]byte, error) {
  2243  	type NoMethod FeatureResourceState
  2244  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2245  }
  2246  
  2247  // FeatureState: FeatureState describes the high-level state of a Feature. It
  2248  // may be used to describe a Feature's state at the environ-level, or
  2249  // per-membershop, depending on the context.
  2250  type FeatureState struct {
  2251  	// Code: The high-level, machine-readable status of this Feature.
  2252  	//
  2253  	// Possible values:
  2254  	//   "CODE_UNSPECIFIED" - Unknown or not set.
  2255  	//   "OK" - The Feature is operating normally.
  2256  	//   "WARNING" - The Feature has encountered an issue, and is operating in a
  2257  	// degraded state. The Feature may need intervention to return to normal
  2258  	// operation. See the description and any associated Feature-specific details
  2259  	// for more information.
  2260  	//   "ERROR" - The Feature is not operating or is in a severely degraded state.
  2261  	// The Feature may need intervention to return to normal operation. See the
  2262  	// description and any associated Feature-specific details for more
  2263  	// information.
  2264  	Code string `json:"code,omitempty"`
  2265  	// Description: A human-readable description of the current status.
  2266  	Description string `json:"description,omitempty"`
  2267  	// UpdateTime: The time this status and any related Feature-specific details
  2268  	// were updated.
  2269  	UpdateTime string `json:"updateTime,omitempty"`
  2270  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  2271  	// include in API requests. By default, fields with empty or default values are
  2272  	// omitted from API requests. See
  2273  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2274  	// details.
  2275  	ForceSendFields []string `json:"-"`
  2276  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  2277  	// with the JSON null value. By default, fields with empty values are omitted
  2278  	// from API requests. See
  2279  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2280  	NullFields []string `json:"-"`
  2281  }
  2282  
  2283  func (s *FeatureState) MarshalJSON() ([]byte, error) {
  2284  	type NoMethod FeatureState
  2285  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2286  }
  2287  
  2288  // Fleet: Fleet contains the Fleet-wide metadata and configuration.
  2289  type Fleet struct {
  2290  	// CreateTime: Output only. When the Fleet was created.
  2291  	CreateTime string `json:"createTime,omitempty"`
  2292  	// DefaultClusterConfig: Optional. The default cluster configurations to apply
  2293  	// across the fleet.
  2294  	DefaultClusterConfig *DefaultClusterConfig `json:"defaultClusterConfig,omitempty"`
  2295  	// DeleteTime: Output only. When the Fleet was deleted.
  2296  	DeleteTime string `json:"deleteTime,omitempty"`
  2297  	// DisplayName: Optional. A user-assigned display name of the Fleet. When
  2298  	// present, it must be between 4 to 30 characters. Allowed characters are:
  2299  	// lowercase and uppercase letters, numbers, hyphen, single-quote,
  2300  	// double-quote, space, and exclamation point. Example: `Production Fleet`
  2301  	DisplayName string `json:"displayName,omitempty"`
  2302  	// Labels: Optional. Labels for this Fleet.
  2303  	Labels map[string]string `json:"labels,omitempty"`
  2304  	// Name: Output only. The full, unique resource name of this fleet in the
  2305  	// format of `projects/{project}/locations/{location}/fleets/{fleet}`. Each
  2306  	// Google Cloud project can have at most one fleet resource, named "default".
  2307  	Name string `json:"name,omitempty"`
  2308  	// State: Output only. State of the namespace resource.
  2309  	State *FleetLifecycleState `json:"state,omitempty"`
  2310  	// Uid: Output only. Google-generated UUID for this resource. This is unique
  2311  	// across all Fleet resources. If a Fleet resource is deleted and another
  2312  	// resource with the same name is created, it gets a different uid.
  2313  	Uid string `json:"uid,omitempty"`
  2314  	// UpdateTime: Output only. When the Fleet was last updated.
  2315  	UpdateTime string `json:"updateTime,omitempty"`
  2316  
  2317  	// ServerResponse contains the HTTP response code and headers from the server.
  2318  	googleapi.ServerResponse `json:"-"`
  2319  	// ForceSendFields is a list of field names (e.g. "CreateTime") to
  2320  	// unconditionally include in API requests. By default, fields with empty or
  2321  	// default values are omitted from API requests. See
  2322  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2323  	// details.
  2324  	ForceSendFields []string `json:"-"`
  2325  	// NullFields is a list of field names (e.g. "CreateTime") to include in API
  2326  	// requests with the JSON null value. By default, fields with empty values are
  2327  	// omitted from API requests. See
  2328  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2329  	NullFields []string `json:"-"`
  2330  }
  2331  
  2332  func (s *Fleet) MarshalJSON() ([]byte, error) {
  2333  	type NoMethod Fleet
  2334  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2335  }
  2336  
  2337  // FleetLifecycleState: FleetLifecycleState describes the state of a Fleet
  2338  // resource.
  2339  type FleetLifecycleState struct {
  2340  	// Code: Output only. The current state of the Fleet resource.
  2341  	//
  2342  	// Possible values:
  2343  	//   "CODE_UNSPECIFIED" - The code is not set.
  2344  	//   "CREATING" - The fleet is being created.
  2345  	//   "READY" - The fleet active.
  2346  	//   "DELETING" - The fleet is being deleted.
  2347  	//   "UPDATING" - The fleet is being updated.
  2348  	Code string `json:"code,omitempty"`
  2349  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  2350  	// include in API requests. By default, fields with empty or default values are
  2351  	// omitted from API requests. See
  2352  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2353  	// details.
  2354  	ForceSendFields []string `json:"-"`
  2355  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  2356  	// with the JSON null value. By default, fields with empty values are omitted
  2357  	// from API requests. See
  2358  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2359  	NullFields []string `json:"-"`
  2360  }
  2361  
  2362  func (s *FleetLifecycleState) MarshalJSON() ([]byte, error) {
  2363  	type NoMethod FleetLifecycleState
  2364  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2365  }
  2366  
  2367  // FleetObservabilityFeatureError: All error details of the fleet observability
  2368  // feature.
  2369  type FleetObservabilityFeatureError struct {
  2370  	// Code: The code of the error.
  2371  	Code string `json:"code,omitempty"`
  2372  	// Description: A human-readable description of the current status.
  2373  	Description string `json:"description,omitempty"`
  2374  	// ForceSendFields is a list of field names (e.g. "Code") 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. "Code") to include in API requests
  2381  	// with the JSON null value. By default, fields with empty values are omitted
  2382  	// 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 *FleetObservabilityFeatureError) MarshalJSON() ([]byte, error) {
  2388  	type NoMethod FleetObservabilityFeatureError
  2389  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2390  }
  2391  
  2392  // FleetObservabilityFeatureSpec: **Fleet Observability**: The Hub-wide input
  2393  // for the FleetObservability feature.
  2394  type FleetObservabilityFeatureSpec struct {
  2395  	// LoggingConfig: Specified if fleet logging feature is enabled for the entire
  2396  	// fleet. If UNSPECIFIED, fleet logging feature is disabled for the entire
  2397  	// fleet.
  2398  	LoggingConfig *FleetObservabilityLoggingConfig `json:"loggingConfig,omitempty"`
  2399  	// ForceSendFields is a list of field names (e.g. "LoggingConfig") to
  2400  	// unconditionally include in API requests. By default, fields with empty or
  2401  	// default values are omitted from API requests. See
  2402  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2403  	// details.
  2404  	ForceSendFields []string `json:"-"`
  2405  	// NullFields is a list of field names (e.g. "LoggingConfig") to include in API
  2406  	// requests with the JSON null value. By default, fields with empty values are
  2407  	// omitted from API requests. See
  2408  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2409  	NullFields []string `json:"-"`
  2410  }
  2411  
  2412  func (s *FleetObservabilityFeatureSpec) MarshalJSON() ([]byte, error) {
  2413  	type NoMethod FleetObservabilityFeatureSpec
  2414  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2415  }
  2416  
  2417  // FleetObservabilityFeatureState: **FleetObservability**: Hub-wide Feature for
  2418  // FleetObservability feature. state.
  2419  type FleetObservabilityFeatureState struct {
  2420  	// Logging: The feature state of default logging.
  2421  	Logging *FleetObservabilityFleetObservabilityLoggingState `json:"logging,omitempty"`
  2422  	// Monitoring: The feature state of fleet monitoring.
  2423  	Monitoring *FleetObservabilityFleetObservabilityMonitoringState `json:"monitoring,omitempty"`
  2424  	// ForceSendFields is a list of field names (e.g. "Logging") to unconditionally
  2425  	// include in API requests. By default, fields with empty or default values are
  2426  	// omitted from API requests. See
  2427  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2428  	// details.
  2429  	ForceSendFields []string `json:"-"`
  2430  	// NullFields is a list of field names (e.g. "Logging") to include in API
  2431  	// requests with the JSON null value. By default, fields with empty values are
  2432  	// omitted from API requests. See
  2433  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2434  	NullFields []string `json:"-"`
  2435  }
  2436  
  2437  func (s *FleetObservabilityFeatureState) MarshalJSON() ([]byte, error) {
  2438  	type NoMethod FleetObservabilityFeatureState
  2439  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2440  }
  2441  
  2442  // FleetObservabilityFleetObservabilityBaseFeatureState: Base state for fleet
  2443  // observability feature.
  2444  type FleetObservabilityFleetObservabilityBaseFeatureState struct {
  2445  	// Code: The high-level, machine-readable status of this Feature.
  2446  	//
  2447  	// Possible values:
  2448  	//   "CODE_UNSPECIFIED" - Unknown or not set.
  2449  	//   "OK" - The Feature is operating normally.
  2450  	//   "ERROR" - The Feature is encountering errors in the reconciliation. The
  2451  	// Feature may need intervention to return to normal operation. See the
  2452  	// description and any associated Feature-specific details for more
  2453  	// information.
  2454  	Code string `json:"code,omitempty"`
  2455  	// Errors: Errors after reconciling the monitoring and logging feature if the
  2456  	// code is not OK.
  2457  	Errors []*FleetObservabilityFeatureError `json:"errors,omitempty"`
  2458  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  2459  	// include in API requests. By default, fields with empty or default values are
  2460  	// omitted from API requests. See
  2461  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2462  	// details.
  2463  	ForceSendFields []string `json:"-"`
  2464  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  2465  	// with the JSON null value. By default, fields with empty values are omitted
  2466  	// from API requests. See
  2467  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2468  	NullFields []string `json:"-"`
  2469  }
  2470  
  2471  func (s *FleetObservabilityFleetObservabilityBaseFeatureState) MarshalJSON() ([]byte, error) {
  2472  	type NoMethod FleetObservabilityFleetObservabilityBaseFeatureState
  2473  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2474  }
  2475  
  2476  // FleetObservabilityFleetObservabilityLoggingState: Feature state for logging
  2477  // feature.
  2478  type FleetObservabilityFleetObservabilityLoggingState struct {
  2479  	// DefaultLog: The base feature state of fleet default log.
  2480  	DefaultLog *FleetObservabilityFleetObservabilityBaseFeatureState `json:"defaultLog,omitempty"`
  2481  	// ScopeLog: The base feature state of fleet scope log.
  2482  	ScopeLog *FleetObservabilityFleetObservabilityBaseFeatureState `json:"scopeLog,omitempty"`
  2483  	// ForceSendFields is a list of field names (e.g. "DefaultLog") to
  2484  	// unconditionally include in API requests. By default, fields with empty or
  2485  	// default values are omitted from API requests. See
  2486  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2487  	// details.
  2488  	ForceSendFields []string `json:"-"`
  2489  	// NullFields is a list of field names (e.g. "DefaultLog") to include in API
  2490  	// requests with the JSON null value. By default, fields with empty values are
  2491  	// omitted from API requests. See
  2492  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2493  	NullFields []string `json:"-"`
  2494  }
  2495  
  2496  func (s *FleetObservabilityFleetObservabilityLoggingState) MarshalJSON() ([]byte, error) {
  2497  	type NoMethod FleetObservabilityFleetObservabilityLoggingState
  2498  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2499  }
  2500  
  2501  // FleetObservabilityFleetObservabilityMonitoringState: Feature state for
  2502  // monitoring feature.
  2503  type FleetObservabilityFleetObservabilityMonitoringState struct {
  2504  	// State: The base feature state of fleet monitoring feature.
  2505  	State *FleetObservabilityFleetObservabilityBaseFeatureState `json:"state,omitempty"`
  2506  	// ForceSendFields is a list of field names (e.g. "State") to unconditionally
  2507  	// include in API requests. By default, fields with empty or default values are
  2508  	// omitted from API requests. See
  2509  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2510  	// details.
  2511  	ForceSendFields []string `json:"-"`
  2512  	// NullFields is a list of field names (e.g. "State") to include in API
  2513  	// requests with the JSON null value. By default, fields with empty values are
  2514  	// omitted from API requests. See
  2515  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2516  	NullFields []string `json:"-"`
  2517  }
  2518  
  2519  func (s *FleetObservabilityFleetObservabilityMonitoringState) MarshalJSON() ([]byte, error) {
  2520  	type NoMethod FleetObservabilityFleetObservabilityMonitoringState
  2521  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2522  }
  2523  
  2524  // FleetObservabilityLoggingConfig: LoggingConfig defines the configuration for
  2525  // different types of logs.
  2526  type FleetObservabilityLoggingConfig struct {
  2527  	// DefaultConfig: Specified if applying the default routing config to logs not
  2528  	// specified in other configs.
  2529  	DefaultConfig *FleetObservabilityRoutingConfig `json:"defaultConfig,omitempty"`
  2530  	// FleetScopeLogsConfig: Specified if applying the routing config to all logs
  2531  	// for all fleet scopes.
  2532  	FleetScopeLogsConfig *FleetObservabilityRoutingConfig `json:"fleetScopeLogsConfig,omitempty"`
  2533  	// ForceSendFields is a list of field names (e.g. "DefaultConfig") to
  2534  	// unconditionally include in API requests. By default, fields with empty or
  2535  	// default values are omitted from API requests. See
  2536  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2537  	// details.
  2538  	ForceSendFields []string `json:"-"`
  2539  	// NullFields is a list of field names (e.g. "DefaultConfig") to include in API
  2540  	// requests with the JSON null value. By default, fields with empty values are
  2541  	// omitted from API requests. See
  2542  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2543  	NullFields []string `json:"-"`
  2544  }
  2545  
  2546  func (s *FleetObservabilityLoggingConfig) MarshalJSON() ([]byte, error) {
  2547  	type NoMethod FleetObservabilityLoggingConfig
  2548  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2549  }
  2550  
  2551  // FleetObservabilityMembershipSpec: **FleetObservability**: The
  2552  // membership-specific input for FleetObservability feature.
  2553  type FleetObservabilityMembershipSpec struct {
  2554  }
  2555  
  2556  // FleetObservabilityMembershipState: **FleetObservability**:
  2557  // Membership-specific Feature state for fleetobservability.
  2558  type FleetObservabilityMembershipState struct {
  2559  }
  2560  
  2561  // FleetObservabilityRoutingConfig: RoutingConfig configures the behaviour of
  2562  // fleet logging feature.
  2563  type FleetObservabilityRoutingConfig struct {
  2564  	// Mode: mode configures the logs routing mode.
  2565  	//
  2566  	// Possible values:
  2567  	//   "MODE_UNSPECIFIED" - If UNSPECIFIED, fleet logging feature is disabled.
  2568  	//   "COPY" - logs will be copied to the destination project.
  2569  	//   "MOVE" - logs will be moved to the destination project.
  2570  	Mode string `json:"mode,omitempty"`
  2571  	// ForceSendFields is a list of field names (e.g. "Mode") to unconditionally
  2572  	// include in API requests. By default, fields with empty or default values are
  2573  	// omitted from API requests. See
  2574  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2575  	// details.
  2576  	ForceSendFields []string `json:"-"`
  2577  	// NullFields is a list of field names (e.g. "Mode") to include in API requests
  2578  	// with the JSON null value. By default, fields with empty values are omitted
  2579  	// from API requests. See
  2580  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2581  	NullFields []string `json:"-"`
  2582  }
  2583  
  2584  func (s *FleetObservabilityRoutingConfig) MarshalJSON() ([]byte, error) {
  2585  	type NoMethod FleetObservabilityRoutingConfig
  2586  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2587  }
  2588  
  2589  // GenerateConnectManifestResponse: GenerateConnectManifestResponse contains
  2590  // manifest information for installing/upgrading a Connect agent.
  2591  type GenerateConnectManifestResponse struct {
  2592  	// Manifest: The ordered list of Kubernetes resources that need to be applied
  2593  	// to the cluster for GKE Connect agent installation/upgrade.
  2594  	Manifest []*ConnectAgentResource `json:"manifest,omitempty"`
  2595  
  2596  	// ServerResponse contains the HTTP response code and headers from the server.
  2597  	googleapi.ServerResponse `json:"-"`
  2598  	// ForceSendFields is a list of field names (e.g. "Manifest") to
  2599  	// unconditionally include in API requests. By default, fields with empty or
  2600  	// default values are omitted from API requests. See
  2601  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2602  	// details.
  2603  	ForceSendFields []string `json:"-"`
  2604  	// NullFields is a list of field names (e.g. "Manifest") to include in API
  2605  	// requests with the JSON null value. By default, fields with empty values are
  2606  	// omitted from API requests. See
  2607  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2608  	NullFields []string `json:"-"`
  2609  }
  2610  
  2611  func (s *GenerateConnectManifestResponse) MarshalJSON() ([]byte, error) {
  2612  	type NoMethod GenerateConnectManifestResponse
  2613  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2614  }
  2615  
  2616  // GkeCluster: GkeCluster contains information specific to GKE clusters.
  2617  type GkeCluster struct {
  2618  	// ClusterMissing: Output only. If cluster_missing is set then it denotes that
  2619  	// the GKE cluster no longer exists in the GKE Control Plane.
  2620  	ClusterMissing bool `json:"clusterMissing,omitempty"`
  2621  	// ResourceLink: Immutable. Self-link of the Google Cloud resource for the GKE
  2622  	// cluster. For example:
  2623  	// //container.googleapis.com/projects/my-project/locations/us-west1-a/clusters/
  2624  	// my-cluster Zonal clusters are also supported.
  2625  	ResourceLink string `json:"resourceLink,omitempty"`
  2626  	// ForceSendFields is a list of field names (e.g. "ClusterMissing") to
  2627  	// unconditionally include in API requests. By default, fields with empty or
  2628  	// default values are omitted from API requests. See
  2629  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2630  	// details.
  2631  	ForceSendFields []string `json:"-"`
  2632  	// NullFields is a list of field names (e.g. "ClusterMissing") to include in
  2633  	// API requests with the JSON null value. By default, fields with empty values
  2634  	// are omitted from API requests. See
  2635  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2636  	NullFields []string `json:"-"`
  2637  }
  2638  
  2639  func (s *GkeCluster) MarshalJSON() ([]byte, error) {
  2640  	type NoMethod GkeCluster
  2641  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2642  }
  2643  
  2644  // GoogleRpcStatus: The `Status` type defines a logical error model that is
  2645  // suitable for different programming environments, including REST APIs and RPC
  2646  // APIs. It is used by gRPC (https://github.com/grpc). Each `Status` message
  2647  // contains three pieces of data: error code, error message, and error details.
  2648  // You can find out more about this error model and how to work with it in the
  2649  // API Design Guide (https://cloud.google.com/apis/design/errors).
  2650  type GoogleRpcStatus struct {
  2651  	// Code: The status code, which should be an enum value of google.rpc.Code.
  2652  	Code int64 `json:"code,omitempty"`
  2653  	// Details: A list of messages that carry the error details. There is a common
  2654  	// set of message types for APIs to use.
  2655  	Details []googleapi.RawMessage `json:"details,omitempty"`
  2656  	// Message: A developer-facing error message, which should be in English. Any
  2657  	// user-facing error message should be localized and sent in the
  2658  	// google.rpc.Status.details field, or localized by the client.
  2659  	Message string `json:"message,omitempty"`
  2660  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  2661  	// include in API requests. By default, fields with empty or default values are
  2662  	// omitted from API requests. See
  2663  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2664  	// details.
  2665  	ForceSendFields []string `json:"-"`
  2666  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  2667  	// with the JSON null value. By default, fields with empty values are omitted
  2668  	// from API requests. See
  2669  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2670  	NullFields []string `json:"-"`
  2671  }
  2672  
  2673  func (s *GoogleRpcStatus) MarshalJSON() ([]byte, error) {
  2674  	type NoMethod GoogleRpcStatus
  2675  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2676  }
  2677  
  2678  // IdentityServiceAuthMethod: Configuration of an auth method for a
  2679  // member/cluster. Only one authentication method (e.g., OIDC and LDAP) can be
  2680  // set per AuthMethod.
  2681  type IdentityServiceAuthMethod struct {
  2682  	// AzureadConfig: AzureAD specific Configuration.
  2683  	AzureadConfig *IdentityServiceAzureADConfig `json:"azureadConfig,omitempty"`
  2684  	// GoogleConfig: GoogleConfig specific configuration.
  2685  	GoogleConfig *IdentityServiceGoogleConfig `json:"googleConfig,omitempty"`
  2686  	// LdapConfig: LDAP specific configuration.
  2687  	LdapConfig *IdentityServiceLdapConfig `json:"ldapConfig,omitempty"`
  2688  	// Name: Identifier for auth config.
  2689  	Name string `json:"name,omitempty"`
  2690  	// OidcConfig: OIDC specific configuration.
  2691  	OidcConfig *IdentityServiceOidcConfig `json:"oidcConfig,omitempty"`
  2692  	// Proxy: Proxy server address to use for auth method.
  2693  	Proxy string `json:"proxy,omitempty"`
  2694  	// SamlConfig: SAML specific configuration.
  2695  	SamlConfig *IdentityServiceSamlConfig `json:"samlConfig,omitempty"`
  2696  	// ForceSendFields is a list of field names (e.g. "AzureadConfig") to
  2697  	// unconditionally include in API requests. By default, fields with empty or
  2698  	// default values are omitted from API requests. See
  2699  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2700  	// details.
  2701  	ForceSendFields []string `json:"-"`
  2702  	// NullFields is a list of field names (e.g. "AzureadConfig") to include in API
  2703  	// requests with the JSON null value. By default, fields with empty values are
  2704  	// omitted from API requests. See
  2705  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2706  	NullFields []string `json:"-"`
  2707  }
  2708  
  2709  func (s *IdentityServiceAuthMethod) MarshalJSON() ([]byte, error) {
  2710  	type NoMethod IdentityServiceAuthMethod
  2711  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2712  }
  2713  
  2714  // IdentityServiceAzureADConfig: Configuration for the AzureAD Auth flow.
  2715  type IdentityServiceAzureADConfig struct {
  2716  	// ClientId: ID for the registered client application that makes authentication
  2717  	// requests to the Azure AD identity provider.
  2718  	ClientId string `json:"clientId,omitempty"`
  2719  	// ClientSecret: Input only. Unencrypted AzureAD client secret will be passed
  2720  	// to the GKE Hub CLH.
  2721  	ClientSecret string `json:"clientSecret,omitempty"`
  2722  	// EncryptedClientSecret: Output only. Encrypted AzureAD client secret.
  2723  	EncryptedClientSecret string `json:"encryptedClientSecret,omitempty"`
  2724  	// GroupFormat: Optional. Format of the AzureAD groups that the client wants
  2725  	// for auth.
  2726  	GroupFormat string `json:"groupFormat,omitempty"`
  2727  	// KubectlRedirectUri: The redirect URL that kubectl uses for authorization.
  2728  	KubectlRedirectUri string `json:"kubectlRedirectUri,omitempty"`
  2729  	// Tenant: Kind of Azure AD account to be authenticated. Supported values are
  2730  	// or for accounts belonging to a specific tenant.
  2731  	Tenant string `json:"tenant,omitempty"`
  2732  	// UserClaim: Optional. Claim in the AzureAD ID Token that holds the user
  2733  	// details.
  2734  	UserClaim string `json:"userClaim,omitempty"`
  2735  	// ForceSendFields is a list of field names (e.g. "ClientId") to
  2736  	// unconditionally include in API requests. By default, fields with empty or
  2737  	// default values are omitted from API requests. See
  2738  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2739  	// details.
  2740  	ForceSendFields []string `json:"-"`
  2741  	// NullFields is a list of field names (e.g. "ClientId") to include in API
  2742  	// requests with the JSON null value. By default, fields with empty values are
  2743  	// omitted from API requests. See
  2744  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2745  	NullFields []string `json:"-"`
  2746  }
  2747  
  2748  func (s *IdentityServiceAzureADConfig) MarshalJSON() ([]byte, error) {
  2749  	type NoMethod IdentityServiceAzureADConfig
  2750  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2751  }
  2752  
  2753  // IdentityServiceGoogleConfig: Configuration for the Google Plugin Auth flow.
  2754  type IdentityServiceGoogleConfig struct {
  2755  	// Disable: Disable automatic configuration of Google Plugin on supported
  2756  	// platforms.
  2757  	Disable bool `json:"disable,omitempty"`
  2758  	// ForceSendFields is a list of field names (e.g. "Disable") to unconditionally
  2759  	// include in API requests. By default, fields with empty or default values are
  2760  	// omitted from API requests. See
  2761  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2762  	// details.
  2763  	ForceSendFields []string `json:"-"`
  2764  	// NullFields is a list of field names (e.g. "Disable") to include in API
  2765  	// requests with the JSON null value. By default, fields with empty values are
  2766  	// omitted from API requests. See
  2767  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2768  	NullFields []string `json:"-"`
  2769  }
  2770  
  2771  func (s *IdentityServiceGoogleConfig) MarshalJSON() ([]byte, error) {
  2772  	type NoMethod IdentityServiceGoogleConfig
  2773  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2774  }
  2775  
  2776  // IdentityServiceGroupConfig: Contains the properties for locating and
  2777  // authenticating groups in the directory.
  2778  type IdentityServiceGroupConfig struct {
  2779  	// BaseDn: Required. The location of the subtree in the LDAP directory to
  2780  	// search for group entries.
  2781  	BaseDn string `json:"baseDn,omitempty"`
  2782  	// Filter: Optional. Optional filter to be used when searching for groups a
  2783  	// user belongs to. This can be used to explicitly match only certain groups in
  2784  	// order to reduce the amount of groups returned for each user. This defaults
  2785  	// to "(objectClass=Group)".
  2786  	Filter string `json:"filter,omitempty"`
  2787  	// IdAttribute: Optional. The identifying name of each group a user belongs to.
  2788  	// For example, if this is set to "distinguishedName" then RBACs and other
  2789  	// group expectations should be written as full DNs. This defaults to
  2790  	// "distinguishedName".
  2791  	IdAttribute string `json:"idAttribute,omitempty"`
  2792  	// ForceSendFields is a list of field names (e.g. "BaseDn") to unconditionally
  2793  	// include in API requests. By default, fields with empty or default values are
  2794  	// omitted from API requests. See
  2795  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2796  	// details.
  2797  	ForceSendFields []string `json:"-"`
  2798  	// NullFields is a list of field names (e.g. "BaseDn") to include in API
  2799  	// requests with the JSON null value. By default, fields with empty values are
  2800  	// omitted from API requests. See
  2801  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2802  	NullFields []string `json:"-"`
  2803  }
  2804  
  2805  func (s *IdentityServiceGroupConfig) MarshalJSON() ([]byte, error) {
  2806  	type NoMethod IdentityServiceGroupConfig
  2807  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2808  }
  2809  
  2810  // IdentityServiceIdentityServiceOptions: Holds non-protocol-related
  2811  // configuration options.
  2812  type IdentityServiceIdentityServiceOptions struct {
  2813  	// SessionDuration: Optional. Determines the lifespan of STS tokens issued by
  2814  	// Anthos Identity Service.
  2815  	SessionDuration string `json:"sessionDuration,omitempty"`
  2816  	// ForceSendFields is a list of field names (e.g. "SessionDuration") to
  2817  	// unconditionally include in API requests. By default, fields with empty or
  2818  	// default values are omitted from API requests. See
  2819  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2820  	// details.
  2821  	ForceSendFields []string `json:"-"`
  2822  	// NullFields is a list of field names (e.g. "SessionDuration") to include in
  2823  	// API requests with the JSON null value. By default, fields with empty values
  2824  	// are omitted from API requests. See
  2825  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2826  	NullFields []string `json:"-"`
  2827  }
  2828  
  2829  func (s *IdentityServiceIdentityServiceOptions) MarshalJSON() ([]byte, error) {
  2830  	type NoMethod IdentityServiceIdentityServiceOptions
  2831  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2832  }
  2833  
  2834  // IdentityServiceLdapConfig: Configuration for the LDAP Auth flow.
  2835  type IdentityServiceLdapConfig struct {
  2836  	// Group: Optional. Contains the properties for locating and authenticating
  2837  	// groups in the directory.
  2838  	Group *IdentityServiceGroupConfig `json:"group,omitempty"`
  2839  	// Server: Required. Server settings for the external LDAP server.
  2840  	Server *IdentityServiceServerConfig `json:"server,omitempty"`
  2841  	// ServiceAccount: Required. Contains the credentials of the service account
  2842  	// which is authorized to perform the LDAP search in the directory. The
  2843  	// credentials can be supplied by the combination of the DN and password or the
  2844  	// client certificate.
  2845  	ServiceAccount *IdentityServiceServiceAccountConfig `json:"serviceAccount,omitempty"`
  2846  	// User: Required. Defines where users exist in the LDAP directory.
  2847  	User *IdentityServiceUserConfig `json:"user,omitempty"`
  2848  	// ForceSendFields is a list of field names (e.g. "Group") to unconditionally
  2849  	// include in API requests. By default, fields with empty or default values are
  2850  	// omitted from API requests. See
  2851  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2852  	// details.
  2853  	ForceSendFields []string `json:"-"`
  2854  	// NullFields is a list of field names (e.g. "Group") to include in API
  2855  	// requests with the JSON null value. By default, fields with empty values are
  2856  	// omitted from API requests. See
  2857  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2858  	NullFields []string `json:"-"`
  2859  }
  2860  
  2861  func (s *IdentityServiceLdapConfig) MarshalJSON() ([]byte, error) {
  2862  	type NoMethod IdentityServiceLdapConfig
  2863  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2864  }
  2865  
  2866  // IdentityServiceMembershipSpec: **Anthos Identity Service**: Configuration
  2867  // for a single Membership.
  2868  type IdentityServiceMembershipSpec struct {
  2869  	// AuthMethods: A member may support multiple auth methods.
  2870  	AuthMethods []*IdentityServiceAuthMethod `json:"authMethods,omitempty"`
  2871  	// IdentityServiceOptions: Optional. non-protocol-related configuration
  2872  	// options.
  2873  	IdentityServiceOptions *IdentityServiceIdentityServiceOptions `json:"identityServiceOptions,omitempty"`
  2874  	// ForceSendFields is a list of field names (e.g. "AuthMethods") to
  2875  	// unconditionally include in API requests. By default, fields with empty or
  2876  	// default values are omitted from API requests. See
  2877  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2878  	// details.
  2879  	ForceSendFields []string `json:"-"`
  2880  	// NullFields is a list of field names (e.g. "AuthMethods") to include in API
  2881  	// requests with the JSON null value. By default, fields with empty values are
  2882  	// omitted from API requests. See
  2883  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2884  	NullFields []string `json:"-"`
  2885  }
  2886  
  2887  func (s *IdentityServiceMembershipSpec) MarshalJSON() ([]byte, error) {
  2888  	type NoMethod IdentityServiceMembershipSpec
  2889  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2890  }
  2891  
  2892  // IdentityServiceMembershipState: **Anthos Identity Service**: State for a
  2893  // single Membership.
  2894  type IdentityServiceMembershipState struct {
  2895  	// FailureReason: The reason of the failure.
  2896  	FailureReason string `json:"failureReason,omitempty"`
  2897  	// InstalledVersion: Installed AIS version. This is the AIS version installed
  2898  	// on this member. The values makes sense iff state is OK.
  2899  	InstalledVersion string `json:"installedVersion,omitempty"`
  2900  	// MemberConfig: Last reconciled membership configuration
  2901  	MemberConfig *IdentityServiceMembershipSpec `json:"memberConfig,omitempty"`
  2902  	// State: Deployment state on this member
  2903  	//
  2904  	// Possible values:
  2905  	//   "DEPLOYMENT_STATE_UNSPECIFIED" - Unspecified state
  2906  	//   "OK" - deployment succeeds
  2907  	//   "ERROR" - Failure with error.
  2908  	State string `json:"state,omitempty"`
  2909  	// ForceSendFields is a list of field names (e.g. "FailureReason") to
  2910  	// unconditionally include in API requests. By default, fields with empty or
  2911  	// default values are omitted from API requests. See
  2912  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2913  	// details.
  2914  	ForceSendFields []string `json:"-"`
  2915  	// NullFields is a list of field names (e.g. "FailureReason") to include in API
  2916  	// requests with the JSON null value. By default, fields with empty values are
  2917  	// omitted from API requests. See
  2918  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2919  	NullFields []string `json:"-"`
  2920  }
  2921  
  2922  func (s *IdentityServiceMembershipState) MarshalJSON() ([]byte, error) {
  2923  	type NoMethod IdentityServiceMembershipState
  2924  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2925  }
  2926  
  2927  // IdentityServiceOidcConfig: Configuration for OIDC Auth flow.
  2928  type IdentityServiceOidcConfig struct {
  2929  	// CertificateAuthorityData: PEM-encoded CA for OIDC provider.
  2930  	CertificateAuthorityData string `json:"certificateAuthorityData,omitempty"`
  2931  	// ClientId: ID for OIDC client application.
  2932  	ClientId string `json:"clientId,omitempty"`
  2933  	// ClientSecret: Input only. Unencrypted OIDC client secret will be passed to
  2934  	// the GKE Hub CLH.
  2935  	ClientSecret string `json:"clientSecret,omitempty"`
  2936  	// DeployCloudConsoleProxy: Flag to denote if reverse proxy is used to connect
  2937  	// to auth provider. This flag should be set to true when provider is not
  2938  	// reachable by Google Cloud Console.
  2939  	DeployCloudConsoleProxy bool `json:"deployCloudConsoleProxy,omitempty"`
  2940  	// EnableAccessToken: Enable access token.
  2941  	EnableAccessToken bool `json:"enableAccessToken,omitempty"`
  2942  	// EncryptedClientSecret: Output only. Encrypted OIDC Client secret
  2943  	EncryptedClientSecret string `json:"encryptedClientSecret,omitempty"`
  2944  	// ExtraParams: Comma-separated list of key-value pairs.
  2945  	ExtraParams string `json:"extraParams,omitempty"`
  2946  	// GroupPrefix: Prefix to prepend to group name.
  2947  	GroupPrefix string `json:"groupPrefix,omitempty"`
  2948  	// GroupsClaim: Claim in OIDC ID token that holds group information.
  2949  	GroupsClaim string `json:"groupsClaim,omitempty"`
  2950  	// IssuerUri: URI for the OIDC provider. This should point to the level below
  2951  	// .well-known/openid-configuration.
  2952  	IssuerUri string `json:"issuerUri,omitempty"`
  2953  	// KubectlRedirectUri: Registered redirect uri to redirect users going through
  2954  	// OAuth flow using kubectl plugin.
  2955  	KubectlRedirectUri string `json:"kubectlRedirectUri,omitempty"`
  2956  	// Scopes: Comma-separated list of identifiers.
  2957  	Scopes string `json:"scopes,omitempty"`
  2958  	// UserClaim: Claim in OIDC ID token that holds username.
  2959  	UserClaim string `json:"userClaim,omitempty"`
  2960  	// UserPrefix: Prefix to prepend to user name.
  2961  	UserPrefix string `json:"userPrefix,omitempty"`
  2962  	// ForceSendFields is a list of field names (e.g. "CertificateAuthorityData")
  2963  	// to unconditionally include in API requests. By default, fields with empty or
  2964  	// default values are omitted from API requests. See
  2965  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2966  	// details.
  2967  	ForceSendFields []string `json:"-"`
  2968  	// NullFields is a list of field names (e.g. "CertificateAuthorityData") to
  2969  	// include in API requests with the JSON null value. By default, fields with
  2970  	// empty values are omitted from API requests. See
  2971  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2972  	NullFields []string `json:"-"`
  2973  }
  2974  
  2975  func (s *IdentityServiceOidcConfig) MarshalJSON() ([]byte, error) {
  2976  	type NoMethod IdentityServiceOidcConfig
  2977  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2978  }
  2979  
  2980  // IdentityServiceSamlConfig: Configuration for the SAML Auth flow.
  2981  type IdentityServiceSamlConfig struct {
  2982  	// AttributeMapping: Optional. The mapping of additional user attributes like
  2983  	// nickname, birthday and address etc.. `key` is the name of this additional
  2984  	// attribute. `value` is a string presenting as CEL(common expression language,
  2985  	// go/cel) used for getting the value from the resources. Take nickname as an
  2986  	// example, in this case, `key` is "attribute.nickname" and `value` is
  2987  	// "assertion.nickname".
  2988  	AttributeMapping map[string]string `json:"attributeMapping,omitempty"`
  2989  	// GroupPrefix: Optional. Prefix to prepend to group name.
  2990  	GroupPrefix string `json:"groupPrefix,omitempty"`
  2991  	// GroupsAttribute: Optional. The SAML attribute to read groups from. This
  2992  	// value is expected to be a string and will be passed along as-is (with the
  2993  	// option of being prefixed by the `group_prefix`).
  2994  	GroupsAttribute string `json:"groupsAttribute,omitempty"`
  2995  	// IdentityProviderCertificates: Required. The list of IdP certificates to
  2996  	// validate the SAML response against.
  2997  	IdentityProviderCertificates []string `json:"identityProviderCertificates,omitempty"`
  2998  	// IdentityProviderId: Required. The entity ID of the SAML IdP.
  2999  	IdentityProviderId string `json:"identityProviderId,omitempty"`
  3000  	// IdentityProviderSsoUri: Required. The URI where the SAML IdP exposes the SSO
  3001  	// service.
  3002  	IdentityProviderSsoUri string `json:"identityProviderSsoUri,omitempty"`
  3003  	// UserAttribute: Optional. The SAML attribute to read username from. If
  3004  	// unspecified, the username will be read from the NameID element of the
  3005  	// assertion in SAML response. This value is expected to be a string and will
  3006  	// be passed along as-is (with the option of being prefixed by the
  3007  	// `user_prefix`).
  3008  	UserAttribute string `json:"userAttribute,omitempty"`
  3009  	// UserPrefix: Optional. Prefix to prepend to user name.
  3010  	UserPrefix string `json:"userPrefix,omitempty"`
  3011  	// ForceSendFields is a list of field names (e.g. "AttributeMapping") to
  3012  	// unconditionally include in API requests. By default, fields with empty or
  3013  	// default values are omitted from API requests. See
  3014  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3015  	// details.
  3016  	ForceSendFields []string `json:"-"`
  3017  	// NullFields is a list of field names (e.g. "AttributeMapping") to include in
  3018  	// API requests with the JSON null value. By default, fields with empty values
  3019  	// are omitted from API requests. See
  3020  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3021  	NullFields []string `json:"-"`
  3022  }
  3023  
  3024  func (s *IdentityServiceSamlConfig) MarshalJSON() ([]byte, error) {
  3025  	type NoMethod IdentityServiceSamlConfig
  3026  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3027  }
  3028  
  3029  // IdentityServiceServerConfig: Server settings for the external LDAP server.
  3030  type IdentityServiceServerConfig struct {
  3031  	// CertificateAuthorityData: Optional. Contains a Base64 encoded, PEM formatted
  3032  	// certificate authority certificate for the LDAP server. This must be provided
  3033  	// for the "ldaps" and "startTLS" connections.
  3034  	CertificateAuthorityData string `json:"certificateAuthorityData,omitempty"`
  3035  	// ConnectionType: Optional. Defines the connection type to communicate with
  3036  	// the LDAP server. If `starttls` or `ldaps` is specified, the
  3037  	// certificate_authority_data should not be empty.
  3038  	ConnectionType string `json:"connectionType,omitempty"`
  3039  	// Host: Required. Defines the hostname or IP of the LDAP server. Port is
  3040  	// optional and will default to 389, if unspecified. For example,
  3041  	// "ldap.server.example" or "10.10.10.10:389".
  3042  	Host string `json:"host,omitempty"`
  3043  	// ForceSendFields is a list of field names (e.g. "CertificateAuthorityData")
  3044  	// to unconditionally include in API requests. By default, fields with empty or
  3045  	// default values are omitted from API requests. See
  3046  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3047  	// details.
  3048  	ForceSendFields []string `json:"-"`
  3049  	// NullFields is a list of field names (e.g. "CertificateAuthorityData") to
  3050  	// include in API requests with the JSON null value. By default, fields with
  3051  	// empty values are omitted from API requests. See
  3052  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3053  	NullFields []string `json:"-"`
  3054  }
  3055  
  3056  func (s *IdentityServiceServerConfig) MarshalJSON() ([]byte, error) {
  3057  	type NoMethod IdentityServiceServerConfig
  3058  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3059  }
  3060  
  3061  // IdentityServiceServiceAccountConfig: Contains the credentials of the service
  3062  // account which is authorized to perform the LDAP search in the directory. The
  3063  // credentials can be supplied by the combination of the DN and password or the
  3064  // client certificate.
  3065  type IdentityServiceServiceAccountConfig struct {
  3066  	// SimpleBindCredentials: Credentials for basic auth.
  3067  	SimpleBindCredentials *IdentityServiceSimpleBindCredentials `json:"simpleBindCredentials,omitempty"`
  3068  	// ForceSendFields is a list of field names (e.g. "SimpleBindCredentials") to
  3069  	// unconditionally include in API requests. By default, fields with empty or
  3070  	// default values are omitted from API requests. See
  3071  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3072  	// details.
  3073  	ForceSendFields []string `json:"-"`
  3074  	// NullFields is a list of field names (e.g. "SimpleBindCredentials") to
  3075  	// include in API requests with the JSON null value. By default, fields with
  3076  	// empty values are omitted from API requests. See
  3077  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3078  	NullFields []string `json:"-"`
  3079  }
  3080  
  3081  func (s *IdentityServiceServiceAccountConfig) MarshalJSON() ([]byte, error) {
  3082  	type NoMethod IdentityServiceServiceAccountConfig
  3083  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3084  }
  3085  
  3086  // IdentityServiceSimpleBindCredentials: The structure holds the LDAP simple
  3087  // binding credential.
  3088  type IdentityServiceSimpleBindCredentials struct {
  3089  	// Dn: Required. The distinguished name(DN) of the service account object/user.
  3090  	Dn string `json:"dn,omitempty"`
  3091  	// EncryptedPassword: Output only. The encrypted password of the service
  3092  	// account object/user.
  3093  	EncryptedPassword string `json:"encryptedPassword,omitempty"`
  3094  	// Password: Required. Input only. The password of the service account
  3095  	// object/user.
  3096  	Password string `json:"password,omitempty"`
  3097  	// ForceSendFields is a list of field names (e.g. "Dn") to unconditionally
  3098  	// include in API requests. By default, fields with empty or default values are
  3099  	// omitted from API requests. See
  3100  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3101  	// details.
  3102  	ForceSendFields []string `json:"-"`
  3103  	// NullFields is a list of field names (e.g. "Dn") to include in API requests
  3104  	// with the JSON null value. By default, fields with empty values are omitted
  3105  	// from API requests. See
  3106  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3107  	NullFields []string `json:"-"`
  3108  }
  3109  
  3110  func (s *IdentityServiceSimpleBindCredentials) MarshalJSON() ([]byte, error) {
  3111  	type NoMethod IdentityServiceSimpleBindCredentials
  3112  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3113  }
  3114  
  3115  // IdentityServiceUserConfig: Defines where users exist in the LDAP directory.
  3116  type IdentityServiceUserConfig struct {
  3117  	// BaseDn: Required. The location of the subtree in the LDAP directory to
  3118  	// search for user entries.
  3119  	BaseDn string `json:"baseDn,omitempty"`
  3120  	// Filter: Optional. Filter to apply when searching for the user. This can be
  3121  	// used to further restrict the user accounts which are allowed to login. This
  3122  	// defaults to "(objectClass=User)".
  3123  	Filter string `json:"filter,omitempty"`
  3124  	// IdAttribute: Optional. Determines which attribute to use as the user's
  3125  	// identity after they are authenticated. This is distinct from the
  3126  	// loginAttribute field to allow users to login with a username, but then have
  3127  	// their actual identifier be an email address or full Distinguished Name (DN).
  3128  	// For example, setting loginAttribute to "sAMAccountName" and
  3129  	// identifierAttribute to "userPrincipalName" would allow a user to login as
  3130  	// "bsmith", but actual RBAC policies for the user would be written as
  3131  	// "bsmith@example.com". Using "userPrincipalName" is recommended since this
  3132  	// will be unique for each user. This defaults to "userPrincipalName".
  3133  	IdAttribute string `json:"idAttribute,omitempty"`
  3134  	// LoginAttribute: Optional. The name of the attribute which matches against
  3135  	// the input username. This is used to find the user in the LDAP database e.g.
  3136  	// "(=)" and is combined with the optional filter field. This defaults to
  3137  	// "userPrincipalName".
  3138  	LoginAttribute string `json:"loginAttribute,omitempty"`
  3139  	// ForceSendFields is a list of field names (e.g. "BaseDn") to unconditionally
  3140  	// include in API requests. By default, fields with empty or default values are
  3141  	// omitted from API requests. See
  3142  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3143  	// details.
  3144  	ForceSendFields []string `json:"-"`
  3145  	// NullFields is a list of field names (e.g. "BaseDn") to include in API
  3146  	// requests with the JSON null value. By default, fields with empty values are
  3147  	// omitted from API requests. See
  3148  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3149  	NullFields []string `json:"-"`
  3150  }
  3151  
  3152  func (s *IdentityServiceUserConfig) MarshalJSON() ([]byte, error) {
  3153  	type NoMethod IdentityServiceUserConfig
  3154  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3155  }
  3156  
  3157  // KubernetesMetadata: KubernetesMetadata provides informational metadata for
  3158  // Memberships representing Kubernetes clusters.
  3159  type KubernetesMetadata struct {
  3160  	// KubernetesApiServerVersion: Output only. Kubernetes API server version
  3161  	// string as reported by `/version`.
  3162  	KubernetesApiServerVersion string `json:"kubernetesApiServerVersion,omitempty"`
  3163  	// MemoryMb: Output only. The total memory capacity as reported by the sum of
  3164  	// all Kubernetes nodes resources, defined in MB.
  3165  	MemoryMb int64 `json:"memoryMb,omitempty"`
  3166  	// NodeCount: Output only. Node count as reported by Kubernetes nodes
  3167  	// resources.
  3168  	NodeCount int64 `json:"nodeCount,omitempty"`
  3169  	// NodeProviderId: Output only. Node providerID as reported by the first node
  3170  	// in the list of nodes on the Kubernetes endpoint. On Kubernetes platforms
  3171  	// that support zero-node clusters (like GKE-on-GCP), the node_count will be
  3172  	// zero and the node_provider_id will be empty.
  3173  	NodeProviderId string `json:"nodeProviderId,omitempty"`
  3174  	// UpdateTime: Output only. The time at which these details were last updated.
  3175  	// This update_time is different from the Membership-level update_time since
  3176  	// EndpointDetails are updated internally for API consumers.
  3177  	UpdateTime string `json:"updateTime,omitempty"`
  3178  	// VcpuCount: Output only. vCPU count as reported by Kubernetes nodes
  3179  	// resources.
  3180  	VcpuCount int64 `json:"vcpuCount,omitempty"`
  3181  	// ForceSendFields is a list of field names (e.g. "KubernetesApiServerVersion")
  3182  	// to unconditionally include in API requests. By default, fields with empty or
  3183  	// default values are omitted from API requests. See
  3184  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3185  	// details.
  3186  	ForceSendFields []string `json:"-"`
  3187  	// NullFields is a list of field names (e.g. "KubernetesApiServerVersion") to
  3188  	// include in API requests with the JSON null value. By default, fields with
  3189  	// empty values are omitted from API requests. See
  3190  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3191  	NullFields []string `json:"-"`
  3192  }
  3193  
  3194  func (s *KubernetesMetadata) MarshalJSON() ([]byte, error) {
  3195  	type NoMethod KubernetesMetadata
  3196  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3197  }
  3198  
  3199  // KubernetesResource: KubernetesResource contains the YAML manifests and
  3200  // configuration for Membership Kubernetes resources in the cluster. After
  3201  // CreateMembership or UpdateMembership, these resources should be re-applied
  3202  // in the cluster.
  3203  type KubernetesResource struct {
  3204  	// ConnectResources: Output only. The Kubernetes resources for installing the
  3205  	// GKE Connect agent This field is only populated in the Membership returned
  3206  	// from a successful long-running operation from CreateMembership or
  3207  	// UpdateMembership. It is not populated during normal GetMembership or
  3208  	// ListMemberships requests. To get the resource manifest after the initial
  3209  	// registration, the caller should make a UpdateMembership call with an empty
  3210  	// field mask.
  3211  	ConnectResources []*ResourceManifest `json:"connectResources,omitempty"`
  3212  	// MembershipCrManifest: Input only. The YAML representation of the Membership
  3213  	// CR. This field is ignored for GKE clusters where Hub can read the CR
  3214  	// directly. Callers should provide the CR that is currently present in the
  3215  	// cluster during CreateMembership or UpdateMembership, or leave this field
  3216  	// empty if none exists. The CR manifest is used to validate the cluster has
  3217  	// not been registered with another Membership.
  3218  	MembershipCrManifest string `json:"membershipCrManifest,omitempty"`
  3219  	// MembershipResources: Output only. Additional Kubernetes resources that need
  3220  	// to be applied to the cluster after Membership creation, and after every
  3221  	// update. This field is only populated in the Membership returned from a
  3222  	// successful long-running operation from CreateMembership or UpdateMembership.
  3223  	// It is not populated during normal GetMembership or ListMemberships requests.
  3224  	// To get the resource manifest after the initial registration, the caller
  3225  	// should make a UpdateMembership call with an empty field mask.
  3226  	MembershipResources []*ResourceManifest `json:"membershipResources,omitempty"`
  3227  	// ResourceOptions: Optional. Options for Kubernetes resource generation.
  3228  	ResourceOptions *ResourceOptions `json:"resourceOptions,omitempty"`
  3229  	// ForceSendFields is a list of field names (e.g. "ConnectResources") to
  3230  	// unconditionally include in API requests. By default, fields with empty or
  3231  	// default values are omitted from API requests. See
  3232  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3233  	// details.
  3234  	ForceSendFields []string `json:"-"`
  3235  	// NullFields is a list of field names (e.g. "ConnectResources") to include in
  3236  	// API requests with the JSON null value. By default, fields with empty values
  3237  	// are omitted from API requests. See
  3238  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3239  	NullFields []string `json:"-"`
  3240  }
  3241  
  3242  func (s *KubernetesResource) MarshalJSON() ([]byte, error) {
  3243  	type NoMethod KubernetesResource
  3244  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3245  }
  3246  
  3247  // ListBoundMembershipsResponse: List of Memberships bound to a Scope.
  3248  type ListBoundMembershipsResponse struct {
  3249  	// Memberships: The list of Memberships bound to the given Scope.
  3250  	Memberships []*Membership `json:"memberships,omitempty"`
  3251  	// NextPageToken: A token to request the next page of resources from the
  3252  	// `ListBoundMemberships` method. The value of an empty string means that there
  3253  	// are no more resources to return.
  3254  	NextPageToken string `json:"nextPageToken,omitempty"`
  3255  	// Unreachable: List of locations that could not be reached while fetching this
  3256  	// list.
  3257  	Unreachable []string `json:"unreachable,omitempty"`
  3258  
  3259  	// ServerResponse contains the HTTP response code and headers from the server.
  3260  	googleapi.ServerResponse `json:"-"`
  3261  	// ForceSendFields is a list of field names (e.g. "Memberships") to
  3262  	// unconditionally include in API requests. By default, fields with empty or
  3263  	// default values are omitted from API requests. See
  3264  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3265  	// details.
  3266  	ForceSendFields []string `json:"-"`
  3267  	// NullFields is a list of field names (e.g. "Memberships") to include in API
  3268  	// requests with the JSON null value. By default, fields with empty values are
  3269  	// omitted from API requests. See
  3270  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3271  	NullFields []string `json:"-"`
  3272  }
  3273  
  3274  func (s *ListBoundMembershipsResponse) MarshalJSON() ([]byte, error) {
  3275  	type NoMethod ListBoundMembershipsResponse
  3276  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3277  }
  3278  
  3279  // ListFeaturesResponse: Response message for the `GkeHub.ListFeatures` method.
  3280  type ListFeaturesResponse struct {
  3281  	// NextPageToken: A token to request the next page of resources from the
  3282  	// `ListFeatures` method. The value of an empty string means that there are no
  3283  	// more resources to return.
  3284  	NextPageToken string `json:"nextPageToken,omitempty"`
  3285  	// Resources: The list of matching Features
  3286  	Resources []*Feature `json:"resources,omitempty"`
  3287  
  3288  	// ServerResponse contains the HTTP response code and headers from the server.
  3289  	googleapi.ServerResponse `json:"-"`
  3290  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  3291  	// unconditionally include in API requests. By default, fields with empty or
  3292  	// default values are omitted from API requests. See
  3293  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3294  	// details.
  3295  	ForceSendFields []string `json:"-"`
  3296  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  3297  	// requests with the JSON null value. By default, fields with empty values are
  3298  	// omitted from API requests. See
  3299  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3300  	NullFields []string `json:"-"`
  3301  }
  3302  
  3303  func (s *ListFeaturesResponse) MarshalJSON() ([]byte, error) {
  3304  	type NoMethod ListFeaturesResponse
  3305  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3306  }
  3307  
  3308  // ListFleetsResponse: Response message for the `GkeHub.ListFleetsResponse`
  3309  // method.
  3310  type ListFleetsResponse struct {
  3311  	// Fleets: The list of matching fleets.
  3312  	Fleets []*Fleet `json:"fleets,omitempty"`
  3313  	// NextPageToken: A token, which can be sent as `page_token` to retrieve the
  3314  	// next page. If this field is omitted, there are no subsequent pages. The
  3315  	// token is only valid for 1h.
  3316  	NextPageToken string `json:"nextPageToken,omitempty"`
  3317  
  3318  	// ServerResponse contains the HTTP response code and headers from the server.
  3319  	googleapi.ServerResponse `json:"-"`
  3320  	// ForceSendFields is a list of field names (e.g. "Fleets") to unconditionally
  3321  	// include in API requests. By default, fields with empty or default values are
  3322  	// omitted from API requests. See
  3323  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3324  	// details.
  3325  	ForceSendFields []string `json:"-"`
  3326  	// NullFields is a list of field names (e.g. "Fleets") to include in API
  3327  	// requests with the JSON null value. By default, fields with empty values are
  3328  	// omitted from API requests. See
  3329  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3330  	NullFields []string `json:"-"`
  3331  }
  3332  
  3333  func (s *ListFleetsResponse) MarshalJSON() ([]byte, error) {
  3334  	type NoMethod ListFleetsResponse
  3335  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3336  }
  3337  
  3338  // ListLocationsResponse: The response message for Locations.ListLocations.
  3339  type ListLocationsResponse struct {
  3340  	// Locations: A list of locations that matches the specified filter in the
  3341  	// request.
  3342  	Locations []*Location `json:"locations,omitempty"`
  3343  	// NextPageToken: The standard List next-page token.
  3344  	NextPageToken string `json:"nextPageToken,omitempty"`
  3345  
  3346  	// ServerResponse contains the HTTP response code and headers from the server.
  3347  	googleapi.ServerResponse `json:"-"`
  3348  	// ForceSendFields is a list of field names (e.g. "Locations") to
  3349  	// unconditionally include in API requests. By default, fields with empty or
  3350  	// default values are omitted from API requests. See
  3351  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3352  	// details.
  3353  	ForceSendFields []string `json:"-"`
  3354  	// NullFields is a list of field names (e.g. "Locations") to include in API
  3355  	// requests with the JSON null value. By default, fields with empty values are
  3356  	// omitted from API requests. See
  3357  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3358  	NullFields []string `json:"-"`
  3359  }
  3360  
  3361  func (s *ListLocationsResponse) MarshalJSON() ([]byte, error) {
  3362  	type NoMethod ListLocationsResponse
  3363  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3364  }
  3365  
  3366  // ListMembershipBindingsResponse: List of MembershipBindings.
  3367  type ListMembershipBindingsResponse struct {
  3368  	// MembershipBindings: The list of membership_bindings
  3369  	MembershipBindings []*MembershipBinding `json:"membershipBindings,omitempty"`
  3370  	// NextPageToken: A token to request the next page of resources from the
  3371  	// `ListMembershipBindings` method. The value of an empty string means that
  3372  	// there are no more resources to return.
  3373  	NextPageToken string `json:"nextPageToken,omitempty"`
  3374  
  3375  	// ServerResponse contains the HTTP response code and headers from the server.
  3376  	googleapi.ServerResponse `json:"-"`
  3377  	// ForceSendFields is a list of field names (e.g. "MembershipBindings") to
  3378  	// unconditionally include in API requests. By default, fields with empty or
  3379  	// default values are omitted from API requests. See
  3380  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3381  	// details.
  3382  	ForceSendFields []string `json:"-"`
  3383  	// NullFields is a list of field names (e.g. "MembershipBindings") to include
  3384  	// in API requests with the JSON null value. By default, fields with empty
  3385  	// values are omitted from API requests. See
  3386  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3387  	NullFields []string `json:"-"`
  3388  }
  3389  
  3390  func (s *ListMembershipBindingsResponse) MarshalJSON() ([]byte, error) {
  3391  	type NoMethod ListMembershipBindingsResponse
  3392  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3393  }
  3394  
  3395  // ListMembershipsResponse: Response message for the `GkeHub.ListMemberships`
  3396  // method.
  3397  type ListMembershipsResponse struct {
  3398  	// NextPageToken: A token to request the next page of resources from the
  3399  	// `ListMemberships` method. The value of an empty string means that there are
  3400  	// no more resources to return.
  3401  	NextPageToken string `json:"nextPageToken,omitempty"`
  3402  	// Resources: The list of matching Memberships.
  3403  	Resources []*Membership `json:"resources,omitempty"`
  3404  	// Unreachable: List of locations that could not be reached while fetching this
  3405  	// list.
  3406  	Unreachable []string `json:"unreachable,omitempty"`
  3407  
  3408  	// ServerResponse contains the HTTP response code and headers from the server.
  3409  	googleapi.ServerResponse `json:"-"`
  3410  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  3411  	// unconditionally include in API requests. By default, fields with empty or
  3412  	// default values are omitted from API requests. See
  3413  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3414  	// details.
  3415  	ForceSendFields []string `json:"-"`
  3416  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  3417  	// requests with the JSON null value. By default, fields with empty values are
  3418  	// omitted from API requests. See
  3419  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3420  	NullFields []string `json:"-"`
  3421  }
  3422  
  3423  func (s *ListMembershipsResponse) MarshalJSON() ([]byte, error) {
  3424  	type NoMethod ListMembershipsResponse
  3425  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3426  }
  3427  
  3428  // ListOperationsResponse: The response message for Operations.ListOperations.
  3429  type ListOperationsResponse struct {
  3430  	// NextPageToken: The standard List next-page token.
  3431  	NextPageToken string `json:"nextPageToken,omitempty"`
  3432  	// Operations: A list of operations that matches the specified filter in the
  3433  	// request.
  3434  	Operations []*Operation `json:"operations,omitempty"`
  3435  
  3436  	// ServerResponse contains the HTTP response code and headers from the server.
  3437  	googleapi.ServerResponse `json:"-"`
  3438  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  3439  	// unconditionally include in API requests. By default, fields with empty or
  3440  	// default values are omitted from API requests. See
  3441  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3442  	// details.
  3443  	ForceSendFields []string `json:"-"`
  3444  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  3445  	// requests with the JSON null value. By default, fields with empty values are
  3446  	// omitted from API requests. See
  3447  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3448  	NullFields []string `json:"-"`
  3449  }
  3450  
  3451  func (s *ListOperationsResponse) MarshalJSON() ([]byte, error) {
  3452  	type NoMethod ListOperationsResponse
  3453  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3454  }
  3455  
  3456  // ListPermittedScopesResponse: List of permitted Scopes.
  3457  type ListPermittedScopesResponse struct {
  3458  	// NextPageToken: A token to request the next page of resources from the
  3459  	// `ListPermittedScopes` method. The value of an empty string means that there
  3460  	// are no more resources to return.
  3461  	NextPageToken string `json:"nextPageToken,omitempty"`
  3462  	// Scopes: The list of permitted Scopes
  3463  	Scopes []*Scope `json:"scopes,omitempty"`
  3464  
  3465  	// ServerResponse contains the HTTP response code and headers from the server.
  3466  	googleapi.ServerResponse `json:"-"`
  3467  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  3468  	// unconditionally include in API requests. By default, fields with empty or
  3469  	// default values are omitted from API requests. See
  3470  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3471  	// details.
  3472  	ForceSendFields []string `json:"-"`
  3473  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  3474  	// requests with the JSON null value. By default, fields with empty values are
  3475  	// omitted from API requests. See
  3476  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3477  	NullFields []string `json:"-"`
  3478  }
  3479  
  3480  func (s *ListPermittedScopesResponse) MarshalJSON() ([]byte, error) {
  3481  	type NoMethod ListPermittedScopesResponse
  3482  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3483  }
  3484  
  3485  // ListScopeNamespacesResponse: List of fleet namespaces.
  3486  type ListScopeNamespacesResponse struct {
  3487  	// NextPageToken: A token to request the next page of resources from the
  3488  	// `ListNamespaces` method. The value of an empty string means that there are
  3489  	// no more resources to return.
  3490  	NextPageToken string `json:"nextPageToken,omitempty"`
  3491  	// ScopeNamespaces: The list of fleet namespaces
  3492  	ScopeNamespaces []*Namespace `json:"scopeNamespaces,omitempty"`
  3493  
  3494  	// ServerResponse contains the HTTP response code and headers from the server.
  3495  	googleapi.ServerResponse `json:"-"`
  3496  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  3497  	// unconditionally include in API requests. By default, fields with empty or
  3498  	// default values are omitted from API requests. See
  3499  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3500  	// details.
  3501  	ForceSendFields []string `json:"-"`
  3502  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  3503  	// requests with the JSON null value. By default, fields with empty values are
  3504  	// omitted from API requests. See
  3505  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3506  	NullFields []string `json:"-"`
  3507  }
  3508  
  3509  func (s *ListScopeNamespacesResponse) MarshalJSON() ([]byte, error) {
  3510  	type NoMethod ListScopeNamespacesResponse
  3511  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3512  }
  3513  
  3514  // ListScopeRBACRoleBindingsResponse: List of Scope RBACRoleBindings.
  3515  type ListScopeRBACRoleBindingsResponse struct {
  3516  	// NextPageToken: A token to request the next page of resources from the
  3517  	// `ListScopeRBACRoleBindings` method. The value of an empty string means that
  3518  	// there are no more resources to return.
  3519  	NextPageToken string `json:"nextPageToken,omitempty"`
  3520  	// Rbacrolebindings: The list of Scope RBACRoleBindings.
  3521  	Rbacrolebindings []*RBACRoleBinding `json:"rbacrolebindings,omitempty"`
  3522  
  3523  	// ServerResponse contains the HTTP response code and headers from the server.
  3524  	googleapi.ServerResponse `json:"-"`
  3525  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  3526  	// unconditionally include in API requests. By default, fields with empty or
  3527  	// default values are omitted from API requests. See
  3528  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3529  	// details.
  3530  	ForceSendFields []string `json:"-"`
  3531  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  3532  	// requests with the JSON null value. By default, fields with empty values are
  3533  	// omitted from API requests. See
  3534  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3535  	NullFields []string `json:"-"`
  3536  }
  3537  
  3538  func (s *ListScopeRBACRoleBindingsResponse) MarshalJSON() ([]byte, error) {
  3539  	type NoMethod ListScopeRBACRoleBindingsResponse
  3540  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3541  }
  3542  
  3543  // ListScopesResponse: List of Scopes.
  3544  type ListScopesResponse struct {
  3545  	// NextPageToken: A token to request the next page of resources from the
  3546  	// `ListScopes` method. The value of an empty string means that there are no
  3547  	// more resources to return.
  3548  	NextPageToken string `json:"nextPageToken,omitempty"`
  3549  	// Scopes: The list of Scopes
  3550  	Scopes []*Scope `json:"scopes,omitempty"`
  3551  
  3552  	// ServerResponse contains the HTTP response code and headers from the server.
  3553  	googleapi.ServerResponse `json:"-"`
  3554  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  3555  	// unconditionally include in API requests. By default, fields with empty or
  3556  	// default values are omitted from API requests. See
  3557  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3558  	// details.
  3559  	ForceSendFields []string `json:"-"`
  3560  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  3561  	// requests with the JSON null value. By default, fields with empty values are
  3562  	// omitted from API requests. See
  3563  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3564  	NullFields []string `json:"-"`
  3565  }
  3566  
  3567  func (s *ListScopesResponse) MarshalJSON() ([]byte, error) {
  3568  	type NoMethod ListScopesResponse
  3569  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3570  }
  3571  
  3572  // Location: A resource that represents a Google Cloud location.
  3573  type Location struct {
  3574  	// DisplayName: The friendly name for this location, typically a nearby city
  3575  	// name. For example, "Tokyo".
  3576  	DisplayName string `json:"displayName,omitempty"`
  3577  	// Labels: Cross-service attributes for the location. For example
  3578  	// {"cloud.googleapis.com/region": "us-east1"}
  3579  	Labels map[string]string `json:"labels,omitempty"`
  3580  	// LocationId: The canonical id for this location. For example: "us-east1".
  3581  	LocationId string `json:"locationId,omitempty"`
  3582  	// Metadata: Service-specific metadata. For example the available capacity at
  3583  	// the given location.
  3584  	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
  3585  	// Name: Resource name for the location, which may vary between
  3586  	// implementations. For example:
  3587  	// "projects/example-project/locations/us-east1"
  3588  	Name string `json:"name,omitempty"`
  3589  
  3590  	// ServerResponse contains the HTTP response code and headers from the server.
  3591  	googleapi.ServerResponse `json:"-"`
  3592  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
  3593  	// unconditionally include in API requests. By default, fields with empty or
  3594  	// default values are omitted from API requests. See
  3595  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3596  	// details.
  3597  	ForceSendFields []string `json:"-"`
  3598  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
  3599  	// requests with the JSON null value. By default, fields with empty values are
  3600  	// omitted from API requests. See
  3601  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3602  	NullFields []string `json:"-"`
  3603  }
  3604  
  3605  func (s *Location) MarshalJSON() ([]byte, error) {
  3606  	type NoMethod Location
  3607  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3608  }
  3609  
  3610  // Membership: Membership contains information about a member cluster.
  3611  type Membership struct {
  3612  	// Authority: Optional. How to identify workloads from this Membership. See the
  3613  	// documentation on Workload Identity for more details:
  3614  	// https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity
  3615  	Authority *Authority `json:"authority,omitempty"`
  3616  	// CreateTime: Output only. When the Membership was created.
  3617  	CreateTime string `json:"createTime,omitempty"`
  3618  	// DeleteTime: Output only. When the Membership was deleted.
  3619  	DeleteTime string `json:"deleteTime,omitempty"`
  3620  	// Description: Output only. Description of this membership, limited to 63
  3621  	// characters. Must match the regex: `a-zA-Z0-9*` This field is present for
  3622  	// legacy purposes.
  3623  	Description string `json:"description,omitempty"`
  3624  	// Endpoint: Optional. Endpoint information to reach this member.
  3625  	Endpoint *MembershipEndpoint `json:"endpoint,omitempty"`
  3626  	// ExternalId: Optional. An externally-generated and managed ID for this
  3627  	// Membership. This ID may be modified after creation, but this is not
  3628  	// recommended. The ID must match the regex: `a-zA-Z0-9*` If this Membership
  3629  	// represents a Kubernetes cluster, this value should be set to the UID of the
  3630  	// `kube-system` namespace object.
  3631  	ExternalId string `json:"externalId,omitempty"`
  3632  	// Labels: Optional. Labels for this membership.
  3633  	Labels map[string]string `json:"labels,omitempty"`
  3634  	// LastConnectionTime: Output only. For clusters using Connect, the timestamp
  3635  	// of the most recent connection established with Google Cloud. This time is
  3636  	// updated every several minutes, not continuously. For clusters that do not
  3637  	// use GKE Connect, or that have never connected successfully, this field will
  3638  	// be unset.
  3639  	LastConnectionTime string `json:"lastConnectionTime,omitempty"`
  3640  	// MonitoringConfig: Optional. The monitoring config information for this
  3641  	// membership.
  3642  	MonitoringConfig *MonitoringConfig `json:"monitoringConfig,omitempty"`
  3643  	// Name: Output only. The full, unique name of this Membership resource in the
  3644  	// format `projects/*/locations/*/memberships/{membership_id}`, set during
  3645  	// creation. `membership_id` must be a valid RFC 1123 compliant DNS label: 1.
  3646  	// At most 63 characters in length 2. It must consist of lower case
  3647  	// alphanumeric characters or `-` 3. It must start and end with an alphanumeric
  3648  	// character Which can be expressed as the regex:
  3649  	// `[a-z0-9]([-a-z0-9]*[a-z0-9])?`, with a maximum length of 63 characters.
  3650  	Name string `json:"name,omitempty"`
  3651  	// State: Output only. State of the Membership resource.
  3652  	State *MembershipState `json:"state,omitempty"`
  3653  	// UniqueId: Output only. Google-generated UUID for this resource. This is
  3654  	// unique across all Membership resources. If a Membership resource is deleted
  3655  	// and another resource with the same name is created, it gets a different
  3656  	// unique_id.
  3657  	UniqueId string `json:"uniqueId,omitempty"`
  3658  	// UpdateTime: Output only. When the Membership was last updated.
  3659  	UpdateTime string `json:"updateTime,omitempty"`
  3660  
  3661  	// ServerResponse contains the HTTP response code and headers from the server.
  3662  	googleapi.ServerResponse `json:"-"`
  3663  	// ForceSendFields is a list of field names (e.g. "Authority") to
  3664  	// unconditionally include in API requests. By default, fields with empty or
  3665  	// default values are omitted from API requests. See
  3666  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3667  	// details.
  3668  	ForceSendFields []string `json:"-"`
  3669  	// NullFields is a list of field names (e.g. "Authority") to include in API
  3670  	// requests with the JSON null value. By default, fields with empty values are
  3671  	// omitted from API requests. See
  3672  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3673  	NullFields []string `json:"-"`
  3674  }
  3675  
  3676  func (s *Membership) MarshalJSON() ([]byte, error) {
  3677  	type NoMethod Membership
  3678  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3679  }
  3680  
  3681  // MembershipBinding: MembershipBinding is a subresource of a Membership,
  3682  // representing what Fleet Scopes (or other, future Fleet resources) a
  3683  // Membership is bound to.
  3684  type MembershipBinding struct {
  3685  	// CreateTime: Output only. When the membership binding was created.
  3686  	CreateTime string `json:"createTime,omitempty"`
  3687  	// DeleteTime: Output only. When the membership binding was deleted.
  3688  	DeleteTime string `json:"deleteTime,omitempty"`
  3689  	// Labels: Optional. Labels for this MembershipBinding.
  3690  	Labels map[string]string `json:"labels,omitempty"`
  3691  	// Name: The resource name for the membershipbinding itself
  3692  	// `projects/{project}/locations/{location}/memberships/{membership}/bindings/{m
  3693  	// embershipbinding}`
  3694  	Name string `json:"name,omitempty"`
  3695  	// Scope: A Scope resource name in the format
  3696  	// `projects/*/locations/*/scopes/*`.
  3697  	Scope string `json:"scope,omitempty"`
  3698  	// State: Output only. State of the membership binding resource.
  3699  	State *MembershipBindingLifecycleState `json:"state,omitempty"`
  3700  	// Uid: Output only. Google-generated UUID for this resource. This is unique
  3701  	// across all membershipbinding resources. If a membershipbinding resource is
  3702  	// deleted and another resource with the same name is created, it gets a
  3703  	// different uid.
  3704  	Uid string `json:"uid,omitempty"`
  3705  	// UpdateTime: Output only. When the membership binding was last updated.
  3706  	UpdateTime string `json:"updateTime,omitempty"`
  3707  
  3708  	// ServerResponse contains the HTTP response code and headers from the server.
  3709  	googleapi.ServerResponse `json:"-"`
  3710  	// ForceSendFields is a list of field names (e.g. "CreateTime") to
  3711  	// unconditionally include in API requests. By default, fields with empty or
  3712  	// default values are omitted from API requests. See
  3713  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3714  	// details.
  3715  	ForceSendFields []string `json:"-"`
  3716  	// NullFields is a list of field names (e.g. "CreateTime") to include in API
  3717  	// requests with the JSON null value. By default, fields with empty values are
  3718  	// omitted from API requests. See
  3719  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3720  	NullFields []string `json:"-"`
  3721  }
  3722  
  3723  func (s *MembershipBinding) MarshalJSON() ([]byte, error) {
  3724  	type NoMethod MembershipBinding
  3725  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3726  }
  3727  
  3728  // MembershipBindingLifecycleState: MembershipBindingLifecycleState describes
  3729  // the state of a Binding resource.
  3730  type MembershipBindingLifecycleState struct {
  3731  	// Code: Output only. The current state of the MembershipBinding resource.
  3732  	//
  3733  	// Possible values:
  3734  	//   "CODE_UNSPECIFIED" - The code is not set.
  3735  	//   "CREATING" - The membershipbinding is being created.
  3736  	//   "READY" - The membershipbinding active.
  3737  	//   "DELETING" - The membershipbinding is being deleted.
  3738  	//   "UPDATING" - The membershipbinding is being updated.
  3739  	Code string `json:"code,omitempty"`
  3740  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  3741  	// include in API requests. By default, fields with empty or default values are
  3742  	// omitted from API requests. See
  3743  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3744  	// details.
  3745  	ForceSendFields []string `json:"-"`
  3746  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  3747  	// with the JSON null value. By default, fields with empty values are omitted
  3748  	// from API requests. See
  3749  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3750  	NullFields []string `json:"-"`
  3751  }
  3752  
  3753  func (s *MembershipBindingLifecycleState) MarshalJSON() ([]byte, error) {
  3754  	type NoMethod MembershipBindingLifecycleState
  3755  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3756  }
  3757  
  3758  // MembershipEndpoint: MembershipEndpoint contains information needed to
  3759  // contact a Kubernetes API, endpoint and any additional Kubernetes metadata.
  3760  type MembershipEndpoint struct {
  3761  	// ApplianceCluster: Optional. Specific information for a GDC Edge Appliance
  3762  	// cluster.
  3763  	ApplianceCluster *ApplianceCluster `json:"applianceCluster,omitempty"`
  3764  	// EdgeCluster: Optional. Specific information for a Google Edge cluster.
  3765  	EdgeCluster *EdgeCluster `json:"edgeCluster,omitempty"`
  3766  	// GkeCluster: Optional. Specific information for a GKE-on-GCP cluster.
  3767  	GkeCluster *GkeCluster `json:"gkeCluster,omitempty"`
  3768  	// GoogleManaged: Output only. Whether the lifecycle of this membership is
  3769  	// managed by a google cluster platform service.
  3770  	GoogleManaged bool `json:"googleManaged,omitempty"`
  3771  	// KubernetesMetadata: Output only. Useful Kubernetes-specific metadata.
  3772  	KubernetesMetadata *KubernetesMetadata `json:"kubernetesMetadata,omitempty"`
  3773  	// KubernetesResource: Optional. The in-cluster Kubernetes Resources that
  3774  	// should be applied for a correctly registered cluster, in the steady state.
  3775  	// These resources: * Ensure that the cluster is exclusively registered to one
  3776  	// and only one Hub Membership. * Propagate Workload Pool Information available
  3777  	// in the Membership Authority field. * Ensure proper initial configuration of
  3778  	// default Hub Features.
  3779  	KubernetesResource *KubernetesResource `json:"kubernetesResource,omitempty"`
  3780  	// MultiCloudCluster: Optional. Specific information for a GKE Multi-Cloud
  3781  	// cluster.
  3782  	MultiCloudCluster *MultiCloudCluster `json:"multiCloudCluster,omitempty"`
  3783  	// OnPremCluster: Optional. Specific information for a GKE On-Prem cluster. An
  3784  	// onprem user-cluster who has no resourceLink is not allowed to use this
  3785  	// field, it should have a nil "type" instead.
  3786  	OnPremCluster *OnPremCluster `json:"onPremCluster,omitempty"`
  3787  	// ForceSendFields is a list of field names (e.g. "ApplianceCluster") to
  3788  	// unconditionally include in API requests. By default, fields with empty or
  3789  	// default values are omitted from API requests. See
  3790  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3791  	// details.
  3792  	ForceSendFields []string `json:"-"`
  3793  	// NullFields is a list of field names (e.g. "ApplianceCluster") to include in
  3794  	// API requests with the JSON null value. By default, fields with empty values
  3795  	// are omitted from API requests. See
  3796  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3797  	NullFields []string `json:"-"`
  3798  }
  3799  
  3800  func (s *MembershipEndpoint) MarshalJSON() ([]byte, error) {
  3801  	type NoMethod MembershipEndpoint
  3802  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3803  }
  3804  
  3805  // MembershipFeatureSpec: MembershipFeatureSpec contains configuration
  3806  // information for a single Membership. NOTE: Please use snake case in your
  3807  // feature name.
  3808  type MembershipFeatureSpec struct {
  3809  	// Configmanagement: Config Management-specific spec.
  3810  	Configmanagement *ConfigManagementMembershipSpec `json:"configmanagement,omitempty"`
  3811  	// Fleetobservability: Fleet observability membership spec
  3812  	Fleetobservability *FleetObservabilityMembershipSpec `json:"fleetobservability,omitempty"`
  3813  	// Identityservice: Identity Service-specific spec.
  3814  	Identityservice *IdentityServiceMembershipSpec `json:"identityservice,omitempty"`
  3815  	// Mesh: Anthos Service Mesh-specific spec
  3816  	Mesh *ServiceMeshMembershipSpec `json:"mesh,omitempty"`
  3817  	// Origin: Whether this per-Membership spec was inherited from a fleet-level
  3818  	// default. This field can be updated by users by either overriding a
  3819  	// Membership config (updated to USER implicitly) or setting to FLEET
  3820  	// explicitly.
  3821  	Origin *Origin `json:"origin,omitempty"`
  3822  	// Policycontroller: Policy Controller spec.
  3823  	Policycontroller *PolicyControllerMembershipSpec `json:"policycontroller,omitempty"`
  3824  	// ForceSendFields is a list of field names (e.g. "Configmanagement") to
  3825  	// unconditionally include in API requests. By default, fields with empty or
  3826  	// default values are omitted from API requests. See
  3827  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3828  	// details.
  3829  	ForceSendFields []string `json:"-"`
  3830  	// NullFields is a list of field names (e.g. "Configmanagement") to include in
  3831  	// API requests with the JSON null value. By default, fields with empty values
  3832  	// are omitted from API requests. See
  3833  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3834  	NullFields []string `json:"-"`
  3835  }
  3836  
  3837  func (s *MembershipFeatureSpec) MarshalJSON() ([]byte, error) {
  3838  	type NoMethod MembershipFeatureSpec
  3839  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3840  }
  3841  
  3842  // MembershipFeatureState: MembershipFeatureState contains Feature status
  3843  // information for a single Membership.
  3844  type MembershipFeatureState struct {
  3845  	// Appdevexperience: Appdevexperience specific state.
  3846  	Appdevexperience *AppDevExperienceFeatureState `json:"appdevexperience,omitempty"`
  3847  	// Clusterupgrade: ClusterUpgrade state.
  3848  	Clusterupgrade *ClusterUpgradeMembershipState `json:"clusterupgrade,omitempty"`
  3849  	// Configmanagement: Config Management-specific state.
  3850  	Configmanagement *ConfigManagementMembershipState `json:"configmanagement,omitempty"`
  3851  	// Fleetobservability: Fleet observability membership state.
  3852  	Fleetobservability *FleetObservabilityMembershipState `json:"fleetobservability,omitempty"`
  3853  	// Identityservice: Identity Service-specific state.
  3854  	Identityservice *IdentityServiceMembershipState `json:"identityservice,omitempty"`
  3855  	// Policycontroller: Policycontroller-specific state.
  3856  	Policycontroller *PolicyControllerMembershipState `json:"policycontroller,omitempty"`
  3857  	// Servicemesh: Service Mesh-specific state.
  3858  	Servicemesh *ServiceMeshMembershipState `json:"servicemesh,omitempty"`
  3859  	// State: The high-level state of this Feature for a single membership.
  3860  	State *FeatureState `json:"state,omitempty"`
  3861  	// ForceSendFields is a list of field names (e.g. "Appdevexperience") to
  3862  	// unconditionally include in API requests. By default, fields with empty or
  3863  	// default values are omitted from API requests. See
  3864  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3865  	// details.
  3866  	ForceSendFields []string `json:"-"`
  3867  	// NullFields is a list of field names (e.g. "Appdevexperience") to include in
  3868  	// API requests with the JSON null value. By default, fields with empty values
  3869  	// are omitted from API requests. See
  3870  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3871  	NullFields []string `json:"-"`
  3872  }
  3873  
  3874  func (s *MembershipFeatureState) MarshalJSON() ([]byte, error) {
  3875  	type NoMethod MembershipFeatureState
  3876  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3877  }
  3878  
  3879  // MembershipState: MembershipState describes the state of a Membership
  3880  // resource.
  3881  type MembershipState struct {
  3882  	// Code: Output only. The current state of the Membership resource.
  3883  	//
  3884  	// Possible values:
  3885  	//   "CODE_UNSPECIFIED" - The code is not set.
  3886  	//   "CREATING" - The cluster is being registered.
  3887  	//   "READY" - The cluster is registered.
  3888  	//   "DELETING" - The cluster is being unregistered.
  3889  	//   "UPDATING" - The Membership is being updated.
  3890  	//   "SERVICE_UPDATING" - The Membership is being updated by the Hub Service.
  3891  	Code string `json:"code,omitempty"`
  3892  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  3893  	// include in API requests. By default, fields with empty or default values are
  3894  	// omitted from API requests. See
  3895  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3896  	// details.
  3897  	ForceSendFields []string `json:"-"`
  3898  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  3899  	// with the JSON null value. By default, fields with empty values are omitted
  3900  	// from API requests. See
  3901  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3902  	NullFields []string `json:"-"`
  3903  }
  3904  
  3905  func (s *MembershipState) MarshalJSON() ([]byte, error) {
  3906  	type NoMethod MembershipState
  3907  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3908  }
  3909  
  3910  // MonitoringConfig: MonitoringConfig informs Fleet-based
  3911  // applications/services/UIs how the metrics for the underlying cluster is
  3912  // reported to cloud monitoring services. It can be set from empty to
  3913  // non-empty, but can't be mutated directly to prevent accidentally breaking
  3914  // the constinousty of metrics.
  3915  type MonitoringConfig struct {
  3916  	// Cluster: Optional. Cluster name used to report metrics. For Anthos on
  3917  	// VMWare/Baremetal/MultiCloud clusters, it would be in format
  3918  	// {cluster_type}/{cluster_name}, e.g., "awsClusters/cluster_1".
  3919  	Cluster string `json:"cluster,omitempty"`
  3920  	// ClusterHash: Optional. For GKE and Multicloud clusters, this is the UUID of
  3921  	// the cluster resource. For VMWare and Baremetal clusters, this is the
  3922  	// kube-system UID.
  3923  	ClusterHash string `json:"clusterHash,omitempty"`
  3924  	// KubernetesMetricsPrefix: Optional. Kubernetes system metrics, if available,
  3925  	// are written to this prefix. This defaults to kubernetes.io for GKE, and
  3926  	// kubernetes.io/anthos for Anthos eventually. Noted: Anthos MultiCloud will
  3927  	// have kubernetes.io prefix today but will migration to be under
  3928  	// kubernetes.io/anthos.
  3929  	KubernetesMetricsPrefix string `json:"kubernetesMetricsPrefix,omitempty"`
  3930  	// Location: Optional. Location used to report Metrics
  3931  	Location string `json:"location,omitempty"`
  3932  	// ProjectId: Optional. Project used to report Metrics
  3933  	ProjectId string `json:"projectId,omitempty"`
  3934  	// ForceSendFields is a list of field names (e.g. "Cluster") to unconditionally
  3935  	// include in API requests. By default, fields with empty or default values are
  3936  	// omitted from API requests. See
  3937  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3938  	// details.
  3939  	ForceSendFields []string `json:"-"`
  3940  	// NullFields is a list of field names (e.g. "Cluster") to include in API
  3941  	// requests with the JSON null value. By default, fields with empty values are
  3942  	// omitted from API requests. See
  3943  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3944  	NullFields []string `json:"-"`
  3945  }
  3946  
  3947  func (s *MonitoringConfig) MarshalJSON() ([]byte, error) {
  3948  	type NoMethod MonitoringConfig
  3949  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3950  }
  3951  
  3952  // MultiCloudCluster: MultiCloudCluster contains information specific to GKE
  3953  // Multi-Cloud clusters.
  3954  type MultiCloudCluster struct {
  3955  	// ClusterMissing: Output only. If cluster_missing is set then it denotes that
  3956  	// API(gkemulticloud.googleapis.com) resource for this GKE Multi-Cloud cluster
  3957  	// no longer exists.
  3958  	ClusterMissing bool `json:"clusterMissing,omitempty"`
  3959  	// ResourceLink: Immutable. Self-link of the Google Cloud resource for the GKE
  3960  	// Multi-Cloud cluster. For example:
  3961  	// //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/awsCl
  3962  	// usters/my-cluster
  3963  	// //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/azure
  3964  	// Clusters/my-cluster
  3965  	// //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/attac
  3966  	// hedClusters/my-cluster
  3967  	ResourceLink string `json:"resourceLink,omitempty"`
  3968  	// ForceSendFields is a list of field names (e.g. "ClusterMissing") to
  3969  	// unconditionally include in API requests. By default, fields with empty or
  3970  	// default values are omitted from API requests. See
  3971  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3972  	// details.
  3973  	ForceSendFields []string `json:"-"`
  3974  	// NullFields is a list of field names (e.g. "ClusterMissing") to include in
  3975  	// API requests with the JSON null value. By default, fields with empty values
  3976  	// are omitted from API requests. See
  3977  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3978  	NullFields []string `json:"-"`
  3979  }
  3980  
  3981  func (s *MultiCloudCluster) MarshalJSON() ([]byte, error) {
  3982  	type NoMethod MultiCloudCluster
  3983  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3984  }
  3985  
  3986  // MultiClusterIngressFeatureSpec: **Multi-cluster Ingress**: The configuration
  3987  // for the MultiClusterIngress feature.
  3988  type MultiClusterIngressFeatureSpec struct {
  3989  	// ConfigMembership: Fully-qualified Membership name which hosts the
  3990  	// MultiClusterIngress CRD. Example:
  3991  	// `projects/foo-proj/locations/global/memberships/bar`
  3992  	ConfigMembership string `json:"configMembership,omitempty"`
  3993  	// ForceSendFields is a list of field names (e.g. "ConfigMembership") to
  3994  	// unconditionally include in API requests. By default, fields with empty or
  3995  	// default values are omitted from API requests. See
  3996  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3997  	// details.
  3998  	ForceSendFields []string `json:"-"`
  3999  	// NullFields is a list of field names (e.g. "ConfigMembership") to include in
  4000  	// API requests with the JSON null value. By default, fields with empty values
  4001  	// are omitted from API requests. See
  4002  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4003  	NullFields []string `json:"-"`
  4004  }
  4005  
  4006  func (s *MultiClusterIngressFeatureSpec) MarshalJSON() ([]byte, error) {
  4007  	type NoMethod MultiClusterIngressFeatureSpec
  4008  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4009  }
  4010  
  4011  // Namespace: Namespace represents a namespace across the Fleet
  4012  type Namespace struct {
  4013  	// CreateTime: Output only. When the namespace was created.
  4014  	CreateTime string `json:"createTime,omitempty"`
  4015  	// DeleteTime: Output only. When the namespace was deleted.
  4016  	DeleteTime string `json:"deleteTime,omitempty"`
  4017  	// Labels: Optional. Labels for this Namespace.
  4018  	Labels map[string]string `json:"labels,omitempty"`
  4019  	// Name: The resource name for the namespace
  4020  	// `projects/{project}/locations/{location}/namespaces/{namespace}`
  4021  	Name string `json:"name,omitempty"`
  4022  	// NamespaceLabels: Optional. Namespace-level cluster namespace labels. These
  4023  	// labels are applied to the related namespace of the member clusters bound to
  4024  	// the parent Scope. Scope-level labels (`namespace_labels` in the Fleet Scope
  4025  	// resource) take precedence over Namespace-level labels if they share a key.
  4026  	// Keys and values must be Kubernetes-conformant.
  4027  	NamespaceLabels map[string]string `json:"namespaceLabels,omitempty"`
  4028  	// Scope: Required. Scope associated with the namespace
  4029  	Scope string `json:"scope,omitempty"`
  4030  	// State: Output only. State of the namespace resource.
  4031  	State *NamespaceLifecycleState `json:"state,omitempty"`
  4032  	// Uid: Output only. Google-generated UUID for this resource. This is unique
  4033  	// across all namespace resources. If a namespace resource is deleted and
  4034  	// another resource with the same name is created, it gets a different uid.
  4035  	Uid string `json:"uid,omitempty"`
  4036  	// UpdateTime: Output only. When the namespace was last updated.
  4037  	UpdateTime string `json:"updateTime,omitempty"`
  4038  
  4039  	// ServerResponse contains the HTTP response code and headers from the server.
  4040  	googleapi.ServerResponse `json:"-"`
  4041  	// ForceSendFields is a list of field names (e.g. "CreateTime") to
  4042  	// unconditionally include in API requests. By default, fields with empty or
  4043  	// default values are omitted from API requests. See
  4044  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4045  	// details.
  4046  	ForceSendFields []string `json:"-"`
  4047  	// NullFields is a list of field names (e.g. "CreateTime") to include in API
  4048  	// requests with the JSON null value. By default, fields with empty values are
  4049  	// omitted from API requests. See
  4050  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4051  	NullFields []string `json:"-"`
  4052  }
  4053  
  4054  func (s *Namespace) MarshalJSON() ([]byte, error) {
  4055  	type NoMethod Namespace
  4056  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4057  }
  4058  
  4059  // NamespaceLifecycleState: NamespaceLifecycleState describes the state of a
  4060  // Namespace resource.
  4061  type NamespaceLifecycleState struct {
  4062  	// Code: Output only. The current state of the Namespace resource.
  4063  	//
  4064  	// Possible values:
  4065  	//   "CODE_UNSPECIFIED" - The code is not set.
  4066  	//   "CREATING" - The namespace is being created.
  4067  	//   "READY" - The namespace active.
  4068  	//   "DELETING" - The namespace is being deleted.
  4069  	//   "UPDATING" - The namespace is being updated.
  4070  	Code string `json:"code,omitempty"`
  4071  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  4072  	// include in API requests. By default, fields with empty or default values are
  4073  	// omitted from API requests. See
  4074  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4075  	// details.
  4076  	ForceSendFields []string `json:"-"`
  4077  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  4078  	// with the JSON null value. By default, fields with empty values are omitted
  4079  	// from API requests. See
  4080  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4081  	NullFields []string `json:"-"`
  4082  }
  4083  
  4084  func (s *NamespaceLifecycleState) MarshalJSON() ([]byte, error) {
  4085  	type NoMethod NamespaceLifecycleState
  4086  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4087  }
  4088  
  4089  // OnPremCluster: OnPremCluster contains information specific to GKE On-Prem
  4090  // clusters.
  4091  type OnPremCluster struct {
  4092  	// AdminCluster: Immutable. Whether the cluster is an admin cluster.
  4093  	AdminCluster bool `json:"adminCluster,omitempty"`
  4094  	// ClusterMissing: Output only. If cluster_missing is set then it denotes that
  4095  	// API(gkeonprem.googleapis.com) resource for this GKE On-Prem cluster no
  4096  	// longer exists.
  4097  	ClusterMissing bool `json:"clusterMissing,omitempty"`
  4098  	// ClusterType: Immutable. The on prem cluster's type.
  4099  	//
  4100  	// Possible values:
  4101  	//   "CLUSTERTYPE_UNSPECIFIED" - The ClusterType is not set.
  4102  	//   "BOOTSTRAP" - The ClusterType is bootstrap cluster.
  4103  	//   "HYBRID" - The ClusterType is baremetal hybrid cluster.
  4104  	//   "STANDALONE" - The ClusterType is baremetal standalone cluster.
  4105  	//   "USER" - The ClusterType is user cluster.
  4106  	ClusterType string `json:"clusterType,omitempty"`
  4107  	// ResourceLink: Immutable. Self-link of the Google Cloud resource for the GKE
  4108  	// On-Prem cluster. For example:
  4109  	// //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/vmwareClu
  4110  	// sters/my-cluster
  4111  	// //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/bareMetal
  4112  	// Clusters/my-cluster
  4113  	ResourceLink string `json:"resourceLink,omitempty"`
  4114  	// ForceSendFields is a list of field names (e.g. "AdminCluster") to
  4115  	// unconditionally include in API requests. By default, fields with empty or
  4116  	// default values are omitted from API requests. See
  4117  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4118  	// details.
  4119  	ForceSendFields []string `json:"-"`
  4120  	// NullFields is a list of field names (e.g. "AdminCluster") to include in API
  4121  	// requests with the JSON null value. By default, fields with empty values are
  4122  	// omitted from API requests. See
  4123  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4124  	NullFields []string `json:"-"`
  4125  }
  4126  
  4127  func (s *OnPremCluster) MarshalJSON() ([]byte, error) {
  4128  	type NoMethod OnPremCluster
  4129  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4130  }
  4131  
  4132  // Operation: This resource represents a long-running operation that is the
  4133  // result of a network API call.
  4134  type Operation struct {
  4135  	// Done: If the value is `false`, it means the operation is still in progress.
  4136  	// If `true`, the operation is completed, and either `error` or `response` is
  4137  	// available.
  4138  	Done bool `json:"done,omitempty"`
  4139  	// Error: The error result of the operation in case of failure or cancellation.
  4140  	Error *GoogleRpcStatus `json:"error,omitempty"`
  4141  	// Metadata: Service-specific metadata associated with the operation. It
  4142  	// typically contains progress information and common metadata such as create
  4143  	// time. Some services might not provide such metadata. Any method that returns
  4144  	// a long-running operation should document the metadata type, if any.
  4145  	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
  4146  	// Name: The server-assigned name, which is only unique within the same service
  4147  	// that originally returns it. If you use the default HTTP mapping, the `name`
  4148  	// should be a resource name ending with `operations/{unique_id}`.
  4149  	Name string `json:"name,omitempty"`
  4150  	// Response: The normal, successful response of the operation. If the original
  4151  	// method returns no data on success, such as `Delete`, the response is
  4152  	// `google.protobuf.Empty`. If the original method is standard
  4153  	// `Get`/`Create`/`Update`, the response should be the resource. For other
  4154  	// methods, the response should have the type `XxxResponse`, where `Xxx` is the
  4155  	// original method name. For example, if the original method name is
  4156  	// `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
  4157  	Response googleapi.RawMessage `json:"response,omitempty"`
  4158  
  4159  	// ServerResponse contains the HTTP response code and headers from the server.
  4160  	googleapi.ServerResponse `json:"-"`
  4161  	// ForceSendFields is a list of field names (e.g. "Done") to unconditionally
  4162  	// include in API requests. By default, fields with empty or default values are
  4163  	// omitted from API requests. See
  4164  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4165  	// details.
  4166  	ForceSendFields []string `json:"-"`
  4167  	// NullFields is a list of field names (e.g. "Done") to include in API requests
  4168  	// with the JSON null value. By default, fields with empty values are omitted
  4169  	// from API requests. See
  4170  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4171  	NullFields []string `json:"-"`
  4172  }
  4173  
  4174  func (s *Operation) MarshalJSON() ([]byte, error) {
  4175  	type NoMethod Operation
  4176  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4177  }
  4178  
  4179  // OperationMetadata: Represents the metadata of the long-running operation.
  4180  type OperationMetadata struct {
  4181  	// ApiVersion: Output only. API version used to start the operation.
  4182  	ApiVersion string `json:"apiVersion,omitempty"`
  4183  	// CancelRequested: Output only. Identifies whether the user has requested
  4184  	// cancellation of the operation. Operations that have successfully been
  4185  	// cancelled have Operation.error value with a google.rpc.Status.code of 1,
  4186  	// corresponding to `Code.CANCELLED`.
  4187  	CancelRequested bool `json:"cancelRequested,omitempty"`
  4188  	// CreateTime: Output only. The time the operation was created.
  4189  	CreateTime string `json:"createTime,omitempty"`
  4190  	// EndTime: Output only. The time the operation finished running.
  4191  	EndTime string `json:"endTime,omitempty"`
  4192  	// StatusDetail: Output only. Human-readable status of the operation, if any.
  4193  	StatusDetail string `json:"statusDetail,omitempty"`
  4194  	// Target: Output only. Server-defined resource path for the target of the
  4195  	// operation.
  4196  	Target string `json:"target,omitempty"`
  4197  	// Verb: Output only. Name of the verb executed by the operation.
  4198  	Verb string `json:"verb,omitempty"`
  4199  	// ForceSendFields is a list of field names (e.g. "ApiVersion") to
  4200  	// unconditionally include in API requests. By default, fields with empty or
  4201  	// default values are omitted from API requests. See
  4202  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4203  	// details.
  4204  	ForceSendFields []string `json:"-"`
  4205  	// NullFields is a list of field names (e.g. "ApiVersion") to include in API
  4206  	// requests with the JSON null value. By default, fields with empty values are
  4207  	// omitted from API requests. See
  4208  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4209  	NullFields []string `json:"-"`
  4210  }
  4211  
  4212  func (s *OperationMetadata) MarshalJSON() ([]byte, error) {
  4213  	type NoMethod OperationMetadata
  4214  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4215  }
  4216  
  4217  // Origin: Origin defines where this MembershipFeatureSpec originated from.
  4218  type Origin struct {
  4219  	// Type: Type specifies which type of origin is set.
  4220  	//
  4221  	// Possible values:
  4222  	//   "TYPE_UNSPECIFIED" - Type is unknown or not set.
  4223  	//   "FLEET" - Per-Membership spec was inherited from the fleet-level default.
  4224  	//   "FLEET_OUT_OF_SYNC" - Per-Membership spec was inherited from the
  4225  	// fleet-level default but is now out of sync with the current default.
  4226  	//   "USER" - Per-Membership spec was inherited from a user specification.
  4227  	Type string `json:"type,omitempty"`
  4228  	// ForceSendFields is a list of field names (e.g. "Type") to unconditionally
  4229  	// include in API requests. By default, fields with empty or default values are
  4230  	// omitted from API requests. See
  4231  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4232  	// details.
  4233  	ForceSendFields []string `json:"-"`
  4234  	// NullFields is a list of field names (e.g. "Type") to include in API requests
  4235  	// with the JSON null value. By default, fields with empty values are omitted
  4236  	// from API requests. See
  4237  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4238  	NullFields []string `json:"-"`
  4239  }
  4240  
  4241  func (s *Origin) MarshalJSON() ([]byte, error) {
  4242  	type NoMethod Origin
  4243  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4244  }
  4245  
  4246  // Policy: An Identity and Access Management (IAM) policy, which specifies
  4247  // access controls for Google Cloud resources. A `Policy` is a collection of
  4248  // `bindings`. A `binding` binds one or more `members`, or principals, to a
  4249  // single `role`. Principals can be user accounts, service accounts, Google
  4250  // groups, and domains (such as G Suite). A `role` is a named list of
  4251  // permissions; each `role` can be an IAM predefined role or a user-created
  4252  // custom role. For some types of Google Cloud resources, a `binding` can also
  4253  // specify a `condition`, which is a logical expression that allows access to a
  4254  // resource only if the expression evaluates to `true`. A condition can add
  4255  // constraints based on attributes of the request, the resource, or both. To
  4256  // learn which resources support conditions in their IAM policies, see the IAM
  4257  // documentation
  4258  // (https://cloud.google.com/iam/help/conditions/resource-policies). **JSON
  4259  // example:** ``` { "bindings": [ { "role":
  4260  // "roles/resourcemanager.organizationAdmin", "members": [
  4261  // "user:mike@example.com", "group:admins@example.com", "domain:google.com",
  4262  // "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role":
  4263  // "roles/resourcemanager.organizationViewer", "members": [
  4264  // "user:eve@example.com" ], "condition": { "title": "expirable access",
  4265  // "description": "Does not grant access after Sep 2020", "expression":
  4266  // "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag":
  4267  // "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` bindings: -
  4268  // members: - user:mike@example.com - group:admins@example.com -
  4269  // domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
  4270  // role: roles/resourcemanager.organizationAdmin - members: -
  4271  // user:eve@example.com role: roles/resourcemanager.organizationViewer
  4272  // condition: title: expirable access description: Does not grant access after
  4273  // Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
  4274  // etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features,
  4275  // see the IAM documentation (https://cloud.google.com/iam/docs/).
  4276  type Policy struct {
  4277  	// AuditConfigs: Specifies cloud audit logging configuration for this policy.
  4278  	AuditConfigs []*AuditConfig `json:"auditConfigs,omitempty"`
  4279  	// Bindings: Associates a list of `members`, or principals, with a `role`.
  4280  	// Optionally, may specify a `condition` that determines how and when the
  4281  	// `bindings` are applied. Each of the `bindings` must contain at least one
  4282  	// principal. The `bindings` in a `Policy` can refer to up to 1,500 principals;
  4283  	// up to 250 of these principals can be Google groups. Each occurrence of a
  4284  	// principal counts towards these limits. For example, if the `bindings` grant
  4285  	// 50 different roles to `user:alice@example.com`, and not to any other
  4286  	// principal, then you can add another 1,450 principals to the `bindings` in
  4287  	// the `Policy`.
  4288  	Bindings []*Binding `json:"bindings,omitempty"`
  4289  	// Etag: `etag` is used for optimistic concurrency control as a way to help
  4290  	// prevent simultaneous updates of a policy from overwriting each other. It is
  4291  	// strongly suggested that systems make use of the `etag` in the
  4292  	// read-modify-write cycle to perform policy updates in order to avoid race
  4293  	// conditions: An `etag` is returned in the response to `getIamPolicy`, and
  4294  	// systems are expected to put that etag in the request to `setIamPolicy` to
  4295  	// ensure that their change will be applied to the same version of the policy.
  4296  	// **Important:** If you use IAM Conditions, you must include the `etag` field
  4297  	// whenever you call `setIamPolicy`. If you omit this field, then IAM allows
  4298  	// you to overwrite a version `3` policy with a version `1` policy, and all of
  4299  	// the conditions in the version `3` policy are lost.
  4300  	Etag string `json:"etag,omitempty"`
  4301  	// Version: Specifies the format of the policy. Valid values are `0`, `1`, and
  4302  	// `3`. Requests that specify an invalid value are rejected. Any operation that
  4303  	// affects conditional role bindings must specify version `3`. This requirement
  4304  	// applies to the following operations: * Getting a policy that includes a
  4305  	// conditional role binding * Adding a conditional role binding to a policy *
  4306  	// Changing a conditional role binding in a policy * Removing any role binding,
  4307  	// with or without a condition, from a policy that includes conditions
  4308  	// **Important:** If you use IAM Conditions, you must include the `etag` field
  4309  	// whenever you call `setIamPolicy`. If you omit this field, then IAM allows
  4310  	// you to overwrite a version `3` policy with a version `1` policy, and all of
  4311  	// the conditions in the version `3` policy are lost. If a policy does not
  4312  	// include any conditions, operations on that policy may specify any valid
  4313  	// version or leave the field unset. To learn which resources support
  4314  	// conditions in their IAM policies, see the IAM documentation
  4315  	// (https://cloud.google.com/iam/help/conditions/resource-policies).
  4316  	Version int64 `json:"version,omitempty"`
  4317  
  4318  	// ServerResponse contains the HTTP response code and headers from the server.
  4319  	googleapi.ServerResponse `json:"-"`
  4320  	// ForceSendFields is a list of field names (e.g. "AuditConfigs") to
  4321  	// unconditionally include in API requests. By default, fields with empty or
  4322  	// default values are omitted from API requests. See
  4323  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4324  	// details.
  4325  	ForceSendFields []string `json:"-"`
  4326  	// NullFields is a list of field names (e.g. "AuditConfigs") to include in API
  4327  	// requests with the JSON null value. By default, fields with empty values are
  4328  	// omitted from API requests. See
  4329  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4330  	NullFields []string `json:"-"`
  4331  }
  4332  
  4333  func (s *Policy) MarshalJSON() ([]byte, error) {
  4334  	type NoMethod Policy
  4335  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4336  }
  4337  
  4338  // PolicyBinding: Binauthz policy that applies to this cluster.
  4339  type PolicyBinding struct {
  4340  	// Name: The relative resource name of the binauthz platform policy to audit.
  4341  	// GKE platform policies have the following format:
  4342  	// `projects/{project_number}/platforms/gke/policies/{policy_id}`.
  4343  	Name string `json:"name,omitempty"`
  4344  	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
  4345  	// include in API requests. By default, fields with empty or default values are
  4346  	// omitted from API requests. See
  4347  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4348  	// details.
  4349  	ForceSendFields []string `json:"-"`
  4350  	// NullFields is a list of field names (e.g. "Name") to include in API requests
  4351  	// with the JSON null value. By default, fields with empty values are omitted
  4352  	// from API requests. See
  4353  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4354  	NullFields []string `json:"-"`
  4355  }
  4356  
  4357  func (s *PolicyBinding) MarshalJSON() ([]byte, error) {
  4358  	type NoMethod PolicyBinding
  4359  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4360  }
  4361  
  4362  // PolicyControllerBundleInstallSpec: BundleInstallSpec is the specification
  4363  // configuration for a single managed bundle.
  4364  type PolicyControllerBundleInstallSpec struct {
  4365  	// ExemptedNamespaces: The set of namespaces to be exempted from the bundle.
  4366  	ExemptedNamespaces []string `json:"exemptedNamespaces,omitempty"`
  4367  	// ForceSendFields is a list of field names (e.g. "ExemptedNamespaces") to
  4368  	// unconditionally include in API requests. By default, fields with empty or
  4369  	// default values are omitted from API requests. See
  4370  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4371  	// details.
  4372  	ForceSendFields []string `json:"-"`
  4373  	// NullFields is a list of field names (e.g. "ExemptedNamespaces") to include
  4374  	// in API requests with the JSON null value. By default, fields with empty
  4375  	// values are omitted from API requests. See
  4376  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4377  	NullFields []string `json:"-"`
  4378  }
  4379  
  4380  func (s *PolicyControllerBundleInstallSpec) MarshalJSON() ([]byte, error) {
  4381  	type NoMethod PolicyControllerBundleInstallSpec
  4382  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4383  }
  4384  
  4385  // PolicyControllerHubConfig: Configuration for Policy Controller
  4386  type PolicyControllerHubConfig struct {
  4387  	// AuditIntervalSeconds: Sets the interval for Policy Controller Audit Scans
  4388  	// (in seconds). When set to 0, this disables audit functionality altogether.
  4389  	AuditIntervalSeconds int64 `json:"auditIntervalSeconds,omitempty,string"`
  4390  	// ConstraintViolationLimit: The maximum number of audit violations to be
  4391  	// stored in a constraint. If not set, the internal default (currently 20) will
  4392  	// be used.
  4393  	ConstraintViolationLimit int64 `json:"constraintViolationLimit,omitempty,string"`
  4394  	// DeploymentConfigs: Map of deployment configs to deployments ("admission",
  4395  	// "audit", "mutation').
  4396  	DeploymentConfigs map[string]PolicyControllerPolicyControllerDeploymentConfig `json:"deploymentConfigs,omitempty"`
  4397  	// ExemptableNamespaces: The set of namespaces that are excluded from Policy
  4398  	// Controller checks. Namespaces do not need to currently exist on the cluster.
  4399  	ExemptableNamespaces []string `json:"exemptableNamespaces,omitempty"`
  4400  	// InstallSpec: The install_spec represents the intended state specified by the
  4401  	// latest request that mutated install_spec in the feature spec, not the
  4402  	// lifecycle state of the feature observed by the Hub feature controller that
  4403  	// is reported in the feature state.
  4404  	//
  4405  	// Possible values:
  4406  	//   "INSTALL_SPEC_UNSPECIFIED" - Spec is unknown.
  4407  	//   "INSTALL_SPEC_NOT_INSTALLED" - Request to uninstall Policy Controller.
  4408  	//   "INSTALL_SPEC_ENABLED" - Request to install and enable Policy Controller.
  4409  	//   "INSTALL_SPEC_SUSPENDED" - Request to suspend Policy Controller i.e. its
  4410  	// webhooks. If Policy Controller is not installed, it will be installed but
  4411  	// suspended.
  4412  	//   "INSTALL_SPEC_DETACHED" - Request to stop all reconciliation actions by
  4413  	// PoCo Hub controller. This is a breakglass mechanism to stop PoCo Hub from
  4414  	// affecting cluster resources.
  4415  	InstallSpec string `json:"installSpec,omitempty"`
  4416  	// LogDeniesEnabled: Logs all denies and dry run failures.
  4417  	LogDeniesEnabled bool `json:"logDeniesEnabled,omitempty"`
  4418  	// Monitoring: Monitoring specifies the configuration of monitoring.
  4419  	Monitoring *PolicyControllerMonitoringConfig `json:"monitoring,omitempty"`
  4420  	// MutationEnabled: Enables the ability to mutate resources using Policy
  4421  	// Controller.
  4422  	MutationEnabled bool `json:"mutationEnabled,omitempty"`
  4423  	// PolicyContent: Specifies the desired policy content on the cluster
  4424  	PolicyContent *PolicyControllerPolicyContentSpec `json:"policyContent,omitempty"`
  4425  	// ReferentialRulesEnabled: Enables the ability to use Constraint Templates
  4426  	// that reference to objects other than the object currently being evaluated.
  4427  	ReferentialRulesEnabled bool `json:"referentialRulesEnabled,omitempty"`
  4428  	// ForceSendFields is a list of field names (e.g. "AuditIntervalSeconds") to
  4429  	// unconditionally include in API requests. By default, fields with empty or
  4430  	// default values are omitted from API requests. See
  4431  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4432  	// details.
  4433  	ForceSendFields []string `json:"-"`
  4434  	// NullFields is a list of field names (e.g. "AuditIntervalSeconds") to include
  4435  	// in API requests with the JSON null value. By default, fields with empty
  4436  	// values are omitted from API requests. See
  4437  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4438  	NullFields []string `json:"-"`
  4439  }
  4440  
  4441  func (s *PolicyControllerHubConfig) MarshalJSON() ([]byte, error) {
  4442  	type NoMethod PolicyControllerHubConfig
  4443  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4444  }
  4445  
  4446  // PolicyControllerMembershipSpec: **Policy Controller**: Configuration for a
  4447  // single cluster. Intended to parallel the PolicyController CR.
  4448  type PolicyControllerMembershipSpec struct {
  4449  	// PolicyControllerHubConfig: Policy Controller configuration for the cluster.
  4450  	PolicyControllerHubConfig *PolicyControllerHubConfig `json:"policyControllerHubConfig,omitempty"`
  4451  	// Version: Version of Policy Controller installed.
  4452  	Version string `json:"version,omitempty"`
  4453  	// ForceSendFields is a list of field names (e.g. "PolicyControllerHubConfig")
  4454  	// to unconditionally include in API requests. By default, fields with empty or
  4455  	// default values are omitted from API requests. See
  4456  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4457  	// details.
  4458  	ForceSendFields []string `json:"-"`
  4459  	// NullFields is a list of field names (e.g. "PolicyControllerHubConfig") to
  4460  	// include in API requests with the JSON null value. By default, fields with
  4461  	// empty values are omitted from API requests. See
  4462  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4463  	NullFields []string `json:"-"`
  4464  }
  4465  
  4466  func (s *PolicyControllerMembershipSpec) MarshalJSON() ([]byte, error) {
  4467  	type NoMethod PolicyControllerMembershipSpec
  4468  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4469  }
  4470  
  4471  // PolicyControllerMembershipState: **Policy Controller**: State for a single
  4472  // cluster.
  4473  type PolicyControllerMembershipState struct {
  4474  	// ComponentStates: Currently these include (also serving as map keys): 1.
  4475  	// "admission" 2. "audit" 3. "mutation"
  4476  	ComponentStates map[string]PolicyControllerOnClusterState `json:"componentStates,omitempty"`
  4477  	// PolicyContentState: The overall content state observed by the Hub Feature
  4478  	// controller.
  4479  	PolicyContentState *PolicyControllerPolicyContentState `json:"policyContentState,omitempty"`
  4480  	// State: The overall Policy Controller lifecycle state observed by the Hub
  4481  	// Feature controller.
  4482  	//
  4483  	// Possible values:
  4484  	//   "LIFECYCLE_STATE_UNSPECIFIED" - The lifecycle state is unspecified.
  4485  	//   "NOT_INSTALLED" - The PC does not exist on the given cluster, and no k8s
  4486  	// resources of any type that are associated with the PC should exist there.
  4487  	// The cluster does not possess a membership with the PCH.
  4488  	//   "INSTALLING" - The PCH possesses a Membership, however the PC is not fully
  4489  	// installed on the cluster. In this state the hub can be expected to be taking
  4490  	// actions to install the PC on the cluster.
  4491  	//   "ACTIVE" - The PC is fully installed on the cluster and in an operational
  4492  	// mode. In this state PCH will be reconciling state with the PC, and the PC
  4493  	// will be performing it's operational tasks per that software. Entering a
  4494  	// READY state requires that the hub has confirmed the PC is installed and its
  4495  	// pods are operational with the version of the PC the PCH expects.
  4496  	//   "UPDATING" - The PC is fully installed, but in the process of changing the
  4497  	// configuration (including changing the version of PC either up and down, or
  4498  	// modifying the manifests of PC) of the resources running on the cluster. The
  4499  	// PCH has a Membership, is aware of the version the cluster should be running
  4500  	// in, but has not confirmed for itself that the PC is running with that
  4501  	// version.
  4502  	//   "DECOMMISSIONING" - The PC may have resources on the cluster, but the PCH
  4503  	// wishes to remove the Membership. The Membership still exists.
  4504  	//   "CLUSTER_ERROR" - The PC is not operational, and the PCH is unable to act
  4505  	// to make it operational. Entering a CLUSTER_ERROR state happens automatically
  4506  	// when the PCH determines that a PC installed on the cluster is non-operative
  4507  	// or that the cluster does not meet requirements set for the PCH to administer
  4508  	// the cluster but has nevertheless been given an instruction to do so (such as
  4509  	// 'install').
  4510  	//   "HUB_ERROR" - In this state, the PC may still be operational, and only the
  4511  	// PCH is unable to act. The hub should not issue instructions to change the PC
  4512  	// state, or otherwise interfere with the on-cluster resources. Entering a
  4513  	// HUB_ERROR state happens automatically when the PCH determines the hub is in
  4514  	// an unhealthy state and it wishes to 'take hands off' to avoid corrupting the
  4515  	// PC or other data.
  4516  	//   "SUSPENDED" - Policy Controller (PC) is installed but suspended. This
  4517  	// means that the policies are not enforced, but violations are still recorded
  4518  	// (through audit).
  4519  	//   "DETACHED" - PoCo Hub is not taking any action to reconcile cluster
  4520  	// objects. Changes to those objects will not be overwritten by PoCo Hub.
  4521  	State string `json:"state,omitempty"`
  4522  	// ForceSendFields is a list of field names (e.g. "ComponentStates") to
  4523  	// unconditionally include in API requests. By default, fields with empty or
  4524  	// default values are omitted from API requests. See
  4525  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4526  	// details.
  4527  	ForceSendFields []string `json:"-"`
  4528  	// NullFields is a list of field names (e.g. "ComponentStates") to include in
  4529  	// API requests with the JSON null value. By default, fields with empty values
  4530  	// are omitted from API requests. See
  4531  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4532  	NullFields []string `json:"-"`
  4533  }
  4534  
  4535  func (s *PolicyControllerMembershipState) MarshalJSON() ([]byte, error) {
  4536  	type NoMethod PolicyControllerMembershipState
  4537  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4538  }
  4539  
  4540  // PolicyControllerMonitoringConfig: MonitoringConfig specifies the backends
  4541  // Policy Controller should export metrics to. For example, to specify metrics
  4542  // should be exported to Cloud Monitoring and Prometheus, specify backends:
  4543  // ["cloudmonitoring", "prometheus"]
  4544  type PolicyControllerMonitoringConfig struct {
  4545  	// Backends: Specifies the list of backends Policy Controller will export to.
  4546  	// An empty list would effectively disable metrics export.
  4547  	//
  4548  	// Possible values:
  4549  	//   "MONITORING_BACKEND_UNSPECIFIED" - Backend cannot be determined
  4550  	//   "PROMETHEUS" - Prometheus backend for monitoring
  4551  	//   "CLOUD_MONITORING" - Stackdriver/Cloud Monitoring backend for monitoring
  4552  	Backends []string `json:"backends,omitempty"`
  4553  	// ForceSendFields is a list of field names (e.g. "Backends") to
  4554  	// unconditionally include in API requests. By default, fields with empty or
  4555  	// default values are omitted from API requests. See
  4556  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4557  	// details.
  4558  	ForceSendFields []string `json:"-"`
  4559  	// NullFields is a list of field names (e.g. "Backends") to include in API
  4560  	// requests with the JSON null value. By default, fields with empty values are
  4561  	// omitted from API requests. See
  4562  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4563  	NullFields []string `json:"-"`
  4564  }
  4565  
  4566  func (s *PolicyControllerMonitoringConfig) MarshalJSON() ([]byte, error) {
  4567  	type NoMethod PolicyControllerMonitoringConfig
  4568  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4569  }
  4570  
  4571  // PolicyControllerOnClusterState: OnClusterState represents the state of a
  4572  // sub-component of Policy Controller.
  4573  type PolicyControllerOnClusterState struct {
  4574  	// Details: Surface potential errors or information logs.
  4575  	Details string `json:"details,omitempty"`
  4576  	// State: The lifecycle state of this component.
  4577  	//
  4578  	// Possible values:
  4579  	//   "LIFECYCLE_STATE_UNSPECIFIED" - The lifecycle state is unspecified.
  4580  	//   "NOT_INSTALLED" - The PC does not exist on the given cluster, and no k8s
  4581  	// resources of any type that are associated with the PC should exist there.
  4582  	// The cluster does not possess a membership with the PCH.
  4583  	//   "INSTALLING" - The PCH possesses a Membership, however the PC is not fully
  4584  	// installed on the cluster. In this state the hub can be expected to be taking
  4585  	// actions to install the PC on the cluster.
  4586  	//   "ACTIVE" - The PC is fully installed on the cluster and in an operational
  4587  	// mode. In this state PCH will be reconciling state with the PC, and the PC
  4588  	// will be performing it's operational tasks per that software. Entering a
  4589  	// READY state requires that the hub has confirmed the PC is installed and its
  4590  	// pods are operational with the version of the PC the PCH expects.
  4591  	//   "UPDATING" - The PC is fully installed, but in the process of changing the
  4592  	// configuration (including changing the version of PC either up and down, or
  4593  	// modifying the manifests of PC) of the resources running on the cluster. The
  4594  	// PCH has a Membership, is aware of the version the cluster should be running
  4595  	// in, but has not confirmed for itself that the PC is running with that
  4596  	// version.
  4597  	//   "DECOMMISSIONING" - The PC may have resources on the cluster, but the PCH
  4598  	// wishes to remove the Membership. The Membership still exists.
  4599  	//   "CLUSTER_ERROR" - The PC is not operational, and the PCH is unable to act
  4600  	// to make it operational. Entering a CLUSTER_ERROR state happens automatically
  4601  	// when the PCH determines that a PC installed on the cluster is non-operative
  4602  	// or that the cluster does not meet requirements set for the PCH to administer
  4603  	// the cluster but has nevertheless been given an instruction to do so (such as
  4604  	// 'install').
  4605  	//   "HUB_ERROR" - In this state, the PC may still be operational, and only the
  4606  	// PCH is unable to act. The hub should not issue instructions to change the PC
  4607  	// state, or otherwise interfere with the on-cluster resources. Entering a
  4608  	// HUB_ERROR state happens automatically when the PCH determines the hub is in
  4609  	// an unhealthy state and it wishes to 'take hands off' to avoid corrupting the
  4610  	// PC or other data.
  4611  	//   "SUSPENDED" - Policy Controller (PC) is installed but suspended. This
  4612  	// means that the policies are not enforced, but violations are still recorded
  4613  	// (through audit).
  4614  	//   "DETACHED" - PoCo Hub is not taking any action to reconcile cluster
  4615  	// objects. Changes to those objects will not be overwritten by PoCo Hub.
  4616  	State string `json:"state,omitempty"`
  4617  	// ForceSendFields is a list of field names (e.g. "Details") to unconditionally
  4618  	// include in API requests. By default, fields with empty or default values are
  4619  	// omitted from API requests. See
  4620  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4621  	// details.
  4622  	ForceSendFields []string `json:"-"`
  4623  	// NullFields is a list of field names (e.g. "Details") to include in API
  4624  	// requests with the JSON null value. By default, fields with empty values are
  4625  	// omitted from API requests. See
  4626  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4627  	NullFields []string `json:"-"`
  4628  }
  4629  
  4630  func (s *PolicyControllerOnClusterState) MarshalJSON() ([]byte, error) {
  4631  	type NoMethod PolicyControllerOnClusterState
  4632  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4633  }
  4634  
  4635  // PolicyControllerPolicyContentSpec: PolicyContentSpec defines the user's
  4636  // desired content configuration on the cluster.
  4637  type PolicyControllerPolicyContentSpec struct {
  4638  	// Bundles: map of bundle name to BundleInstallSpec. The bundle name maps to
  4639  	// the `bundleName` key in the `policycontroller.gke.io/constraintData`
  4640  	// annotation on a constraint.
  4641  	Bundles map[string]PolicyControllerBundleInstallSpec `json:"bundles,omitempty"`
  4642  	// TemplateLibrary: Configures the installation of the Template Library.
  4643  	TemplateLibrary *PolicyControllerTemplateLibraryConfig `json:"templateLibrary,omitempty"`
  4644  	// ForceSendFields is a list of field names (e.g. "Bundles") to unconditionally
  4645  	// include in API requests. By default, fields with empty or default values are
  4646  	// omitted from API requests. See
  4647  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4648  	// details.
  4649  	ForceSendFields []string `json:"-"`
  4650  	// NullFields is a list of field names (e.g. "Bundles") to include in API
  4651  	// requests with the JSON null value. By default, fields with empty values are
  4652  	// omitted from API requests. See
  4653  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4654  	NullFields []string `json:"-"`
  4655  }
  4656  
  4657  func (s *PolicyControllerPolicyContentSpec) MarshalJSON() ([]byte, error) {
  4658  	type NoMethod PolicyControllerPolicyContentSpec
  4659  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4660  }
  4661  
  4662  // PolicyControllerPolicyContentState: The state of the policy controller
  4663  // policy content
  4664  type PolicyControllerPolicyContentState struct {
  4665  	// BundleStates: The state of the any bundles included in the chosen version of
  4666  	// the manifest
  4667  	BundleStates map[string]PolicyControllerOnClusterState `json:"bundleStates,omitempty"`
  4668  	// ReferentialSyncConfigState: The state of the referential data sync
  4669  	// configuration. This could represent the state of either the syncSet
  4670  	// object(s) or the config object, depending on the version of PoCo configured
  4671  	// by the user.
  4672  	ReferentialSyncConfigState *PolicyControllerOnClusterState `json:"referentialSyncConfigState,omitempty"`
  4673  	// TemplateLibraryState: The state of the template library
  4674  	TemplateLibraryState *PolicyControllerOnClusterState `json:"templateLibraryState,omitempty"`
  4675  	// ForceSendFields is a list of field names (e.g. "BundleStates") to
  4676  	// unconditionally include in API requests. By default, fields with empty or
  4677  	// default values are omitted from API requests. See
  4678  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4679  	// details.
  4680  	ForceSendFields []string `json:"-"`
  4681  	// NullFields is a list of field names (e.g. "BundleStates") to include in API
  4682  	// requests with the JSON null value. By default, fields with empty values are
  4683  	// omitted from API requests. See
  4684  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4685  	NullFields []string `json:"-"`
  4686  }
  4687  
  4688  func (s *PolicyControllerPolicyContentState) MarshalJSON() ([]byte, error) {
  4689  	type NoMethod PolicyControllerPolicyContentState
  4690  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4691  }
  4692  
  4693  // PolicyControllerPolicyControllerDeploymentConfig: Deployment-specific
  4694  // configuration.
  4695  type PolicyControllerPolicyControllerDeploymentConfig struct {
  4696  	// ContainerResources: Container resource requirements.
  4697  	ContainerResources *PolicyControllerResourceRequirements `json:"containerResources,omitempty"`
  4698  	// PodAffinity: Pod affinity configuration.
  4699  	//
  4700  	// Possible values:
  4701  	//   "AFFINITY_UNSPECIFIED" - No affinity configuration has been specified.
  4702  	//   "NO_AFFINITY" - Affinity configurations will be removed from the
  4703  	// deployment.
  4704  	//   "ANTI_AFFINITY" - Anti-affinity configuration will be applied to this
  4705  	// deployment. Default for admissions deployment.
  4706  	PodAffinity string `json:"podAffinity,omitempty"`
  4707  	// PodAntiAffinity: Pod anti-affinity enablement. Deprecated: use
  4708  	// `pod_affinity` instead.
  4709  	PodAntiAffinity bool `json:"podAntiAffinity,omitempty"`
  4710  	// PodTolerations: Pod tolerations of node taints.
  4711  	PodTolerations []*PolicyControllerToleration `json:"podTolerations,omitempty"`
  4712  	// ReplicaCount: Pod replica count.
  4713  	ReplicaCount int64 `json:"replicaCount,omitempty,string"`
  4714  	// ForceSendFields is a list of field names (e.g. "ContainerResources") to
  4715  	// unconditionally include in API requests. By default, fields with empty or
  4716  	// default values are omitted from API requests. See
  4717  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4718  	// details.
  4719  	ForceSendFields []string `json:"-"`
  4720  	// NullFields is a list of field names (e.g. "ContainerResources") to include
  4721  	// in API requests with the JSON null value. By default, fields with empty
  4722  	// values are omitted from API requests. See
  4723  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4724  	NullFields []string `json:"-"`
  4725  }
  4726  
  4727  func (s *PolicyControllerPolicyControllerDeploymentConfig) MarshalJSON() ([]byte, error) {
  4728  	type NoMethod PolicyControllerPolicyControllerDeploymentConfig
  4729  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4730  }
  4731  
  4732  // PolicyControllerResourceList: ResourceList contains container resource
  4733  // requirements.
  4734  type PolicyControllerResourceList struct {
  4735  	// Cpu: CPU requirement expressed in Kubernetes resource units.
  4736  	Cpu string `json:"cpu,omitempty"`
  4737  	// Memory: Memory requirement expressed in Kubernetes resource units.
  4738  	Memory string `json:"memory,omitempty"`
  4739  	// ForceSendFields is a list of field names (e.g. "Cpu") to unconditionally
  4740  	// include in API requests. By default, fields with empty or default values are
  4741  	// omitted from API requests. See
  4742  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4743  	// details.
  4744  	ForceSendFields []string `json:"-"`
  4745  	// NullFields is a list of field names (e.g. "Cpu") to include in API requests
  4746  	// with the JSON null value. By default, fields with empty values are omitted
  4747  	// from API requests. See
  4748  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4749  	NullFields []string `json:"-"`
  4750  }
  4751  
  4752  func (s *PolicyControllerResourceList) MarshalJSON() ([]byte, error) {
  4753  	type NoMethod PolicyControllerResourceList
  4754  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4755  }
  4756  
  4757  // PolicyControllerResourceRequirements: ResourceRequirements describes the
  4758  // compute resource requirements.
  4759  type PolicyControllerResourceRequirements struct {
  4760  	// Limits: Limits describes the maximum amount of compute resources allowed for
  4761  	// use by the running container.
  4762  	Limits *PolicyControllerResourceList `json:"limits,omitempty"`
  4763  	// Requests: Requests describes the amount of compute resources reserved for
  4764  	// the container by the kube-scheduler.
  4765  	Requests *PolicyControllerResourceList `json:"requests,omitempty"`
  4766  	// ForceSendFields is a list of field names (e.g. "Limits") to unconditionally
  4767  	// include in API requests. By default, fields with empty or default values are
  4768  	// omitted from API requests. See
  4769  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4770  	// details.
  4771  	ForceSendFields []string `json:"-"`
  4772  	// NullFields is a list of field names (e.g. "Limits") to include in API
  4773  	// requests with the JSON null value. By default, fields with empty values are
  4774  	// omitted from API requests. See
  4775  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4776  	NullFields []string `json:"-"`
  4777  }
  4778  
  4779  func (s *PolicyControllerResourceRequirements) MarshalJSON() ([]byte, error) {
  4780  	type NoMethod PolicyControllerResourceRequirements
  4781  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4782  }
  4783  
  4784  // PolicyControllerTemplateLibraryConfig: The config specifying which default
  4785  // library templates to install.
  4786  type PolicyControllerTemplateLibraryConfig struct {
  4787  	// Installation: Configures the manner in which the template library is
  4788  	// installed on the cluster.
  4789  	//
  4790  	// Possible values:
  4791  	//   "INSTALLATION_UNSPECIFIED" - No installation strategy has been specified.
  4792  	//   "NOT_INSTALLED" - Do not install the template library.
  4793  	//   "ALL" - Install the entire template library.
  4794  	Installation string `json:"installation,omitempty"`
  4795  	// ForceSendFields is a list of field names (e.g. "Installation") to
  4796  	// unconditionally include in API requests. By default, fields with empty or
  4797  	// default values are omitted from API requests. See
  4798  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4799  	// details.
  4800  	ForceSendFields []string `json:"-"`
  4801  	// NullFields is a list of field names (e.g. "Installation") to include in API
  4802  	// requests with the JSON null value. By default, fields with empty values are
  4803  	// omitted from API requests. See
  4804  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4805  	NullFields []string `json:"-"`
  4806  }
  4807  
  4808  func (s *PolicyControllerTemplateLibraryConfig) MarshalJSON() ([]byte, error) {
  4809  	type NoMethod PolicyControllerTemplateLibraryConfig
  4810  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4811  }
  4812  
  4813  // PolicyControllerToleration: Toleration of a node taint.
  4814  type PolicyControllerToleration struct {
  4815  	// Effect: Matches a taint effect.
  4816  	Effect string `json:"effect,omitempty"`
  4817  	// Key: Matches a taint key (not necessarily unique).
  4818  	Key string `json:"key,omitempty"`
  4819  	// Operator: Matches a taint operator.
  4820  	Operator string `json:"operator,omitempty"`
  4821  	// Value: Matches a taint value.
  4822  	Value string `json:"value,omitempty"`
  4823  	// ForceSendFields is a list of field names (e.g. "Effect") to unconditionally
  4824  	// include in API requests. By default, fields with empty or default values are
  4825  	// omitted from API requests. See
  4826  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4827  	// details.
  4828  	ForceSendFields []string `json:"-"`
  4829  	// NullFields is a list of field names (e.g. "Effect") to include in API
  4830  	// requests with the JSON null value. By default, fields with empty values are
  4831  	// omitted from API requests. See
  4832  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4833  	NullFields []string `json:"-"`
  4834  }
  4835  
  4836  func (s *PolicyControllerToleration) MarshalJSON() ([]byte, error) {
  4837  	type NoMethod PolicyControllerToleration
  4838  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4839  }
  4840  
  4841  // RBACRoleBinding: RBACRoleBinding represents a rbacrolebinding across the
  4842  // Fleet
  4843  type RBACRoleBinding struct {
  4844  	// CreateTime: Output only. When the rbacrolebinding was created.
  4845  	CreateTime string `json:"createTime,omitempty"`
  4846  	// DeleteTime: Output only. When the rbacrolebinding was deleted.
  4847  	DeleteTime string `json:"deleteTime,omitempty"`
  4848  	// Group: group is the group, as seen by the kubernetes cluster.
  4849  	Group string `json:"group,omitempty"`
  4850  	// Labels: Optional. Labels for this RBACRolebinding.
  4851  	Labels map[string]string `json:"labels,omitempty"`
  4852  	// Name: The resource name for the rbacrolebinding
  4853  	// `projects/{project}/locations/{location}/scopes/{scope}/rbacrolebindings/{rba
  4854  	// crolebinding}` or
  4855  	// `projects/{project}/locations/{location}/memberships/{membership}/rbacrolebin
  4856  	// dings/{rbacrolebinding}`
  4857  	Name string `json:"name,omitempty"`
  4858  	// Role: Required. Role to bind to the principal
  4859  	Role *Role `json:"role,omitempty"`
  4860  	// State: Output only. State of the rbacrolebinding resource.
  4861  	State *RBACRoleBindingLifecycleState `json:"state,omitempty"`
  4862  	// Uid: Output only. Google-generated UUID for this resource. This is unique
  4863  	// across all rbacrolebinding resources. If a rbacrolebinding resource is
  4864  	// deleted and another resource with the same name is created, it gets a
  4865  	// different uid.
  4866  	Uid string `json:"uid,omitempty"`
  4867  	// UpdateTime: Output only. When the rbacrolebinding was last updated.
  4868  	UpdateTime string `json:"updateTime,omitempty"`
  4869  	// User: user is the name of the user as seen by the kubernetes cluster,
  4870  	// example "alice" or "alice@domain.tld"
  4871  	User string `json:"user,omitempty"`
  4872  
  4873  	// ServerResponse contains the HTTP response code and headers from the server.
  4874  	googleapi.ServerResponse `json:"-"`
  4875  	// ForceSendFields is a list of field names (e.g. "CreateTime") to
  4876  	// unconditionally include in API requests. By default, fields with empty or
  4877  	// default values are omitted from API requests. See
  4878  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4879  	// details.
  4880  	ForceSendFields []string `json:"-"`
  4881  	// NullFields is a list of field names (e.g. "CreateTime") to include in API
  4882  	// requests with the JSON null value. By default, fields with empty values are
  4883  	// omitted from API requests. See
  4884  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4885  	NullFields []string `json:"-"`
  4886  }
  4887  
  4888  func (s *RBACRoleBinding) MarshalJSON() ([]byte, error) {
  4889  	type NoMethod RBACRoleBinding
  4890  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4891  }
  4892  
  4893  // RBACRoleBindingLifecycleState: RBACRoleBindingLifecycleState describes the
  4894  // state of a RbacRoleBinding resource.
  4895  type RBACRoleBindingLifecycleState struct {
  4896  	// Code: Output only. The current state of the rbacrolebinding resource.
  4897  	//
  4898  	// Possible values:
  4899  	//   "CODE_UNSPECIFIED" - The code is not set.
  4900  	//   "CREATING" - The rbacrolebinding is being created.
  4901  	//   "READY" - The rbacrolebinding active.
  4902  	//   "DELETING" - The rbacrolebinding is being deleted.
  4903  	//   "UPDATING" - The rbacrolebinding is being updated.
  4904  	Code string `json:"code,omitempty"`
  4905  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  4906  	// include in API requests. By default, fields with empty or default values are
  4907  	// omitted from API requests. See
  4908  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4909  	// details.
  4910  	ForceSendFields []string `json:"-"`
  4911  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  4912  	// with the JSON null value. By default, fields with empty values are omitted
  4913  	// from API requests. See
  4914  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4915  	NullFields []string `json:"-"`
  4916  }
  4917  
  4918  func (s *RBACRoleBindingLifecycleState) MarshalJSON() ([]byte, error) {
  4919  	type NoMethod RBACRoleBindingLifecycleState
  4920  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4921  }
  4922  
  4923  // ResourceManifest: ResourceManifest represents a single Kubernetes resource
  4924  // to be applied to the cluster.
  4925  type ResourceManifest struct {
  4926  	// ClusterScoped: Whether the resource provided in the manifest is
  4927  	// `cluster_scoped`. If unset, the manifest is assumed to be namespace scoped.
  4928  	// This field is used for REST mapping when applying the resource in a cluster.
  4929  	ClusterScoped bool `json:"clusterScoped,omitempty"`
  4930  	// Manifest: YAML manifest of the resource.
  4931  	Manifest string `json:"manifest,omitempty"`
  4932  	// ForceSendFields is a list of field names (e.g. "ClusterScoped") to
  4933  	// unconditionally include in API requests. By default, fields with empty or
  4934  	// default values are omitted from API requests. See
  4935  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4936  	// details.
  4937  	ForceSendFields []string `json:"-"`
  4938  	// NullFields is a list of field names (e.g. "ClusterScoped") to include in API
  4939  	// requests with the JSON null value. By default, fields with empty values are
  4940  	// omitted from API requests. See
  4941  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4942  	NullFields []string `json:"-"`
  4943  }
  4944  
  4945  func (s *ResourceManifest) MarshalJSON() ([]byte, error) {
  4946  	type NoMethod ResourceManifest
  4947  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4948  }
  4949  
  4950  // ResourceOptions: ResourceOptions represent options for Kubernetes resource
  4951  // generation.
  4952  type ResourceOptions struct {
  4953  	// ConnectVersion: Optional. The Connect agent version to use for
  4954  	// connect_resources. Defaults to the latest GKE Connect version. The version
  4955  	// must be a currently supported version, obsolete versions will be rejected.
  4956  	ConnectVersion string `json:"connectVersion,omitempty"`
  4957  	// K8sVersion: Optional. Major version of the Kubernetes cluster. This is only
  4958  	// used to determine which version to use for the CustomResourceDefinition
  4959  	// resources, `apiextensions/v1beta1` or`apiextensions/v1`.
  4960  	K8sVersion string `json:"k8sVersion,omitempty"`
  4961  	// V1beta1Crd: Optional. Use `apiextensions/v1beta1` instead of
  4962  	// `apiextensions/v1` for CustomResourceDefinition resources. This option
  4963  	// should be set for clusters with Kubernetes apiserver versions <1.16.
  4964  	V1beta1Crd bool `json:"v1beta1Crd,omitempty"`
  4965  	// ForceSendFields is a list of field names (e.g. "ConnectVersion") to
  4966  	// unconditionally include in API requests. By default, fields with empty or
  4967  	// default values are omitted from API requests. See
  4968  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4969  	// details.
  4970  	ForceSendFields []string `json:"-"`
  4971  	// NullFields is a list of field names (e.g. "ConnectVersion") to include in
  4972  	// API requests with the JSON null value. By default, fields with empty values
  4973  	// are omitted from API requests. See
  4974  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4975  	NullFields []string `json:"-"`
  4976  }
  4977  
  4978  func (s *ResourceOptions) MarshalJSON() ([]byte, error) {
  4979  	type NoMethod ResourceOptions
  4980  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4981  }
  4982  
  4983  // Role: Role is the type for Kubernetes roles
  4984  type Role struct {
  4985  	// PredefinedRole: predefined_role is the Kubernetes default role to use
  4986  	//
  4987  	// Possible values:
  4988  	//   "UNKNOWN" - UNKNOWN
  4989  	//   "ADMIN" - ADMIN has EDIT and RBAC permissions
  4990  	//   "EDIT" - EDIT can edit all resources except RBAC
  4991  	//   "VIEW" - VIEW can only read resources
  4992  	//   "ANTHOS_SUPPORT" - ANTHOS_SUPPORT gives Google Support read-only access to
  4993  	// a number of cluster resources.
  4994  	PredefinedRole string `json:"predefinedRole,omitempty"`
  4995  	// ForceSendFields is a list of field names (e.g. "PredefinedRole") to
  4996  	// unconditionally include in API requests. By default, fields with empty or
  4997  	// default values are omitted from API requests. See
  4998  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4999  	// details.
  5000  	ForceSendFields []string `json:"-"`
  5001  	// NullFields is a list of field names (e.g. "PredefinedRole") to include in
  5002  	// API requests with the JSON null value. By default, fields with empty values
  5003  	// are omitted from API requests. See
  5004  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5005  	NullFields []string `json:"-"`
  5006  }
  5007  
  5008  func (s *Role) MarshalJSON() ([]byte, error) {
  5009  	type NoMethod Role
  5010  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5011  }
  5012  
  5013  // Scope: Scope represents a Scope in a Fleet.
  5014  type Scope struct {
  5015  	// CreateTime: Output only. When the scope was created.
  5016  	CreateTime string `json:"createTime,omitempty"`
  5017  	// DeleteTime: Output only. When the scope was deleted.
  5018  	DeleteTime string `json:"deleteTime,omitempty"`
  5019  	// Labels: Optional. Labels for this Scope.
  5020  	Labels map[string]string `json:"labels,omitempty"`
  5021  	// Name: The resource name for the scope
  5022  	// `projects/{project}/locations/{location}/scopes/{scope}`
  5023  	Name string `json:"name,omitempty"`
  5024  	// NamespaceLabels: Optional. Scope-level cluster namespace labels. For the
  5025  	// member clusters bound to the Scope, these labels are applied to each
  5026  	// namespace under the Scope. Scope-level labels take precedence over
  5027  	// Namespace-level labels (`namespace_labels` in the Fleet Namespace resource)
  5028  	// if they share a key. Keys and values must be Kubernetes-conformant.
  5029  	NamespaceLabels map[string]string `json:"namespaceLabels,omitempty"`
  5030  	// State: Output only. State of the scope resource.
  5031  	State *ScopeLifecycleState `json:"state,omitempty"`
  5032  	// Uid: Output only. Google-generated UUID for this resource. This is unique
  5033  	// across all scope resources. If a scope resource is deleted and another
  5034  	// resource with the same name is created, it gets a different uid.
  5035  	Uid string `json:"uid,omitempty"`
  5036  	// UpdateTime: Output only. When the scope was last updated.
  5037  	UpdateTime string `json:"updateTime,omitempty"`
  5038  
  5039  	// ServerResponse contains the HTTP response code and headers from the server.
  5040  	googleapi.ServerResponse `json:"-"`
  5041  	// ForceSendFields is a list of field names (e.g. "CreateTime") to
  5042  	// unconditionally include in API requests. By default, fields with empty or
  5043  	// default values are omitted from API requests. See
  5044  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5045  	// details.
  5046  	ForceSendFields []string `json:"-"`
  5047  	// NullFields is a list of field names (e.g. "CreateTime") to include in API
  5048  	// requests with the JSON null value. By default, fields with empty values are
  5049  	// omitted from API requests. See
  5050  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5051  	NullFields []string `json:"-"`
  5052  }
  5053  
  5054  func (s *Scope) MarshalJSON() ([]byte, error) {
  5055  	type NoMethod Scope
  5056  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5057  }
  5058  
  5059  // ScopeFeatureSpec: ScopeFeatureSpec contains feature specs for a fleet scope.
  5060  type ScopeFeatureSpec struct {
  5061  }
  5062  
  5063  // ScopeFeatureState: ScopeFeatureState contains Scope-wide Feature status
  5064  // information.
  5065  type ScopeFeatureState struct {
  5066  	// State: Output only. The "running state" of the Feature in this Scope.
  5067  	State *FeatureState `json:"state,omitempty"`
  5068  	// ForceSendFields is a list of field names (e.g. "State") to unconditionally
  5069  	// include in API requests. By default, fields with empty or default values are
  5070  	// omitted from API requests. See
  5071  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5072  	// details.
  5073  	ForceSendFields []string `json:"-"`
  5074  	// NullFields is a list of field names (e.g. "State") to include in API
  5075  	// requests with the JSON null value. By default, fields with empty values are
  5076  	// omitted from API requests. See
  5077  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5078  	NullFields []string `json:"-"`
  5079  }
  5080  
  5081  func (s *ScopeFeatureState) MarshalJSON() ([]byte, error) {
  5082  	type NoMethod ScopeFeatureState
  5083  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5084  }
  5085  
  5086  // ScopeLifecycleState: ScopeLifecycleState describes the state of a Scope
  5087  // resource.
  5088  type ScopeLifecycleState struct {
  5089  	// Code: Output only. The current state of the scope resource.
  5090  	//
  5091  	// Possible values:
  5092  	//   "CODE_UNSPECIFIED" - The code is not set.
  5093  	//   "CREATING" - The scope is being created.
  5094  	//   "READY" - The scope active.
  5095  	//   "DELETING" - The scope is being deleted.
  5096  	//   "UPDATING" - The scope is being updated.
  5097  	Code string `json:"code,omitempty"`
  5098  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  5099  	// include in API requests. By default, fields with empty or default values are
  5100  	// omitted from API requests. See
  5101  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5102  	// details.
  5103  	ForceSendFields []string `json:"-"`
  5104  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  5105  	// with the JSON null value. By default, fields with empty values are omitted
  5106  	// from API requests. See
  5107  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5108  	NullFields []string `json:"-"`
  5109  }
  5110  
  5111  func (s *ScopeLifecycleState) MarshalJSON() ([]byte, error) {
  5112  	type NoMethod ScopeLifecycleState
  5113  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5114  }
  5115  
  5116  // SecurityPostureConfig: SecurityPostureConfig defines the flags needed to
  5117  // enable/disable features for the Security Posture API.
  5118  type SecurityPostureConfig struct {
  5119  	// Mode: Sets which mode to use for Security Posture features.
  5120  	//
  5121  	// Possible values:
  5122  	//   "MODE_UNSPECIFIED" - Default value not specified.
  5123  	//   "DISABLED" - Disables Security Posture features on the cluster.
  5124  	//   "BASIC" - Applies Security Posture features on the cluster.
  5125  	Mode string `json:"mode,omitempty"`
  5126  	// VulnerabilityMode: Sets which mode to use for vulnerability scanning.
  5127  	//
  5128  	// Possible values:
  5129  	//   "VULNERABILITY_MODE_UNSPECIFIED" - Default value not specified.
  5130  	//   "VULNERABILITY_DISABLED" - Disables vulnerability scanning on the cluster.
  5131  	//   "VULNERABILITY_BASIC" - Applies basic vulnerability scanning on the
  5132  	// cluster.
  5133  	//   "VULNERABILITY_ENTERPRISE" - Applies the Security Posture's vulnerability
  5134  	// on cluster Enterprise level features.
  5135  	VulnerabilityMode string `json:"vulnerabilityMode,omitempty"`
  5136  	// ForceSendFields is a list of field names (e.g. "Mode") to unconditionally
  5137  	// include in API requests. By default, fields with empty or default values are
  5138  	// omitted from API requests. See
  5139  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5140  	// details.
  5141  	ForceSendFields []string `json:"-"`
  5142  	// NullFields is a list of field names (e.g. "Mode") to include in API requests
  5143  	// with the JSON null value. By default, fields with empty values are omitted
  5144  	// from API requests. See
  5145  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5146  	NullFields []string `json:"-"`
  5147  }
  5148  
  5149  func (s *SecurityPostureConfig) MarshalJSON() ([]byte, error) {
  5150  	type NoMethod SecurityPostureConfig
  5151  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5152  }
  5153  
  5154  // ServiceMeshCondition: Condition being reported.
  5155  type ServiceMeshCondition struct {
  5156  	// Code: Unique identifier of the condition which describes the condition
  5157  	// recognizable to the user.
  5158  	//
  5159  	// Possible values:
  5160  	//   "CODE_UNSPECIFIED" - Default Unspecified code
  5161  	//   "MESH_IAM_PERMISSION_DENIED" - Mesh IAM permission denied error code
  5162  	//   "CNI_CONFIG_UNSUPPORTED" - CNI config unsupported error code
  5163  	//   "GKE_SANDBOX_UNSUPPORTED" - GKE sandbox unsupported error code
  5164  	//   "NODEPOOL_WORKLOAD_IDENTITY_FEDERATION_REQUIRED" - Nodepool workload
  5165  	// identity federation required error code
  5166  	//   "CNI_INSTALLATION_FAILED" - CNI installation failed error code
  5167  	//   "CNI_POD_UNSCHEDULABLE" - CNI pod unschedulable error code
  5168  	//   "UNSUPPORTED_MULTIPLE_CONTROL_PLANES" - Multiple control planes
  5169  	// unsupported error code
  5170  	//   "VPCSC_GA_SUPPORTED" - VPC-SC GA is supported for this control plane.
  5171  	//   "CONFIG_APPLY_INTERNAL_ERROR" - Configuration (Istio/k8s resources) failed
  5172  	// to apply due to internal error.
  5173  	//   "CONFIG_VALIDATION_ERROR" - Configuration failed to be applied due to
  5174  	// being invalid.
  5175  	//   "CONFIG_VALIDATION_WARNING" - Encountered configuration(s) with possible
  5176  	// unintended behavior or invalid configuration. These configs may not have
  5177  	// been applied.
  5178  	//   "QUOTA_EXCEEDED_BACKEND_SERVICES" - BackendService quota exceeded error
  5179  	// code.
  5180  	//   "QUOTA_EXCEEDED_HEALTH_CHECKS" - HealthCheck quota exceeded error code.
  5181  	//   "QUOTA_EXCEEDED_HTTP_ROUTES" - HTTPRoute quota exceeded error code.
  5182  	//   "QUOTA_EXCEEDED_TCP_ROUTES" - TCPRoute quota exceeded error code.
  5183  	//   "QUOTA_EXCEEDED_TLS_ROUTES" - TLS routes quota exceeded error code.
  5184  	//   "QUOTA_EXCEEDED_TRAFFIC_POLICIES" - TrafficPolicy quota exceeded error
  5185  	// code.
  5186  	//   "QUOTA_EXCEEDED_ENDPOINT_POLICIES" - EndpointPolicy quota exceeded error
  5187  	// code.
  5188  	//   "QUOTA_EXCEEDED_GATEWAYS" - Gateway quota exceeded error code.
  5189  	//   "QUOTA_EXCEEDED_MESHES" - Mesh quota exceeded error code.
  5190  	//   "QUOTA_EXCEEDED_SERVER_TLS_POLICIES" - ServerTLSPolicy quota exceeded
  5191  	// error code.
  5192  	//   "QUOTA_EXCEEDED_CLIENT_TLS_POLICIES" - ClientTLSPolicy quota exceeded
  5193  	// error code.
  5194  	//   "QUOTA_EXCEEDED_SERVICE_LB_POLICIES" - ServiceLBPolicy quota exceeded
  5195  	// error code.
  5196  	//   "QUOTA_EXCEEDED_HTTP_FILTERS" - HTTPFilter quota exceeded error code.
  5197  	//   "QUOTA_EXCEEDED_TCP_FILTERS" - TCPFilter quota exceeded error code.
  5198  	//   "QUOTA_EXCEEDED_NETWORK_ENDPOINT_GROUPS" - NetworkEndpointGroup quota
  5199  	// exceeded error code.
  5200  	Code string `json:"code,omitempty"`
  5201  	// Details: A short summary about the issue.
  5202  	Details string `json:"details,omitempty"`
  5203  	// DocumentationLink: Links contains actionable information.
  5204  	DocumentationLink string `json:"documentationLink,omitempty"`
  5205  	// Severity: Severity level of the condition.
  5206  	//
  5207  	// Possible values:
  5208  	//   "SEVERITY_UNSPECIFIED" - Unspecified severity
  5209  	//   "ERROR" - Indicates an issue that prevents the mesh from operating
  5210  	// correctly
  5211  	//   "WARNING" - Indicates a setting is likely wrong, but the mesh is still
  5212  	// able to operate
  5213  	//   "INFO" - An informational message, not requiring any action
  5214  	Severity string `json:"severity,omitempty"`
  5215  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  5216  	// include in API requests. By default, fields with empty or default values are
  5217  	// omitted from API requests. See
  5218  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5219  	// details.
  5220  	ForceSendFields []string `json:"-"`
  5221  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  5222  	// with the JSON null value. By default, fields with empty values are omitted
  5223  	// from API requests. See
  5224  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5225  	NullFields []string `json:"-"`
  5226  }
  5227  
  5228  func (s *ServiceMeshCondition) MarshalJSON() ([]byte, error) {
  5229  	type NoMethod ServiceMeshCondition
  5230  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5231  }
  5232  
  5233  // ServiceMeshControlPlaneManagement: Status of control plane management.
  5234  type ServiceMeshControlPlaneManagement struct {
  5235  	// Details: Explanation of state.
  5236  	Details []*ServiceMeshStatusDetails `json:"details,omitempty"`
  5237  	// Implementation: Output only. Implementation of managed control plane.
  5238  	//
  5239  	// Possible values:
  5240  	//   "IMPLEMENTATION_UNSPECIFIED" - Unspecified
  5241  	//   "ISTIOD" - A Google build of istiod is used for the managed control plane.
  5242  	//   "TRAFFIC_DIRECTOR" - Traffic director is used for the managed control
  5243  	// plane.
  5244  	//   "UPDATING" - The control plane implementation is being updated.
  5245  	Implementation string `json:"implementation,omitempty"`
  5246  	// State: LifecycleState of control plane management.
  5247  	//
  5248  	// Possible values:
  5249  	//   "LIFECYCLE_STATE_UNSPECIFIED" - Unspecified
  5250  	//   "DISABLED" - DISABLED means that the component is not enabled.
  5251  	//   "FAILED_PRECONDITION" - FAILED_PRECONDITION means that provisioning cannot
  5252  	// proceed because of some characteristic of the member cluster.
  5253  	//   "PROVISIONING" - PROVISIONING means that provisioning is in progress.
  5254  	//   "ACTIVE" - ACTIVE means that the component is ready for use.
  5255  	//   "STALLED" - STALLED means that provisioning could not be done.
  5256  	//   "NEEDS_ATTENTION" - NEEDS_ATTENTION means that the component is ready, but
  5257  	// some user intervention is required. (For example that the user should
  5258  	// migrate workloads to a new control plane revision.)
  5259  	//   "DEGRADED" - DEGRADED means that the component is ready, but operating in
  5260  	// a degraded state.
  5261  	State string `json:"state,omitempty"`
  5262  	// ForceSendFields is a list of field names (e.g. "Details") to unconditionally
  5263  	// include in API requests. By default, fields with empty or default values are
  5264  	// omitted from API requests. See
  5265  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5266  	// details.
  5267  	ForceSendFields []string `json:"-"`
  5268  	// NullFields is a list of field names (e.g. "Details") to include in API
  5269  	// requests with the JSON null value. By default, fields with empty values are
  5270  	// omitted from API requests. See
  5271  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5272  	NullFields []string `json:"-"`
  5273  }
  5274  
  5275  func (s *ServiceMeshControlPlaneManagement) MarshalJSON() ([]byte, error) {
  5276  	type NoMethod ServiceMeshControlPlaneManagement
  5277  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5278  }
  5279  
  5280  // ServiceMeshDataPlaneManagement: Status of data plane management. Only
  5281  // reported per-member.
  5282  type ServiceMeshDataPlaneManagement struct {
  5283  	// Details: Explanation of the status.
  5284  	Details []*ServiceMeshStatusDetails `json:"details,omitempty"`
  5285  	// State: Lifecycle status of data plane management.
  5286  	//
  5287  	// Possible values:
  5288  	//   "LIFECYCLE_STATE_UNSPECIFIED" - Unspecified
  5289  	//   "DISABLED" - DISABLED means that the component is not enabled.
  5290  	//   "FAILED_PRECONDITION" - FAILED_PRECONDITION means that provisioning cannot
  5291  	// proceed because of some characteristic of the member cluster.
  5292  	//   "PROVISIONING" - PROVISIONING means that provisioning is in progress.
  5293  	//   "ACTIVE" - ACTIVE means that the component is ready for use.
  5294  	//   "STALLED" - STALLED means that provisioning could not be done.
  5295  	//   "NEEDS_ATTENTION" - NEEDS_ATTENTION means that the component is ready, but
  5296  	// some user intervention is required. (For example that the user should
  5297  	// migrate workloads to a new control plane revision.)
  5298  	//   "DEGRADED" - DEGRADED means that the component is ready, but operating in
  5299  	// a degraded state.
  5300  	State string `json:"state,omitempty"`
  5301  	// ForceSendFields is a list of field names (e.g. "Details") to unconditionally
  5302  	// include in API requests. By default, fields with empty or default values are
  5303  	// omitted from API requests. See
  5304  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5305  	// details.
  5306  	ForceSendFields []string `json:"-"`
  5307  	// NullFields is a list of field names (e.g. "Details") to include in API
  5308  	// requests with the JSON null value. By default, fields with empty values are
  5309  	// omitted from API requests. See
  5310  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5311  	NullFields []string `json:"-"`
  5312  }
  5313  
  5314  func (s *ServiceMeshDataPlaneManagement) MarshalJSON() ([]byte, error) {
  5315  	type NoMethod ServiceMeshDataPlaneManagement
  5316  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5317  }
  5318  
  5319  // ServiceMeshMembershipSpec: **Service Mesh**: Spec for a single Membership
  5320  // for the servicemesh feature
  5321  type ServiceMeshMembershipSpec struct {
  5322  	// ControlPlane: Deprecated: use `management` instead Enables automatic control
  5323  	// plane management.
  5324  	//
  5325  	// Possible values:
  5326  	//   "CONTROL_PLANE_MANAGEMENT_UNSPECIFIED" - Unspecified
  5327  	//   "AUTOMATIC" - Google should provision a control plane revision and make it
  5328  	// available in the cluster. Google will enroll this revision in a release
  5329  	// channel and keep it up to date. The control plane revision may be a managed
  5330  	// service, or a managed install.
  5331  	//   "MANUAL" - User will manually configure the control plane (e.g. via CLI,
  5332  	// or via the ControlPlaneRevision KRM API)
  5333  	ControlPlane string `json:"controlPlane,omitempty"`
  5334  	// Management: Enables automatic Service Mesh management.
  5335  	//
  5336  	// Possible values:
  5337  	//   "MANAGEMENT_UNSPECIFIED" - Unspecified
  5338  	//   "MANAGEMENT_AUTOMATIC" - Google should manage my Service Mesh for the
  5339  	// cluster.
  5340  	//   "MANAGEMENT_MANUAL" - User will manually configure their service mesh
  5341  	// components.
  5342  	Management string `json:"management,omitempty"`
  5343  	// ForceSendFields is a list of field names (e.g. "ControlPlane") to
  5344  	// unconditionally include in API requests. By default, fields with empty or
  5345  	// default values are omitted from API requests. See
  5346  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5347  	// details.
  5348  	ForceSendFields []string `json:"-"`
  5349  	// NullFields is a list of field names (e.g. "ControlPlane") to include in API
  5350  	// requests with the JSON null value. By default, fields with empty values are
  5351  	// omitted from API requests. See
  5352  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5353  	NullFields []string `json:"-"`
  5354  }
  5355  
  5356  func (s *ServiceMeshMembershipSpec) MarshalJSON() ([]byte, error) {
  5357  	type NoMethod ServiceMeshMembershipSpec
  5358  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5359  }
  5360  
  5361  // ServiceMeshMembershipState: **Service Mesh**: State for a single Membership,
  5362  // as analyzed by the Service Mesh Hub Controller.
  5363  type ServiceMeshMembershipState struct {
  5364  	// Conditions: Output only. List of conditions reported for this membership.
  5365  	Conditions []*ServiceMeshCondition `json:"conditions,omitempty"`
  5366  	// ControlPlaneManagement: Output only. Status of control plane management
  5367  	ControlPlaneManagement *ServiceMeshControlPlaneManagement `json:"controlPlaneManagement,omitempty"`
  5368  	// DataPlaneManagement: Output only. Status of data plane management.
  5369  	DataPlaneManagement *ServiceMeshDataPlaneManagement `json:"dataPlaneManagement,omitempty"`
  5370  	// ForceSendFields is a list of field names (e.g. "Conditions") to
  5371  	// unconditionally include in API requests. By default, fields with empty or
  5372  	// default values are omitted from API requests. See
  5373  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5374  	// details.
  5375  	ForceSendFields []string `json:"-"`
  5376  	// NullFields is a list of field names (e.g. "Conditions") to include in API
  5377  	// requests with the JSON null value. By default, fields with empty values are
  5378  	// omitted from API requests. See
  5379  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5380  	NullFields []string `json:"-"`
  5381  }
  5382  
  5383  func (s *ServiceMeshMembershipState) MarshalJSON() ([]byte, error) {
  5384  	type NoMethod ServiceMeshMembershipState
  5385  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5386  }
  5387  
  5388  // ServiceMeshStatusDetails: Structured and human-readable details for a
  5389  // status.
  5390  type ServiceMeshStatusDetails struct {
  5391  	// Code: A machine-readable code that further describes a broad status.
  5392  	Code string `json:"code,omitempty"`
  5393  	// Details: Human-readable explanation of code.
  5394  	Details string `json:"details,omitempty"`
  5395  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  5396  	// include in API requests. By default, fields with empty or default values are
  5397  	// omitted from API requests. See
  5398  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5399  	// details.
  5400  	ForceSendFields []string `json:"-"`
  5401  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  5402  	// with the JSON null value. By default, fields with empty values are omitted
  5403  	// from API requests. See
  5404  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5405  	NullFields []string `json:"-"`
  5406  }
  5407  
  5408  func (s *ServiceMeshStatusDetails) MarshalJSON() ([]byte, error) {
  5409  	type NoMethod ServiceMeshStatusDetails
  5410  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5411  }
  5412  
  5413  // SetIamPolicyRequest: Request message for `SetIamPolicy` method.
  5414  type SetIamPolicyRequest struct {
  5415  	// Policy: REQUIRED: The complete policy to be applied to the `resource`. The
  5416  	// size of the policy is limited to a few 10s of KB. An empty policy is a valid
  5417  	// policy but certain Google Cloud services (such as Projects) might reject
  5418  	// them.
  5419  	Policy *Policy `json:"policy,omitempty"`
  5420  	// UpdateMask: OPTIONAL: A FieldMask specifying which fields of the policy to
  5421  	// modify. Only the fields in the mask will be modified. If no mask is
  5422  	// provided, the following default mask is used: `paths: "bindings, etag"
  5423  	UpdateMask string `json:"updateMask,omitempty"`
  5424  	// ForceSendFields is a list of field names (e.g. "Policy") to unconditionally
  5425  	// include in API requests. By default, fields with empty or default values are
  5426  	// omitted from API requests. See
  5427  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5428  	// details.
  5429  	ForceSendFields []string `json:"-"`
  5430  	// NullFields is a list of field names (e.g. "Policy") to include in API
  5431  	// requests with the JSON null value. By default, fields with empty values are
  5432  	// omitted from API requests. See
  5433  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5434  	NullFields []string `json:"-"`
  5435  }
  5436  
  5437  func (s *SetIamPolicyRequest) MarshalJSON() ([]byte, error) {
  5438  	type NoMethod SetIamPolicyRequest
  5439  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5440  }
  5441  
  5442  // Status: Status specifies state for the subcomponent.
  5443  type Status struct {
  5444  	// Code: Code specifies AppDevExperienceFeature's subcomponent ready state.
  5445  	//
  5446  	// Possible values:
  5447  	//   "CODE_UNSPECIFIED" - Not set.
  5448  	//   "OK" - AppDevExperienceFeature's specified subcomponent is ready.
  5449  	//   "FAILED" - AppDevExperienceFeature's specified subcomponent ready state is
  5450  	// false. This means AppDevExperienceFeature has encountered an issue that
  5451  	// blocks all, or a portion, of its normal operation. See the `description` for
  5452  	// more details.
  5453  	//   "UNKNOWN" - AppDevExperienceFeature's specified subcomponent has a pending
  5454  	// or unknown state.
  5455  	Code string `json:"code,omitempty"`
  5456  	// Description: Description is populated if Code is Failed, explaining why it
  5457  	// has failed.
  5458  	Description string `json:"description,omitempty"`
  5459  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  5460  	// include in API requests. By default, fields with empty or default values are
  5461  	// omitted from API requests. See
  5462  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5463  	// details.
  5464  	ForceSendFields []string `json:"-"`
  5465  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  5466  	// with the JSON null value. By default, fields with empty values are omitted
  5467  	// from API requests. See
  5468  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5469  	NullFields []string `json:"-"`
  5470  }
  5471  
  5472  func (s *Status) MarshalJSON() ([]byte, error) {
  5473  	type NoMethod Status
  5474  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5475  }
  5476  
  5477  // TestIamPermissionsRequest: Request message for `TestIamPermissions` method.
  5478  type TestIamPermissionsRequest struct {
  5479  	// Permissions: The set of permissions to check for the `resource`. Permissions
  5480  	// with wildcards (such as `*` or `storage.*`) are not allowed. For more
  5481  	// information see IAM Overview
  5482  	// (https://cloud.google.com/iam/docs/overview#permissions).
  5483  	Permissions []string `json:"permissions,omitempty"`
  5484  	// ForceSendFields is a list of field names (e.g. "Permissions") to
  5485  	// unconditionally include in API requests. By default, fields with empty or
  5486  	// default values are omitted from API requests. See
  5487  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5488  	// details.
  5489  	ForceSendFields []string `json:"-"`
  5490  	// NullFields is a list of field names (e.g. "Permissions") to include in API
  5491  	// requests with the JSON null value. By default, fields with empty values are
  5492  	// omitted from API requests. See
  5493  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5494  	NullFields []string `json:"-"`
  5495  }
  5496  
  5497  func (s *TestIamPermissionsRequest) MarshalJSON() ([]byte, error) {
  5498  	type NoMethod TestIamPermissionsRequest
  5499  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5500  }
  5501  
  5502  // TestIamPermissionsResponse: Response message for `TestIamPermissions`
  5503  // method.
  5504  type TestIamPermissionsResponse struct {
  5505  	// Permissions: A subset of `TestPermissionsRequest.permissions` that the
  5506  	// caller is allowed.
  5507  	Permissions []string `json:"permissions,omitempty"`
  5508  
  5509  	// ServerResponse contains the HTTP response code and headers from the server.
  5510  	googleapi.ServerResponse `json:"-"`
  5511  	// ForceSendFields is a list of field names (e.g. "Permissions") to
  5512  	// unconditionally include in API requests. By default, fields with empty or
  5513  	// default values are omitted from API requests. See
  5514  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5515  	// details.
  5516  	ForceSendFields []string `json:"-"`
  5517  	// NullFields is a list of field names (e.g. "Permissions") to include in API
  5518  	// requests with the JSON null value. By default, fields with empty values are
  5519  	// omitted from API requests. See
  5520  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5521  	NullFields []string `json:"-"`
  5522  }
  5523  
  5524  func (s *TestIamPermissionsResponse) MarshalJSON() ([]byte, error) {
  5525  	type NoMethod TestIamPermissionsResponse
  5526  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5527  }
  5528  
  5529  // TypeMeta: TypeMeta is the type information needed for content unmarshalling
  5530  // of Kubernetes resources in the manifest.
  5531  type TypeMeta struct {
  5532  	// ApiVersion: APIVersion of the resource (e.g. v1).
  5533  	ApiVersion string `json:"apiVersion,omitempty"`
  5534  	// Kind: Kind of the resource (e.g. Deployment).
  5535  	Kind string `json:"kind,omitempty"`
  5536  	// ForceSendFields is a list of field names (e.g. "ApiVersion") to
  5537  	// unconditionally include in API requests. By default, fields with empty or
  5538  	// default values are omitted from API requests. See
  5539  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5540  	// details.
  5541  	ForceSendFields []string `json:"-"`
  5542  	// NullFields is a list of field names (e.g. "ApiVersion") to include in API
  5543  	// requests with the JSON null value. By default, fields with empty values are
  5544  	// omitted from API requests. See
  5545  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5546  	NullFields []string `json:"-"`
  5547  }
  5548  
  5549  func (s *TypeMeta) MarshalJSON() ([]byte, error) {
  5550  	type NoMethod TypeMeta
  5551  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5552  }
  5553  
  5554  type OrganizationsLocationsFleetsListCall struct {
  5555  	s            *Service
  5556  	parent       string
  5557  	urlParams_   gensupport.URLParams
  5558  	ifNoneMatch_ string
  5559  	ctx_         context.Context
  5560  	header_      http.Header
  5561  }
  5562  
  5563  // List: Returns all fleets within an organization or a project that the caller
  5564  // has access to.
  5565  //
  5566  //   - parent: The organization or project to list for Fleets under, in the
  5567  //     format `organizations/*/locations/*` or `projects/*/locations/*`.
  5568  func (r *OrganizationsLocationsFleetsService) List(parent string) *OrganizationsLocationsFleetsListCall {
  5569  	c := &OrganizationsLocationsFleetsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5570  	c.parent = parent
  5571  	return c
  5572  }
  5573  
  5574  // PageSize sets the optional parameter "pageSize": The maximum number of
  5575  // fleets to return. The service may return fewer than this value. If
  5576  // unspecified, at most 200 fleets will be returned. The maximum value is 1000;
  5577  // values above 1000 will be coerced to 1000.
  5578  func (c *OrganizationsLocationsFleetsListCall) PageSize(pageSize int64) *OrganizationsLocationsFleetsListCall {
  5579  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  5580  	return c
  5581  }
  5582  
  5583  // PageToken sets the optional parameter "pageToken": A page token, received
  5584  // from a previous `ListFleets` call. Provide this to retrieve the subsequent
  5585  // page. When paginating, all other parameters provided to `ListFleets` must
  5586  // match the call that provided the page token.
  5587  func (c *OrganizationsLocationsFleetsListCall) PageToken(pageToken string) *OrganizationsLocationsFleetsListCall {
  5588  	c.urlParams_.Set("pageToken", pageToken)
  5589  	return c
  5590  }
  5591  
  5592  // Fields allows partial responses to be retrieved. See
  5593  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5594  // details.
  5595  func (c *OrganizationsLocationsFleetsListCall) Fields(s ...googleapi.Field) *OrganizationsLocationsFleetsListCall {
  5596  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5597  	return c
  5598  }
  5599  
  5600  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5601  // object's ETag matches the given value. This is useful for getting updates
  5602  // only after the object has changed since the last request.
  5603  func (c *OrganizationsLocationsFleetsListCall) IfNoneMatch(entityTag string) *OrganizationsLocationsFleetsListCall {
  5604  	c.ifNoneMatch_ = entityTag
  5605  	return c
  5606  }
  5607  
  5608  // Context sets the context to be used in this call's Do method.
  5609  func (c *OrganizationsLocationsFleetsListCall) Context(ctx context.Context) *OrganizationsLocationsFleetsListCall {
  5610  	c.ctx_ = ctx
  5611  	return c
  5612  }
  5613  
  5614  // Header returns a http.Header that can be modified by the caller to add
  5615  // headers to the request.
  5616  func (c *OrganizationsLocationsFleetsListCall) Header() http.Header {
  5617  	if c.header_ == nil {
  5618  		c.header_ = make(http.Header)
  5619  	}
  5620  	return c.header_
  5621  }
  5622  
  5623  func (c *OrganizationsLocationsFleetsListCall) doRequest(alt string) (*http.Response, error) {
  5624  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5625  	if c.ifNoneMatch_ != "" {
  5626  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5627  	}
  5628  	var body io.Reader = nil
  5629  	c.urlParams_.Set("alt", alt)
  5630  	c.urlParams_.Set("prettyPrint", "false")
  5631  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/fleets")
  5632  	urls += "?" + c.urlParams_.Encode()
  5633  	req, err := http.NewRequest("GET", urls, body)
  5634  	if err != nil {
  5635  		return nil, err
  5636  	}
  5637  	req.Header = reqHeaders
  5638  	googleapi.Expand(req.URL, map[string]string{
  5639  		"parent": c.parent,
  5640  	})
  5641  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5642  }
  5643  
  5644  // Do executes the "gkehub.organizations.locations.fleets.list" call.
  5645  // Any non-2xx status code is an error. Response headers are in either
  5646  // *ListFleetsResponse.ServerResponse.Header or (if a response was returned at
  5647  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  5648  // check whether the returned error was because http.StatusNotModified was
  5649  // returned.
  5650  func (c *OrganizationsLocationsFleetsListCall) Do(opts ...googleapi.CallOption) (*ListFleetsResponse, error) {
  5651  	gensupport.SetOptions(c.urlParams_, opts...)
  5652  	res, err := c.doRequest("json")
  5653  	if res != nil && res.StatusCode == http.StatusNotModified {
  5654  		if res.Body != nil {
  5655  			res.Body.Close()
  5656  		}
  5657  		return nil, gensupport.WrapError(&googleapi.Error{
  5658  			Code:   res.StatusCode,
  5659  			Header: res.Header,
  5660  		})
  5661  	}
  5662  	if err != nil {
  5663  		return nil, err
  5664  	}
  5665  	defer googleapi.CloseBody(res)
  5666  	if err := googleapi.CheckResponse(res); err != nil {
  5667  		return nil, gensupport.WrapError(err)
  5668  	}
  5669  	ret := &ListFleetsResponse{
  5670  		ServerResponse: googleapi.ServerResponse{
  5671  			Header:         res.Header,
  5672  			HTTPStatusCode: res.StatusCode,
  5673  		},
  5674  	}
  5675  	target := &ret
  5676  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5677  		return nil, err
  5678  	}
  5679  	return ret, nil
  5680  }
  5681  
  5682  // Pages invokes f for each page of results.
  5683  // A non-nil error returned from f will halt the iteration.
  5684  // The provided context supersedes any context provided to the Context method.
  5685  func (c *OrganizationsLocationsFleetsListCall) Pages(ctx context.Context, f func(*ListFleetsResponse) error) error {
  5686  	c.ctx_ = ctx
  5687  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  5688  	for {
  5689  		x, err := c.Do()
  5690  		if err != nil {
  5691  			return err
  5692  		}
  5693  		if err := f(x); err != nil {
  5694  			return err
  5695  		}
  5696  		if x.NextPageToken == "" {
  5697  			return nil
  5698  		}
  5699  		c.PageToken(x.NextPageToken)
  5700  	}
  5701  }
  5702  
  5703  type ProjectsLocationsGetCall struct {
  5704  	s            *Service
  5705  	name         string
  5706  	urlParams_   gensupport.URLParams
  5707  	ifNoneMatch_ string
  5708  	ctx_         context.Context
  5709  	header_      http.Header
  5710  }
  5711  
  5712  // Get: Gets information about a location.
  5713  //
  5714  // - name: Resource name for the location.
  5715  func (r *ProjectsLocationsService) Get(name string) *ProjectsLocationsGetCall {
  5716  	c := &ProjectsLocationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5717  	c.name = name
  5718  	return c
  5719  }
  5720  
  5721  // Fields allows partial responses to be retrieved. See
  5722  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5723  // details.
  5724  func (c *ProjectsLocationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsGetCall {
  5725  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5726  	return c
  5727  }
  5728  
  5729  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5730  // object's ETag matches the given value. This is useful for getting updates
  5731  // only after the object has changed since the last request.
  5732  func (c *ProjectsLocationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsGetCall {
  5733  	c.ifNoneMatch_ = entityTag
  5734  	return c
  5735  }
  5736  
  5737  // Context sets the context to be used in this call's Do method.
  5738  func (c *ProjectsLocationsGetCall) Context(ctx context.Context) *ProjectsLocationsGetCall {
  5739  	c.ctx_ = ctx
  5740  	return c
  5741  }
  5742  
  5743  // Header returns a http.Header that can be modified by the caller to add
  5744  // headers to the request.
  5745  func (c *ProjectsLocationsGetCall) Header() http.Header {
  5746  	if c.header_ == nil {
  5747  		c.header_ = make(http.Header)
  5748  	}
  5749  	return c.header_
  5750  }
  5751  
  5752  func (c *ProjectsLocationsGetCall) doRequest(alt string) (*http.Response, error) {
  5753  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5754  	if c.ifNoneMatch_ != "" {
  5755  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5756  	}
  5757  	var body io.Reader = nil
  5758  	c.urlParams_.Set("alt", alt)
  5759  	c.urlParams_.Set("prettyPrint", "false")
  5760  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  5761  	urls += "?" + c.urlParams_.Encode()
  5762  	req, err := http.NewRequest("GET", urls, body)
  5763  	if err != nil {
  5764  		return nil, err
  5765  	}
  5766  	req.Header = reqHeaders
  5767  	googleapi.Expand(req.URL, map[string]string{
  5768  		"name": c.name,
  5769  	})
  5770  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5771  }
  5772  
  5773  // Do executes the "gkehub.projects.locations.get" call.
  5774  // Any non-2xx status code is an error. Response headers are in either
  5775  // *Location.ServerResponse.Header or (if a response was returned at all) in
  5776  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5777  // whether the returned error was because http.StatusNotModified was returned.
  5778  func (c *ProjectsLocationsGetCall) Do(opts ...googleapi.CallOption) (*Location, error) {
  5779  	gensupport.SetOptions(c.urlParams_, opts...)
  5780  	res, err := c.doRequest("json")
  5781  	if res != nil && res.StatusCode == http.StatusNotModified {
  5782  		if res.Body != nil {
  5783  			res.Body.Close()
  5784  		}
  5785  		return nil, gensupport.WrapError(&googleapi.Error{
  5786  			Code:   res.StatusCode,
  5787  			Header: res.Header,
  5788  		})
  5789  	}
  5790  	if err != nil {
  5791  		return nil, err
  5792  	}
  5793  	defer googleapi.CloseBody(res)
  5794  	if err := googleapi.CheckResponse(res); err != nil {
  5795  		return nil, gensupport.WrapError(err)
  5796  	}
  5797  	ret := &Location{
  5798  		ServerResponse: googleapi.ServerResponse{
  5799  			Header:         res.Header,
  5800  			HTTPStatusCode: res.StatusCode,
  5801  		},
  5802  	}
  5803  	target := &ret
  5804  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5805  		return nil, err
  5806  	}
  5807  	return ret, nil
  5808  }
  5809  
  5810  type ProjectsLocationsListCall struct {
  5811  	s            *Service
  5812  	name         string
  5813  	urlParams_   gensupport.URLParams
  5814  	ifNoneMatch_ string
  5815  	ctx_         context.Context
  5816  	header_      http.Header
  5817  }
  5818  
  5819  // List: Lists information about the supported locations for this service.
  5820  //
  5821  // - name: The resource that owns the locations collection, if applicable.
  5822  func (r *ProjectsLocationsService) List(name string) *ProjectsLocationsListCall {
  5823  	c := &ProjectsLocationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5824  	c.name = name
  5825  	return c
  5826  }
  5827  
  5828  // Filter sets the optional parameter "filter": A filter to narrow down results
  5829  // to a preferred subset. The filtering language accepts strings like
  5830  // "displayName=tokyo", and is documented in more detail in AIP-160
  5831  // (https://google.aip.dev/160).
  5832  func (c *ProjectsLocationsListCall) Filter(filter string) *ProjectsLocationsListCall {
  5833  	c.urlParams_.Set("filter", filter)
  5834  	return c
  5835  }
  5836  
  5837  // PageSize sets the optional parameter "pageSize": The maximum number of
  5838  // results to return. If not set, the service selects a default.
  5839  func (c *ProjectsLocationsListCall) PageSize(pageSize int64) *ProjectsLocationsListCall {
  5840  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  5841  	return c
  5842  }
  5843  
  5844  // PageToken sets the optional parameter "pageToken": A page token received
  5845  // from the `next_page_token` field in the response. Send that page token to
  5846  // receive the subsequent page.
  5847  func (c *ProjectsLocationsListCall) PageToken(pageToken string) *ProjectsLocationsListCall {
  5848  	c.urlParams_.Set("pageToken", pageToken)
  5849  	return c
  5850  }
  5851  
  5852  // Fields allows partial responses to be retrieved. See
  5853  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5854  // details.
  5855  func (c *ProjectsLocationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsListCall {
  5856  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5857  	return c
  5858  }
  5859  
  5860  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5861  // object's ETag matches the given value. This is useful for getting updates
  5862  // only after the object has changed since the last request.
  5863  func (c *ProjectsLocationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsListCall {
  5864  	c.ifNoneMatch_ = entityTag
  5865  	return c
  5866  }
  5867  
  5868  // Context sets the context to be used in this call's Do method.
  5869  func (c *ProjectsLocationsListCall) Context(ctx context.Context) *ProjectsLocationsListCall {
  5870  	c.ctx_ = ctx
  5871  	return c
  5872  }
  5873  
  5874  // Header returns a http.Header that can be modified by the caller to add
  5875  // headers to the request.
  5876  func (c *ProjectsLocationsListCall) Header() http.Header {
  5877  	if c.header_ == nil {
  5878  		c.header_ = make(http.Header)
  5879  	}
  5880  	return c.header_
  5881  }
  5882  
  5883  func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
  5884  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5885  	if c.ifNoneMatch_ != "" {
  5886  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5887  	}
  5888  	var body io.Reader = nil
  5889  	c.urlParams_.Set("alt", alt)
  5890  	c.urlParams_.Set("prettyPrint", "false")
  5891  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/locations")
  5892  	urls += "?" + c.urlParams_.Encode()
  5893  	req, err := http.NewRequest("GET", urls, body)
  5894  	if err != nil {
  5895  		return nil, err
  5896  	}
  5897  	req.Header = reqHeaders
  5898  	googleapi.Expand(req.URL, map[string]string{
  5899  		"name": c.name,
  5900  	})
  5901  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5902  }
  5903  
  5904  // Do executes the "gkehub.projects.locations.list" call.
  5905  // Any non-2xx status code is an error. Response headers are in either
  5906  // *ListLocationsResponse.ServerResponse.Header or (if a response was returned
  5907  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  5908  // check whether the returned error was because http.StatusNotModified was
  5909  // returned.
  5910  func (c *ProjectsLocationsListCall) Do(opts ...googleapi.CallOption) (*ListLocationsResponse, error) {
  5911  	gensupport.SetOptions(c.urlParams_, opts...)
  5912  	res, err := c.doRequest("json")
  5913  	if res != nil && res.StatusCode == http.StatusNotModified {
  5914  		if res.Body != nil {
  5915  			res.Body.Close()
  5916  		}
  5917  		return nil, gensupport.WrapError(&googleapi.Error{
  5918  			Code:   res.StatusCode,
  5919  			Header: res.Header,
  5920  		})
  5921  	}
  5922  	if err != nil {
  5923  		return nil, err
  5924  	}
  5925  	defer googleapi.CloseBody(res)
  5926  	if err := googleapi.CheckResponse(res); err != nil {
  5927  		return nil, gensupport.WrapError(err)
  5928  	}
  5929  	ret := &ListLocationsResponse{
  5930  		ServerResponse: googleapi.ServerResponse{
  5931  			Header:         res.Header,
  5932  			HTTPStatusCode: res.StatusCode,
  5933  		},
  5934  	}
  5935  	target := &ret
  5936  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5937  		return nil, err
  5938  	}
  5939  	return ret, nil
  5940  }
  5941  
  5942  // Pages invokes f for each page of results.
  5943  // A non-nil error returned from f will halt the iteration.
  5944  // The provided context supersedes any context provided to the Context method.
  5945  func (c *ProjectsLocationsListCall) Pages(ctx context.Context, f func(*ListLocationsResponse) error) error {
  5946  	c.ctx_ = ctx
  5947  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  5948  	for {
  5949  		x, err := c.Do()
  5950  		if err != nil {
  5951  			return err
  5952  		}
  5953  		if err := f(x); err != nil {
  5954  			return err
  5955  		}
  5956  		if x.NextPageToken == "" {
  5957  			return nil
  5958  		}
  5959  		c.PageToken(x.NextPageToken)
  5960  	}
  5961  }
  5962  
  5963  type ProjectsLocationsFeaturesCreateCall struct {
  5964  	s          *Service
  5965  	parent     string
  5966  	feature    *Feature
  5967  	urlParams_ gensupport.URLParams
  5968  	ctx_       context.Context
  5969  	header_    http.Header
  5970  }
  5971  
  5972  // Create: Adds a new Feature.
  5973  //
  5974  //   - parent: The parent (project and location) where the Feature will be
  5975  //     created. Specified in the format `projects/*/locations/*`.
  5976  func (r *ProjectsLocationsFeaturesService) Create(parent string, feature *Feature) *ProjectsLocationsFeaturesCreateCall {
  5977  	c := &ProjectsLocationsFeaturesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5978  	c.parent = parent
  5979  	c.feature = feature
  5980  	return c
  5981  }
  5982  
  5983  // FeatureId sets the optional parameter "featureId": The ID of the feature to
  5984  // create.
  5985  func (c *ProjectsLocationsFeaturesCreateCall) FeatureId(featureId string) *ProjectsLocationsFeaturesCreateCall {
  5986  	c.urlParams_.Set("featureId", featureId)
  5987  	return c
  5988  }
  5989  
  5990  // RequestId sets the optional parameter "requestId": A request ID to identify
  5991  // requests. Specify a unique request ID so that if you must retry your
  5992  // request, the server will know to ignore the request if it has already been
  5993  // completed. The server will guarantee that for at least 60 minutes after the
  5994  // first request. For example, consider a situation where you make an initial
  5995  // request and the request times out. If you make the request again with the
  5996  // same request ID, the server can check if original operation with the same
  5997  // request ID was received, and if so, will ignore the second request. This
  5998  // prevents clients from accidentally creating duplicate commitments. The
  5999  // request ID must be a valid UUID with the exception that zero UUID is not
  6000  // supported (00000000-0000-0000-0000-000000000000).
  6001  func (c *ProjectsLocationsFeaturesCreateCall) RequestId(requestId string) *ProjectsLocationsFeaturesCreateCall {
  6002  	c.urlParams_.Set("requestId", requestId)
  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 *ProjectsLocationsFeaturesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturesCreateCall {
  6010  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6011  	return c
  6012  }
  6013  
  6014  // Context sets the context to be used in this call's Do method.
  6015  func (c *ProjectsLocationsFeaturesCreateCall) Context(ctx context.Context) *ProjectsLocationsFeaturesCreateCall {
  6016  	c.ctx_ = ctx
  6017  	return c
  6018  }
  6019  
  6020  // Header returns a http.Header that can be modified by the caller to add
  6021  // headers to the request.
  6022  func (c *ProjectsLocationsFeaturesCreateCall) Header() http.Header {
  6023  	if c.header_ == nil {
  6024  		c.header_ = make(http.Header)
  6025  	}
  6026  	return c.header_
  6027  }
  6028  
  6029  func (c *ProjectsLocationsFeaturesCreateCall) doRequest(alt string) (*http.Response, error) {
  6030  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6031  	var body io.Reader = nil
  6032  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.feature)
  6033  	if err != nil {
  6034  		return nil, err
  6035  	}
  6036  	c.urlParams_.Set("alt", alt)
  6037  	c.urlParams_.Set("prettyPrint", "false")
  6038  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/features")
  6039  	urls += "?" + c.urlParams_.Encode()
  6040  	req, err := http.NewRequest("POST", urls, body)
  6041  	if err != nil {
  6042  		return nil, err
  6043  	}
  6044  	req.Header = reqHeaders
  6045  	googleapi.Expand(req.URL, map[string]string{
  6046  		"parent": c.parent,
  6047  	})
  6048  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6049  }
  6050  
  6051  // Do executes the "gkehub.projects.locations.features.create" call.
  6052  // Any non-2xx status code is an error. Response headers are in either
  6053  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  6054  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6055  // whether the returned error was because http.StatusNotModified was returned.
  6056  func (c *ProjectsLocationsFeaturesCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  6057  	gensupport.SetOptions(c.urlParams_, opts...)
  6058  	res, err := c.doRequest("json")
  6059  	if res != nil && res.StatusCode == http.StatusNotModified {
  6060  		if res.Body != nil {
  6061  			res.Body.Close()
  6062  		}
  6063  		return nil, gensupport.WrapError(&googleapi.Error{
  6064  			Code:   res.StatusCode,
  6065  			Header: res.Header,
  6066  		})
  6067  	}
  6068  	if err != nil {
  6069  		return nil, err
  6070  	}
  6071  	defer googleapi.CloseBody(res)
  6072  	if err := googleapi.CheckResponse(res); err != nil {
  6073  		return nil, gensupport.WrapError(err)
  6074  	}
  6075  	ret := &Operation{
  6076  		ServerResponse: googleapi.ServerResponse{
  6077  			Header:         res.Header,
  6078  			HTTPStatusCode: res.StatusCode,
  6079  		},
  6080  	}
  6081  	target := &ret
  6082  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6083  		return nil, err
  6084  	}
  6085  	return ret, nil
  6086  }
  6087  
  6088  type ProjectsLocationsFeaturesDeleteCall struct {
  6089  	s          *Service
  6090  	name       string
  6091  	urlParams_ gensupport.URLParams
  6092  	ctx_       context.Context
  6093  	header_    http.Header
  6094  }
  6095  
  6096  // Delete: Removes a Feature.
  6097  //
  6098  //   - name: The Feature resource name in the format
  6099  //     `projects/*/locations/*/features/*`.
  6100  func (r *ProjectsLocationsFeaturesService) Delete(name string) *ProjectsLocationsFeaturesDeleteCall {
  6101  	c := &ProjectsLocationsFeaturesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6102  	c.name = name
  6103  	return c
  6104  }
  6105  
  6106  // Force sets the optional parameter "force": If set to true, the delete will
  6107  // ignore any outstanding resources for this Feature (that is,
  6108  // `FeatureState.has_resources` is set to true). These resources will NOT be
  6109  // cleaned up or modified in any way.
  6110  func (c *ProjectsLocationsFeaturesDeleteCall) Force(force bool) *ProjectsLocationsFeaturesDeleteCall {
  6111  	c.urlParams_.Set("force", fmt.Sprint(force))
  6112  	return c
  6113  }
  6114  
  6115  // RequestId sets the optional parameter "requestId": A request ID to identify
  6116  // requests. Specify a unique request ID so that if you must retry your
  6117  // request, the server will know to ignore the request if it has already been
  6118  // completed. The server will guarantee that for at least 60 minutes after the
  6119  // first request. For example, consider a situation where you make an initial
  6120  // request and the request times out. If you make the request again with the
  6121  // same request ID, the server can check if original operation with the same
  6122  // request ID was received, and if so, will ignore the second request. This
  6123  // prevents clients from accidentally creating duplicate commitments. The
  6124  // request ID must be a valid UUID with the exception that zero UUID is not
  6125  // supported (00000000-0000-0000-0000-000000000000).
  6126  func (c *ProjectsLocationsFeaturesDeleteCall) RequestId(requestId string) *ProjectsLocationsFeaturesDeleteCall {
  6127  	c.urlParams_.Set("requestId", requestId)
  6128  	return c
  6129  }
  6130  
  6131  // Fields allows partial responses to be retrieved. See
  6132  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6133  // details.
  6134  func (c *ProjectsLocationsFeaturesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturesDeleteCall {
  6135  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6136  	return c
  6137  }
  6138  
  6139  // Context sets the context to be used in this call's Do method.
  6140  func (c *ProjectsLocationsFeaturesDeleteCall) Context(ctx context.Context) *ProjectsLocationsFeaturesDeleteCall {
  6141  	c.ctx_ = ctx
  6142  	return c
  6143  }
  6144  
  6145  // Header returns a http.Header that can be modified by the caller to add
  6146  // headers to the request.
  6147  func (c *ProjectsLocationsFeaturesDeleteCall) Header() http.Header {
  6148  	if c.header_ == nil {
  6149  		c.header_ = make(http.Header)
  6150  	}
  6151  	return c.header_
  6152  }
  6153  
  6154  func (c *ProjectsLocationsFeaturesDeleteCall) doRequest(alt string) (*http.Response, error) {
  6155  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6156  	var body io.Reader = nil
  6157  	c.urlParams_.Set("alt", alt)
  6158  	c.urlParams_.Set("prettyPrint", "false")
  6159  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  6160  	urls += "?" + c.urlParams_.Encode()
  6161  	req, err := http.NewRequest("DELETE", urls, body)
  6162  	if err != nil {
  6163  		return nil, err
  6164  	}
  6165  	req.Header = reqHeaders
  6166  	googleapi.Expand(req.URL, map[string]string{
  6167  		"name": c.name,
  6168  	})
  6169  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6170  }
  6171  
  6172  // Do executes the "gkehub.projects.locations.features.delete" call.
  6173  // Any non-2xx status code is an error. Response headers are in either
  6174  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  6175  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6176  // whether the returned error was because http.StatusNotModified was returned.
  6177  func (c *ProjectsLocationsFeaturesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  6178  	gensupport.SetOptions(c.urlParams_, opts...)
  6179  	res, err := c.doRequest("json")
  6180  	if res != nil && res.StatusCode == http.StatusNotModified {
  6181  		if res.Body != nil {
  6182  			res.Body.Close()
  6183  		}
  6184  		return nil, gensupport.WrapError(&googleapi.Error{
  6185  			Code:   res.StatusCode,
  6186  			Header: res.Header,
  6187  		})
  6188  	}
  6189  	if err != nil {
  6190  		return nil, err
  6191  	}
  6192  	defer googleapi.CloseBody(res)
  6193  	if err := googleapi.CheckResponse(res); err != nil {
  6194  		return nil, gensupport.WrapError(err)
  6195  	}
  6196  	ret := &Operation{
  6197  		ServerResponse: googleapi.ServerResponse{
  6198  			Header:         res.Header,
  6199  			HTTPStatusCode: res.StatusCode,
  6200  		},
  6201  	}
  6202  	target := &ret
  6203  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6204  		return nil, err
  6205  	}
  6206  	return ret, nil
  6207  }
  6208  
  6209  type ProjectsLocationsFeaturesGetCall struct {
  6210  	s            *Service
  6211  	name         string
  6212  	urlParams_   gensupport.URLParams
  6213  	ifNoneMatch_ string
  6214  	ctx_         context.Context
  6215  	header_      http.Header
  6216  }
  6217  
  6218  // Get: Gets details of a single Feature.
  6219  //
  6220  //   - name: The Feature resource name in the format
  6221  //     `projects/*/locations/*/features/*`.
  6222  func (r *ProjectsLocationsFeaturesService) Get(name string) *ProjectsLocationsFeaturesGetCall {
  6223  	c := &ProjectsLocationsFeaturesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6224  	c.name = name
  6225  	return c
  6226  }
  6227  
  6228  // Fields allows partial responses to be retrieved. See
  6229  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6230  // details.
  6231  func (c *ProjectsLocationsFeaturesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturesGetCall {
  6232  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6233  	return c
  6234  }
  6235  
  6236  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  6237  // object's ETag matches the given value. This is useful for getting updates
  6238  // only after the object has changed since the last request.
  6239  func (c *ProjectsLocationsFeaturesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsFeaturesGetCall {
  6240  	c.ifNoneMatch_ = entityTag
  6241  	return c
  6242  }
  6243  
  6244  // Context sets the context to be used in this call's Do method.
  6245  func (c *ProjectsLocationsFeaturesGetCall) Context(ctx context.Context) *ProjectsLocationsFeaturesGetCall {
  6246  	c.ctx_ = ctx
  6247  	return c
  6248  }
  6249  
  6250  // Header returns a http.Header that can be modified by the caller to add
  6251  // headers to the request.
  6252  func (c *ProjectsLocationsFeaturesGetCall) Header() http.Header {
  6253  	if c.header_ == nil {
  6254  		c.header_ = make(http.Header)
  6255  	}
  6256  	return c.header_
  6257  }
  6258  
  6259  func (c *ProjectsLocationsFeaturesGetCall) doRequest(alt string) (*http.Response, error) {
  6260  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6261  	if c.ifNoneMatch_ != "" {
  6262  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  6263  	}
  6264  	var body io.Reader = nil
  6265  	c.urlParams_.Set("alt", alt)
  6266  	c.urlParams_.Set("prettyPrint", "false")
  6267  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  6268  	urls += "?" + c.urlParams_.Encode()
  6269  	req, err := http.NewRequest("GET", urls, body)
  6270  	if err != nil {
  6271  		return nil, err
  6272  	}
  6273  	req.Header = reqHeaders
  6274  	googleapi.Expand(req.URL, map[string]string{
  6275  		"name": c.name,
  6276  	})
  6277  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6278  }
  6279  
  6280  // Do executes the "gkehub.projects.locations.features.get" call.
  6281  // Any non-2xx status code is an error. Response headers are in either
  6282  // *Feature.ServerResponse.Header or (if a response was returned at all) in
  6283  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6284  // whether the returned error was because http.StatusNotModified was returned.
  6285  func (c *ProjectsLocationsFeaturesGetCall) Do(opts ...googleapi.CallOption) (*Feature, error) {
  6286  	gensupport.SetOptions(c.urlParams_, opts...)
  6287  	res, err := c.doRequest("json")
  6288  	if res != nil && res.StatusCode == http.StatusNotModified {
  6289  		if res.Body != nil {
  6290  			res.Body.Close()
  6291  		}
  6292  		return nil, gensupport.WrapError(&googleapi.Error{
  6293  			Code:   res.StatusCode,
  6294  			Header: res.Header,
  6295  		})
  6296  	}
  6297  	if err != nil {
  6298  		return nil, err
  6299  	}
  6300  	defer googleapi.CloseBody(res)
  6301  	if err := googleapi.CheckResponse(res); err != nil {
  6302  		return nil, gensupport.WrapError(err)
  6303  	}
  6304  	ret := &Feature{
  6305  		ServerResponse: googleapi.ServerResponse{
  6306  			Header:         res.Header,
  6307  			HTTPStatusCode: res.StatusCode,
  6308  		},
  6309  	}
  6310  	target := &ret
  6311  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6312  		return nil, err
  6313  	}
  6314  	return ret, nil
  6315  }
  6316  
  6317  type ProjectsLocationsFeaturesGetIamPolicyCall struct {
  6318  	s            *Service
  6319  	resource     string
  6320  	urlParams_   gensupport.URLParams
  6321  	ifNoneMatch_ string
  6322  	ctx_         context.Context
  6323  	header_      http.Header
  6324  }
  6325  
  6326  // GetIamPolicy: Gets the access control policy for a resource. Returns an
  6327  // empty policy if the resource exists and does not have a policy set.
  6328  //
  6329  //   - resource: REQUIRED: The resource for which the policy is being requested.
  6330  //     See Resource names (https://cloud.google.com/apis/design/resource_names)
  6331  //     for the appropriate value for this field.
  6332  func (r *ProjectsLocationsFeaturesService) GetIamPolicy(resource string) *ProjectsLocationsFeaturesGetIamPolicyCall {
  6333  	c := &ProjectsLocationsFeaturesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6334  	c.resource = resource
  6335  	return c
  6336  }
  6337  
  6338  // OptionsRequestedPolicyVersion sets the optional parameter
  6339  // "options.requestedPolicyVersion": The maximum policy version that will be
  6340  // used to format the policy. Valid values are 0, 1, and 3. Requests specifying
  6341  // an invalid value will be rejected. Requests for policies with any
  6342  // conditional role bindings must specify version 3. Policies with no
  6343  // conditional role bindings may specify any valid value or leave the field
  6344  // unset. The policy in the response might use the policy version that you
  6345  // specified, or it might use a lower policy version. For example, if you
  6346  // specify version 3, but the policy has no conditional role bindings, the
  6347  // response uses version 1. To learn which resources support conditions in
  6348  // their IAM policies, see the IAM documentation
  6349  // (https://cloud.google.com/iam/help/conditions/resource-policies).
  6350  func (c *ProjectsLocationsFeaturesGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsFeaturesGetIamPolicyCall {
  6351  	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
  6352  	return c
  6353  }
  6354  
  6355  // Fields allows partial responses to be retrieved. See
  6356  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6357  // details.
  6358  func (c *ProjectsLocationsFeaturesGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturesGetIamPolicyCall {
  6359  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6360  	return c
  6361  }
  6362  
  6363  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  6364  // object's ETag matches the given value. This is useful for getting updates
  6365  // only after the object has changed since the last request.
  6366  func (c *ProjectsLocationsFeaturesGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsLocationsFeaturesGetIamPolicyCall {
  6367  	c.ifNoneMatch_ = entityTag
  6368  	return c
  6369  }
  6370  
  6371  // Context sets the context to be used in this call's Do method.
  6372  func (c *ProjectsLocationsFeaturesGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsFeaturesGetIamPolicyCall {
  6373  	c.ctx_ = ctx
  6374  	return c
  6375  }
  6376  
  6377  // Header returns a http.Header that can be modified by the caller to add
  6378  // headers to the request.
  6379  func (c *ProjectsLocationsFeaturesGetIamPolicyCall) Header() http.Header {
  6380  	if c.header_ == nil {
  6381  		c.header_ = make(http.Header)
  6382  	}
  6383  	return c.header_
  6384  }
  6385  
  6386  func (c *ProjectsLocationsFeaturesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
  6387  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6388  	if c.ifNoneMatch_ != "" {
  6389  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  6390  	}
  6391  	var body io.Reader = nil
  6392  	c.urlParams_.Set("alt", alt)
  6393  	c.urlParams_.Set("prettyPrint", "false")
  6394  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:getIamPolicy")
  6395  	urls += "?" + c.urlParams_.Encode()
  6396  	req, err := http.NewRequest("GET", urls, body)
  6397  	if err != nil {
  6398  		return nil, err
  6399  	}
  6400  	req.Header = reqHeaders
  6401  	googleapi.Expand(req.URL, map[string]string{
  6402  		"resource": c.resource,
  6403  	})
  6404  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6405  }
  6406  
  6407  // Do executes the "gkehub.projects.locations.features.getIamPolicy" call.
  6408  // Any non-2xx status code is an error. Response headers are in either
  6409  // *Policy.ServerResponse.Header or (if a response was returned at all) in
  6410  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6411  // whether the returned error was because http.StatusNotModified was returned.
  6412  func (c *ProjectsLocationsFeaturesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
  6413  	gensupport.SetOptions(c.urlParams_, opts...)
  6414  	res, err := c.doRequest("json")
  6415  	if res != nil && res.StatusCode == http.StatusNotModified {
  6416  		if res.Body != nil {
  6417  			res.Body.Close()
  6418  		}
  6419  		return nil, gensupport.WrapError(&googleapi.Error{
  6420  			Code:   res.StatusCode,
  6421  			Header: res.Header,
  6422  		})
  6423  	}
  6424  	if err != nil {
  6425  		return nil, err
  6426  	}
  6427  	defer googleapi.CloseBody(res)
  6428  	if err := googleapi.CheckResponse(res); err != nil {
  6429  		return nil, gensupport.WrapError(err)
  6430  	}
  6431  	ret := &Policy{
  6432  		ServerResponse: googleapi.ServerResponse{
  6433  			Header:         res.Header,
  6434  			HTTPStatusCode: res.StatusCode,
  6435  		},
  6436  	}
  6437  	target := &ret
  6438  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6439  		return nil, err
  6440  	}
  6441  	return ret, nil
  6442  }
  6443  
  6444  type ProjectsLocationsFeaturesListCall struct {
  6445  	s            *Service
  6446  	parent       string
  6447  	urlParams_   gensupport.URLParams
  6448  	ifNoneMatch_ string
  6449  	ctx_         context.Context
  6450  	header_      http.Header
  6451  }
  6452  
  6453  // List: Lists Features in a given project and location.
  6454  //
  6455  //   - parent: The parent (project and location) where the Features will be
  6456  //     listed. Specified in the format `projects/*/locations/*`.
  6457  func (r *ProjectsLocationsFeaturesService) List(parent string) *ProjectsLocationsFeaturesListCall {
  6458  	c := &ProjectsLocationsFeaturesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6459  	c.parent = parent
  6460  	return c
  6461  }
  6462  
  6463  // Filter sets the optional parameter "filter": Lists Features that match the
  6464  // filter expression, following the syntax outlined in
  6465  // https://google.aip.dev/160. Examples: - Feature with the name "servicemesh"
  6466  // in project "foo-proj": name =
  6467  // "projects/foo-proj/locations/global/features/servicemesh" - Features that
  6468  // have a label called `foo`: labels.foo:* - Features that have a label called
  6469  // `foo` whose value is `bar`: labels.foo = bar
  6470  func (c *ProjectsLocationsFeaturesListCall) Filter(filter string) *ProjectsLocationsFeaturesListCall {
  6471  	c.urlParams_.Set("filter", filter)
  6472  	return c
  6473  }
  6474  
  6475  // OrderBy sets the optional parameter "orderBy": One or more fields to compare
  6476  // and use to sort the output. See https://google.aip.dev/132#ordering.
  6477  func (c *ProjectsLocationsFeaturesListCall) OrderBy(orderBy string) *ProjectsLocationsFeaturesListCall {
  6478  	c.urlParams_.Set("orderBy", orderBy)
  6479  	return c
  6480  }
  6481  
  6482  // PageSize sets the optional parameter "pageSize": When requesting a 'page' of
  6483  // resources, `page_size` specifies number of resources to return. If
  6484  // unspecified or set to 0, all resources will be returned.
  6485  func (c *ProjectsLocationsFeaturesListCall) PageSize(pageSize int64) *ProjectsLocationsFeaturesListCall {
  6486  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  6487  	return c
  6488  }
  6489  
  6490  // PageToken sets the optional parameter "pageToken": Token returned by
  6491  // previous call to `ListFeatures` which specifies the position in the list
  6492  // from where to continue listing the resources.
  6493  func (c *ProjectsLocationsFeaturesListCall) PageToken(pageToken string) *ProjectsLocationsFeaturesListCall {
  6494  	c.urlParams_.Set("pageToken", pageToken)
  6495  	return c
  6496  }
  6497  
  6498  // Fields allows partial responses to be retrieved. See
  6499  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6500  // details.
  6501  func (c *ProjectsLocationsFeaturesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturesListCall {
  6502  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6503  	return c
  6504  }
  6505  
  6506  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  6507  // object's ETag matches the given value. This is useful for getting updates
  6508  // only after the object has changed since the last request.
  6509  func (c *ProjectsLocationsFeaturesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsFeaturesListCall {
  6510  	c.ifNoneMatch_ = entityTag
  6511  	return c
  6512  }
  6513  
  6514  // Context sets the context to be used in this call's Do method.
  6515  func (c *ProjectsLocationsFeaturesListCall) Context(ctx context.Context) *ProjectsLocationsFeaturesListCall {
  6516  	c.ctx_ = ctx
  6517  	return c
  6518  }
  6519  
  6520  // Header returns a http.Header that can be modified by the caller to add
  6521  // headers to the request.
  6522  func (c *ProjectsLocationsFeaturesListCall) Header() http.Header {
  6523  	if c.header_ == nil {
  6524  		c.header_ = make(http.Header)
  6525  	}
  6526  	return c.header_
  6527  }
  6528  
  6529  func (c *ProjectsLocationsFeaturesListCall) doRequest(alt string) (*http.Response, error) {
  6530  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6531  	if c.ifNoneMatch_ != "" {
  6532  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  6533  	}
  6534  	var body io.Reader = nil
  6535  	c.urlParams_.Set("alt", alt)
  6536  	c.urlParams_.Set("prettyPrint", "false")
  6537  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/features")
  6538  	urls += "?" + c.urlParams_.Encode()
  6539  	req, err := http.NewRequest("GET", urls, body)
  6540  	if err != nil {
  6541  		return nil, err
  6542  	}
  6543  	req.Header = reqHeaders
  6544  	googleapi.Expand(req.URL, map[string]string{
  6545  		"parent": c.parent,
  6546  	})
  6547  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6548  }
  6549  
  6550  // Do executes the "gkehub.projects.locations.features.list" call.
  6551  // Any non-2xx status code is an error. Response headers are in either
  6552  // *ListFeaturesResponse.ServerResponse.Header or (if a response was returned
  6553  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  6554  // check whether the returned error was because http.StatusNotModified was
  6555  // returned.
  6556  func (c *ProjectsLocationsFeaturesListCall) Do(opts ...googleapi.CallOption) (*ListFeaturesResponse, error) {
  6557  	gensupport.SetOptions(c.urlParams_, opts...)
  6558  	res, err := c.doRequest("json")
  6559  	if res != nil && res.StatusCode == http.StatusNotModified {
  6560  		if res.Body != nil {
  6561  			res.Body.Close()
  6562  		}
  6563  		return nil, gensupport.WrapError(&googleapi.Error{
  6564  			Code:   res.StatusCode,
  6565  			Header: res.Header,
  6566  		})
  6567  	}
  6568  	if err != nil {
  6569  		return nil, err
  6570  	}
  6571  	defer googleapi.CloseBody(res)
  6572  	if err := googleapi.CheckResponse(res); err != nil {
  6573  		return nil, gensupport.WrapError(err)
  6574  	}
  6575  	ret := &ListFeaturesResponse{
  6576  		ServerResponse: googleapi.ServerResponse{
  6577  			Header:         res.Header,
  6578  			HTTPStatusCode: res.StatusCode,
  6579  		},
  6580  	}
  6581  	target := &ret
  6582  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6583  		return nil, err
  6584  	}
  6585  	return ret, nil
  6586  }
  6587  
  6588  // Pages invokes f for each page of results.
  6589  // A non-nil error returned from f will halt the iteration.
  6590  // The provided context supersedes any context provided to the Context method.
  6591  func (c *ProjectsLocationsFeaturesListCall) Pages(ctx context.Context, f func(*ListFeaturesResponse) error) error {
  6592  	c.ctx_ = ctx
  6593  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  6594  	for {
  6595  		x, err := c.Do()
  6596  		if err != nil {
  6597  			return err
  6598  		}
  6599  		if err := f(x); err != nil {
  6600  			return err
  6601  		}
  6602  		if x.NextPageToken == "" {
  6603  			return nil
  6604  		}
  6605  		c.PageToken(x.NextPageToken)
  6606  	}
  6607  }
  6608  
  6609  type ProjectsLocationsFeaturesPatchCall struct {
  6610  	s          *Service
  6611  	name       string
  6612  	feature    *Feature
  6613  	urlParams_ gensupport.URLParams
  6614  	ctx_       context.Context
  6615  	header_    http.Header
  6616  }
  6617  
  6618  // Patch: Updates an existing Feature.
  6619  //
  6620  //   - name: The Feature resource name in the format
  6621  //     `projects/*/locations/*/features/*`.
  6622  func (r *ProjectsLocationsFeaturesService) Patch(name string, feature *Feature) *ProjectsLocationsFeaturesPatchCall {
  6623  	c := &ProjectsLocationsFeaturesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6624  	c.name = name
  6625  	c.feature = feature
  6626  	return c
  6627  }
  6628  
  6629  // RequestId sets the optional parameter "requestId": A request ID to identify
  6630  // requests. Specify a unique request ID so that if you must retry your
  6631  // request, the server will know to ignore the request if it has already been
  6632  // completed. The server will guarantee that for at least 60 minutes after the
  6633  // first request. For example, consider a situation where you make an initial
  6634  // request and the request times out. If you make the request again with the
  6635  // same request ID, the server can check if original operation with the same
  6636  // request ID was received, and if so, will ignore the second request. This
  6637  // prevents clients from accidentally creating duplicate commitments. The
  6638  // request ID must be a valid UUID with the exception that zero UUID is not
  6639  // supported (00000000-0000-0000-0000-000000000000).
  6640  func (c *ProjectsLocationsFeaturesPatchCall) RequestId(requestId string) *ProjectsLocationsFeaturesPatchCall {
  6641  	c.urlParams_.Set("requestId", requestId)
  6642  	return c
  6643  }
  6644  
  6645  // UpdateMask sets the optional parameter "updateMask": Mask of fields to
  6646  // update.
  6647  func (c *ProjectsLocationsFeaturesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsFeaturesPatchCall {
  6648  	c.urlParams_.Set("updateMask", updateMask)
  6649  	return c
  6650  }
  6651  
  6652  // Fields allows partial responses to be retrieved. See
  6653  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6654  // details.
  6655  func (c *ProjectsLocationsFeaturesPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturesPatchCall {
  6656  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6657  	return c
  6658  }
  6659  
  6660  // Context sets the context to be used in this call's Do method.
  6661  func (c *ProjectsLocationsFeaturesPatchCall) Context(ctx context.Context) *ProjectsLocationsFeaturesPatchCall {
  6662  	c.ctx_ = ctx
  6663  	return c
  6664  }
  6665  
  6666  // Header returns a http.Header that can be modified by the caller to add
  6667  // headers to the request.
  6668  func (c *ProjectsLocationsFeaturesPatchCall) Header() http.Header {
  6669  	if c.header_ == nil {
  6670  		c.header_ = make(http.Header)
  6671  	}
  6672  	return c.header_
  6673  }
  6674  
  6675  func (c *ProjectsLocationsFeaturesPatchCall) doRequest(alt string) (*http.Response, error) {
  6676  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6677  	var body io.Reader = nil
  6678  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.feature)
  6679  	if err != nil {
  6680  		return nil, err
  6681  	}
  6682  	c.urlParams_.Set("alt", alt)
  6683  	c.urlParams_.Set("prettyPrint", "false")
  6684  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  6685  	urls += "?" + c.urlParams_.Encode()
  6686  	req, err := http.NewRequest("PATCH", urls, body)
  6687  	if err != nil {
  6688  		return nil, err
  6689  	}
  6690  	req.Header = reqHeaders
  6691  	googleapi.Expand(req.URL, map[string]string{
  6692  		"name": c.name,
  6693  	})
  6694  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6695  }
  6696  
  6697  // Do executes the "gkehub.projects.locations.features.patch" call.
  6698  // Any non-2xx status code is an error. Response headers are in either
  6699  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  6700  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6701  // whether the returned error was because http.StatusNotModified was returned.
  6702  func (c *ProjectsLocationsFeaturesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  6703  	gensupport.SetOptions(c.urlParams_, opts...)
  6704  	res, err := c.doRequest("json")
  6705  	if res != nil && res.StatusCode == http.StatusNotModified {
  6706  		if res.Body != nil {
  6707  			res.Body.Close()
  6708  		}
  6709  		return nil, gensupport.WrapError(&googleapi.Error{
  6710  			Code:   res.StatusCode,
  6711  			Header: res.Header,
  6712  		})
  6713  	}
  6714  	if err != nil {
  6715  		return nil, err
  6716  	}
  6717  	defer googleapi.CloseBody(res)
  6718  	if err := googleapi.CheckResponse(res); err != nil {
  6719  		return nil, gensupport.WrapError(err)
  6720  	}
  6721  	ret := &Operation{
  6722  		ServerResponse: googleapi.ServerResponse{
  6723  			Header:         res.Header,
  6724  			HTTPStatusCode: res.StatusCode,
  6725  		},
  6726  	}
  6727  	target := &ret
  6728  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6729  		return nil, err
  6730  	}
  6731  	return ret, nil
  6732  }
  6733  
  6734  type ProjectsLocationsFeaturesSetIamPolicyCall struct {
  6735  	s                   *Service
  6736  	resource            string
  6737  	setiampolicyrequest *SetIamPolicyRequest
  6738  	urlParams_          gensupport.URLParams
  6739  	ctx_                context.Context
  6740  	header_             http.Header
  6741  }
  6742  
  6743  // SetIamPolicy: Sets the access control policy on the specified resource.
  6744  // Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`,
  6745  // and `PERMISSION_DENIED` errors.
  6746  //
  6747  //   - resource: REQUIRED: The resource for which the policy is being specified.
  6748  //     See Resource names (https://cloud.google.com/apis/design/resource_names)
  6749  //     for the appropriate value for this field.
  6750  func (r *ProjectsLocationsFeaturesService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsFeaturesSetIamPolicyCall {
  6751  	c := &ProjectsLocationsFeaturesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6752  	c.resource = resource
  6753  	c.setiampolicyrequest = setiampolicyrequest
  6754  	return c
  6755  }
  6756  
  6757  // Fields allows partial responses to be retrieved. See
  6758  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6759  // details.
  6760  func (c *ProjectsLocationsFeaturesSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturesSetIamPolicyCall {
  6761  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6762  	return c
  6763  }
  6764  
  6765  // Context sets the context to be used in this call's Do method.
  6766  func (c *ProjectsLocationsFeaturesSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsFeaturesSetIamPolicyCall {
  6767  	c.ctx_ = ctx
  6768  	return c
  6769  }
  6770  
  6771  // Header returns a http.Header that can be modified by the caller to add
  6772  // headers to the request.
  6773  func (c *ProjectsLocationsFeaturesSetIamPolicyCall) Header() http.Header {
  6774  	if c.header_ == nil {
  6775  		c.header_ = make(http.Header)
  6776  	}
  6777  	return c.header_
  6778  }
  6779  
  6780  func (c *ProjectsLocationsFeaturesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
  6781  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6782  	var body io.Reader = nil
  6783  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
  6784  	if err != nil {
  6785  		return nil, err
  6786  	}
  6787  	c.urlParams_.Set("alt", alt)
  6788  	c.urlParams_.Set("prettyPrint", "false")
  6789  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:setIamPolicy")
  6790  	urls += "?" + c.urlParams_.Encode()
  6791  	req, err := http.NewRequest("POST", urls, body)
  6792  	if err != nil {
  6793  		return nil, err
  6794  	}
  6795  	req.Header = reqHeaders
  6796  	googleapi.Expand(req.URL, map[string]string{
  6797  		"resource": c.resource,
  6798  	})
  6799  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6800  }
  6801  
  6802  // Do executes the "gkehub.projects.locations.features.setIamPolicy" call.
  6803  // Any non-2xx status code is an error. Response headers are in either
  6804  // *Policy.ServerResponse.Header or (if a response was returned at all) in
  6805  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6806  // whether the returned error was because http.StatusNotModified was returned.
  6807  func (c *ProjectsLocationsFeaturesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
  6808  	gensupport.SetOptions(c.urlParams_, opts...)
  6809  	res, err := c.doRequest("json")
  6810  	if res != nil && res.StatusCode == http.StatusNotModified {
  6811  		if res.Body != nil {
  6812  			res.Body.Close()
  6813  		}
  6814  		return nil, gensupport.WrapError(&googleapi.Error{
  6815  			Code:   res.StatusCode,
  6816  			Header: res.Header,
  6817  		})
  6818  	}
  6819  	if err != nil {
  6820  		return nil, err
  6821  	}
  6822  	defer googleapi.CloseBody(res)
  6823  	if err := googleapi.CheckResponse(res); err != nil {
  6824  		return nil, gensupport.WrapError(err)
  6825  	}
  6826  	ret := &Policy{
  6827  		ServerResponse: googleapi.ServerResponse{
  6828  			Header:         res.Header,
  6829  			HTTPStatusCode: res.StatusCode,
  6830  		},
  6831  	}
  6832  	target := &ret
  6833  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6834  		return nil, err
  6835  	}
  6836  	return ret, nil
  6837  }
  6838  
  6839  type ProjectsLocationsFeaturesTestIamPermissionsCall struct {
  6840  	s                         *Service
  6841  	resource                  string
  6842  	testiampermissionsrequest *TestIamPermissionsRequest
  6843  	urlParams_                gensupport.URLParams
  6844  	ctx_                      context.Context
  6845  	header_                   http.Header
  6846  }
  6847  
  6848  // TestIamPermissions: Returns permissions that a caller has on the specified
  6849  // resource. If the resource does not exist, this will return an empty set of
  6850  // permissions, not a `NOT_FOUND` error. Note: This operation is designed to be
  6851  // used for building permission-aware UIs and command-line tools, not for
  6852  // authorization checking. This operation may "fail open" without warning.
  6853  //
  6854  //   - resource: REQUIRED: The resource for which the policy detail is being
  6855  //     requested. See Resource names
  6856  //     (https://cloud.google.com/apis/design/resource_names) for the appropriate
  6857  //     value for this field.
  6858  func (r *ProjectsLocationsFeaturesService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsFeaturesTestIamPermissionsCall {
  6859  	c := &ProjectsLocationsFeaturesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6860  	c.resource = resource
  6861  	c.testiampermissionsrequest = testiampermissionsrequest
  6862  	return c
  6863  }
  6864  
  6865  // Fields allows partial responses to be retrieved. See
  6866  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6867  // details.
  6868  func (c *ProjectsLocationsFeaturesTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturesTestIamPermissionsCall {
  6869  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6870  	return c
  6871  }
  6872  
  6873  // Context sets the context to be used in this call's Do method.
  6874  func (c *ProjectsLocationsFeaturesTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsFeaturesTestIamPermissionsCall {
  6875  	c.ctx_ = ctx
  6876  	return c
  6877  }
  6878  
  6879  // Header returns a http.Header that can be modified by the caller to add
  6880  // headers to the request.
  6881  func (c *ProjectsLocationsFeaturesTestIamPermissionsCall) Header() http.Header {
  6882  	if c.header_ == nil {
  6883  		c.header_ = make(http.Header)
  6884  	}
  6885  	return c.header_
  6886  }
  6887  
  6888  func (c *ProjectsLocationsFeaturesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
  6889  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6890  	var body io.Reader = nil
  6891  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
  6892  	if err != nil {
  6893  		return nil, err
  6894  	}
  6895  	c.urlParams_.Set("alt", alt)
  6896  	c.urlParams_.Set("prettyPrint", "false")
  6897  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:testIamPermissions")
  6898  	urls += "?" + c.urlParams_.Encode()
  6899  	req, err := http.NewRequest("POST", urls, body)
  6900  	if err != nil {
  6901  		return nil, err
  6902  	}
  6903  	req.Header = reqHeaders
  6904  	googleapi.Expand(req.URL, map[string]string{
  6905  		"resource": c.resource,
  6906  	})
  6907  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6908  }
  6909  
  6910  // Do executes the "gkehub.projects.locations.features.testIamPermissions" call.
  6911  // Any non-2xx status code is an error. Response headers are in either
  6912  // *TestIamPermissionsResponse.ServerResponse.Header or (if a response was
  6913  // returned at all) in error.(*googleapi.Error).Header. Use
  6914  // googleapi.IsNotModified to check whether the returned error was because
  6915  // http.StatusNotModified was returned.
  6916  func (c *ProjectsLocationsFeaturesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
  6917  	gensupport.SetOptions(c.urlParams_, opts...)
  6918  	res, err := c.doRequest("json")
  6919  	if res != nil && res.StatusCode == http.StatusNotModified {
  6920  		if res.Body != nil {
  6921  			res.Body.Close()
  6922  		}
  6923  		return nil, gensupport.WrapError(&googleapi.Error{
  6924  			Code:   res.StatusCode,
  6925  			Header: res.Header,
  6926  		})
  6927  	}
  6928  	if err != nil {
  6929  		return nil, err
  6930  	}
  6931  	defer googleapi.CloseBody(res)
  6932  	if err := googleapi.CheckResponse(res); err != nil {
  6933  		return nil, gensupport.WrapError(err)
  6934  	}
  6935  	ret := &TestIamPermissionsResponse{
  6936  		ServerResponse: googleapi.ServerResponse{
  6937  			Header:         res.Header,
  6938  			HTTPStatusCode: res.StatusCode,
  6939  		},
  6940  	}
  6941  	target := &ret
  6942  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6943  		return nil, err
  6944  	}
  6945  	return ret, nil
  6946  }
  6947  
  6948  type ProjectsLocationsFleetsCreateCall struct {
  6949  	s          *Service
  6950  	parent     string
  6951  	fleet      *Fleet
  6952  	urlParams_ gensupport.URLParams
  6953  	ctx_       context.Context
  6954  	header_    http.Header
  6955  }
  6956  
  6957  // Create: Creates a fleet.
  6958  //
  6959  //   - parent: The parent (project and location) where the Fleet will be created.
  6960  //     Specified in the format `projects/*/locations/*`.
  6961  func (r *ProjectsLocationsFleetsService) Create(parent string, fleet *Fleet) *ProjectsLocationsFleetsCreateCall {
  6962  	c := &ProjectsLocationsFleetsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6963  	c.parent = parent
  6964  	c.fleet = fleet
  6965  	return c
  6966  }
  6967  
  6968  // Fields allows partial responses to be retrieved. See
  6969  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6970  // details.
  6971  func (c *ProjectsLocationsFleetsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsFleetsCreateCall {
  6972  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6973  	return c
  6974  }
  6975  
  6976  // Context sets the context to be used in this call's Do method.
  6977  func (c *ProjectsLocationsFleetsCreateCall) Context(ctx context.Context) *ProjectsLocationsFleetsCreateCall {
  6978  	c.ctx_ = ctx
  6979  	return c
  6980  }
  6981  
  6982  // Header returns a http.Header that can be modified by the caller to add
  6983  // headers to the request.
  6984  func (c *ProjectsLocationsFleetsCreateCall) Header() http.Header {
  6985  	if c.header_ == nil {
  6986  		c.header_ = make(http.Header)
  6987  	}
  6988  	return c.header_
  6989  }
  6990  
  6991  func (c *ProjectsLocationsFleetsCreateCall) doRequest(alt string) (*http.Response, error) {
  6992  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6993  	var body io.Reader = nil
  6994  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.fleet)
  6995  	if err != nil {
  6996  		return nil, err
  6997  	}
  6998  	c.urlParams_.Set("alt", alt)
  6999  	c.urlParams_.Set("prettyPrint", "false")
  7000  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/fleets")
  7001  	urls += "?" + c.urlParams_.Encode()
  7002  	req, err := http.NewRequest("POST", urls, body)
  7003  	if err != nil {
  7004  		return nil, err
  7005  	}
  7006  	req.Header = reqHeaders
  7007  	googleapi.Expand(req.URL, map[string]string{
  7008  		"parent": c.parent,
  7009  	})
  7010  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7011  }
  7012  
  7013  // Do executes the "gkehub.projects.locations.fleets.create" call.
  7014  // Any non-2xx status code is an error. Response headers are in either
  7015  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  7016  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7017  // whether the returned error was because http.StatusNotModified was returned.
  7018  func (c *ProjectsLocationsFleetsCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  7019  	gensupport.SetOptions(c.urlParams_, opts...)
  7020  	res, err := c.doRequest("json")
  7021  	if res != nil && res.StatusCode == http.StatusNotModified {
  7022  		if res.Body != nil {
  7023  			res.Body.Close()
  7024  		}
  7025  		return nil, gensupport.WrapError(&googleapi.Error{
  7026  			Code:   res.StatusCode,
  7027  			Header: res.Header,
  7028  		})
  7029  	}
  7030  	if err != nil {
  7031  		return nil, err
  7032  	}
  7033  	defer googleapi.CloseBody(res)
  7034  	if err := googleapi.CheckResponse(res); err != nil {
  7035  		return nil, gensupport.WrapError(err)
  7036  	}
  7037  	ret := &Operation{
  7038  		ServerResponse: googleapi.ServerResponse{
  7039  			Header:         res.Header,
  7040  			HTTPStatusCode: res.StatusCode,
  7041  		},
  7042  	}
  7043  	target := &ret
  7044  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7045  		return nil, err
  7046  	}
  7047  	return ret, nil
  7048  }
  7049  
  7050  type ProjectsLocationsFleetsDeleteCall struct {
  7051  	s          *Service
  7052  	name       string
  7053  	urlParams_ gensupport.URLParams
  7054  	ctx_       context.Context
  7055  	header_    http.Header
  7056  }
  7057  
  7058  // Delete: Removes a Fleet. There must be no memberships remaining in the
  7059  // Fleet.
  7060  //
  7061  //   - name: The Fleet resource name in the format
  7062  //     `projects/*/locations/*/fleets/*`.
  7063  func (r *ProjectsLocationsFleetsService) Delete(name string) *ProjectsLocationsFleetsDeleteCall {
  7064  	c := &ProjectsLocationsFleetsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7065  	c.name = name
  7066  	return c
  7067  }
  7068  
  7069  // Fields allows partial responses to be retrieved. See
  7070  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7071  // details.
  7072  func (c *ProjectsLocationsFleetsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsFleetsDeleteCall {
  7073  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7074  	return c
  7075  }
  7076  
  7077  // Context sets the context to be used in this call's Do method.
  7078  func (c *ProjectsLocationsFleetsDeleteCall) Context(ctx context.Context) *ProjectsLocationsFleetsDeleteCall {
  7079  	c.ctx_ = ctx
  7080  	return c
  7081  }
  7082  
  7083  // Header returns a http.Header that can be modified by the caller to add
  7084  // headers to the request.
  7085  func (c *ProjectsLocationsFleetsDeleteCall) Header() http.Header {
  7086  	if c.header_ == nil {
  7087  		c.header_ = make(http.Header)
  7088  	}
  7089  	return c.header_
  7090  }
  7091  
  7092  func (c *ProjectsLocationsFleetsDeleteCall) doRequest(alt string) (*http.Response, error) {
  7093  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7094  	var body io.Reader = nil
  7095  	c.urlParams_.Set("alt", alt)
  7096  	c.urlParams_.Set("prettyPrint", "false")
  7097  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  7098  	urls += "?" + c.urlParams_.Encode()
  7099  	req, err := http.NewRequest("DELETE", urls, body)
  7100  	if err != nil {
  7101  		return nil, err
  7102  	}
  7103  	req.Header = reqHeaders
  7104  	googleapi.Expand(req.URL, map[string]string{
  7105  		"name": c.name,
  7106  	})
  7107  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7108  }
  7109  
  7110  // Do executes the "gkehub.projects.locations.fleets.delete" call.
  7111  // Any non-2xx status code is an error. Response headers are in either
  7112  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  7113  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7114  // whether the returned error was because http.StatusNotModified was returned.
  7115  func (c *ProjectsLocationsFleetsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  7116  	gensupport.SetOptions(c.urlParams_, opts...)
  7117  	res, err := c.doRequest("json")
  7118  	if res != nil && res.StatusCode == http.StatusNotModified {
  7119  		if res.Body != nil {
  7120  			res.Body.Close()
  7121  		}
  7122  		return nil, gensupport.WrapError(&googleapi.Error{
  7123  			Code:   res.StatusCode,
  7124  			Header: res.Header,
  7125  		})
  7126  	}
  7127  	if err != nil {
  7128  		return nil, err
  7129  	}
  7130  	defer googleapi.CloseBody(res)
  7131  	if err := googleapi.CheckResponse(res); err != nil {
  7132  		return nil, gensupport.WrapError(err)
  7133  	}
  7134  	ret := &Operation{
  7135  		ServerResponse: googleapi.ServerResponse{
  7136  			Header:         res.Header,
  7137  			HTTPStatusCode: res.StatusCode,
  7138  		},
  7139  	}
  7140  	target := &ret
  7141  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7142  		return nil, err
  7143  	}
  7144  	return ret, nil
  7145  }
  7146  
  7147  type ProjectsLocationsFleetsGetCall struct {
  7148  	s            *Service
  7149  	name         string
  7150  	urlParams_   gensupport.URLParams
  7151  	ifNoneMatch_ string
  7152  	ctx_         context.Context
  7153  	header_      http.Header
  7154  }
  7155  
  7156  // Get: Returns the details of a fleet.
  7157  //
  7158  //   - name: The Fleet resource name in the format
  7159  //     `projects/*/locations/*/fleets/*`.
  7160  func (r *ProjectsLocationsFleetsService) Get(name string) *ProjectsLocationsFleetsGetCall {
  7161  	c := &ProjectsLocationsFleetsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7162  	c.name = name
  7163  	return c
  7164  }
  7165  
  7166  // Fields allows partial responses to be retrieved. See
  7167  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7168  // details.
  7169  func (c *ProjectsLocationsFleetsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsFleetsGetCall {
  7170  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7171  	return c
  7172  }
  7173  
  7174  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  7175  // object's ETag matches the given value. This is useful for getting updates
  7176  // only after the object has changed since the last request.
  7177  func (c *ProjectsLocationsFleetsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsFleetsGetCall {
  7178  	c.ifNoneMatch_ = entityTag
  7179  	return c
  7180  }
  7181  
  7182  // Context sets the context to be used in this call's Do method.
  7183  func (c *ProjectsLocationsFleetsGetCall) Context(ctx context.Context) *ProjectsLocationsFleetsGetCall {
  7184  	c.ctx_ = ctx
  7185  	return c
  7186  }
  7187  
  7188  // Header returns a http.Header that can be modified by the caller to add
  7189  // headers to the request.
  7190  func (c *ProjectsLocationsFleetsGetCall) Header() http.Header {
  7191  	if c.header_ == nil {
  7192  		c.header_ = make(http.Header)
  7193  	}
  7194  	return c.header_
  7195  }
  7196  
  7197  func (c *ProjectsLocationsFleetsGetCall) doRequest(alt string) (*http.Response, error) {
  7198  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7199  	if c.ifNoneMatch_ != "" {
  7200  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  7201  	}
  7202  	var body io.Reader = nil
  7203  	c.urlParams_.Set("alt", alt)
  7204  	c.urlParams_.Set("prettyPrint", "false")
  7205  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  7206  	urls += "?" + c.urlParams_.Encode()
  7207  	req, err := http.NewRequest("GET", urls, body)
  7208  	if err != nil {
  7209  		return nil, err
  7210  	}
  7211  	req.Header = reqHeaders
  7212  	googleapi.Expand(req.URL, map[string]string{
  7213  		"name": c.name,
  7214  	})
  7215  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7216  }
  7217  
  7218  // Do executes the "gkehub.projects.locations.fleets.get" call.
  7219  // Any non-2xx status code is an error. Response headers are in either
  7220  // *Fleet.ServerResponse.Header or (if a response was returned at all) in
  7221  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7222  // whether the returned error was because http.StatusNotModified was returned.
  7223  func (c *ProjectsLocationsFleetsGetCall) Do(opts ...googleapi.CallOption) (*Fleet, error) {
  7224  	gensupport.SetOptions(c.urlParams_, opts...)
  7225  	res, err := c.doRequest("json")
  7226  	if res != nil && res.StatusCode == http.StatusNotModified {
  7227  		if res.Body != nil {
  7228  			res.Body.Close()
  7229  		}
  7230  		return nil, gensupport.WrapError(&googleapi.Error{
  7231  			Code:   res.StatusCode,
  7232  			Header: res.Header,
  7233  		})
  7234  	}
  7235  	if err != nil {
  7236  		return nil, err
  7237  	}
  7238  	defer googleapi.CloseBody(res)
  7239  	if err := googleapi.CheckResponse(res); err != nil {
  7240  		return nil, gensupport.WrapError(err)
  7241  	}
  7242  	ret := &Fleet{
  7243  		ServerResponse: googleapi.ServerResponse{
  7244  			Header:         res.Header,
  7245  			HTTPStatusCode: res.StatusCode,
  7246  		},
  7247  	}
  7248  	target := &ret
  7249  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7250  		return nil, err
  7251  	}
  7252  	return ret, nil
  7253  }
  7254  
  7255  type ProjectsLocationsFleetsListCall struct {
  7256  	s            *Service
  7257  	parent       string
  7258  	urlParams_   gensupport.URLParams
  7259  	ifNoneMatch_ string
  7260  	ctx_         context.Context
  7261  	header_      http.Header
  7262  }
  7263  
  7264  // List: Returns all fleets within an organization or a project that the caller
  7265  // has access to.
  7266  //
  7267  //   - parent: The organization or project to list for Fleets under, in the
  7268  //     format `organizations/*/locations/*` or `projects/*/locations/*`.
  7269  func (r *ProjectsLocationsFleetsService) List(parent string) *ProjectsLocationsFleetsListCall {
  7270  	c := &ProjectsLocationsFleetsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7271  	c.parent = parent
  7272  	return c
  7273  }
  7274  
  7275  // PageSize sets the optional parameter "pageSize": The maximum number of
  7276  // fleets to return. The service may return fewer than this value. If
  7277  // unspecified, at most 200 fleets will be returned. The maximum value is 1000;
  7278  // values above 1000 will be coerced to 1000.
  7279  func (c *ProjectsLocationsFleetsListCall) PageSize(pageSize int64) *ProjectsLocationsFleetsListCall {
  7280  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  7281  	return c
  7282  }
  7283  
  7284  // PageToken sets the optional parameter "pageToken": A page token, received
  7285  // from a previous `ListFleets` call. Provide this to retrieve the subsequent
  7286  // page. When paginating, all other parameters provided to `ListFleets` must
  7287  // match the call that provided the page token.
  7288  func (c *ProjectsLocationsFleetsListCall) PageToken(pageToken string) *ProjectsLocationsFleetsListCall {
  7289  	c.urlParams_.Set("pageToken", pageToken)
  7290  	return c
  7291  }
  7292  
  7293  // Fields allows partial responses to be retrieved. See
  7294  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7295  // details.
  7296  func (c *ProjectsLocationsFleetsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsFleetsListCall {
  7297  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7298  	return c
  7299  }
  7300  
  7301  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  7302  // object's ETag matches the given value. This is useful for getting updates
  7303  // only after the object has changed since the last request.
  7304  func (c *ProjectsLocationsFleetsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsFleetsListCall {
  7305  	c.ifNoneMatch_ = entityTag
  7306  	return c
  7307  }
  7308  
  7309  // Context sets the context to be used in this call's Do method.
  7310  func (c *ProjectsLocationsFleetsListCall) Context(ctx context.Context) *ProjectsLocationsFleetsListCall {
  7311  	c.ctx_ = ctx
  7312  	return c
  7313  }
  7314  
  7315  // Header returns a http.Header that can be modified by the caller to add
  7316  // headers to the request.
  7317  func (c *ProjectsLocationsFleetsListCall) Header() http.Header {
  7318  	if c.header_ == nil {
  7319  		c.header_ = make(http.Header)
  7320  	}
  7321  	return c.header_
  7322  }
  7323  
  7324  func (c *ProjectsLocationsFleetsListCall) doRequest(alt string) (*http.Response, error) {
  7325  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7326  	if c.ifNoneMatch_ != "" {
  7327  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  7328  	}
  7329  	var body io.Reader = nil
  7330  	c.urlParams_.Set("alt", alt)
  7331  	c.urlParams_.Set("prettyPrint", "false")
  7332  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/fleets")
  7333  	urls += "?" + c.urlParams_.Encode()
  7334  	req, err := http.NewRequest("GET", urls, body)
  7335  	if err != nil {
  7336  		return nil, err
  7337  	}
  7338  	req.Header = reqHeaders
  7339  	googleapi.Expand(req.URL, map[string]string{
  7340  		"parent": c.parent,
  7341  	})
  7342  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7343  }
  7344  
  7345  // Do executes the "gkehub.projects.locations.fleets.list" call.
  7346  // Any non-2xx status code is an error. Response headers are in either
  7347  // *ListFleetsResponse.ServerResponse.Header or (if a response was returned at
  7348  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  7349  // check whether the returned error was because http.StatusNotModified was
  7350  // returned.
  7351  func (c *ProjectsLocationsFleetsListCall) Do(opts ...googleapi.CallOption) (*ListFleetsResponse, error) {
  7352  	gensupport.SetOptions(c.urlParams_, opts...)
  7353  	res, err := c.doRequest("json")
  7354  	if res != nil && res.StatusCode == http.StatusNotModified {
  7355  		if res.Body != nil {
  7356  			res.Body.Close()
  7357  		}
  7358  		return nil, gensupport.WrapError(&googleapi.Error{
  7359  			Code:   res.StatusCode,
  7360  			Header: res.Header,
  7361  		})
  7362  	}
  7363  	if err != nil {
  7364  		return nil, err
  7365  	}
  7366  	defer googleapi.CloseBody(res)
  7367  	if err := googleapi.CheckResponse(res); err != nil {
  7368  		return nil, gensupport.WrapError(err)
  7369  	}
  7370  	ret := &ListFleetsResponse{
  7371  		ServerResponse: googleapi.ServerResponse{
  7372  			Header:         res.Header,
  7373  			HTTPStatusCode: res.StatusCode,
  7374  		},
  7375  	}
  7376  	target := &ret
  7377  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7378  		return nil, err
  7379  	}
  7380  	return ret, nil
  7381  }
  7382  
  7383  // Pages invokes f for each page of results.
  7384  // A non-nil error returned from f will halt the iteration.
  7385  // The provided context supersedes any context provided to the Context method.
  7386  func (c *ProjectsLocationsFleetsListCall) Pages(ctx context.Context, f func(*ListFleetsResponse) error) error {
  7387  	c.ctx_ = ctx
  7388  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  7389  	for {
  7390  		x, err := c.Do()
  7391  		if err != nil {
  7392  			return err
  7393  		}
  7394  		if err := f(x); err != nil {
  7395  			return err
  7396  		}
  7397  		if x.NextPageToken == "" {
  7398  			return nil
  7399  		}
  7400  		c.PageToken(x.NextPageToken)
  7401  	}
  7402  }
  7403  
  7404  type ProjectsLocationsFleetsPatchCall struct {
  7405  	s          *Service
  7406  	name       string
  7407  	fleet      *Fleet
  7408  	urlParams_ gensupport.URLParams
  7409  	ctx_       context.Context
  7410  	header_    http.Header
  7411  }
  7412  
  7413  // Patch: Updates a fleet.
  7414  //
  7415  //   - name: Output only. The full, unique resource name of this fleet in the
  7416  //     format of `projects/{project}/locations/{location}/fleets/{fleet}`. Each
  7417  //     Google Cloud project can have at most one fleet resource, named "default".
  7418  func (r *ProjectsLocationsFleetsService) Patch(name string, fleet *Fleet) *ProjectsLocationsFleetsPatchCall {
  7419  	c := &ProjectsLocationsFleetsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7420  	c.name = name
  7421  	c.fleet = fleet
  7422  	return c
  7423  }
  7424  
  7425  // UpdateMask sets the optional parameter "updateMask": Required. The fields to
  7426  // be updated;
  7427  func (c *ProjectsLocationsFleetsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsFleetsPatchCall {
  7428  	c.urlParams_.Set("updateMask", updateMask)
  7429  	return c
  7430  }
  7431  
  7432  // Fields allows partial responses to be retrieved. See
  7433  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7434  // details.
  7435  func (c *ProjectsLocationsFleetsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsFleetsPatchCall {
  7436  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7437  	return c
  7438  }
  7439  
  7440  // Context sets the context to be used in this call's Do method.
  7441  func (c *ProjectsLocationsFleetsPatchCall) Context(ctx context.Context) *ProjectsLocationsFleetsPatchCall {
  7442  	c.ctx_ = ctx
  7443  	return c
  7444  }
  7445  
  7446  // Header returns a http.Header that can be modified by the caller to add
  7447  // headers to the request.
  7448  func (c *ProjectsLocationsFleetsPatchCall) Header() http.Header {
  7449  	if c.header_ == nil {
  7450  		c.header_ = make(http.Header)
  7451  	}
  7452  	return c.header_
  7453  }
  7454  
  7455  func (c *ProjectsLocationsFleetsPatchCall) doRequest(alt string) (*http.Response, error) {
  7456  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  7457  	var body io.Reader = nil
  7458  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.fleet)
  7459  	if err != nil {
  7460  		return nil, err
  7461  	}
  7462  	c.urlParams_.Set("alt", alt)
  7463  	c.urlParams_.Set("prettyPrint", "false")
  7464  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  7465  	urls += "?" + c.urlParams_.Encode()
  7466  	req, err := http.NewRequest("PATCH", urls, body)
  7467  	if err != nil {
  7468  		return nil, err
  7469  	}
  7470  	req.Header = reqHeaders
  7471  	googleapi.Expand(req.URL, map[string]string{
  7472  		"name": c.name,
  7473  	})
  7474  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7475  }
  7476  
  7477  // Do executes the "gkehub.projects.locations.fleets.patch" call.
  7478  // Any non-2xx status code is an error. Response headers are in either
  7479  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  7480  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7481  // whether the returned error was because http.StatusNotModified was returned.
  7482  func (c *ProjectsLocationsFleetsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  7483  	gensupport.SetOptions(c.urlParams_, opts...)
  7484  	res, err := c.doRequest("json")
  7485  	if res != nil && res.StatusCode == http.StatusNotModified {
  7486  		if res.Body != nil {
  7487  			res.Body.Close()
  7488  		}
  7489  		return nil, gensupport.WrapError(&googleapi.Error{
  7490  			Code:   res.StatusCode,
  7491  			Header: res.Header,
  7492  		})
  7493  	}
  7494  	if err != nil {
  7495  		return nil, err
  7496  	}
  7497  	defer googleapi.CloseBody(res)
  7498  	if err := googleapi.CheckResponse(res); err != nil {
  7499  		return nil, gensupport.WrapError(err)
  7500  	}
  7501  	ret := &Operation{
  7502  		ServerResponse: googleapi.ServerResponse{
  7503  			Header:         res.Header,
  7504  			HTTPStatusCode: res.StatusCode,
  7505  		},
  7506  	}
  7507  	target := &ret
  7508  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7509  		return nil, err
  7510  	}
  7511  	return ret, nil
  7512  }
  7513  
  7514  type ProjectsLocationsMembershipsCreateCall struct {
  7515  	s          *Service
  7516  	parent     string
  7517  	membership *Membership
  7518  	urlParams_ gensupport.URLParams
  7519  	ctx_       context.Context
  7520  	header_    http.Header
  7521  }
  7522  
  7523  // Create: Creates a new Membership. **This is currently only supported for GKE
  7524  // clusters on Google Cloud**. To register other clusters, follow the
  7525  // instructions at
  7526  // https://cloud.google.com/anthos/multicluster-management/connect/registering-a-cluster.
  7527  //
  7528  //   - parent: The parent (project and location) where the Memberships will be
  7529  //     created. Specified in the format `projects/*/locations/*`.
  7530  func (r *ProjectsLocationsMembershipsService) Create(parent string, membership *Membership) *ProjectsLocationsMembershipsCreateCall {
  7531  	c := &ProjectsLocationsMembershipsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7532  	c.parent = parent
  7533  	c.membership = membership
  7534  	return c
  7535  }
  7536  
  7537  // MembershipId sets the optional parameter "membershipId": Required. Client
  7538  // chosen ID for the membership. `membership_id` must be a valid RFC 1123
  7539  // compliant DNS label: 1. At most 63 characters in length 2. It must consist
  7540  // of lower case alphanumeric characters or `-` 3. It must start and end with
  7541  // an alphanumeric character Which can be expressed as the regex:
  7542  // `[a-z0-9]([-a-z0-9]*[a-z0-9])?`, with a maximum length of 63 characters.
  7543  func (c *ProjectsLocationsMembershipsCreateCall) MembershipId(membershipId string) *ProjectsLocationsMembershipsCreateCall {
  7544  	c.urlParams_.Set("membershipId", membershipId)
  7545  	return c
  7546  }
  7547  
  7548  // RequestId sets the optional parameter "requestId": A request ID to identify
  7549  // requests. Specify a unique request ID so that if you must retry your
  7550  // request, the server will know to ignore the request if it has already been
  7551  // completed. The server will guarantee that for at least 60 minutes after the
  7552  // first request. For example, consider a situation where you make an initial
  7553  // request and the request times out. If you make the request again with the
  7554  // same request ID, the server can check if original operation with the same
  7555  // request ID was received, and if so, will ignore the second request. This
  7556  // prevents clients from accidentally creating duplicate commitments. The
  7557  // request ID must be a valid UUID with the exception that zero UUID is not
  7558  // supported (00000000-0000-0000-0000-000000000000).
  7559  func (c *ProjectsLocationsMembershipsCreateCall) RequestId(requestId string) *ProjectsLocationsMembershipsCreateCall {
  7560  	c.urlParams_.Set("requestId", requestId)
  7561  	return c
  7562  }
  7563  
  7564  // Fields allows partial responses to be retrieved. See
  7565  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7566  // details.
  7567  func (c *ProjectsLocationsMembershipsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsMembershipsCreateCall {
  7568  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7569  	return c
  7570  }
  7571  
  7572  // Context sets the context to be used in this call's Do method.
  7573  func (c *ProjectsLocationsMembershipsCreateCall) Context(ctx context.Context) *ProjectsLocationsMembershipsCreateCall {
  7574  	c.ctx_ = ctx
  7575  	return c
  7576  }
  7577  
  7578  // Header returns a http.Header that can be modified by the caller to add
  7579  // headers to the request.
  7580  func (c *ProjectsLocationsMembershipsCreateCall) Header() http.Header {
  7581  	if c.header_ == nil {
  7582  		c.header_ = make(http.Header)
  7583  	}
  7584  	return c.header_
  7585  }
  7586  
  7587  func (c *ProjectsLocationsMembershipsCreateCall) doRequest(alt string) (*http.Response, error) {
  7588  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  7589  	var body io.Reader = nil
  7590  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.membership)
  7591  	if err != nil {
  7592  		return nil, err
  7593  	}
  7594  	c.urlParams_.Set("alt", alt)
  7595  	c.urlParams_.Set("prettyPrint", "false")
  7596  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/memberships")
  7597  	urls += "?" + c.urlParams_.Encode()
  7598  	req, err := http.NewRequest("POST", urls, body)
  7599  	if err != nil {
  7600  		return nil, err
  7601  	}
  7602  	req.Header = reqHeaders
  7603  	googleapi.Expand(req.URL, map[string]string{
  7604  		"parent": c.parent,
  7605  	})
  7606  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7607  }
  7608  
  7609  // Do executes the "gkehub.projects.locations.memberships.create" call.
  7610  // Any non-2xx status code is an error. Response headers are in either
  7611  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  7612  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7613  // whether the returned error was because http.StatusNotModified was returned.
  7614  func (c *ProjectsLocationsMembershipsCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  7615  	gensupport.SetOptions(c.urlParams_, opts...)
  7616  	res, err := c.doRequest("json")
  7617  	if res != nil && res.StatusCode == http.StatusNotModified {
  7618  		if res.Body != nil {
  7619  			res.Body.Close()
  7620  		}
  7621  		return nil, gensupport.WrapError(&googleapi.Error{
  7622  			Code:   res.StatusCode,
  7623  			Header: res.Header,
  7624  		})
  7625  	}
  7626  	if err != nil {
  7627  		return nil, err
  7628  	}
  7629  	defer googleapi.CloseBody(res)
  7630  	if err := googleapi.CheckResponse(res); err != nil {
  7631  		return nil, gensupport.WrapError(err)
  7632  	}
  7633  	ret := &Operation{
  7634  		ServerResponse: googleapi.ServerResponse{
  7635  			Header:         res.Header,
  7636  			HTTPStatusCode: res.StatusCode,
  7637  		},
  7638  	}
  7639  	target := &ret
  7640  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7641  		return nil, err
  7642  	}
  7643  	return ret, nil
  7644  }
  7645  
  7646  type ProjectsLocationsMembershipsDeleteCall struct {
  7647  	s          *Service
  7648  	name       string
  7649  	urlParams_ gensupport.URLParams
  7650  	ctx_       context.Context
  7651  	header_    http.Header
  7652  }
  7653  
  7654  // Delete: Removes a Membership. **This is currently only supported for GKE
  7655  // clusters on Google Cloud**. To unregister other clusters, follow the
  7656  // instructions at
  7657  // https://cloud.google.com/anthos/multicluster-management/connect/unregistering-a-cluster.
  7658  //
  7659  //   - name: The Membership resource name in the format
  7660  //     `projects/*/locations/*/memberships/*`.
  7661  func (r *ProjectsLocationsMembershipsService) Delete(name string) *ProjectsLocationsMembershipsDeleteCall {
  7662  	c := &ProjectsLocationsMembershipsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7663  	c.name = name
  7664  	return c
  7665  }
  7666  
  7667  // Force sets the optional parameter "force": If set to true, any subresource
  7668  // from this Membership will also be deleted. Otherwise, the request will only
  7669  // work if the Membership has no subresource.
  7670  func (c *ProjectsLocationsMembershipsDeleteCall) Force(force bool) *ProjectsLocationsMembershipsDeleteCall {
  7671  	c.urlParams_.Set("force", fmt.Sprint(force))
  7672  	return c
  7673  }
  7674  
  7675  // RequestId sets the optional parameter "requestId": A request ID to identify
  7676  // requests. Specify a unique request ID so that if you must retry your
  7677  // request, the server will know to ignore the request if it has already been
  7678  // completed. The server will guarantee that for at least 60 minutes after the
  7679  // first request. For example, consider a situation where you make an initial
  7680  // request and the request times out. If you make the request again with the
  7681  // same request ID, the server can check if original operation with the same
  7682  // request ID was received, and if so, will ignore the second request. This
  7683  // prevents clients from accidentally creating duplicate commitments. The
  7684  // request ID must be a valid UUID with the exception that zero UUID is not
  7685  // supported (00000000-0000-0000-0000-000000000000).
  7686  func (c *ProjectsLocationsMembershipsDeleteCall) RequestId(requestId string) *ProjectsLocationsMembershipsDeleteCall {
  7687  	c.urlParams_.Set("requestId", requestId)
  7688  	return c
  7689  }
  7690  
  7691  // Fields allows partial responses to be retrieved. See
  7692  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7693  // details.
  7694  func (c *ProjectsLocationsMembershipsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsMembershipsDeleteCall {
  7695  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7696  	return c
  7697  }
  7698  
  7699  // Context sets the context to be used in this call's Do method.
  7700  func (c *ProjectsLocationsMembershipsDeleteCall) Context(ctx context.Context) *ProjectsLocationsMembershipsDeleteCall {
  7701  	c.ctx_ = ctx
  7702  	return c
  7703  }
  7704  
  7705  // Header returns a http.Header that can be modified by the caller to add
  7706  // headers to the request.
  7707  func (c *ProjectsLocationsMembershipsDeleteCall) Header() http.Header {
  7708  	if c.header_ == nil {
  7709  		c.header_ = make(http.Header)
  7710  	}
  7711  	return c.header_
  7712  }
  7713  
  7714  func (c *ProjectsLocationsMembershipsDeleteCall) doRequest(alt string) (*http.Response, error) {
  7715  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7716  	var body io.Reader = nil
  7717  	c.urlParams_.Set("alt", alt)
  7718  	c.urlParams_.Set("prettyPrint", "false")
  7719  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  7720  	urls += "?" + c.urlParams_.Encode()
  7721  	req, err := http.NewRequest("DELETE", urls, body)
  7722  	if err != nil {
  7723  		return nil, err
  7724  	}
  7725  	req.Header = reqHeaders
  7726  	googleapi.Expand(req.URL, map[string]string{
  7727  		"name": c.name,
  7728  	})
  7729  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7730  }
  7731  
  7732  // Do executes the "gkehub.projects.locations.memberships.delete" call.
  7733  // Any non-2xx status code is an error. Response headers are in either
  7734  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  7735  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7736  // whether the returned error was because http.StatusNotModified was returned.
  7737  func (c *ProjectsLocationsMembershipsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  7738  	gensupport.SetOptions(c.urlParams_, opts...)
  7739  	res, err := c.doRequest("json")
  7740  	if res != nil && res.StatusCode == http.StatusNotModified {
  7741  		if res.Body != nil {
  7742  			res.Body.Close()
  7743  		}
  7744  		return nil, gensupport.WrapError(&googleapi.Error{
  7745  			Code:   res.StatusCode,
  7746  			Header: res.Header,
  7747  		})
  7748  	}
  7749  	if err != nil {
  7750  		return nil, err
  7751  	}
  7752  	defer googleapi.CloseBody(res)
  7753  	if err := googleapi.CheckResponse(res); err != nil {
  7754  		return nil, gensupport.WrapError(err)
  7755  	}
  7756  	ret := &Operation{
  7757  		ServerResponse: googleapi.ServerResponse{
  7758  			Header:         res.Header,
  7759  			HTTPStatusCode: res.StatusCode,
  7760  		},
  7761  	}
  7762  	target := &ret
  7763  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7764  		return nil, err
  7765  	}
  7766  	return ret, nil
  7767  }
  7768  
  7769  type ProjectsLocationsMembershipsGenerateConnectManifestCall struct {
  7770  	s            *Service
  7771  	name         string
  7772  	urlParams_   gensupport.URLParams
  7773  	ifNoneMatch_ string
  7774  	ctx_         context.Context
  7775  	header_      http.Header
  7776  }
  7777  
  7778  // GenerateConnectManifest: Generates the manifest for deployment of the GKE
  7779  // connect agent. **This method is used internally by Google-provided
  7780  // libraries.** Most clients should not need to call this method directly.
  7781  //
  7782  //   - name: The Membership resource name the Agent will associate with, in the
  7783  //     format `projects/*/locations/*/memberships/*`.
  7784  func (r *ProjectsLocationsMembershipsService) GenerateConnectManifest(name string) *ProjectsLocationsMembershipsGenerateConnectManifestCall {
  7785  	c := &ProjectsLocationsMembershipsGenerateConnectManifestCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7786  	c.name = name
  7787  	return c
  7788  }
  7789  
  7790  // ImagePullSecretContent sets the optional parameter "imagePullSecretContent":
  7791  // The image pull secret content for the registry, if not public.
  7792  func (c *ProjectsLocationsMembershipsGenerateConnectManifestCall) ImagePullSecretContent(imagePullSecretContent string) *ProjectsLocationsMembershipsGenerateConnectManifestCall {
  7793  	c.urlParams_.Set("imagePullSecretContent", imagePullSecretContent)
  7794  	return c
  7795  }
  7796  
  7797  // IsUpgrade sets the optional parameter "isUpgrade": If true, generate the
  7798  // resources for upgrade only. Some resources generated only for installation
  7799  // (e.g. secrets) will be excluded.
  7800  func (c *ProjectsLocationsMembershipsGenerateConnectManifestCall) IsUpgrade(isUpgrade bool) *ProjectsLocationsMembershipsGenerateConnectManifestCall {
  7801  	c.urlParams_.Set("isUpgrade", fmt.Sprint(isUpgrade))
  7802  	return c
  7803  }
  7804  
  7805  // Namespace sets the optional parameter "namespace": Namespace for GKE Connect
  7806  // agent resources. Defaults to `gke-connect`. The Connect Agent is authorized
  7807  // automatically when run in the default namespace. Otherwise, explicit
  7808  // authorization must be granted with an additional IAM binding.
  7809  func (c *ProjectsLocationsMembershipsGenerateConnectManifestCall) Namespace(namespace string) *ProjectsLocationsMembershipsGenerateConnectManifestCall {
  7810  	c.urlParams_.Set("namespace", namespace)
  7811  	return c
  7812  }
  7813  
  7814  // Proxy sets the optional parameter "proxy": URI of a proxy if connectivity
  7815  // from the agent to gkeconnect.googleapis.com requires the use of a proxy.
  7816  // Format must be in the form `http(s)://{proxy_address}`, depending on the
  7817  // HTTP/HTTPS protocol supported by the proxy. This will direct the connect
  7818  // agent's outbound traffic through a HTTP(S) proxy.
  7819  func (c *ProjectsLocationsMembershipsGenerateConnectManifestCall) Proxy(proxy string) *ProjectsLocationsMembershipsGenerateConnectManifestCall {
  7820  	c.urlParams_.Set("proxy", proxy)
  7821  	return c
  7822  }
  7823  
  7824  // Registry sets the optional parameter "registry": The registry to fetch the
  7825  // connect agent image from. Defaults to gcr.io/gkeconnect.
  7826  func (c *ProjectsLocationsMembershipsGenerateConnectManifestCall) Registry(registry string) *ProjectsLocationsMembershipsGenerateConnectManifestCall {
  7827  	c.urlParams_.Set("registry", registry)
  7828  	return c
  7829  }
  7830  
  7831  // Version sets the optional parameter "version": The Connect agent version to
  7832  // use. Defaults to the most current version.
  7833  func (c *ProjectsLocationsMembershipsGenerateConnectManifestCall) Version(version string) *ProjectsLocationsMembershipsGenerateConnectManifestCall {
  7834  	c.urlParams_.Set("version", version)
  7835  	return c
  7836  }
  7837  
  7838  // Fields allows partial responses to be retrieved. See
  7839  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7840  // details.
  7841  func (c *ProjectsLocationsMembershipsGenerateConnectManifestCall) Fields(s ...googleapi.Field) *ProjectsLocationsMembershipsGenerateConnectManifestCall {
  7842  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7843  	return c
  7844  }
  7845  
  7846  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  7847  // object's ETag matches the given value. This is useful for getting updates
  7848  // only after the object has changed since the last request.
  7849  func (c *ProjectsLocationsMembershipsGenerateConnectManifestCall) IfNoneMatch(entityTag string) *ProjectsLocationsMembershipsGenerateConnectManifestCall {
  7850  	c.ifNoneMatch_ = entityTag
  7851  	return c
  7852  }
  7853  
  7854  // Context sets the context to be used in this call's Do method.
  7855  func (c *ProjectsLocationsMembershipsGenerateConnectManifestCall) Context(ctx context.Context) *ProjectsLocationsMembershipsGenerateConnectManifestCall {
  7856  	c.ctx_ = ctx
  7857  	return c
  7858  }
  7859  
  7860  // Header returns a http.Header that can be modified by the caller to add
  7861  // headers to the request.
  7862  func (c *ProjectsLocationsMembershipsGenerateConnectManifestCall) Header() http.Header {
  7863  	if c.header_ == nil {
  7864  		c.header_ = make(http.Header)
  7865  	}
  7866  	return c.header_
  7867  }
  7868  
  7869  func (c *ProjectsLocationsMembershipsGenerateConnectManifestCall) doRequest(alt string) (*http.Response, error) {
  7870  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7871  	if c.ifNoneMatch_ != "" {
  7872  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  7873  	}
  7874  	var body io.Reader = nil
  7875  	c.urlParams_.Set("alt", alt)
  7876  	c.urlParams_.Set("prettyPrint", "false")
  7877  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:generateConnectManifest")
  7878  	urls += "?" + c.urlParams_.Encode()
  7879  	req, err := http.NewRequest("GET", urls, body)
  7880  	if err != nil {
  7881  		return nil, err
  7882  	}
  7883  	req.Header = reqHeaders
  7884  	googleapi.Expand(req.URL, map[string]string{
  7885  		"name": c.name,
  7886  	})
  7887  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7888  }
  7889  
  7890  // Do executes the "gkehub.projects.locations.memberships.generateConnectManifest" call.
  7891  // Any non-2xx status code is an error. Response headers are in either
  7892  // *GenerateConnectManifestResponse.ServerResponse.Header or (if a response was
  7893  // returned at all) in error.(*googleapi.Error).Header. Use
  7894  // googleapi.IsNotModified to check whether the returned error was because
  7895  // http.StatusNotModified was returned.
  7896  func (c *ProjectsLocationsMembershipsGenerateConnectManifestCall) Do(opts ...googleapi.CallOption) (*GenerateConnectManifestResponse, error) {
  7897  	gensupport.SetOptions(c.urlParams_, opts...)
  7898  	res, err := c.doRequest("json")
  7899  	if res != nil && res.StatusCode == http.StatusNotModified {
  7900  		if res.Body != nil {
  7901  			res.Body.Close()
  7902  		}
  7903  		return nil, gensupport.WrapError(&googleapi.Error{
  7904  			Code:   res.StatusCode,
  7905  			Header: res.Header,
  7906  		})
  7907  	}
  7908  	if err != nil {
  7909  		return nil, err
  7910  	}
  7911  	defer googleapi.CloseBody(res)
  7912  	if err := googleapi.CheckResponse(res); err != nil {
  7913  		return nil, gensupport.WrapError(err)
  7914  	}
  7915  	ret := &GenerateConnectManifestResponse{
  7916  		ServerResponse: googleapi.ServerResponse{
  7917  			Header:         res.Header,
  7918  			HTTPStatusCode: res.StatusCode,
  7919  		},
  7920  	}
  7921  	target := &ret
  7922  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7923  		return nil, err
  7924  	}
  7925  	return ret, nil
  7926  }
  7927  
  7928  type ProjectsLocationsMembershipsGetCall struct {
  7929  	s            *Service
  7930  	name         string
  7931  	urlParams_   gensupport.URLParams
  7932  	ifNoneMatch_ string
  7933  	ctx_         context.Context
  7934  	header_      http.Header
  7935  }
  7936  
  7937  // Get: Gets the details of a Membership.
  7938  //
  7939  //   - name: The Membership resource name in the format
  7940  //     `projects/*/locations/*/memberships/*`.
  7941  func (r *ProjectsLocationsMembershipsService) Get(name string) *ProjectsLocationsMembershipsGetCall {
  7942  	c := &ProjectsLocationsMembershipsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7943  	c.name = name
  7944  	return c
  7945  }
  7946  
  7947  // Fields allows partial responses to be retrieved. See
  7948  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7949  // details.
  7950  func (c *ProjectsLocationsMembershipsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsMembershipsGetCall {
  7951  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7952  	return c
  7953  }
  7954  
  7955  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  7956  // object's ETag matches the given value. This is useful for getting updates
  7957  // only after the object has changed since the last request.
  7958  func (c *ProjectsLocationsMembershipsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsMembershipsGetCall {
  7959  	c.ifNoneMatch_ = entityTag
  7960  	return c
  7961  }
  7962  
  7963  // Context sets the context to be used in this call's Do method.
  7964  func (c *ProjectsLocationsMembershipsGetCall) Context(ctx context.Context) *ProjectsLocationsMembershipsGetCall {
  7965  	c.ctx_ = ctx
  7966  	return c
  7967  }
  7968  
  7969  // Header returns a http.Header that can be modified by the caller to add
  7970  // headers to the request.
  7971  func (c *ProjectsLocationsMembershipsGetCall) Header() http.Header {
  7972  	if c.header_ == nil {
  7973  		c.header_ = make(http.Header)
  7974  	}
  7975  	return c.header_
  7976  }
  7977  
  7978  func (c *ProjectsLocationsMembershipsGetCall) doRequest(alt string) (*http.Response, error) {
  7979  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7980  	if c.ifNoneMatch_ != "" {
  7981  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  7982  	}
  7983  	var body io.Reader = nil
  7984  	c.urlParams_.Set("alt", alt)
  7985  	c.urlParams_.Set("prettyPrint", "false")
  7986  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  7987  	urls += "?" + c.urlParams_.Encode()
  7988  	req, err := http.NewRequest("GET", urls, body)
  7989  	if err != nil {
  7990  		return nil, err
  7991  	}
  7992  	req.Header = reqHeaders
  7993  	googleapi.Expand(req.URL, map[string]string{
  7994  		"name": c.name,
  7995  	})
  7996  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7997  }
  7998  
  7999  // Do executes the "gkehub.projects.locations.memberships.get" call.
  8000  // Any non-2xx status code is an error. Response headers are in either
  8001  // *Membership.ServerResponse.Header or (if a response was returned at all) in
  8002  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8003  // whether the returned error was because http.StatusNotModified was returned.
  8004  func (c *ProjectsLocationsMembershipsGetCall) Do(opts ...googleapi.CallOption) (*Membership, error) {
  8005  	gensupport.SetOptions(c.urlParams_, opts...)
  8006  	res, err := c.doRequest("json")
  8007  	if res != nil && res.StatusCode == http.StatusNotModified {
  8008  		if res.Body != nil {
  8009  			res.Body.Close()
  8010  		}
  8011  		return nil, gensupport.WrapError(&googleapi.Error{
  8012  			Code:   res.StatusCode,
  8013  			Header: res.Header,
  8014  		})
  8015  	}
  8016  	if err != nil {
  8017  		return nil, err
  8018  	}
  8019  	defer googleapi.CloseBody(res)
  8020  	if err := googleapi.CheckResponse(res); err != nil {
  8021  		return nil, gensupport.WrapError(err)
  8022  	}
  8023  	ret := &Membership{
  8024  		ServerResponse: googleapi.ServerResponse{
  8025  			Header:         res.Header,
  8026  			HTTPStatusCode: res.StatusCode,
  8027  		},
  8028  	}
  8029  	target := &ret
  8030  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8031  		return nil, err
  8032  	}
  8033  	return ret, nil
  8034  }
  8035  
  8036  type ProjectsLocationsMembershipsGetIamPolicyCall struct {
  8037  	s            *Service
  8038  	resource     string
  8039  	urlParams_   gensupport.URLParams
  8040  	ifNoneMatch_ string
  8041  	ctx_         context.Context
  8042  	header_      http.Header
  8043  }
  8044  
  8045  // GetIamPolicy: Gets the access control policy for a resource. Returns an
  8046  // empty policy if the resource exists and does not have a policy set.
  8047  //
  8048  //   - resource: REQUIRED: The resource for which the policy is being requested.
  8049  //     See Resource names (https://cloud.google.com/apis/design/resource_names)
  8050  //     for the appropriate value for this field.
  8051  func (r *ProjectsLocationsMembershipsService) GetIamPolicy(resource string) *ProjectsLocationsMembershipsGetIamPolicyCall {
  8052  	c := &ProjectsLocationsMembershipsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8053  	c.resource = resource
  8054  	return c
  8055  }
  8056  
  8057  // OptionsRequestedPolicyVersion sets the optional parameter
  8058  // "options.requestedPolicyVersion": The maximum policy version that will be
  8059  // used to format the policy. Valid values are 0, 1, and 3. Requests specifying
  8060  // an invalid value will be rejected. Requests for policies with any
  8061  // conditional role bindings must specify version 3. Policies with no
  8062  // conditional role bindings may specify any valid value or leave the field
  8063  // unset. The policy in the response might use the policy version that you
  8064  // specified, or it might use a lower policy version. For example, if you
  8065  // specify version 3, but the policy has no conditional role bindings, the
  8066  // response uses version 1. To learn which resources support conditions in
  8067  // their IAM policies, see the IAM documentation
  8068  // (https://cloud.google.com/iam/help/conditions/resource-policies).
  8069  func (c *ProjectsLocationsMembershipsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsMembershipsGetIamPolicyCall {
  8070  	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
  8071  	return c
  8072  }
  8073  
  8074  // Fields allows partial responses to be retrieved. See
  8075  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8076  // details.
  8077  func (c *ProjectsLocationsMembershipsGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsMembershipsGetIamPolicyCall {
  8078  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8079  	return c
  8080  }
  8081  
  8082  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  8083  // object's ETag matches the given value. This is useful for getting updates
  8084  // only after the object has changed since the last request.
  8085  func (c *ProjectsLocationsMembershipsGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsLocationsMembershipsGetIamPolicyCall {
  8086  	c.ifNoneMatch_ = entityTag
  8087  	return c
  8088  }
  8089  
  8090  // Context sets the context to be used in this call's Do method.
  8091  func (c *ProjectsLocationsMembershipsGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsMembershipsGetIamPolicyCall {
  8092  	c.ctx_ = ctx
  8093  	return c
  8094  }
  8095  
  8096  // Header returns a http.Header that can be modified by the caller to add
  8097  // headers to the request.
  8098  func (c *ProjectsLocationsMembershipsGetIamPolicyCall) Header() http.Header {
  8099  	if c.header_ == nil {
  8100  		c.header_ = make(http.Header)
  8101  	}
  8102  	return c.header_
  8103  }
  8104  
  8105  func (c *ProjectsLocationsMembershipsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
  8106  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8107  	if c.ifNoneMatch_ != "" {
  8108  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  8109  	}
  8110  	var body io.Reader = nil
  8111  	c.urlParams_.Set("alt", alt)
  8112  	c.urlParams_.Set("prettyPrint", "false")
  8113  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:getIamPolicy")
  8114  	urls += "?" + c.urlParams_.Encode()
  8115  	req, err := http.NewRequest("GET", urls, body)
  8116  	if err != nil {
  8117  		return nil, err
  8118  	}
  8119  	req.Header = reqHeaders
  8120  	googleapi.Expand(req.URL, map[string]string{
  8121  		"resource": c.resource,
  8122  	})
  8123  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8124  }
  8125  
  8126  // Do executes the "gkehub.projects.locations.memberships.getIamPolicy" call.
  8127  // Any non-2xx status code is an error. Response headers are in either
  8128  // *Policy.ServerResponse.Header or (if a response was returned at all) in
  8129  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8130  // whether the returned error was because http.StatusNotModified was returned.
  8131  func (c *ProjectsLocationsMembershipsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
  8132  	gensupport.SetOptions(c.urlParams_, opts...)
  8133  	res, err := c.doRequest("json")
  8134  	if res != nil && res.StatusCode == http.StatusNotModified {
  8135  		if res.Body != nil {
  8136  			res.Body.Close()
  8137  		}
  8138  		return nil, gensupport.WrapError(&googleapi.Error{
  8139  			Code:   res.StatusCode,
  8140  			Header: res.Header,
  8141  		})
  8142  	}
  8143  	if err != nil {
  8144  		return nil, err
  8145  	}
  8146  	defer googleapi.CloseBody(res)
  8147  	if err := googleapi.CheckResponse(res); err != nil {
  8148  		return nil, gensupport.WrapError(err)
  8149  	}
  8150  	ret := &Policy{
  8151  		ServerResponse: googleapi.ServerResponse{
  8152  			Header:         res.Header,
  8153  			HTTPStatusCode: res.StatusCode,
  8154  		},
  8155  	}
  8156  	target := &ret
  8157  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8158  		return nil, err
  8159  	}
  8160  	return ret, nil
  8161  }
  8162  
  8163  type ProjectsLocationsMembershipsListCall struct {
  8164  	s            *Service
  8165  	parent       string
  8166  	urlParams_   gensupport.URLParams
  8167  	ifNoneMatch_ string
  8168  	ctx_         context.Context
  8169  	header_      http.Header
  8170  }
  8171  
  8172  // List: Lists Memberships in a given project and location.
  8173  //
  8174  //   - parent: The parent (project and location) where the Memberships will be
  8175  //     listed. Specified in the format `projects/*/locations/*`.
  8176  //     `projects/*/locations/-` list memberships in all the regions.
  8177  func (r *ProjectsLocationsMembershipsService) List(parent string) *ProjectsLocationsMembershipsListCall {
  8178  	c := &ProjectsLocationsMembershipsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8179  	c.parent = parent
  8180  	return c
  8181  }
  8182  
  8183  // Filter sets the optional parameter "filter": Lists Memberships that match
  8184  // the filter expression, following the syntax outlined in
  8185  // https://google.aip.dev/160. Examples: - Name is `bar` in project `foo-proj`
  8186  // and location `global`: name =
  8187  // "projects/foo-proj/locations/global/membership/bar" - Memberships that have
  8188  // a label called `foo`: labels.foo:* - Memberships that have a label called
  8189  // `foo` whose value is `bar`: labels.foo = bar - Memberships in the CREATING
  8190  // state: state = CREATING
  8191  func (c *ProjectsLocationsMembershipsListCall) Filter(filter string) *ProjectsLocationsMembershipsListCall {
  8192  	c.urlParams_.Set("filter", filter)
  8193  	return c
  8194  }
  8195  
  8196  // OrderBy sets the optional parameter "orderBy": One or more fields to compare
  8197  // and use to sort the output. See https://google.aip.dev/132#ordering.
  8198  func (c *ProjectsLocationsMembershipsListCall) OrderBy(orderBy string) *ProjectsLocationsMembershipsListCall {
  8199  	c.urlParams_.Set("orderBy", orderBy)
  8200  	return c
  8201  }
  8202  
  8203  // PageSize sets the optional parameter "pageSize": When requesting a 'page' of
  8204  // resources, `page_size` specifies number of resources to return. If
  8205  // unspecified or set to 0, all resources will be returned.
  8206  func (c *ProjectsLocationsMembershipsListCall) PageSize(pageSize int64) *ProjectsLocationsMembershipsListCall {
  8207  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  8208  	return c
  8209  }
  8210  
  8211  // PageToken sets the optional parameter "pageToken": Token returned by
  8212  // previous call to `ListMemberships` which specifies the position in the list
  8213  // from where to continue listing the resources.
  8214  func (c *ProjectsLocationsMembershipsListCall) PageToken(pageToken string) *ProjectsLocationsMembershipsListCall {
  8215  	c.urlParams_.Set("pageToken", pageToken)
  8216  	return c
  8217  }
  8218  
  8219  // Fields allows partial responses to be retrieved. See
  8220  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8221  // details.
  8222  func (c *ProjectsLocationsMembershipsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsMembershipsListCall {
  8223  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8224  	return c
  8225  }
  8226  
  8227  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  8228  // object's ETag matches the given value. This is useful for getting updates
  8229  // only after the object has changed since the last request.
  8230  func (c *ProjectsLocationsMembershipsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsMembershipsListCall {
  8231  	c.ifNoneMatch_ = entityTag
  8232  	return c
  8233  }
  8234  
  8235  // Context sets the context to be used in this call's Do method.
  8236  func (c *ProjectsLocationsMembershipsListCall) Context(ctx context.Context) *ProjectsLocationsMembershipsListCall {
  8237  	c.ctx_ = ctx
  8238  	return c
  8239  }
  8240  
  8241  // Header returns a http.Header that can be modified by the caller to add
  8242  // headers to the request.
  8243  func (c *ProjectsLocationsMembershipsListCall) Header() http.Header {
  8244  	if c.header_ == nil {
  8245  		c.header_ = make(http.Header)
  8246  	}
  8247  	return c.header_
  8248  }
  8249  
  8250  func (c *ProjectsLocationsMembershipsListCall) doRequest(alt string) (*http.Response, error) {
  8251  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8252  	if c.ifNoneMatch_ != "" {
  8253  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  8254  	}
  8255  	var body io.Reader = nil
  8256  	c.urlParams_.Set("alt", alt)
  8257  	c.urlParams_.Set("prettyPrint", "false")
  8258  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/memberships")
  8259  	urls += "?" + c.urlParams_.Encode()
  8260  	req, err := http.NewRequest("GET", urls, body)
  8261  	if err != nil {
  8262  		return nil, err
  8263  	}
  8264  	req.Header = reqHeaders
  8265  	googleapi.Expand(req.URL, map[string]string{
  8266  		"parent": c.parent,
  8267  	})
  8268  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8269  }
  8270  
  8271  // Do executes the "gkehub.projects.locations.memberships.list" call.
  8272  // Any non-2xx status code is an error. Response headers are in either
  8273  // *ListMembershipsResponse.ServerResponse.Header or (if a response was
  8274  // returned at all) in error.(*googleapi.Error).Header. Use
  8275  // googleapi.IsNotModified to check whether the returned error was because
  8276  // http.StatusNotModified was returned.
  8277  func (c *ProjectsLocationsMembershipsListCall) Do(opts ...googleapi.CallOption) (*ListMembershipsResponse, error) {
  8278  	gensupport.SetOptions(c.urlParams_, opts...)
  8279  	res, err := c.doRequest("json")
  8280  	if res != nil && res.StatusCode == http.StatusNotModified {
  8281  		if res.Body != nil {
  8282  			res.Body.Close()
  8283  		}
  8284  		return nil, gensupport.WrapError(&googleapi.Error{
  8285  			Code:   res.StatusCode,
  8286  			Header: res.Header,
  8287  		})
  8288  	}
  8289  	if err != nil {
  8290  		return nil, err
  8291  	}
  8292  	defer googleapi.CloseBody(res)
  8293  	if err := googleapi.CheckResponse(res); err != nil {
  8294  		return nil, gensupport.WrapError(err)
  8295  	}
  8296  	ret := &ListMembershipsResponse{
  8297  		ServerResponse: googleapi.ServerResponse{
  8298  			Header:         res.Header,
  8299  			HTTPStatusCode: res.StatusCode,
  8300  		},
  8301  	}
  8302  	target := &ret
  8303  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8304  		return nil, err
  8305  	}
  8306  	return ret, nil
  8307  }
  8308  
  8309  // Pages invokes f for each page of results.
  8310  // A non-nil error returned from f will halt the iteration.
  8311  // The provided context supersedes any context provided to the Context method.
  8312  func (c *ProjectsLocationsMembershipsListCall) Pages(ctx context.Context, f func(*ListMembershipsResponse) error) error {
  8313  	c.ctx_ = ctx
  8314  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  8315  	for {
  8316  		x, err := c.Do()
  8317  		if err != nil {
  8318  			return err
  8319  		}
  8320  		if err := f(x); err != nil {
  8321  			return err
  8322  		}
  8323  		if x.NextPageToken == "" {
  8324  			return nil
  8325  		}
  8326  		c.PageToken(x.NextPageToken)
  8327  	}
  8328  }
  8329  
  8330  type ProjectsLocationsMembershipsPatchCall struct {
  8331  	s          *Service
  8332  	name       string
  8333  	membership *Membership
  8334  	urlParams_ gensupport.URLParams
  8335  	ctx_       context.Context
  8336  	header_    http.Header
  8337  }
  8338  
  8339  // Patch: Updates an existing Membership.
  8340  //
  8341  //   - name: The Membership resource name in the format
  8342  //     `projects/*/locations/*/memberships/*`.
  8343  func (r *ProjectsLocationsMembershipsService) Patch(name string, membership *Membership) *ProjectsLocationsMembershipsPatchCall {
  8344  	c := &ProjectsLocationsMembershipsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8345  	c.name = name
  8346  	c.membership = membership
  8347  	return c
  8348  }
  8349  
  8350  // RequestId sets the optional parameter "requestId": A request ID to identify
  8351  // requests. Specify a unique request ID so that if you must retry your
  8352  // request, the server will know to ignore the request if it has already been
  8353  // completed. The server will guarantee that for at least 60 minutes after the
  8354  // first request. For example, consider a situation where you make an initial
  8355  // request and the request times out. If you make the request again with the
  8356  // same request ID, the server can check if original operation with the same
  8357  // request ID was received, and if so, will ignore the second request. This
  8358  // prevents clients from accidentally creating duplicate commitments. The
  8359  // request ID must be a valid UUID with the exception that zero UUID is not
  8360  // supported (00000000-0000-0000-0000-000000000000).
  8361  func (c *ProjectsLocationsMembershipsPatchCall) RequestId(requestId string) *ProjectsLocationsMembershipsPatchCall {
  8362  	c.urlParams_.Set("requestId", requestId)
  8363  	return c
  8364  }
  8365  
  8366  // UpdateMask sets the optional parameter "updateMask": Required. Mask of
  8367  // fields to update.
  8368  func (c *ProjectsLocationsMembershipsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsMembershipsPatchCall {
  8369  	c.urlParams_.Set("updateMask", updateMask)
  8370  	return c
  8371  }
  8372  
  8373  // Fields allows partial responses to be retrieved. See
  8374  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8375  // details.
  8376  func (c *ProjectsLocationsMembershipsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsMembershipsPatchCall {
  8377  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8378  	return c
  8379  }
  8380  
  8381  // Context sets the context to be used in this call's Do method.
  8382  func (c *ProjectsLocationsMembershipsPatchCall) Context(ctx context.Context) *ProjectsLocationsMembershipsPatchCall {
  8383  	c.ctx_ = ctx
  8384  	return c
  8385  }
  8386  
  8387  // Header returns a http.Header that can be modified by the caller to add
  8388  // headers to the request.
  8389  func (c *ProjectsLocationsMembershipsPatchCall) Header() http.Header {
  8390  	if c.header_ == nil {
  8391  		c.header_ = make(http.Header)
  8392  	}
  8393  	return c.header_
  8394  }
  8395  
  8396  func (c *ProjectsLocationsMembershipsPatchCall) doRequest(alt string) (*http.Response, error) {
  8397  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  8398  	var body io.Reader = nil
  8399  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.membership)
  8400  	if err != nil {
  8401  		return nil, err
  8402  	}
  8403  	c.urlParams_.Set("alt", alt)
  8404  	c.urlParams_.Set("prettyPrint", "false")
  8405  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  8406  	urls += "?" + c.urlParams_.Encode()
  8407  	req, err := http.NewRequest("PATCH", urls, body)
  8408  	if err != nil {
  8409  		return nil, err
  8410  	}
  8411  	req.Header = reqHeaders
  8412  	googleapi.Expand(req.URL, map[string]string{
  8413  		"name": c.name,
  8414  	})
  8415  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8416  }
  8417  
  8418  // Do executes the "gkehub.projects.locations.memberships.patch" call.
  8419  // Any non-2xx status code is an error. Response headers are in either
  8420  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  8421  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8422  // whether the returned error was because http.StatusNotModified was returned.
  8423  func (c *ProjectsLocationsMembershipsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  8424  	gensupport.SetOptions(c.urlParams_, opts...)
  8425  	res, err := c.doRequest("json")
  8426  	if res != nil && res.StatusCode == http.StatusNotModified {
  8427  		if res.Body != nil {
  8428  			res.Body.Close()
  8429  		}
  8430  		return nil, gensupport.WrapError(&googleapi.Error{
  8431  			Code:   res.StatusCode,
  8432  			Header: res.Header,
  8433  		})
  8434  	}
  8435  	if err != nil {
  8436  		return nil, err
  8437  	}
  8438  	defer googleapi.CloseBody(res)
  8439  	if err := googleapi.CheckResponse(res); err != nil {
  8440  		return nil, gensupport.WrapError(err)
  8441  	}
  8442  	ret := &Operation{
  8443  		ServerResponse: googleapi.ServerResponse{
  8444  			Header:         res.Header,
  8445  			HTTPStatusCode: res.StatusCode,
  8446  		},
  8447  	}
  8448  	target := &ret
  8449  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8450  		return nil, err
  8451  	}
  8452  	return ret, nil
  8453  }
  8454  
  8455  type ProjectsLocationsMembershipsSetIamPolicyCall struct {
  8456  	s                   *Service
  8457  	resource            string
  8458  	setiampolicyrequest *SetIamPolicyRequest
  8459  	urlParams_          gensupport.URLParams
  8460  	ctx_                context.Context
  8461  	header_             http.Header
  8462  }
  8463  
  8464  // SetIamPolicy: Sets the access control policy on the specified resource.
  8465  // Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`,
  8466  // and `PERMISSION_DENIED` errors.
  8467  //
  8468  //   - resource: REQUIRED: The resource for which the policy is being specified.
  8469  //     See Resource names (https://cloud.google.com/apis/design/resource_names)
  8470  //     for the appropriate value for this field.
  8471  func (r *ProjectsLocationsMembershipsService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsMembershipsSetIamPolicyCall {
  8472  	c := &ProjectsLocationsMembershipsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8473  	c.resource = resource
  8474  	c.setiampolicyrequest = setiampolicyrequest
  8475  	return c
  8476  }
  8477  
  8478  // Fields allows partial responses to be retrieved. See
  8479  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8480  // details.
  8481  func (c *ProjectsLocationsMembershipsSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsMembershipsSetIamPolicyCall {
  8482  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8483  	return c
  8484  }
  8485  
  8486  // Context sets the context to be used in this call's Do method.
  8487  func (c *ProjectsLocationsMembershipsSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsMembershipsSetIamPolicyCall {
  8488  	c.ctx_ = ctx
  8489  	return c
  8490  }
  8491  
  8492  // Header returns a http.Header that can be modified by the caller to add
  8493  // headers to the request.
  8494  func (c *ProjectsLocationsMembershipsSetIamPolicyCall) Header() http.Header {
  8495  	if c.header_ == nil {
  8496  		c.header_ = make(http.Header)
  8497  	}
  8498  	return c.header_
  8499  }
  8500  
  8501  func (c *ProjectsLocationsMembershipsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
  8502  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  8503  	var body io.Reader = nil
  8504  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
  8505  	if err != nil {
  8506  		return nil, err
  8507  	}
  8508  	c.urlParams_.Set("alt", alt)
  8509  	c.urlParams_.Set("prettyPrint", "false")
  8510  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:setIamPolicy")
  8511  	urls += "?" + c.urlParams_.Encode()
  8512  	req, err := http.NewRequest("POST", urls, body)
  8513  	if err != nil {
  8514  		return nil, err
  8515  	}
  8516  	req.Header = reqHeaders
  8517  	googleapi.Expand(req.URL, map[string]string{
  8518  		"resource": c.resource,
  8519  	})
  8520  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8521  }
  8522  
  8523  // Do executes the "gkehub.projects.locations.memberships.setIamPolicy" call.
  8524  // Any non-2xx status code is an error. Response headers are in either
  8525  // *Policy.ServerResponse.Header or (if a response was returned at all) in
  8526  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8527  // whether the returned error was because http.StatusNotModified was returned.
  8528  func (c *ProjectsLocationsMembershipsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
  8529  	gensupport.SetOptions(c.urlParams_, opts...)
  8530  	res, err := c.doRequest("json")
  8531  	if res != nil && res.StatusCode == http.StatusNotModified {
  8532  		if res.Body != nil {
  8533  			res.Body.Close()
  8534  		}
  8535  		return nil, gensupport.WrapError(&googleapi.Error{
  8536  			Code:   res.StatusCode,
  8537  			Header: res.Header,
  8538  		})
  8539  	}
  8540  	if err != nil {
  8541  		return nil, err
  8542  	}
  8543  	defer googleapi.CloseBody(res)
  8544  	if err := googleapi.CheckResponse(res); err != nil {
  8545  		return nil, gensupport.WrapError(err)
  8546  	}
  8547  	ret := &Policy{
  8548  		ServerResponse: googleapi.ServerResponse{
  8549  			Header:         res.Header,
  8550  			HTTPStatusCode: res.StatusCode,
  8551  		},
  8552  	}
  8553  	target := &ret
  8554  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8555  		return nil, err
  8556  	}
  8557  	return ret, nil
  8558  }
  8559  
  8560  type ProjectsLocationsMembershipsTestIamPermissionsCall struct {
  8561  	s                         *Service
  8562  	resource                  string
  8563  	testiampermissionsrequest *TestIamPermissionsRequest
  8564  	urlParams_                gensupport.URLParams
  8565  	ctx_                      context.Context
  8566  	header_                   http.Header
  8567  }
  8568  
  8569  // TestIamPermissions: Returns permissions that a caller has on the specified
  8570  // resource. If the resource does not exist, this will return an empty set of
  8571  // permissions, not a `NOT_FOUND` error. Note: This operation is designed to be
  8572  // used for building permission-aware UIs and command-line tools, not for
  8573  // authorization checking. This operation may "fail open" without warning.
  8574  //
  8575  //   - resource: REQUIRED: The resource for which the policy detail is being
  8576  //     requested. See Resource names
  8577  //     (https://cloud.google.com/apis/design/resource_names) for the appropriate
  8578  //     value for this field.
  8579  func (r *ProjectsLocationsMembershipsService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsMembershipsTestIamPermissionsCall {
  8580  	c := &ProjectsLocationsMembershipsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8581  	c.resource = resource
  8582  	c.testiampermissionsrequest = testiampermissionsrequest
  8583  	return c
  8584  }
  8585  
  8586  // Fields allows partial responses to be retrieved. See
  8587  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8588  // details.
  8589  func (c *ProjectsLocationsMembershipsTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsMembershipsTestIamPermissionsCall {
  8590  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8591  	return c
  8592  }
  8593  
  8594  // Context sets the context to be used in this call's Do method.
  8595  func (c *ProjectsLocationsMembershipsTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsMembershipsTestIamPermissionsCall {
  8596  	c.ctx_ = ctx
  8597  	return c
  8598  }
  8599  
  8600  // Header returns a http.Header that can be modified by the caller to add
  8601  // headers to the request.
  8602  func (c *ProjectsLocationsMembershipsTestIamPermissionsCall) Header() http.Header {
  8603  	if c.header_ == nil {
  8604  		c.header_ = make(http.Header)
  8605  	}
  8606  	return c.header_
  8607  }
  8608  
  8609  func (c *ProjectsLocationsMembershipsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
  8610  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  8611  	var body io.Reader = nil
  8612  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
  8613  	if err != nil {
  8614  		return nil, err
  8615  	}
  8616  	c.urlParams_.Set("alt", alt)
  8617  	c.urlParams_.Set("prettyPrint", "false")
  8618  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:testIamPermissions")
  8619  	urls += "?" + c.urlParams_.Encode()
  8620  	req, err := http.NewRequest("POST", urls, body)
  8621  	if err != nil {
  8622  		return nil, err
  8623  	}
  8624  	req.Header = reqHeaders
  8625  	googleapi.Expand(req.URL, map[string]string{
  8626  		"resource": c.resource,
  8627  	})
  8628  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8629  }
  8630  
  8631  // Do executes the "gkehub.projects.locations.memberships.testIamPermissions" call.
  8632  // Any non-2xx status code is an error. Response headers are in either
  8633  // *TestIamPermissionsResponse.ServerResponse.Header or (if a response was
  8634  // returned at all) in error.(*googleapi.Error).Header. Use
  8635  // googleapi.IsNotModified to check whether the returned error was because
  8636  // http.StatusNotModified was returned.
  8637  func (c *ProjectsLocationsMembershipsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
  8638  	gensupport.SetOptions(c.urlParams_, opts...)
  8639  	res, err := c.doRequest("json")
  8640  	if res != nil && res.StatusCode == http.StatusNotModified {
  8641  		if res.Body != nil {
  8642  			res.Body.Close()
  8643  		}
  8644  		return nil, gensupport.WrapError(&googleapi.Error{
  8645  			Code:   res.StatusCode,
  8646  			Header: res.Header,
  8647  		})
  8648  	}
  8649  	if err != nil {
  8650  		return nil, err
  8651  	}
  8652  	defer googleapi.CloseBody(res)
  8653  	if err := googleapi.CheckResponse(res); err != nil {
  8654  		return nil, gensupport.WrapError(err)
  8655  	}
  8656  	ret := &TestIamPermissionsResponse{
  8657  		ServerResponse: googleapi.ServerResponse{
  8658  			Header:         res.Header,
  8659  			HTTPStatusCode: res.StatusCode,
  8660  		},
  8661  	}
  8662  	target := &ret
  8663  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8664  		return nil, err
  8665  	}
  8666  	return ret, nil
  8667  }
  8668  
  8669  type ProjectsLocationsMembershipsBindingsCreateCall struct {
  8670  	s                 *Service
  8671  	parent            string
  8672  	membershipbinding *MembershipBinding
  8673  	urlParams_        gensupport.URLParams
  8674  	ctx_              context.Context
  8675  	header_           http.Header
  8676  }
  8677  
  8678  // Create: Creates a MembershipBinding.
  8679  //
  8680  //   - parent: The parent (project and location) where the MembershipBinding will
  8681  //     be created. Specified in the format
  8682  //     `projects/*/locations/*/memberships/*`.
  8683  func (r *ProjectsLocationsMembershipsBindingsService) Create(parent string, membershipbinding *MembershipBinding) *ProjectsLocationsMembershipsBindingsCreateCall {
  8684  	c := &ProjectsLocationsMembershipsBindingsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8685  	c.parent = parent
  8686  	c.membershipbinding = membershipbinding
  8687  	return c
  8688  }
  8689  
  8690  // MembershipBindingId sets the optional parameter "membershipBindingId":
  8691  // Required. The ID to use for the MembershipBinding.
  8692  func (c *ProjectsLocationsMembershipsBindingsCreateCall) MembershipBindingId(membershipBindingId string) *ProjectsLocationsMembershipsBindingsCreateCall {
  8693  	c.urlParams_.Set("membershipBindingId", membershipBindingId)
  8694  	return c
  8695  }
  8696  
  8697  // Fields allows partial responses to be retrieved. See
  8698  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8699  // details.
  8700  func (c *ProjectsLocationsMembershipsBindingsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsMembershipsBindingsCreateCall {
  8701  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8702  	return c
  8703  }
  8704  
  8705  // Context sets the context to be used in this call's Do method.
  8706  func (c *ProjectsLocationsMembershipsBindingsCreateCall) Context(ctx context.Context) *ProjectsLocationsMembershipsBindingsCreateCall {
  8707  	c.ctx_ = ctx
  8708  	return c
  8709  }
  8710  
  8711  // Header returns a http.Header that can be modified by the caller to add
  8712  // headers to the request.
  8713  func (c *ProjectsLocationsMembershipsBindingsCreateCall) Header() http.Header {
  8714  	if c.header_ == nil {
  8715  		c.header_ = make(http.Header)
  8716  	}
  8717  	return c.header_
  8718  }
  8719  
  8720  func (c *ProjectsLocationsMembershipsBindingsCreateCall) doRequest(alt string) (*http.Response, error) {
  8721  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  8722  	var body io.Reader = nil
  8723  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.membershipbinding)
  8724  	if err != nil {
  8725  		return nil, err
  8726  	}
  8727  	c.urlParams_.Set("alt", alt)
  8728  	c.urlParams_.Set("prettyPrint", "false")
  8729  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/bindings")
  8730  	urls += "?" + c.urlParams_.Encode()
  8731  	req, err := http.NewRequest("POST", urls, body)
  8732  	if err != nil {
  8733  		return nil, err
  8734  	}
  8735  	req.Header = reqHeaders
  8736  	googleapi.Expand(req.URL, map[string]string{
  8737  		"parent": c.parent,
  8738  	})
  8739  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8740  }
  8741  
  8742  // Do executes the "gkehub.projects.locations.memberships.bindings.create" call.
  8743  // Any non-2xx status code is an error. Response headers are in either
  8744  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  8745  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8746  // whether the returned error was because http.StatusNotModified was returned.
  8747  func (c *ProjectsLocationsMembershipsBindingsCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  8748  	gensupport.SetOptions(c.urlParams_, opts...)
  8749  	res, err := c.doRequest("json")
  8750  	if res != nil && res.StatusCode == http.StatusNotModified {
  8751  		if res.Body != nil {
  8752  			res.Body.Close()
  8753  		}
  8754  		return nil, gensupport.WrapError(&googleapi.Error{
  8755  			Code:   res.StatusCode,
  8756  			Header: res.Header,
  8757  		})
  8758  	}
  8759  	if err != nil {
  8760  		return nil, err
  8761  	}
  8762  	defer googleapi.CloseBody(res)
  8763  	if err := googleapi.CheckResponse(res); err != nil {
  8764  		return nil, gensupport.WrapError(err)
  8765  	}
  8766  	ret := &Operation{
  8767  		ServerResponse: googleapi.ServerResponse{
  8768  			Header:         res.Header,
  8769  			HTTPStatusCode: res.StatusCode,
  8770  		},
  8771  	}
  8772  	target := &ret
  8773  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8774  		return nil, err
  8775  	}
  8776  	return ret, nil
  8777  }
  8778  
  8779  type ProjectsLocationsMembershipsBindingsDeleteCall struct {
  8780  	s          *Service
  8781  	name       string
  8782  	urlParams_ gensupport.URLParams
  8783  	ctx_       context.Context
  8784  	header_    http.Header
  8785  }
  8786  
  8787  // Delete: Deletes a MembershipBinding.
  8788  //
  8789  //   - name: The MembershipBinding resource name in the format
  8790  //     `projects/*/locations/*/memberships/*/bindings/*`.
  8791  func (r *ProjectsLocationsMembershipsBindingsService) Delete(name string) *ProjectsLocationsMembershipsBindingsDeleteCall {
  8792  	c := &ProjectsLocationsMembershipsBindingsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8793  	c.name = name
  8794  	return c
  8795  }
  8796  
  8797  // Fields allows partial responses to be retrieved. See
  8798  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8799  // details.
  8800  func (c *ProjectsLocationsMembershipsBindingsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsMembershipsBindingsDeleteCall {
  8801  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8802  	return c
  8803  }
  8804  
  8805  // Context sets the context to be used in this call's Do method.
  8806  func (c *ProjectsLocationsMembershipsBindingsDeleteCall) Context(ctx context.Context) *ProjectsLocationsMembershipsBindingsDeleteCall {
  8807  	c.ctx_ = ctx
  8808  	return c
  8809  }
  8810  
  8811  // Header returns a http.Header that can be modified by the caller to add
  8812  // headers to the request.
  8813  func (c *ProjectsLocationsMembershipsBindingsDeleteCall) Header() http.Header {
  8814  	if c.header_ == nil {
  8815  		c.header_ = make(http.Header)
  8816  	}
  8817  	return c.header_
  8818  }
  8819  
  8820  func (c *ProjectsLocationsMembershipsBindingsDeleteCall) doRequest(alt string) (*http.Response, error) {
  8821  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8822  	var body io.Reader = nil
  8823  	c.urlParams_.Set("alt", alt)
  8824  	c.urlParams_.Set("prettyPrint", "false")
  8825  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  8826  	urls += "?" + c.urlParams_.Encode()
  8827  	req, err := http.NewRequest("DELETE", urls, body)
  8828  	if err != nil {
  8829  		return nil, err
  8830  	}
  8831  	req.Header = reqHeaders
  8832  	googleapi.Expand(req.URL, map[string]string{
  8833  		"name": c.name,
  8834  	})
  8835  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8836  }
  8837  
  8838  // Do executes the "gkehub.projects.locations.memberships.bindings.delete" call.
  8839  // Any non-2xx status code is an error. Response headers are in either
  8840  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  8841  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8842  // whether the returned error was because http.StatusNotModified was returned.
  8843  func (c *ProjectsLocationsMembershipsBindingsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  8844  	gensupport.SetOptions(c.urlParams_, opts...)
  8845  	res, err := c.doRequest("json")
  8846  	if res != nil && res.StatusCode == http.StatusNotModified {
  8847  		if res.Body != nil {
  8848  			res.Body.Close()
  8849  		}
  8850  		return nil, gensupport.WrapError(&googleapi.Error{
  8851  			Code:   res.StatusCode,
  8852  			Header: res.Header,
  8853  		})
  8854  	}
  8855  	if err != nil {
  8856  		return nil, err
  8857  	}
  8858  	defer googleapi.CloseBody(res)
  8859  	if err := googleapi.CheckResponse(res); err != nil {
  8860  		return nil, gensupport.WrapError(err)
  8861  	}
  8862  	ret := &Operation{
  8863  		ServerResponse: googleapi.ServerResponse{
  8864  			Header:         res.Header,
  8865  			HTTPStatusCode: res.StatusCode,
  8866  		},
  8867  	}
  8868  	target := &ret
  8869  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8870  		return nil, err
  8871  	}
  8872  	return ret, nil
  8873  }
  8874  
  8875  type ProjectsLocationsMembershipsBindingsGetCall struct {
  8876  	s            *Service
  8877  	name         string
  8878  	urlParams_   gensupport.URLParams
  8879  	ifNoneMatch_ string
  8880  	ctx_         context.Context
  8881  	header_      http.Header
  8882  }
  8883  
  8884  // Get: Returns the details of a MembershipBinding.
  8885  //
  8886  //   - name: The MembershipBinding resource name in the format
  8887  //     `projects/*/locations/*/memberships/*/bindings/*`.
  8888  func (r *ProjectsLocationsMembershipsBindingsService) Get(name string) *ProjectsLocationsMembershipsBindingsGetCall {
  8889  	c := &ProjectsLocationsMembershipsBindingsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8890  	c.name = name
  8891  	return c
  8892  }
  8893  
  8894  // Fields allows partial responses to be retrieved. See
  8895  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8896  // details.
  8897  func (c *ProjectsLocationsMembershipsBindingsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsMembershipsBindingsGetCall {
  8898  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8899  	return c
  8900  }
  8901  
  8902  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  8903  // object's ETag matches the given value. This is useful for getting updates
  8904  // only after the object has changed since the last request.
  8905  func (c *ProjectsLocationsMembershipsBindingsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsMembershipsBindingsGetCall {
  8906  	c.ifNoneMatch_ = entityTag
  8907  	return c
  8908  }
  8909  
  8910  // Context sets the context to be used in this call's Do method.
  8911  func (c *ProjectsLocationsMembershipsBindingsGetCall) Context(ctx context.Context) *ProjectsLocationsMembershipsBindingsGetCall {
  8912  	c.ctx_ = ctx
  8913  	return c
  8914  }
  8915  
  8916  // Header returns a http.Header that can be modified by the caller to add
  8917  // headers to the request.
  8918  func (c *ProjectsLocationsMembershipsBindingsGetCall) Header() http.Header {
  8919  	if c.header_ == nil {
  8920  		c.header_ = make(http.Header)
  8921  	}
  8922  	return c.header_
  8923  }
  8924  
  8925  func (c *ProjectsLocationsMembershipsBindingsGetCall) doRequest(alt string) (*http.Response, error) {
  8926  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8927  	if c.ifNoneMatch_ != "" {
  8928  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  8929  	}
  8930  	var body io.Reader = nil
  8931  	c.urlParams_.Set("alt", alt)
  8932  	c.urlParams_.Set("prettyPrint", "false")
  8933  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  8934  	urls += "?" + c.urlParams_.Encode()
  8935  	req, err := http.NewRequest("GET", urls, body)
  8936  	if err != nil {
  8937  		return nil, err
  8938  	}
  8939  	req.Header = reqHeaders
  8940  	googleapi.Expand(req.URL, map[string]string{
  8941  		"name": c.name,
  8942  	})
  8943  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8944  }
  8945  
  8946  // Do executes the "gkehub.projects.locations.memberships.bindings.get" call.
  8947  // Any non-2xx status code is an error. Response headers are in either
  8948  // *MembershipBinding.ServerResponse.Header or (if a response was returned at
  8949  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  8950  // check whether the returned error was because http.StatusNotModified was
  8951  // returned.
  8952  func (c *ProjectsLocationsMembershipsBindingsGetCall) Do(opts ...googleapi.CallOption) (*MembershipBinding, error) {
  8953  	gensupport.SetOptions(c.urlParams_, opts...)
  8954  	res, err := c.doRequest("json")
  8955  	if res != nil && res.StatusCode == http.StatusNotModified {
  8956  		if res.Body != nil {
  8957  			res.Body.Close()
  8958  		}
  8959  		return nil, gensupport.WrapError(&googleapi.Error{
  8960  			Code:   res.StatusCode,
  8961  			Header: res.Header,
  8962  		})
  8963  	}
  8964  	if err != nil {
  8965  		return nil, err
  8966  	}
  8967  	defer googleapi.CloseBody(res)
  8968  	if err := googleapi.CheckResponse(res); err != nil {
  8969  		return nil, gensupport.WrapError(err)
  8970  	}
  8971  	ret := &MembershipBinding{
  8972  		ServerResponse: googleapi.ServerResponse{
  8973  			Header:         res.Header,
  8974  			HTTPStatusCode: res.StatusCode,
  8975  		},
  8976  	}
  8977  	target := &ret
  8978  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8979  		return nil, err
  8980  	}
  8981  	return ret, nil
  8982  }
  8983  
  8984  type ProjectsLocationsMembershipsBindingsListCall struct {
  8985  	s            *Service
  8986  	parent       string
  8987  	urlParams_   gensupport.URLParams
  8988  	ifNoneMatch_ string
  8989  	ctx_         context.Context
  8990  	header_      http.Header
  8991  }
  8992  
  8993  // List: Lists MembershipBindings.
  8994  //
  8995  //   - parent: The parent Membership for which the MembershipBindings will be
  8996  //     listed. Specified in the format `projects/*/locations/*/memberships/*`.
  8997  func (r *ProjectsLocationsMembershipsBindingsService) List(parent string) *ProjectsLocationsMembershipsBindingsListCall {
  8998  	c := &ProjectsLocationsMembershipsBindingsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8999  	c.parent = parent
  9000  	return c
  9001  }
  9002  
  9003  // Filter sets the optional parameter "filter": Lists MembershipBindings that
  9004  // match the filter expression, following the syntax outlined in
  9005  // https://google.aip.dev/160.
  9006  func (c *ProjectsLocationsMembershipsBindingsListCall) Filter(filter string) *ProjectsLocationsMembershipsBindingsListCall {
  9007  	c.urlParams_.Set("filter", filter)
  9008  	return c
  9009  }
  9010  
  9011  // PageSize sets the optional parameter "pageSize": When requesting a 'page' of
  9012  // resources, `page_size` specifies number of resources to return. If
  9013  // unspecified or set to 0, all resources will be returned.
  9014  func (c *ProjectsLocationsMembershipsBindingsListCall) PageSize(pageSize int64) *ProjectsLocationsMembershipsBindingsListCall {
  9015  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  9016  	return c
  9017  }
  9018  
  9019  // PageToken sets the optional parameter "pageToken": Token returned by
  9020  // previous call to `ListMembershipBindings` which specifies the position in
  9021  // the list from where to continue listing the resources.
  9022  func (c *ProjectsLocationsMembershipsBindingsListCall) PageToken(pageToken string) *ProjectsLocationsMembershipsBindingsListCall {
  9023  	c.urlParams_.Set("pageToken", pageToken)
  9024  	return c
  9025  }
  9026  
  9027  // Fields allows partial responses to be retrieved. See
  9028  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9029  // details.
  9030  func (c *ProjectsLocationsMembershipsBindingsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsMembershipsBindingsListCall {
  9031  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9032  	return c
  9033  }
  9034  
  9035  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  9036  // object's ETag matches the given value. This is useful for getting updates
  9037  // only after the object has changed since the last request.
  9038  func (c *ProjectsLocationsMembershipsBindingsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsMembershipsBindingsListCall {
  9039  	c.ifNoneMatch_ = entityTag
  9040  	return c
  9041  }
  9042  
  9043  // Context sets the context to be used in this call's Do method.
  9044  func (c *ProjectsLocationsMembershipsBindingsListCall) Context(ctx context.Context) *ProjectsLocationsMembershipsBindingsListCall {
  9045  	c.ctx_ = ctx
  9046  	return c
  9047  }
  9048  
  9049  // Header returns a http.Header that can be modified by the caller to add
  9050  // headers to the request.
  9051  func (c *ProjectsLocationsMembershipsBindingsListCall) Header() http.Header {
  9052  	if c.header_ == nil {
  9053  		c.header_ = make(http.Header)
  9054  	}
  9055  	return c.header_
  9056  }
  9057  
  9058  func (c *ProjectsLocationsMembershipsBindingsListCall) doRequest(alt string) (*http.Response, error) {
  9059  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9060  	if c.ifNoneMatch_ != "" {
  9061  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  9062  	}
  9063  	var body io.Reader = nil
  9064  	c.urlParams_.Set("alt", alt)
  9065  	c.urlParams_.Set("prettyPrint", "false")
  9066  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/bindings")
  9067  	urls += "?" + c.urlParams_.Encode()
  9068  	req, err := http.NewRequest("GET", urls, body)
  9069  	if err != nil {
  9070  		return nil, err
  9071  	}
  9072  	req.Header = reqHeaders
  9073  	googleapi.Expand(req.URL, map[string]string{
  9074  		"parent": c.parent,
  9075  	})
  9076  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9077  }
  9078  
  9079  // Do executes the "gkehub.projects.locations.memberships.bindings.list" call.
  9080  // Any non-2xx status code is an error. Response headers are in either
  9081  // *ListMembershipBindingsResponse.ServerResponse.Header or (if a response was
  9082  // returned at all) in error.(*googleapi.Error).Header. Use
  9083  // googleapi.IsNotModified to check whether the returned error was because
  9084  // http.StatusNotModified was returned.
  9085  func (c *ProjectsLocationsMembershipsBindingsListCall) Do(opts ...googleapi.CallOption) (*ListMembershipBindingsResponse, error) {
  9086  	gensupport.SetOptions(c.urlParams_, opts...)
  9087  	res, err := c.doRequest("json")
  9088  	if res != nil && res.StatusCode == http.StatusNotModified {
  9089  		if res.Body != nil {
  9090  			res.Body.Close()
  9091  		}
  9092  		return nil, gensupport.WrapError(&googleapi.Error{
  9093  			Code:   res.StatusCode,
  9094  			Header: res.Header,
  9095  		})
  9096  	}
  9097  	if err != nil {
  9098  		return nil, err
  9099  	}
  9100  	defer googleapi.CloseBody(res)
  9101  	if err := googleapi.CheckResponse(res); err != nil {
  9102  		return nil, gensupport.WrapError(err)
  9103  	}
  9104  	ret := &ListMembershipBindingsResponse{
  9105  		ServerResponse: googleapi.ServerResponse{
  9106  			Header:         res.Header,
  9107  			HTTPStatusCode: res.StatusCode,
  9108  		},
  9109  	}
  9110  	target := &ret
  9111  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9112  		return nil, err
  9113  	}
  9114  	return ret, nil
  9115  }
  9116  
  9117  // Pages invokes f for each page of results.
  9118  // A non-nil error returned from f will halt the iteration.
  9119  // The provided context supersedes any context provided to the Context method.
  9120  func (c *ProjectsLocationsMembershipsBindingsListCall) Pages(ctx context.Context, f func(*ListMembershipBindingsResponse) error) error {
  9121  	c.ctx_ = ctx
  9122  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  9123  	for {
  9124  		x, err := c.Do()
  9125  		if err != nil {
  9126  			return err
  9127  		}
  9128  		if err := f(x); err != nil {
  9129  			return err
  9130  		}
  9131  		if x.NextPageToken == "" {
  9132  			return nil
  9133  		}
  9134  		c.PageToken(x.NextPageToken)
  9135  	}
  9136  }
  9137  
  9138  type ProjectsLocationsMembershipsBindingsPatchCall struct {
  9139  	s                 *Service
  9140  	name              string
  9141  	membershipbinding *MembershipBinding
  9142  	urlParams_        gensupport.URLParams
  9143  	ctx_              context.Context
  9144  	header_           http.Header
  9145  }
  9146  
  9147  // Patch: Updates a MembershipBinding.
  9148  //
  9149  //   - name: The resource name for the membershipbinding itself
  9150  //     `projects/{project}/locations/{location}/memberships/{membership}/bindings/
  9151  //     {membershipbinding}`.
  9152  func (r *ProjectsLocationsMembershipsBindingsService) Patch(name string, membershipbinding *MembershipBinding) *ProjectsLocationsMembershipsBindingsPatchCall {
  9153  	c := &ProjectsLocationsMembershipsBindingsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9154  	c.name = name
  9155  	c.membershipbinding = membershipbinding
  9156  	return c
  9157  }
  9158  
  9159  // UpdateMask sets the optional parameter "updateMask": Required. The fields to
  9160  // be updated.
  9161  func (c *ProjectsLocationsMembershipsBindingsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsMembershipsBindingsPatchCall {
  9162  	c.urlParams_.Set("updateMask", updateMask)
  9163  	return c
  9164  }
  9165  
  9166  // Fields allows partial responses to be retrieved. See
  9167  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9168  // details.
  9169  func (c *ProjectsLocationsMembershipsBindingsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsMembershipsBindingsPatchCall {
  9170  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9171  	return c
  9172  }
  9173  
  9174  // Context sets the context to be used in this call's Do method.
  9175  func (c *ProjectsLocationsMembershipsBindingsPatchCall) Context(ctx context.Context) *ProjectsLocationsMembershipsBindingsPatchCall {
  9176  	c.ctx_ = ctx
  9177  	return c
  9178  }
  9179  
  9180  // Header returns a http.Header that can be modified by the caller to add
  9181  // headers to the request.
  9182  func (c *ProjectsLocationsMembershipsBindingsPatchCall) Header() http.Header {
  9183  	if c.header_ == nil {
  9184  		c.header_ = make(http.Header)
  9185  	}
  9186  	return c.header_
  9187  }
  9188  
  9189  func (c *ProjectsLocationsMembershipsBindingsPatchCall) doRequest(alt string) (*http.Response, error) {
  9190  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  9191  	var body io.Reader = nil
  9192  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.membershipbinding)
  9193  	if err != nil {
  9194  		return nil, err
  9195  	}
  9196  	c.urlParams_.Set("alt", alt)
  9197  	c.urlParams_.Set("prettyPrint", "false")
  9198  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  9199  	urls += "?" + c.urlParams_.Encode()
  9200  	req, err := http.NewRequest("PATCH", urls, body)
  9201  	if err != nil {
  9202  		return nil, err
  9203  	}
  9204  	req.Header = reqHeaders
  9205  	googleapi.Expand(req.URL, map[string]string{
  9206  		"name": c.name,
  9207  	})
  9208  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9209  }
  9210  
  9211  // Do executes the "gkehub.projects.locations.memberships.bindings.patch" call.
  9212  // Any non-2xx status code is an error. Response headers are in either
  9213  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  9214  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9215  // whether the returned error was because http.StatusNotModified was returned.
  9216  func (c *ProjectsLocationsMembershipsBindingsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  9217  	gensupport.SetOptions(c.urlParams_, opts...)
  9218  	res, err := c.doRequest("json")
  9219  	if res != nil && res.StatusCode == http.StatusNotModified {
  9220  		if res.Body != nil {
  9221  			res.Body.Close()
  9222  		}
  9223  		return nil, gensupport.WrapError(&googleapi.Error{
  9224  			Code:   res.StatusCode,
  9225  			Header: res.Header,
  9226  		})
  9227  	}
  9228  	if err != nil {
  9229  		return nil, err
  9230  	}
  9231  	defer googleapi.CloseBody(res)
  9232  	if err := googleapi.CheckResponse(res); err != nil {
  9233  		return nil, gensupport.WrapError(err)
  9234  	}
  9235  	ret := &Operation{
  9236  		ServerResponse: googleapi.ServerResponse{
  9237  			Header:         res.Header,
  9238  			HTTPStatusCode: res.StatusCode,
  9239  		},
  9240  	}
  9241  	target := &ret
  9242  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9243  		return nil, err
  9244  	}
  9245  	return ret, nil
  9246  }
  9247  
  9248  type ProjectsLocationsOperationsCancelCall struct {
  9249  	s                      *Service
  9250  	name                   string
  9251  	canceloperationrequest *CancelOperationRequest
  9252  	urlParams_             gensupport.URLParams
  9253  	ctx_                   context.Context
  9254  	header_                http.Header
  9255  }
  9256  
  9257  // Cancel: Starts asynchronous cancellation on a long-running operation. The
  9258  // server makes a best effort to cancel the operation, but success is not
  9259  // guaranteed. If the server doesn't support this method, it returns
  9260  // `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
  9261  // other methods to check whether the cancellation succeeded or whether the
  9262  // operation completed despite cancellation. On successful cancellation, the
  9263  // operation is not deleted; instead, it becomes an operation with an
  9264  // Operation.error value with a google.rpc.Status.code of 1, corresponding to
  9265  // `Code.CANCELLED`.
  9266  //
  9267  // - name: The name of the operation resource to be cancelled.
  9268  func (r *ProjectsLocationsOperationsService) Cancel(name string, canceloperationrequest *CancelOperationRequest) *ProjectsLocationsOperationsCancelCall {
  9269  	c := &ProjectsLocationsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9270  	c.name = name
  9271  	c.canceloperationrequest = canceloperationrequest
  9272  	return c
  9273  }
  9274  
  9275  // Fields allows partial responses to be retrieved. See
  9276  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9277  // details.
  9278  func (c *ProjectsLocationsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsCancelCall {
  9279  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9280  	return c
  9281  }
  9282  
  9283  // Context sets the context to be used in this call's Do method.
  9284  func (c *ProjectsLocationsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsOperationsCancelCall {
  9285  	c.ctx_ = ctx
  9286  	return c
  9287  }
  9288  
  9289  // Header returns a http.Header that can be modified by the caller to add
  9290  // headers to the request.
  9291  func (c *ProjectsLocationsOperationsCancelCall) Header() http.Header {
  9292  	if c.header_ == nil {
  9293  		c.header_ = make(http.Header)
  9294  	}
  9295  	return c.header_
  9296  }
  9297  
  9298  func (c *ProjectsLocationsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
  9299  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  9300  	var body io.Reader = nil
  9301  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.canceloperationrequest)
  9302  	if err != nil {
  9303  		return nil, err
  9304  	}
  9305  	c.urlParams_.Set("alt", alt)
  9306  	c.urlParams_.Set("prettyPrint", "false")
  9307  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
  9308  	urls += "?" + c.urlParams_.Encode()
  9309  	req, err := http.NewRequest("POST", urls, body)
  9310  	if err != nil {
  9311  		return nil, err
  9312  	}
  9313  	req.Header = reqHeaders
  9314  	googleapi.Expand(req.URL, map[string]string{
  9315  		"name": c.name,
  9316  	})
  9317  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9318  }
  9319  
  9320  // Do executes the "gkehub.projects.locations.operations.cancel" call.
  9321  // Any non-2xx status code is an error. Response headers are in either
  9322  // *Empty.ServerResponse.Header or (if a response was returned at all) in
  9323  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9324  // whether the returned error was because http.StatusNotModified was returned.
  9325  func (c *ProjectsLocationsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
  9326  	gensupport.SetOptions(c.urlParams_, opts...)
  9327  	res, err := c.doRequest("json")
  9328  	if res != nil && res.StatusCode == http.StatusNotModified {
  9329  		if res.Body != nil {
  9330  			res.Body.Close()
  9331  		}
  9332  		return nil, gensupport.WrapError(&googleapi.Error{
  9333  			Code:   res.StatusCode,
  9334  			Header: res.Header,
  9335  		})
  9336  	}
  9337  	if err != nil {
  9338  		return nil, err
  9339  	}
  9340  	defer googleapi.CloseBody(res)
  9341  	if err := googleapi.CheckResponse(res); err != nil {
  9342  		return nil, gensupport.WrapError(err)
  9343  	}
  9344  	ret := &Empty{
  9345  		ServerResponse: googleapi.ServerResponse{
  9346  			Header:         res.Header,
  9347  			HTTPStatusCode: res.StatusCode,
  9348  		},
  9349  	}
  9350  	target := &ret
  9351  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9352  		return nil, err
  9353  	}
  9354  	return ret, nil
  9355  }
  9356  
  9357  type ProjectsLocationsOperationsDeleteCall struct {
  9358  	s          *Service
  9359  	name       string
  9360  	urlParams_ gensupport.URLParams
  9361  	ctx_       context.Context
  9362  	header_    http.Header
  9363  }
  9364  
  9365  // Delete: Deletes a long-running operation. This method indicates that the
  9366  // client is no longer interested in the operation result. It does not cancel
  9367  // the operation. If the server doesn't support this method, it returns
  9368  // `google.rpc.Code.UNIMPLEMENTED`.
  9369  //
  9370  // - name: The name of the operation resource to be deleted.
  9371  func (r *ProjectsLocationsOperationsService) Delete(name string) *ProjectsLocationsOperationsDeleteCall {
  9372  	c := &ProjectsLocationsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9373  	c.name = name
  9374  	return c
  9375  }
  9376  
  9377  // Fields allows partial responses to be retrieved. See
  9378  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9379  // details.
  9380  func (c *ProjectsLocationsOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsDeleteCall {
  9381  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9382  	return c
  9383  }
  9384  
  9385  // Context sets the context to be used in this call's Do method.
  9386  func (c *ProjectsLocationsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsOperationsDeleteCall {
  9387  	c.ctx_ = ctx
  9388  	return c
  9389  }
  9390  
  9391  // Header returns a http.Header that can be modified by the caller to add
  9392  // headers to the request.
  9393  func (c *ProjectsLocationsOperationsDeleteCall) Header() http.Header {
  9394  	if c.header_ == nil {
  9395  		c.header_ = make(http.Header)
  9396  	}
  9397  	return c.header_
  9398  }
  9399  
  9400  func (c *ProjectsLocationsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
  9401  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9402  	var body io.Reader = nil
  9403  	c.urlParams_.Set("alt", alt)
  9404  	c.urlParams_.Set("prettyPrint", "false")
  9405  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  9406  	urls += "?" + c.urlParams_.Encode()
  9407  	req, err := http.NewRequest("DELETE", urls, body)
  9408  	if err != nil {
  9409  		return nil, err
  9410  	}
  9411  	req.Header = reqHeaders
  9412  	googleapi.Expand(req.URL, map[string]string{
  9413  		"name": c.name,
  9414  	})
  9415  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9416  }
  9417  
  9418  // Do executes the "gkehub.projects.locations.operations.delete" call.
  9419  // Any non-2xx status code is an error. Response headers are in either
  9420  // *Empty.ServerResponse.Header or (if a response was returned at all) in
  9421  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9422  // whether the returned error was because http.StatusNotModified was returned.
  9423  func (c *ProjectsLocationsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
  9424  	gensupport.SetOptions(c.urlParams_, opts...)
  9425  	res, err := c.doRequest("json")
  9426  	if res != nil && res.StatusCode == http.StatusNotModified {
  9427  		if res.Body != nil {
  9428  			res.Body.Close()
  9429  		}
  9430  		return nil, gensupport.WrapError(&googleapi.Error{
  9431  			Code:   res.StatusCode,
  9432  			Header: res.Header,
  9433  		})
  9434  	}
  9435  	if err != nil {
  9436  		return nil, err
  9437  	}
  9438  	defer googleapi.CloseBody(res)
  9439  	if err := googleapi.CheckResponse(res); err != nil {
  9440  		return nil, gensupport.WrapError(err)
  9441  	}
  9442  	ret := &Empty{
  9443  		ServerResponse: googleapi.ServerResponse{
  9444  			Header:         res.Header,
  9445  			HTTPStatusCode: res.StatusCode,
  9446  		},
  9447  	}
  9448  	target := &ret
  9449  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9450  		return nil, err
  9451  	}
  9452  	return ret, nil
  9453  }
  9454  
  9455  type ProjectsLocationsOperationsGetCall struct {
  9456  	s            *Service
  9457  	name         string
  9458  	urlParams_   gensupport.URLParams
  9459  	ifNoneMatch_ string
  9460  	ctx_         context.Context
  9461  	header_      http.Header
  9462  }
  9463  
  9464  // Get: Gets the latest state of a long-running operation. Clients can use this
  9465  // method to poll the operation result at intervals as recommended by the API
  9466  // service.
  9467  //
  9468  // - name: The name of the operation resource.
  9469  func (r *ProjectsLocationsOperationsService) Get(name string) *ProjectsLocationsOperationsGetCall {
  9470  	c := &ProjectsLocationsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9471  	c.name = name
  9472  	return c
  9473  }
  9474  
  9475  // Fields allows partial responses to be retrieved. See
  9476  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9477  // details.
  9478  func (c *ProjectsLocationsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsGetCall {
  9479  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9480  	return c
  9481  }
  9482  
  9483  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  9484  // object's ETag matches the given value. This is useful for getting updates
  9485  // only after the object has changed since the last request.
  9486  func (c *ProjectsLocationsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsOperationsGetCall {
  9487  	c.ifNoneMatch_ = entityTag
  9488  	return c
  9489  }
  9490  
  9491  // Context sets the context to be used in this call's Do method.
  9492  func (c *ProjectsLocationsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsOperationsGetCall {
  9493  	c.ctx_ = ctx
  9494  	return c
  9495  }
  9496  
  9497  // Header returns a http.Header that can be modified by the caller to add
  9498  // headers to the request.
  9499  func (c *ProjectsLocationsOperationsGetCall) Header() http.Header {
  9500  	if c.header_ == nil {
  9501  		c.header_ = make(http.Header)
  9502  	}
  9503  	return c.header_
  9504  }
  9505  
  9506  func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
  9507  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9508  	if c.ifNoneMatch_ != "" {
  9509  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  9510  	}
  9511  	var body io.Reader = nil
  9512  	c.urlParams_.Set("alt", alt)
  9513  	c.urlParams_.Set("prettyPrint", "false")
  9514  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  9515  	urls += "?" + c.urlParams_.Encode()
  9516  	req, err := http.NewRequest("GET", urls, body)
  9517  	if err != nil {
  9518  		return nil, err
  9519  	}
  9520  	req.Header = reqHeaders
  9521  	googleapi.Expand(req.URL, map[string]string{
  9522  		"name": c.name,
  9523  	})
  9524  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9525  }
  9526  
  9527  // Do executes the "gkehub.projects.locations.operations.get" call.
  9528  // Any non-2xx status code is an error. Response headers are in either
  9529  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  9530  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9531  // whether the returned error was because http.StatusNotModified was returned.
  9532  func (c *ProjectsLocationsOperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  9533  	gensupport.SetOptions(c.urlParams_, opts...)
  9534  	res, err := c.doRequest("json")
  9535  	if res != nil && res.StatusCode == http.StatusNotModified {
  9536  		if res.Body != nil {
  9537  			res.Body.Close()
  9538  		}
  9539  		return nil, gensupport.WrapError(&googleapi.Error{
  9540  			Code:   res.StatusCode,
  9541  			Header: res.Header,
  9542  		})
  9543  	}
  9544  	if err != nil {
  9545  		return nil, err
  9546  	}
  9547  	defer googleapi.CloseBody(res)
  9548  	if err := googleapi.CheckResponse(res); err != nil {
  9549  		return nil, gensupport.WrapError(err)
  9550  	}
  9551  	ret := &Operation{
  9552  		ServerResponse: googleapi.ServerResponse{
  9553  			Header:         res.Header,
  9554  			HTTPStatusCode: res.StatusCode,
  9555  		},
  9556  	}
  9557  	target := &ret
  9558  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9559  		return nil, err
  9560  	}
  9561  	return ret, nil
  9562  }
  9563  
  9564  type ProjectsLocationsOperationsListCall struct {
  9565  	s            *Service
  9566  	name         string
  9567  	urlParams_   gensupport.URLParams
  9568  	ifNoneMatch_ string
  9569  	ctx_         context.Context
  9570  	header_      http.Header
  9571  }
  9572  
  9573  // List: Lists operations that match the specified filter in the request. If
  9574  // the server doesn't support this method, it returns `UNIMPLEMENTED`.
  9575  //
  9576  // - name: The name of the operation's parent resource.
  9577  func (r *ProjectsLocationsOperationsService) List(name string) *ProjectsLocationsOperationsListCall {
  9578  	c := &ProjectsLocationsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9579  	c.name = name
  9580  	return c
  9581  }
  9582  
  9583  // Filter sets the optional parameter "filter": The standard list filter.
  9584  func (c *ProjectsLocationsOperationsListCall) Filter(filter string) *ProjectsLocationsOperationsListCall {
  9585  	c.urlParams_.Set("filter", filter)
  9586  	return c
  9587  }
  9588  
  9589  // PageSize sets the optional parameter "pageSize": The standard list page
  9590  // size.
  9591  func (c *ProjectsLocationsOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsOperationsListCall {
  9592  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  9593  	return c
  9594  }
  9595  
  9596  // PageToken sets the optional parameter "pageToken": The standard list page
  9597  // token.
  9598  func (c *ProjectsLocationsOperationsListCall) PageToken(pageToken string) *ProjectsLocationsOperationsListCall {
  9599  	c.urlParams_.Set("pageToken", pageToken)
  9600  	return c
  9601  }
  9602  
  9603  // Fields allows partial responses to be retrieved. See
  9604  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9605  // details.
  9606  func (c *ProjectsLocationsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsListCall {
  9607  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9608  	return c
  9609  }
  9610  
  9611  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  9612  // object's ETag matches the given value. This is useful for getting updates
  9613  // only after the object has changed since the last request.
  9614  func (c *ProjectsLocationsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsOperationsListCall {
  9615  	c.ifNoneMatch_ = entityTag
  9616  	return c
  9617  }
  9618  
  9619  // Context sets the context to be used in this call's Do method.
  9620  func (c *ProjectsLocationsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsOperationsListCall {
  9621  	c.ctx_ = ctx
  9622  	return c
  9623  }
  9624  
  9625  // Header returns a http.Header that can be modified by the caller to add
  9626  // headers to the request.
  9627  func (c *ProjectsLocationsOperationsListCall) Header() http.Header {
  9628  	if c.header_ == nil {
  9629  		c.header_ = make(http.Header)
  9630  	}
  9631  	return c.header_
  9632  }
  9633  
  9634  func (c *ProjectsLocationsOperationsListCall) doRequest(alt string) (*http.Response, error) {
  9635  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9636  	if c.ifNoneMatch_ != "" {
  9637  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  9638  	}
  9639  	var body io.Reader = nil
  9640  	c.urlParams_.Set("alt", alt)
  9641  	c.urlParams_.Set("prettyPrint", "false")
  9642  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
  9643  	urls += "?" + c.urlParams_.Encode()
  9644  	req, err := http.NewRequest("GET", urls, body)
  9645  	if err != nil {
  9646  		return nil, err
  9647  	}
  9648  	req.Header = reqHeaders
  9649  	googleapi.Expand(req.URL, map[string]string{
  9650  		"name": c.name,
  9651  	})
  9652  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9653  }
  9654  
  9655  // Do executes the "gkehub.projects.locations.operations.list" call.
  9656  // Any non-2xx status code is an error. Response headers are in either
  9657  // *ListOperationsResponse.ServerResponse.Header or (if a response was returned
  9658  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  9659  // check whether the returned error was because http.StatusNotModified was
  9660  // returned.
  9661  func (c *ProjectsLocationsOperationsListCall) Do(opts ...googleapi.CallOption) (*ListOperationsResponse, error) {
  9662  	gensupport.SetOptions(c.urlParams_, opts...)
  9663  	res, err := c.doRequest("json")
  9664  	if res != nil && res.StatusCode == http.StatusNotModified {
  9665  		if res.Body != nil {
  9666  			res.Body.Close()
  9667  		}
  9668  		return nil, gensupport.WrapError(&googleapi.Error{
  9669  			Code:   res.StatusCode,
  9670  			Header: res.Header,
  9671  		})
  9672  	}
  9673  	if err != nil {
  9674  		return nil, err
  9675  	}
  9676  	defer googleapi.CloseBody(res)
  9677  	if err := googleapi.CheckResponse(res); err != nil {
  9678  		return nil, gensupport.WrapError(err)
  9679  	}
  9680  	ret := &ListOperationsResponse{
  9681  		ServerResponse: googleapi.ServerResponse{
  9682  			Header:         res.Header,
  9683  			HTTPStatusCode: res.StatusCode,
  9684  		},
  9685  	}
  9686  	target := &ret
  9687  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9688  		return nil, err
  9689  	}
  9690  	return ret, nil
  9691  }
  9692  
  9693  // Pages invokes f for each page of results.
  9694  // A non-nil error returned from f will halt the iteration.
  9695  // The provided context supersedes any context provided to the Context method.
  9696  func (c *ProjectsLocationsOperationsListCall) Pages(ctx context.Context, f func(*ListOperationsResponse) error) error {
  9697  	c.ctx_ = ctx
  9698  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  9699  	for {
  9700  		x, err := c.Do()
  9701  		if err != nil {
  9702  			return err
  9703  		}
  9704  		if err := f(x); err != nil {
  9705  			return err
  9706  		}
  9707  		if x.NextPageToken == "" {
  9708  			return nil
  9709  		}
  9710  		c.PageToken(x.NextPageToken)
  9711  	}
  9712  }
  9713  
  9714  type ProjectsLocationsScopesCreateCall struct {
  9715  	s          *Service
  9716  	parent     string
  9717  	scope      *Scope
  9718  	urlParams_ gensupport.URLParams
  9719  	ctx_       context.Context
  9720  	header_    http.Header
  9721  }
  9722  
  9723  // Create: Creates a Scope.
  9724  //
  9725  //   - parent: The parent (project and location) where the Scope will be created.
  9726  //     Specified in the format `projects/*/locations/*`.
  9727  func (r *ProjectsLocationsScopesService) Create(parent string, scope *Scope) *ProjectsLocationsScopesCreateCall {
  9728  	c := &ProjectsLocationsScopesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9729  	c.parent = parent
  9730  	c.scope = scope
  9731  	return c
  9732  }
  9733  
  9734  // ScopeId sets the optional parameter "scopeId": Required. Client chosen ID
  9735  // for the Scope. `scope_id` must be a ????
  9736  func (c *ProjectsLocationsScopesCreateCall) ScopeId(scopeId string) *ProjectsLocationsScopesCreateCall {
  9737  	c.urlParams_.Set("scopeId", scopeId)
  9738  	return c
  9739  }
  9740  
  9741  // Fields allows partial responses to be retrieved. See
  9742  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9743  // details.
  9744  func (c *ProjectsLocationsScopesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsScopesCreateCall {
  9745  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9746  	return c
  9747  }
  9748  
  9749  // Context sets the context to be used in this call's Do method.
  9750  func (c *ProjectsLocationsScopesCreateCall) Context(ctx context.Context) *ProjectsLocationsScopesCreateCall {
  9751  	c.ctx_ = ctx
  9752  	return c
  9753  }
  9754  
  9755  // Header returns a http.Header that can be modified by the caller to add
  9756  // headers to the request.
  9757  func (c *ProjectsLocationsScopesCreateCall) Header() http.Header {
  9758  	if c.header_ == nil {
  9759  		c.header_ = make(http.Header)
  9760  	}
  9761  	return c.header_
  9762  }
  9763  
  9764  func (c *ProjectsLocationsScopesCreateCall) doRequest(alt string) (*http.Response, error) {
  9765  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  9766  	var body io.Reader = nil
  9767  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.scope)
  9768  	if err != nil {
  9769  		return nil, err
  9770  	}
  9771  	c.urlParams_.Set("alt", alt)
  9772  	c.urlParams_.Set("prettyPrint", "false")
  9773  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/scopes")
  9774  	urls += "?" + c.urlParams_.Encode()
  9775  	req, err := http.NewRequest("POST", urls, body)
  9776  	if err != nil {
  9777  		return nil, err
  9778  	}
  9779  	req.Header = reqHeaders
  9780  	googleapi.Expand(req.URL, map[string]string{
  9781  		"parent": c.parent,
  9782  	})
  9783  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9784  }
  9785  
  9786  // Do executes the "gkehub.projects.locations.scopes.create" call.
  9787  // Any non-2xx status code is an error. Response headers are in either
  9788  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  9789  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9790  // whether the returned error was because http.StatusNotModified was returned.
  9791  func (c *ProjectsLocationsScopesCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  9792  	gensupport.SetOptions(c.urlParams_, opts...)
  9793  	res, err := c.doRequest("json")
  9794  	if res != nil && res.StatusCode == http.StatusNotModified {
  9795  		if res.Body != nil {
  9796  			res.Body.Close()
  9797  		}
  9798  		return nil, gensupport.WrapError(&googleapi.Error{
  9799  			Code:   res.StatusCode,
  9800  			Header: res.Header,
  9801  		})
  9802  	}
  9803  	if err != nil {
  9804  		return nil, err
  9805  	}
  9806  	defer googleapi.CloseBody(res)
  9807  	if err := googleapi.CheckResponse(res); err != nil {
  9808  		return nil, gensupport.WrapError(err)
  9809  	}
  9810  	ret := &Operation{
  9811  		ServerResponse: googleapi.ServerResponse{
  9812  			Header:         res.Header,
  9813  			HTTPStatusCode: res.StatusCode,
  9814  		},
  9815  	}
  9816  	target := &ret
  9817  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9818  		return nil, err
  9819  	}
  9820  	return ret, nil
  9821  }
  9822  
  9823  type ProjectsLocationsScopesDeleteCall struct {
  9824  	s          *Service
  9825  	name       string
  9826  	urlParams_ gensupport.URLParams
  9827  	ctx_       context.Context
  9828  	header_    http.Header
  9829  }
  9830  
  9831  // Delete: Deletes a Scope.
  9832  //
  9833  //   - name: The Scope resource name in the format
  9834  //     `projects/*/locations/*/scopes/*`.
  9835  func (r *ProjectsLocationsScopesService) Delete(name string) *ProjectsLocationsScopesDeleteCall {
  9836  	c := &ProjectsLocationsScopesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9837  	c.name = name
  9838  	return c
  9839  }
  9840  
  9841  // Fields allows partial responses to be retrieved. See
  9842  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9843  // details.
  9844  func (c *ProjectsLocationsScopesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsScopesDeleteCall {
  9845  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9846  	return c
  9847  }
  9848  
  9849  // Context sets the context to be used in this call's Do method.
  9850  func (c *ProjectsLocationsScopesDeleteCall) Context(ctx context.Context) *ProjectsLocationsScopesDeleteCall {
  9851  	c.ctx_ = ctx
  9852  	return c
  9853  }
  9854  
  9855  // Header returns a http.Header that can be modified by the caller to add
  9856  // headers to the request.
  9857  func (c *ProjectsLocationsScopesDeleteCall) Header() http.Header {
  9858  	if c.header_ == nil {
  9859  		c.header_ = make(http.Header)
  9860  	}
  9861  	return c.header_
  9862  }
  9863  
  9864  func (c *ProjectsLocationsScopesDeleteCall) doRequest(alt string) (*http.Response, error) {
  9865  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9866  	var body io.Reader = nil
  9867  	c.urlParams_.Set("alt", alt)
  9868  	c.urlParams_.Set("prettyPrint", "false")
  9869  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  9870  	urls += "?" + c.urlParams_.Encode()
  9871  	req, err := http.NewRequest("DELETE", urls, body)
  9872  	if err != nil {
  9873  		return nil, err
  9874  	}
  9875  	req.Header = reqHeaders
  9876  	googleapi.Expand(req.URL, map[string]string{
  9877  		"name": c.name,
  9878  	})
  9879  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9880  }
  9881  
  9882  // Do executes the "gkehub.projects.locations.scopes.delete" call.
  9883  // Any non-2xx status code is an error. Response headers are in either
  9884  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  9885  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9886  // whether the returned error was because http.StatusNotModified was returned.
  9887  func (c *ProjectsLocationsScopesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  9888  	gensupport.SetOptions(c.urlParams_, opts...)
  9889  	res, err := c.doRequest("json")
  9890  	if res != nil && res.StatusCode == http.StatusNotModified {
  9891  		if res.Body != nil {
  9892  			res.Body.Close()
  9893  		}
  9894  		return nil, gensupport.WrapError(&googleapi.Error{
  9895  			Code:   res.StatusCode,
  9896  			Header: res.Header,
  9897  		})
  9898  	}
  9899  	if err != nil {
  9900  		return nil, err
  9901  	}
  9902  	defer googleapi.CloseBody(res)
  9903  	if err := googleapi.CheckResponse(res); err != nil {
  9904  		return nil, gensupport.WrapError(err)
  9905  	}
  9906  	ret := &Operation{
  9907  		ServerResponse: googleapi.ServerResponse{
  9908  			Header:         res.Header,
  9909  			HTTPStatusCode: res.StatusCode,
  9910  		},
  9911  	}
  9912  	target := &ret
  9913  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9914  		return nil, err
  9915  	}
  9916  	return ret, nil
  9917  }
  9918  
  9919  type ProjectsLocationsScopesGetCall struct {
  9920  	s            *Service
  9921  	name         string
  9922  	urlParams_   gensupport.URLParams
  9923  	ifNoneMatch_ string
  9924  	ctx_         context.Context
  9925  	header_      http.Header
  9926  }
  9927  
  9928  // Get: Returns the details of a Scope.
  9929  //
  9930  //   - name: The Scope resource name in the format
  9931  //     `projects/*/locations/*/scopes/*`.
  9932  func (r *ProjectsLocationsScopesService) Get(name string) *ProjectsLocationsScopesGetCall {
  9933  	c := &ProjectsLocationsScopesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9934  	c.name = name
  9935  	return c
  9936  }
  9937  
  9938  // Fields allows partial responses to be retrieved. See
  9939  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9940  // details.
  9941  func (c *ProjectsLocationsScopesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsScopesGetCall {
  9942  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9943  	return c
  9944  }
  9945  
  9946  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  9947  // object's ETag matches the given value. This is useful for getting updates
  9948  // only after the object has changed since the last request.
  9949  func (c *ProjectsLocationsScopesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsScopesGetCall {
  9950  	c.ifNoneMatch_ = entityTag
  9951  	return c
  9952  }
  9953  
  9954  // Context sets the context to be used in this call's Do method.
  9955  func (c *ProjectsLocationsScopesGetCall) Context(ctx context.Context) *ProjectsLocationsScopesGetCall {
  9956  	c.ctx_ = ctx
  9957  	return c
  9958  }
  9959  
  9960  // Header returns a http.Header that can be modified by the caller to add
  9961  // headers to the request.
  9962  func (c *ProjectsLocationsScopesGetCall) Header() http.Header {
  9963  	if c.header_ == nil {
  9964  		c.header_ = make(http.Header)
  9965  	}
  9966  	return c.header_
  9967  }
  9968  
  9969  func (c *ProjectsLocationsScopesGetCall) doRequest(alt string) (*http.Response, error) {
  9970  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9971  	if c.ifNoneMatch_ != "" {
  9972  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  9973  	}
  9974  	var body io.Reader = nil
  9975  	c.urlParams_.Set("alt", alt)
  9976  	c.urlParams_.Set("prettyPrint", "false")
  9977  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  9978  	urls += "?" + c.urlParams_.Encode()
  9979  	req, err := http.NewRequest("GET", urls, body)
  9980  	if err != nil {
  9981  		return nil, err
  9982  	}
  9983  	req.Header = reqHeaders
  9984  	googleapi.Expand(req.URL, map[string]string{
  9985  		"name": c.name,
  9986  	})
  9987  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9988  }
  9989  
  9990  // Do executes the "gkehub.projects.locations.scopes.get" call.
  9991  // Any non-2xx status code is an error. Response headers are in either
  9992  // *Scope.ServerResponse.Header or (if a response was returned at all) in
  9993  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9994  // whether the returned error was because http.StatusNotModified was returned.
  9995  func (c *ProjectsLocationsScopesGetCall) Do(opts ...googleapi.CallOption) (*Scope, error) {
  9996  	gensupport.SetOptions(c.urlParams_, opts...)
  9997  	res, err := c.doRequest("json")
  9998  	if res != nil && res.StatusCode == http.StatusNotModified {
  9999  		if res.Body != nil {
 10000  			res.Body.Close()
 10001  		}
 10002  		return nil, gensupport.WrapError(&googleapi.Error{
 10003  			Code:   res.StatusCode,
 10004  			Header: res.Header,
 10005  		})
 10006  	}
 10007  	if err != nil {
 10008  		return nil, err
 10009  	}
 10010  	defer googleapi.CloseBody(res)
 10011  	if err := googleapi.CheckResponse(res); err != nil {
 10012  		return nil, gensupport.WrapError(err)
 10013  	}
 10014  	ret := &Scope{
 10015  		ServerResponse: googleapi.ServerResponse{
 10016  			Header:         res.Header,
 10017  			HTTPStatusCode: res.StatusCode,
 10018  		},
 10019  	}
 10020  	target := &ret
 10021  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10022  		return nil, err
 10023  	}
 10024  	return ret, nil
 10025  }
 10026  
 10027  type ProjectsLocationsScopesGetIamPolicyCall struct {
 10028  	s            *Service
 10029  	resource     string
 10030  	urlParams_   gensupport.URLParams
 10031  	ifNoneMatch_ string
 10032  	ctx_         context.Context
 10033  	header_      http.Header
 10034  }
 10035  
 10036  // GetIamPolicy: Gets the access control policy for a resource. Returns an
 10037  // empty policy if the resource exists and does not have a policy set.
 10038  //
 10039  //   - resource: REQUIRED: The resource for which the policy is being requested.
 10040  //     See Resource names (https://cloud.google.com/apis/design/resource_names)
 10041  //     for the appropriate value for this field.
 10042  func (r *ProjectsLocationsScopesService) GetIamPolicy(resource string) *ProjectsLocationsScopesGetIamPolicyCall {
 10043  	c := &ProjectsLocationsScopesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10044  	c.resource = resource
 10045  	return c
 10046  }
 10047  
 10048  // OptionsRequestedPolicyVersion sets the optional parameter
 10049  // "options.requestedPolicyVersion": The maximum policy version that will be
 10050  // used to format the policy. Valid values are 0, 1, and 3. Requests specifying
 10051  // an invalid value will be rejected. Requests for policies with any
 10052  // conditional role bindings must specify version 3. Policies with no
 10053  // conditional role bindings may specify any valid value or leave the field
 10054  // unset. The policy in the response might use the policy version that you
 10055  // specified, or it might use a lower policy version. For example, if you
 10056  // specify version 3, but the policy has no conditional role bindings, the
 10057  // response uses version 1. To learn which resources support conditions in
 10058  // their IAM policies, see the IAM documentation
 10059  // (https://cloud.google.com/iam/help/conditions/resource-policies).
 10060  func (c *ProjectsLocationsScopesGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsScopesGetIamPolicyCall {
 10061  	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
 10062  	return c
 10063  }
 10064  
 10065  // Fields allows partial responses to be retrieved. See
 10066  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10067  // details.
 10068  func (c *ProjectsLocationsScopesGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsScopesGetIamPolicyCall {
 10069  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10070  	return c
 10071  }
 10072  
 10073  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 10074  // object's ETag matches the given value. This is useful for getting updates
 10075  // only after the object has changed since the last request.
 10076  func (c *ProjectsLocationsScopesGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsLocationsScopesGetIamPolicyCall {
 10077  	c.ifNoneMatch_ = entityTag
 10078  	return c
 10079  }
 10080  
 10081  // Context sets the context to be used in this call's Do method.
 10082  func (c *ProjectsLocationsScopesGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsScopesGetIamPolicyCall {
 10083  	c.ctx_ = ctx
 10084  	return c
 10085  }
 10086  
 10087  // Header returns a http.Header that can be modified by the caller to add
 10088  // headers to the request.
 10089  func (c *ProjectsLocationsScopesGetIamPolicyCall) Header() http.Header {
 10090  	if c.header_ == nil {
 10091  		c.header_ = make(http.Header)
 10092  	}
 10093  	return c.header_
 10094  }
 10095  
 10096  func (c *ProjectsLocationsScopesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 10097  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 10098  	if c.ifNoneMatch_ != "" {
 10099  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 10100  	}
 10101  	var body io.Reader = nil
 10102  	c.urlParams_.Set("alt", alt)
 10103  	c.urlParams_.Set("prettyPrint", "false")
 10104  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:getIamPolicy")
 10105  	urls += "?" + c.urlParams_.Encode()
 10106  	req, err := http.NewRequest("GET", urls, body)
 10107  	if err != nil {
 10108  		return nil, err
 10109  	}
 10110  	req.Header = reqHeaders
 10111  	googleapi.Expand(req.URL, map[string]string{
 10112  		"resource": c.resource,
 10113  	})
 10114  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10115  }
 10116  
 10117  // Do executes the "gkehub.projects.locations.scopes.getIamPolicy" call.
 10118  // Any non-2xx status code is an error. Response headers are in either
 10119  // *Policy.ServerResponse.Header or (if a response was returned at all) in
 10120  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 10121  // whether the returned error was because http.StatusNotModified was returned.
 10122  func (c *ProjectsLocationsScopesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
 10123  	gensupport.SetOptions(c.urlParams_, opts...)
 10124  	res, err := c.doRequest("json")
 10125  	if res != nil && res.StatusCode == http.StatusNotModified {
 10126  		if res.Body != nil {
 10127  			res.Body.Close()
 10128  		}
 10129  		return nil, gensupport.WrapError(&googleapi.Error{
 10130  			Code:   res.StatusCode,
 10131  			Header: res.Header,
 10132  		})
 10133  	}
 10134  	if err != nil {
 10135  		return nil, err
 10136  	}
 10137  	defer googleapi.CloseBody(res)
 10138  	if err := googleapi.CheckResponse(res); err != nil {
 10139  		return nil, gensupport.WrapError(err)
 10140  	}
 10141  	ret := &Policy{
 10142  		ServerResponse: googleapi.ServerResponse{
 10143  			Header:         res.Header,
 10144  			HTTPStatusCode: res.StatusCode,
 10145  		},
 10146  	}
 10147  	target := &ret
 10148  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10149  		return nil, err
 10150  	}
 10151  	return ret, nil
 10152  }
 10153  
 10154  type ProjectsLocationsScopesListCall struct {
 10155  	s            *Service
 10156  	parent       string
 10157  	urlParams_   gensupport.URLParams
 10158  	ifNoneMatch_ string
 10159  	ctx_         context.Context
 10160  	header_      http.Header
 10161  }
 10162  
 10163  // List: Lists Scopes.
 10164  //
 10165  //   - parent: The parent (project and location) where the Scope will be listed.
 10166  //     Specified in the format `projects/*/locations/*`.
 10167  func (r *ProjectsLocationsScopesService) List(parent string) *ProjectsLocationsScopesListCall {
 10168  	c := &ProjectsLocationsScopesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10169  	c.parent = parent
 10170  	return c
 10171  }
 10172  
 10173  // PageSize sets the optional parameter "pageSize": When requesting a 'page' of
 10174  // resources, `page_size` specifies number of resources to return. If
 10175  // unspecified or set to 0, all resources will be returned.
 10176  func (c *ProjectsLocationsScopesListCall) PageSize(pageSize int64) *ProjectsLocationsScopesListCall {
 10177  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 10178  	return c
 10179  }
 10180  
 10181  // PageToken sets the optional parameter "pageToken": Token returned by
 10182  // previous call to `ListScopes` which specifies the position in the list from
 10183  // where to continue listing the resources.
 10184  func (c *ProjectsLocationsScopesListCall) PageToken(pageToken string) *ProjectsLocationsScopesListCall {
 10185  	c.urlParams_.Set("pageToken", pageToken)
 10186  	return c
 10187  }
 10188  
 10189  // Fields allows partial responses to be retrieved. See
 10190  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10191  // details.
 10192  func (c *ProjectsLocationsScopesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsScopesListCall {
 10193  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10194  	return c
 10195  }
 10196  
 10197  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 10198  // object's ETag matches the given value. This is useful for getting updates
 10199  // only after the object has changed since the last request.
 10200  func (c *ProjectsLocationsScopesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsScopesListCall {
 10201  	c.ifNoneMatch_ = entityTag
 10202  	return c
 10203  }
 10204  
 10205  // Context sets the context to be used in this call's Do method.
 10206  func (c *ProjectsLocationsScopesListCall) Context(ctx context.Context) *ProjectsLocationsScopesListCall {
 10207  	c.ctx_ = ctx
 10208  	return c
 10209  }
 10210  
 10211  // Header returns a http.Header that can be modified by the caller to add
 10212  // headers to the request.
 10213  func (c *ProjectsLocationsScopesListCall) Header() http.Header {
 10214  	if c.header_ == nil {
 10215  		c.header_ = make(http.Header)
 10216  	}
 10217  	return c.header_
 10218  }
 10219  
 10220  func (c *ProjectsLocationsScopesListCall) doRequest(alt string) (*http.Response, error) {
 10221  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 10222  	if c.ifNoneMatch_ != "" {
 10223  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 10224  	}
 10225  	var body io.Reader = nil
 10226  	c.urlParams_.Set("alt", alt)
 10227  	c.urlParams_.Set("prettyPrint", "false")
 10228  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/scopes")
 10229  	urls += "?" + c.urlParams_.Encode()
 10230  	req, err := http.NewRequest("GET", urls, body)
 10231  	if err != nil {
 10232  		return nil, err
 10233  	}
 10234  	req.Header = reqHeaders
 10235  	googleapi.Expand(req.URL, map[string]string{
 10236  		"parent": c.parent,
 10237  	})
 10238  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10239  }
 10240  
 10241  // Do executes the "gkehub.projects.locations.scopes.list" call.
 10242  // Any non-2xx status code is an error. Response headers are in either
 10243  // *ListScopesResponse.ServerResponse.Header or (if a response was returned at
 10244  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 10245  // check whether the returned error was because http.StatusNotModified was
 10246  // returned.
 10247  func (c *ProjectsLocationsScopesListCall) Do(opts ...googleapi.CallOption) (*ListScopesResponse, error) {
 10248  	gensupport.SetOptions(c.urlParams_, opts...)
 10249  	res, err := c.doRequest("json")
 10250  	if res != nil && res.StatusCode == http.StatusNotModified {
 10251  		if res.Body != nil {
 10252  			res.Body.Close()
 10253  		}
 10254  		return nil, gensupport.WrapError(&googleapi.Error{
 10255  			Code:   res.StatusCode,
 10256  			Header: res.Header,
 10257  		})
 10258  	}
 10259  	if err != nil {
 10260  		return nil, err
 10261  	}
 10262  	defer googleapi.CloseBody(res)
 10263  	if err := googleapi.CheckResponse(res); err != nil {
 10264  		return nil, gensupport.WrapError(err)
 10265  	}
 10266  	ret := &ListScopesResponse{
 10267  		ServerResponse: googleapi.ServerResponse{
 10268  			Header:         res.Header,
 10269  			HTTPStatusCode: res.StatusCode,
 10270  		},
 10271  	}
 10272  	target := &ret
 10273  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10274  		return nil, err
 10275  	}
 10276  	return ret, nil
 10277  }
 10278  
 10279  // Pages invokes f for each page of results.
 10280  // A non-nil error returned from f will halt the iteration.
 10281  // The provided context supersedes any context provided to the Context method.
 10282  func (c *ProjectsLocationsScopesListCall) Pages(ctx context.Context, f func(*ListScopesResponse) error) error {
 10283  	c.ctx_ = ctx
 10284  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 10285  	for {
 10286  		x, err := c.Do()
 10287  		if err != nil {
 10288  			return err
 10289  		}
 10290  		if err := f(x); err != nil {
 10291  			return err
 10292  		}
 10293  		if x.NextPageToken == "" {
 10294  			return nil
 10295  		}
 10296  		c.PageToken(x.NextPageToken)
 10297  	}
 10298  }
 10299  
 10300  type ProjectsLocationsScopesListMembershipsCall struct {
 10301  	s            *Service
 10302  	scopeName    string
 10303  	urlParams_   gensupport.URLParams
 10304  	ifNoneMatch_ string
 10305  	ctx_         context.Context
 10306  	header_      http.Header
 10307  }
 10308  
 10309  // ListMemberships: Lists Memberships bound to a Scope. The response includes
 10310  // relevant Memberships from all regions.
 10311  //
 10312  //   - scopeName: Name of the Scope, in the format
 10313  //     `projects/*/locations/global/scopes/*`, to which the Memberships are
 10314  //     bound.
 10315  func (r *ProjectsLocationsScopesService) ListMemberships(scopeName string) *ProjectsLocationsScopesListMembershipsCall {
 10316  	c := &ProjectsLocationsScopesListMembershipsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10317  	c.scopeName = scopeName
 10318  	return c
 10319  }
 10320  
 10321  // Filter sets the optional parameter "filter": Lists Memberships that match
 10322  // the filter expression, following the syntax outlined in
 10323  // https://google.aip.dev/160. Currently, filtering can be done only based on
 10324  // Memberships's `name`, `labels`, `create_time`, `update_time`, and
 10325  // `unique_id`.
 10326  func (c *ProjectsLocationsScopesListMembershipsCall) Filter(filter string) *ProjectsLocationsScopesListMembershipsCall {
 10327  	c.urlParams_.Set("filter", filter)
 10328  	return c
 10329  }
 10330  
 10331  // PageSize sets the optional parameter "pageSize": When requesting a 'page' of
 10332  // resources, `page_size` specifies number of resources to return. If
 10333  // unspecified or set to 0, all resources will be returned. Pagination is
 10334  // currently not supported; therefore, setting this field does not have any
 10335  // impact for now.
 10336  func (c *ProjectsLocationsScopesListMembershipsCall) PageSize(pageSize int64) *ProjectsLocationsScopesListMembershipsCall {
 10337  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 10338  	return c
 10339  }
 10340  
 10341  // PageToken sets the optional parameter "pageToken": Token returned by
 10342  // previous call to `ListBoundMemberships` which specifies the position in the
 10343  // list from where to continue listing the resources.
 10344  func (c *ProjectsLocationsScopesListMembershipsCall) PageToken(pageToken string) *ProjectsLocationsScopesListMembershipsCall {
 10345  	c.urlParams_.Set("pageToken", pageToken)
 10346  	return c
 10347  }
 10348  
 10349  // Fields allows partial responses to be retrieved. See
 10350  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10351  // details.
 10352  func (c *ProjectsLocationsScopesListMembershipsCall) Fields(s ...googleapi.Field) *ProjectsLocationsScopesListMembershipsCall {
 10353  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10354  	return c
 10355  }
 10356  
 10357  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 10358  // object's ETag matches the given value. This is useful for getting updates
 10359  // only after the object has changed since the last request.
 10360  func (c *ProjectsLocationsScopesListMembershipsCall) IfNoneMatch(entityTag string) *ProjectsLocationsScopesListMembershipsCall {
 10361  	c.ifNoneMatch_ = entityTag
 10362  	return c
 10363  }
 10364  
 10365  // Context sets the context to be used in this call's Do method.
 10366  func (c *ProjectsLocationsScopesListMembershipsCall) Context(ctx context.Context) *ProjectsLocationsScopesListMembershipsCall {
 10367  	c.ctx_ = ctx
 10368  	return c
 10369  }
 10370  
 10371  // Header returns a http.Header that can be modified by the caller to add
 10372  // headers to the request.
 10373  func (c *ProjectsLocationsScopesListMembershipsCall) Header() http.Header {
 10374  	if c.header_ == nil {
 10375  		c.header_ = make(http.Header)
 10376  	}
 10377  	return c.header_
 10378  }
 10379  
 10380  func (c *ProjectsLocationsScopesListMembershipsCall) doRequest(alt string) (*http.Response, error) {
 10381  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 10382  	if c.ifNoneMatch_ != "" {
 10383  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 10384  	}
 10385  	var body io.Reader = nil
 10386  	c.urlParams_.Set("alt", alt)
 10387  	c.urlParams_.Set("prettyPrint", "false")
 10388  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+scopeName}:listMemberships")
 10389  	urls += "?" + c.urlParams_.Encode()
 10390  	req, err := http.NewRequest("GET", urls, body)
 10391  	if err != nil {
 10392  		return nil, err
 10393  	}
 10394  	req.Header = reqHeaders
 10395  	googleapi.Expand(req.URL, map[string]string{
 10396  		"scopeName": c.scopeName,
 10397  	})
 10398  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10399  }
 10400  
 10401  // Do executes the "gkehub.projects.locations.scopes.listMemberships" call.
 10402  // Any non-2xx status code is an error. Response headers are in either
 10403  // *ListBoundMembershipsResponse.ServerResponse.Header or (if a response was
 10404  // returned at all) in error.(*googleapi.Error).Header. Use
 10405  // googleapi.IsNotModified to check whether the returned error was because
 10406  // http.StatusNotModified was returned.
 10407  func (c *ProjectsLocationsScopesListMembershipsCall) Do(opts ...googleapi.CallOption) (*ListBoundMembershipsResponse, error) {
 10408  	gensupport.SetOptions(c.urlParams_, opts...)
 10409  	res, err := c.doRequest("json")
 10410  	if res != nil && res.StatusCode == http.StatusNotModified {
 10411  		if res.Body != nil {
 10412  			res.Body.Close()
 10413  		}
 10414  		return nil, gensupport.WrapError(&googleapi.Error{
 10415  			Code:   res.StatusCode,
 10416  			Header: res.Header,
 10417  		})
 10418  	}
 10419  	if err != nil {
 10420  		return nil, err
 10421  	}
 10422  	defer googleapi.CloseBody(res)
 10423  	if err := googleapi.CheckResponse(res); err != nil {
 10424  		return nil, gensupport.WrapError(err)
 10425  	}
 10426  	ret := &ListBoundMembershipsResponse{
 10427  		ServerResponse: googleapi.ServerResponse{
 10428  			Header:         res.Header,
 10429  			HTTPStatusCode: res.StatusCode,
 10430  		},
 10431  	}
 10432  	target := &ret
 10433  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10434  		return nil, err
 10435  	}
 10436  	return ret, nil
 10437  }
 10438  
 10439  // Pages invokes f for each page of results.
 10440  // A non-nil error returned from f will halt the iteration.
 10441  // The provided context supersedes any context provided to the Context method.
 10442  func (c *ProjectsLocationsScopesListMembershipsCall) Pages(ctx context.Context, f func(*ListBoundMembershipsResponse) error) error {
 10443  	c.ctx_ = ctx
 10444  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 10445  	for {
 10446  		x, err := c.Do()
 10447  		if err != nil {
 10448  			return err
 10449  		}
 10450  		if err := f(x); err != nil {
 10451  			return err
 10452  		}
 10453  		if x.NextPageToken == "" {
 10454  			return nil
 10455  		}
 10456  		c.PageToken(x.NextPageToken)
 10457  	}
 10458  }
 10459  
 10460  type ProjectsLocationsScopesListPermittedCall struct {
 10461  	s            *Service
 10462  	parent       string
 10463  	urlParams_   gensupport.URLParams
 10464  	ifNoneMatch_ string
 10465  	ctx_         context.Context
 10466  	header_      http.Header
 10467  }
 10468  
 10469  // ListPermitted: Lists permitted Scopes.
 10470  //
 10471  //   - parent: The parent (project and location) where the Scope will be listed.
 10472  //     Specified in the format `projects/*/locations/*`.
 10473  func (r *ProjectsLocationsScopesService) ListPermitted(parent string) *ProjectsLocationsScopesListPermittedCall {
 10474  	c := &ProjectsLocationsScopesListPermittedCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10475  	c.parent = parent
 10476  	return c
 10477  }
 10478  
 10479  // PageSize sets the optional parameter "pageSize": When requesting a 'page' of
 10480  // resources, `page_size` specifies number of resources to return. If
 10481  // unspecified or set to 0, all resources will be returned.
 10482  func (c *ProjectsLocationsScopesListPermittedCall) PageSize(pageSize int64) *ProjectsLocationsScopesListPermittedCall {
 10483  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 10484  	return c
 10485  }
 10486  
 10487  // PageToken sets the optional parameter "pageToken": Token returned by
 10488  // previous call to `ListPermittedScopes` which specifies the position in the
 10489  // list from where to continue listing the resources.
 10490  func (c *ProjectsLocationsScopesListPermittedCall) PageToken(pageToken string) *ProjectsLocationsScopesListPermittedCall {
 10491  	c.urlParams_.Set("pageToken", pageToken)
 10492  	return c
 10493  }
 10494  
 10495  // Fields allows partial responses to be retrieved. See
 10496  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10497  // details.
 10498  func (c *ProjectsLocationsScopesListPermittedCall) Fields(s ...googleapi.Field) *ProjectsLocationsScopesListPermittedCall {
 10499  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10500  	return c
 10501  }
 10502  
 10503  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 10504  // object's ETag matches the given value. This is useful for getting updates
 10505  // only after the object has changed since the last request.
 10506  func (c *ProjectsLocationsScopesListPermittedCall) IfNoneMatch(entityTag string) *ProjectsLocationsScopesListPermittedCall {
 10507  	c.ifNoneMatch_ = entityTag
 10508  	return c
 10509  }
 10510  
 10511  // Context sets the context to be used in this call's Do method.
 10512  func (c *ProjectsLocationsScopesListPermittedCall) Context(ctx context.Context) *ProjectsLocationsScopesListPermittedCall {
 10513  	c.ctx_ = ctx
 10514  	return c
 10515  }
 10516  
 10517  // Header returns a http.Header that can be modified by the caller to add
 10518  // headers to the request.
 10519  func (c *ProjectsLocationsScopesListPermittedCall) Header() http.Header {
 10520  	if c.header_ == nil {
 10521  		c.header_ = make(http.Header)
 10522  	}
 10523  	return c.header_
 10524  }
 10525  
 10526  func (c *ProjectsLocationsScopesListPermittedCall) doRequest(alt string) (*http.Response, error) {
 10527  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 10528  	if c.ifNoneMatch_ != "" {
 10529  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 10530  	}
 10531  	var body io.Reader = nil
 10532  	c.urlParams_.Set("alt", alt)
 10533  	c.urlParams_.Set("prettyPrint", "false")
 10534  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/scopes:listPermitted")
 10535  	urls += "?" + c.urlParams_.Encode()
 10536  	req, err := http.NewRequest("GET", urls, body)
 10537  	if err != nil {
 10538  		return nil, err
 10539  	}
 10540  	req.Header = reqHeaders
 10541  	googleapi.Expand(req.URL, map[string]string{
 10542  		"parent": c.parent,
 10543  	})
 10544  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10545  }
 10546  
 10547  // Do executes the "gkehub.projects.locations.scopes.listPermitted" call.
 10548  // Any non-2xx status code is an error. Response headers are in either
 10549  // *ListPermittedScopesResponse.ServerResponse.Header or (if a response was
 10550  // returned at all) in error.(*googleapi.Error).Header. Use
 10551  // googleapi.IsNotModified to check whether the returned error was because
 10552  // http.StatusNotModified was returned.
 10553  func (c *ProjectsLocationsScopesListPermittedCall) Do(opts ...googleapi.CallOption) (*ListPermittedScopesResponse, error) {
 10554  	gensupport.SetOptions(c.urlParams_, opts...)
 10555  	res, err := c.doRequest("json")
 10556  	if res != nil && res.StatusCode == http.StatusNotModified {
 10557  		if res.Body != nil {
 10558  			res.Body.Close()
 10559  		}
 10560  		return nil, gensupport.WrapError(&googleapi.Error{
 10561  			Code:   res.StatusCode,
 10562  			Header: res.Header,
 10563  		})
 10564  	}
 10565  	if err != nil {
 10566  		return nil, err
 10567  	}
 10568  	defer googleapi.CloseBody(res)
 10569  	if err := googleapi.CheckResponse(res); err != nil {
 10570  		return nil, gensupport.WrapError(err)
 10571  	}
 10572  	ret := &ListPermittedScopesResponse{
 10573  		ServerResponse: googleapi.ServerResponse{
 10574  			Header:         res.Header,
 10575  			HTTPStatusCode: res.StatusCode,
 10576  		},
 10577  	}
 10578  	target := &ret
 10579  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10580  		return nil, err
 10581  	}
 10582  	return ret, nil
 10583  }
 10584  
 10585  // Pages invokes f for each page of results.
 10586  // A non-nil error returned from f will halt the iteration.
 10587  // The provided context supersedes any context provided to the Context method.
 10588  func (c *ProjectsLocationsScopesListPermittedCall) Pages(ctx context.Context, f func(*ListPermittedScopesResponse) error) error {
 10589  	c.ctx_ = ctx
 10590  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 10591  	for {
 10592  		x, err := c.Do()
 10593  		if err != nil {
 10594  			return err
 10595  		}
 10596  		if err := f(x); err != nil {
 10597  			return err
 10598  		}
 10599  		if x.NextPageToken == "" {
 10600  			return nil
 10601  		}
 10602  		c.PageToken(x.NextPageToken)
 10603  	}
 10604  }
 10605  
 10606  type ProjectsLocationsScopesPatchCall struct {
 10607  	s          *Service
 10608  	name       string
 10609  	scope      *Scope
 10610  	urlParams_ gensupport.URLParams
 10611  	ctx_       context.Context
 10612  	header_    http.Header
 10613  }
 10614  
 10615  // Patch: Updates a scopes.
 10616  //
 10617  //   - name: The resource name for the scope
 10618  //     `projects/{project}/locations/{location}/scopes/{scope}`.
 10619  func (r *ProjectsLocationsScopesService) Patch(name string, scope *Scope) *ProjectsLocationsScopesPatchCall {
 10620  	c := &ProjectsLocationsScopesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10621  	c.name = name
 10622  	c.scope = scope
 10623  	return c
 10624  }
 10625  
 10626  // UpdateMask sets the optional parameter "updateMask": Required. The fields to
 10627  // be updated.
 10628  func (c *ProjectsLocationsScopesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsScopesPatchCall {
 10629  	c.urlParams_.Set("updateMask", updateMask)
 10630  	return c
 10631  }
 10632  
 10633  // Fields allows partial responses to be retrieved. See
 10634  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10635  // details.
 10636  func (c *ProjectsLocationsScopesPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsScopesPatchCall {
 10637  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10638  	return c
 10639  }
 10640  
 10641  // Context sets the context to be used in this call's Do method.
 10642  func (c *ProjectsLocationsScopesPatchCall) Context(ctx context.Context) *ProjectsLocationsScopesPatchCall {
 10643  	c.ctx_ = ctx
 10644  	return c
 10645  }
 10646  
 10647  // Header returns a http.Header that can be modified by the caller to add
 10648  // headers to the request.
 10649  func (c *ProjectsLocationsScopesPatchCall) Header() http.Header {
 10650  	if c.header_ == nil {
 10651  		c.header_ = make(http.Header)
 10652  	}
 10653  	return c.header_
 10654  }
 10655  
 10656  func (c *ProjectsLocationsScopesPatchCall) doRequest(alt string) (*http.Response, error) {
 10657  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 10658  	var body io.Reader = nil
 10659  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.scope)
 10660  	if err != nil {
 10661  		return nil, err
 10662  	}
 10663  	c.urlParams_.Set("alt", alt)
 10664  	c.urlParams_.Set("prettyPrint", "false")
 10665  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
 10666  	urls += "?" + c.urlParams_.Encode()
 10667  	req, err := http.NewRequest("PATCH", urls, body)
 10668  	if err != nil {
 10669  		return nil, err
 10670  	}
 10671  	req.Header = reqHeaders
 10672  	googleapi.Expand(req.URL, map[string]string{
 10673  		"name": c.name,
 10674  	})
 10675  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10676  }
 10677  
 10678  // Do executes the "gkehub.projects.locations.scopes.patch" call.
 10679  // Any non-2xx status code is an error. Response headers are in either
 10680  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 10681  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 10682  // whether the returned error was because http.StatusNotModified was returned.
 10683  func (c *ProjectsLocationsScopesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 10684  	gensupport.SetOptions(c.urlParams_, opts...)
 10685  	res, err := c.doRequest("json")
 10686  	if res != nil && res.StatusCode == http.StatusNotModified {
 10687  		if res.Body != nil {
 10688  			res.Body.Close()
 10689  		}
 10690  		return nil, gensupport.WrapError(&googleapi.Error{
 10691  			Code:   res.StatusCode,
 10692  			Header: res.Header,
 10693  		})
 10694  	}
 10695  	if err != nil {
 10696  		return nil, err
 10697  	}
 10698  	defer googleapi.CloseBody(res)
 10699  	if err := googleapi.CheckResponse(res); err != nil {
 10700  		return nil, gensupport.WrapError(err)
 10701  	}
 10702  	ret := &Operation{
 10703  		ServerResponse: googleapi.ServerResponse{
 10704  			Header:         res.Header,
 10705  			HTTPStatusCode: res.StatusCode,
 10706  		},
 10707  	}
 10708  	target := &ret
 10709  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10710  		return nil, err
 10711  	}
 10712  	return ret, nil
 10713  }
 10714  
 10715  type ProjectsLocationsScopesSetIamPolicyCall struct {
 10716  	s                   *Service
 10717  	resource            string
 10718  	setiampolicyrequest *SetIamPolicyRequest
 10719  	urlParams_          gensupport.URLParams
 10720  	ctx_                context.Context
 10721  	header_             http.Header
 10722  }
 10723  
 10724  // SetIamPolicy: Sets the access control policy on the specified resource.
 10725  // Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`,
 10726  // and `PERMISSION_DENIED` errors.
 10727  //
 10728  //   - resource: REQUIRED: The resource for which the policy is being specified.
 10729  //     See Resource names (https://cloud.google.com/apis/design/resource_names)
 10730  //     for the appropriate value for this field.
 10731  func (r *ProjectsLocationsScopesService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsScopesSetIamPolicyCall {
 10732  	c := &ProjectsLocationsScopesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10733  	c.resource = resource
 10734  	c.setiampolicyrequest = setiampolicyrequest
 10735  	return c
 10736  }
 10737  
 10738  // Fields allows partial responses to be retrieved. See
 10739  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10740  // details.
 10741  func (c *ProjectsLocationsScopesSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsScopesSetIamPolicyCall {
 10742  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10743  	return c
 10744  }
 10745  
 10746  // Context sets the context to be used in this call's Do method.
 10747  func (c *ProjectsLocationsScopesSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsScopesSetIamPolicyCall {
 10748  	c.ctx_ = ctx
 10749  	return c
 10750  }
 10751  
 10752  // Header returns a http.Header that can be modified by the caller to add
 10753  // headers to the request.
 10754  func (c *ProjectsLocationsScopesSetIamPolicyCall) Header() http.Header {
 10755  	if c.header_ == nil {
 10756  		c.header_ = make(http.Header)
 10757  	}
 10758  	return c.header_
 10759  }
 10760  
 10761  func (c *ProjectsLocationsScopesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 10762  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 10763  	var body io.Reader = nil
 10764  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
 10765  	if err != nil {
 10766  		return nil, err
 10767  	}
 10768  	c.urlParams_.Set("alt", alt)
 10769  	c.urlParams_.Set("prettyPrint", "false")
 10770  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:setIamPolicy")
 10771  	urls += "?" + c.urlParams_.Encode()
 10772  	req, err := http.NewRequest("POST", urls, body)
 10773  	if err != nil {
 10774  		return nil, err
 10775  	}
 10776  	req.Header = reqHeaders
 10777  	googleapi.Expand(req.URL, map[string]string{
 10778  		"resource": c.resource,
 10779  	})
 10780  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10781  }
 10782  
 10783  // Do executes the "gkehub.projects.locations.scopes.setIamPolicy" call.
 10784  // Any non-2xx status code is an error. Response headers are in either
 10785  // *Policy.ServerResponse.Header or (if a response was returned at all) in
 10786  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 10787  // whether the returned error was because http.StatusNotModified was returned.
 10788  func (c *ProjectsLocationsScopesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
 10789  	gensupport.SetOptions(c.urlParams_, opts...)
 10790  	res, err := c.doRequest("json")
 10791  	if res != nil && res.StatusCode == http.StatusNotModified {
 10792  		if res.Body != nil {
 10793  			res.Body.Close()
 10794  		}
 10795  		return nil, gensupport.WrapError(&googleapi.Error{
 10796  			Code:   res.StatusCode,
 10797  			Header: res.Header,
 10798  		})
 10799  	}
 10800  	if err != nil {
 10801  		return nil, err
 10802  	}
 10803  	defer googleapi.CloseBody(res)
 10804  	if err := googleapi.CheckResponse(res); err != nil {
 10805  		return nil, gensupport.WrapError(err)
 10806  	}
 10807  	ret := &Policy{
 10808  		ServerResponse: googleapi.ServerResponse{
 10809  			Header:         res.Header,
 10810  			HTTPStatusCode: res.StatusCode,
 10811  		},
 10812  	}
 10813  	target := &ret
 10814  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10815  		return nil, err
 10816  	}
 10817  	return ret, nil
 10818  }
 10819  
 10820  type ProjectsLocationsScopesTestIamPermissionsCall struct {
 10821  	s                         *Service
 10822  	resource                  string
 10823  	testiampermissionsrequest *TestIamPermissionsRequest
 10824  	urlParams_                gensupport.URLParams
 10825  	ctx_                      context.Context
 10826  	header_                   http.Header
 10827  }
 10828  
 10829  // TestIamPermissions: Returns permissions that a caller has on the specified
 10830  // resource. If the resource does not exist, this will return an empty set of
 10831  // permissions, not a `NOT_FOUND` error. Note: This operation is designed to be
 10832  // used for building permission-aware UIs and command-line tools, not for
 10833  // authorization checking. This operation may "fail open" without warning.
 10834  //
 10835  //   - resource: REQUIRED: The resource for which the policy detail is being
 10836  //     requested. See Resource names
 10837  //     (https://cloud.google.com/apis/design/resource_names) for the appropriate
 10838  //     value for this field.
 10839  func (r *ProjectsLocationsScopesService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsScopesTestIamPermissionsCall {
 10840  	c := &ProjectsLocationsScopesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10841  	c.resource = resource
 10842  	c.testiampermissionsrequest = testiampermissionsrequest
 10843  	return c
 10844  }
 10845  
 10846  // Fields allows partial responses to be retrieved. See
 10847  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10848  // details.
 10849  func (c *ProjectsLocationsScopesTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsScopesTestIamPermissionsCall {
 10850  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10851  	return c
 10852  }
 10853  
 10854  // Context sets the context to be used in this call's Do method.
 10855  func (c *ProjectsLocationsScopesTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsScopesTestIamPermissionsCall {
 10856  	c.ctx_ = ctx
 10857  	return c
 10858  }
 10859  
 10860  // Header returns a http.Header that can be modified by the caller to add
 10861  // headers to the request.
 10862  func (c *ProjectsLocationsScopesTestIamPermissionsCall) Header() http.Header {
 10863  	if c.header_ == nil {
 10864  		c.header_ = make(http.Header)
 10865  	}
 10866  	return c.header_
 10867  }
 10868  
 10869  func (c *ProjectsLocationsScopesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 10870  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 10871  	var body io.Reader = nil
 10872  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
 10873  	if err != nil {
 10874  		return nil, err
 10875  	}
 10876  	c.urlParams_.Set("alt", alt)
 10877  	c.urlParams_.Set("prettyPrint", "false")
 10878  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:testIamPermissions")
 10879  	urls += "?" + c.urlParams_.Encode()
 10880  	req, err := http.NewRequest("POST", urls, body)
 10881  	if err != nil {
 10882  		return nil, err
 10883  	}
 10884  	req.Header = reqHeaders
 10885  	googleapi.Expand(req.URL, map[string]string{
 10886  		"resource": c.resource,
 10887  	})
 10888  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10889  }
 10890  
 10891  // Do executes the "gkehub.projects.locations.scopes.testIamPermissions" call.
 10892  // Any non-2xx status code is an error. Response headers are in either
 10893  // *TestIamPermissionsResponse.ServerResponse.Header or (if a response was
 10894  // returned at all) in error.(*googleapi.Error).Header. Use
 10895  // googleapi.IsNotModified to check whether the returned error was because
 10896  // http.StatusNotModified was returned.
 10897  func (c *ProjectsLocationsScopesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
 10898  	gensupport.SetOptions(c.urlParams_, opts...)
 10899  	res, err := c.doRequest("json")
 10900  	if res != nil && res.StatusCode == http.StatusNotModified {
 10901  		if res.Body != nil {
 10902  			res.Body.Close()
 10903  		}
 10904  		return nil, gensupport.WrapError(&googleapi.Error{
 10905  			Code:   res.StatusCode,
 10906  			Header: res.Header,
 10907  		})
 10908  	}
 10909  	if err != nil {
 10910  		return nil, err
 10911  	}
 10912  	defer googleapi.CloseBody(res)
 10913  	if err := googleapi.CheckResponse(res); err != nil {
 10914  		return nil, gensupport.WrapError(err)
 10915  	}
 10916  	ret := &TestIamPermissionsResponse{
 10917  		ServerResponse: googleapi.ServerResponse{
 10918  			Header:         res.Header,
 10919  			HTTPStatusCode: res.StatusCode,
 10920  		},
 10921  	}
 10922  	target := &ret
 10923  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10924  		return nil, err
 10925  	}
 10926  	return ret, nil
 10927  }
 10928  
 10929  type ProjectsLocationsScopesNamespacesCreateCall struct {
 10930  	s          *Service
 10931  	parent     string
 10932  	namespace  *Namespace
 10933  	urlParams_ gensupport.URLParams
 10934  	ctx_       context.Context
 10935  	header_    http.Header
 10936  }
 10937  
 10938  // Create: Creates a fleet namespace.
 10939  //
 10940  //   - parent: The parent (project and location) where the Namespace will be
 10941  //     created. Specified in the format `projects/*/locations/*/scopes/*`.
 10942  func (r *ProjectsLocationsScopesNamespacesService) Create(parent string, namespace *Namespace) *ProjectsLocationsScopesNamespacesCreateCall {
 10943  	c := &ProjectsLocationsScopesNamespacesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10944  	c.parent = parent
 10945  	c.namespace = namespace
 10946  	return c
 10947  }
 10948  
 10949  // ScopeNamespaceId sets the optional parameter "scopeNamespaceId": Required.
 10950  // Client chosen ID for the Namespace. `namespace_id` must be a valid RFC 1123
 10951  // compliant DNS label: 1. At most 63 characters in length 2. It must consist
 10952  // of lower case alphanumeric characters or `-` 3. It must start and end with
 10953  // an alphanumeric character Which can be expressed as the regex:
 10954  // `[a-z0-9]([-a-z0-9]*[a-z0-9])?`, with a maximum length of 63 characters.
 10955  func (c *ProjectsLocationsScopesNamespacesCreateCall) ScopeNamespaceId(scopeNamespaceId string) *ProjectsLocationsScopesNamespacesCreateCall {
 10956  	c.urlParams_.Set("scopeNamespaceId", scopeNamespaceId)
 10957  	return c
 10958  }
 10959  
 10960  // Fields allows partial responses to be retrieved. See
 10961  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10962  // details.
 10963  func (c *ProjectsLocationsScopesNamespacesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsScopesNamespacesCreateCall {
 10964  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10965  	return c
 10966  }
 10967  
 10968  // Context sets the context to be used in this call's Do method.
 10969  func (c *ProjectsLocationsScopesNamespacesCreateCall) Context(ctx context.Context) *ProjectsLocationsScopesNamespacesCreateCall {
 10970  	c.ctx_ = ctx
 10971  	return c
 10972  }
 10973  
 10974  // Header returns a http.Header that can be modified by the caller to add
 10975  // headers to the request.
 10976  func (c *ProjectsLocationsScopesNamespacesCreateCall) Header() http.Header {
 10977  	if c.header_ == nil {
 10978  		c.header_ = make(http.Header)
 10979  	}
 10980  	return c.header_
 10981  }
 10982  
 10983  func (c *ProjectsLocationsScopesNamespacesCreateCall) doRequest(alt string) (*http.Response, error) {
 10984  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 10985  	var body io.Reader = nil
 10986  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.namespace)
 10987  	if err != nil {
 10988  		return nil, err
 10989  	}
 10990  	c.urlParams_.Set("alt", alt)
 10991  	c.urlParams_.Set("prettyPrint", "false")
 10992  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/namespaces")
 10993  	urls += "?" + c.urlParams_.Encode()
 10994  	req, err := http.NewRequest("POST", urls, body)
 10995  	if err != nil {
 10996  		return nil, err
 10997  	}
 10998  	req.Header = reqHeaders
 10999  	googleapi.Expand(req.URL, map[string]string{
 11000  		"parent": c.parent,
 11001  	})
 11002  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11003  }
 11004  
 11005  // Do executes the "gkehub.projects.locations.scopes.namespaces.create" call.
 11006  // Any non-2xx status code is an error. Response headers are in either
 11007  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 11008  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 11009  // whether the returned error was because http.StatusNotModified was returned.
 11010  func (c *ProjectsLocationsScopesNamespacesCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 11011  	gensupport.SetOptions(c.urlParams_, opts...)
 11012  	res, err := c.doRequest("json")
 11013  	if res != nil && res.StatusCode == http.StatusNotModified {
 11014  		if res.Body != nil {
 11015  			res.Body.Close()
 11016  		}
 11017  		return nil, gensupport.WrapError(&googleapi.Error{
 11018  			Code:   res.StatusCode,
 11019  			Header: res.Header,
 11020  		})
 11021  	}
 11022  	if err != nil {
 11023  		return nil, err
 11024  	}
 11025  	defer googleapi.CloseBody(res)
 11026  	if err := googleapi.CheckResponse(res); err != nil {
 11027  		return nil, gensupport.WrapError(err)
 11028  	}
 11029  	ret := &Operation{
 11030  		ServerResponse: googleapi.ServerResponse{
 11031  			Header:         res.Header,
 11032  			HTTPStatusCode: res.StatusCode,
 11033  		},
 11034  	}
 11035  	target := &ret
 11036  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11037  		return nil, err
 11038  	}
 11039  	return ret, nil
 11040  }
 11041  
 11042  type ProjectsLocationsScopesNamespacesDeleteCall struct {
 11043  	s          *Service
 11044  	name       string
 11045  	urlParams_ gensupport.URLParams
 11046  	ctx_       context.Context
 11047  	header_    http.Header
 11048  }
 11049  
 11050  // Delete: Deletes a fleet namespace.
 11051  //
 11052  //   - name: The Namespace resource name in the format
 11053  //     `projects/*/locations/*/scopes/*/namespaces/*`.
 11054  func (r *ProjectsLocationsScopesNamespacesService) Delete(name string) *ProjectsLocationsScopesNamespacesDeleteCall {
 11055  	c := &ProjectsLocationsScopesNamespacesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11056  	c.name = name
 11057  	return c
 11058  }
 11059  
 11060  // Fields allows partial responses to be retrieved. See
 11061  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11062  // details.
 11063  func (c *ProjectsLocationsScopesNamespacesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsScopesNamespacesDeleteCall {
 11064  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11065  	return c
 11066  }
 11067  
 11068  // Context sets the context to be used in this call's Do method.
 11069  func (c *ProjectsLocationsScopesNamespacesDeleteCall) Context(ctx context.Context) *ProjectsLocationsScopesNamespacesDeleteCall {
 11070  	c.ctx_ = ctx
 11071  	return c
 11072  }
 11073  
 11074  // Header returns a http.Header that can be modified by the caller to add
 11075  // headers to the request.
 11076  func (c *ProjectsLocationsScopesNamespacesDeleteCall) Header() http.Header {
 11077  	if c.header_ == nil {
 11078  		c.header_ = make(http.Header)
 11079  	}
 11080  	return c.header_
 11081  }
 11082  
 11083  func (c *ProjectsLocationsScopesNamespacesDeleteCall) doRequest(alt string) (*http.Response, error) {
 11084  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 11085  	var body io.Reader = nil
 11086  	c.urlParams_.Set("alt", alt)
 11087  	c.urlParams_.Set("prettyPrint", "false")
 11088  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
 11089  	urls += "?" + c.urlParams_.Encode()
 11090  	req, err := http.NewRequest("DELETE", urls, body)
 11091  	if err != nil {
 11092  		return nil, err
 11093  	}
 11094  	req.Header = reqHeaders
 11095  	googleapi.Expand(req.URL, map[string]string{
 11096  		"name": c.name,
 11097  	})
 11098  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11099  }
 11100  
 11101  // Do executes the "gkehub.projects.locations.scopes.namespaces.delete" call.
 11102  // Any non-2xx status code is an error. Response headers are in either
 11103  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 11104  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 11105  // whether the returned error was because http.StatusNotModified was returned.
 11106  func (c *ProjectsLocationsScopesNamespacesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 11107  	gensupport.SetOptions(c.urlParams_, opts...)
 11108  	res, err := c.doRequest("json")
 11109  	if res != nil && res.StatusCode == http.StatusNotModified {
 11110  		if res.Body != nil {
 11111  			res.Body.Close()
 11112  		}
 11113  		return nil, gensupport.WrapError(&googleapi.Error{
 11114  			Code:   res.StatusCode,
 11115  			Header: res.Header,
 11116  		})
 11117  	}
 11118  	if err != nil {
 11119  		return nil, err
 11120  	}
 11121  	defer googleapi.CloseBody(res)
 11122  	if err := googleapi.CheckResponse(res); err != nil {
 11123  		return nil, gensupport.WrapError(err)
 11124  	}
 11125  	ret := &Operation{
 11126  		ServerResponse: googleapi.ServerResponse{
 11127  			Header:         res.Header,
 11128  			HTTPStatusCode: res.StatusCode,
 11129  		},
 11130  	}
 11131  	target := &ret
 11132  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11133  		return nil, err
 11134  	}
 11135  	return ret, nil
 11136  }
 11137  
 11138  type ProjectsLocationsScopesNamespacesGetCall struct {
 11139  	s            *Service
 11140  	name         string
 11141  	urlParams_   gensupport.URLParams
 11142  	ifNoneMatch_ string
 11143  	ctx_         context.Context
 11144  	header_      http.Header
 11145  }
 11146  
 11147  // Get: Returns the details of a fleet namespace.
 11148  //
 11149  //   - name: The Namespace resource name in the format
 11150  //     `projects/*/locations/*/scopes/*/namespaces/*`.
 11151  func (r *ProjectsLocationsScopesNamespacesService) Get(name string) *ProjectsLocationsScopesNamespacesGetCall {
 11152  	c := &ProjectsLocationsScopesNamespacesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11153  	c.name = name
 11154  	return c
 11155  }
 11156  
 11157  // Fields allows partial responses to be retrieved. See
 11158  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11159  // details.
 11160  func (c *ProjectsLocationsScopesNamespacesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsScopesNamespacesGetCall {
 11161  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11162  	return c
 11163  }
 11164  
 11165  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 11166  // object's ETag matches the given value. This is useful for getting updates
 11167  // only after the object has changed since the last request.
 11168  func (c *ProjectsLocationsScopesNamespacesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsScopesNamespacesGetCall {
 11169  	c.ifNoneMatch_ = entityTag
 11170  	return c
 11171  }
 11172  
 11173  // Context sets the context to be used in this call's Do method.
 11174  func (c *ProjectsLocationsScopesNamespacesGetCall) Context(ctx context.Context) *ProjectsLocationsScopesNamespacesGetCall {
 11175  	c.ctx_ = ctx
 11176  	return c
 11177  }
 11178  
 11179  // Header returns a http.Header that can be modified by the caller to add
 11180  // headers to the request.
 11181  func (c *ProjectsLocationsScopesNamespacesGetCall) Header() http.Header {
 11182  	if c.header_ == nil {
 11183  		c.header_ = make(http.Header)
 11184  	}
 11185  	return c.header_
 11186  }
 11187  
 11188  func (c *ProjectsLocationsScopesNamespacesGetCall) doRequest(alt string) (*http.Response, error) {
 11189  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 11190  	if c.ifNoneMatch_ != "" {
 11191  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 11192  	}
 11193  	var body io.Reader = nil
 11194  	c.urlParams_.Set("alt", alt)
 11195  	c.urlParams_.Set("prettyPrint", "false")
 11196  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
 11197  	urls += "?" + c.urlParams_.Encode()
 11198  	req, err := http.NewRequest("GET", urls, body)
 11199  	if err != nil {
 11200  		return nil, err
 11201  	}
 11202  	req.Header = reqHeaders
 11203  	googleapi.Expand(req.URL, map[string]string{
 11204  		"name": c.name,
 11205  	})
 11206  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11207  }
 11208  
 11209  // Do executes the "gkehub.projects.locations.scopes.namespaces.get" call.
 11210  // Any non-2xx status code is an error. Response headers are in either
 11211  // *Namespace.ServerResponse.Header or (if a response was returned at all) in
 11212  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 11213  // whether the returned error was because http.StatusNotModified was returned.
 11214  func (c *ProjectsLocationsScopesNamespacesGetCall) Do(opts ...googleapi.CallOption) (*Namespace, error) {
 11215  	gensupport.SetOptions(c.urlParams_, opts...)
 11216  	res, err := c.doRequest("json")
 11217  	if res != nil && res.StatusCode == http.StatusNotModified {
 11218  		if res.Body != nil {
 11219  			res.Body.Close()
 11220  		}
 11221  		return nil, gensupport.WrapError(&googleapi.Error{
 11222  			Code:   res.StatusCode,
 11223  			Header: res.Header,
 11224  		})
 11225  	}
 11226  	if err != nil {
 11227  		return nil, err
 11228  	}
 11229  	defer googleapi.CloseBody(res)
 11230  	if err := googleapi.CheckResponse(res); err != nil {
 11231  		return nil, gensupport.WrapError(err)
 11232  	}
 11233  	ret := &Namespace{
 11234  		ServerResponse: googleapi.ServerResponse{
 11235  			Header:         res.Header,
 11236  			HTTPStatusCode: res.StatusCode,
 11237  		},
 11238  	}
 11239  	target := &ret
 11240  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11241  		return nil, err
 11242  	}
 11243  	return ret, nil
 11244  }
 11245  
 11246  type ProjectsLocationsScopesNamespacesListCall struct {
 11247  	s            *Service
 11248  	parent       string
 11249  	urlParams_   gensupport.URLParams
 11250  	ifNoneMatch_ string
 11251  	ctx_         context.Context
 11252  	header_      http.Header
 11253  }
 11254  
 11255  // List: Lists fleet namespaces.
 11256  //
 11257  //   - parent: The parent (project and location) where the Features will be
 11258  //     listed. Specified in the format `projects/*/locations/*/scopes/*`.
 11259  func (r *ProjectsLocationsScopesNamespacesService) List(parent string) *ProjectsLocationsScopesNamespacesListCall {
 11260  	c := &ProjectsLocationsScopesNamespacesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11261  	c.parent = parent
 11262  	return c
 11263  }
 11264  
 11265  // PageSize sets the optional parameter "pageSize": When requesting a 'page' of
 11266  // resources, `page_size` specifies number of resources to return. If
 11267  // unspecified or set to 0, all resources will be returned.
 11268  func (c *ProjectsLocationsScopesNamespacesListCall) PageSize(pageSize int64) *ProjectsLocationsScopesNamespacesListCall {
 11269  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 11270  	return c
 11271  }
 11272  
 11273  // PageToken sets the optional parameter "pageToken": Token returned by
 11274  // previous call to `ListFeatures` which specifies the position in the list
 11275  // from where to continue listing the resources.
 11276  func (c *ProjectsLocationsScopesNamespacesListCall) PageToken(pageToken string) *ProjectsLocationsScopesNamespacesListCall {
 11277  	c.urlParams_.Set("pageToken", pageToken)
 11278  	return c
 11279  }
 11280  
 11281  // Fields allows partial responses to be retrieved. See
 11282  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11283  // details.
 11284  func (c *ProjectsLocationsScopesNamespacesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsScopesNamespacesListCall {
 11285  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11286  	return c
 11287  }
 11288  
 11289  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 11290  // object's ETag matches the given value. This is useful for getting updates
 11291  // only after the object has changed since the last request.
 11292  func (c *ProjectsLocationsScopesNamespacesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsScopesNamespacesListCall {
 11293  	c.ifNoneMatch_ = entityTag
 11294  	return c
 11295  }
 11296  
 11297  // Context sets the context to be used in this call's Do method.
 11298  func (c *ProjectsLocationsScopesNamespacesListCall) Context(ctx context.Context) *ProjectsLocationsScopesNamespacesListCall {
 11299  	c.ctx_ = ctx
 11300  	return c
 11301  }
 11302  
 11303  // Header returns a http.Header that can be modified by the caller to add
 11304  // headers to the request.
 11305  func (c *ProjectsLocationsScopesNamespacesListCall) Header() http.Header {
 11306  	if c.header_ == nil {
 11307  		c.header_ = make(http.Header)
 11308  	}
 11309  	return c.header_
 11310  }
 11311  
 11312  func (c *ProjectsLocationsScopesNamespacesListCall) doRequest(alt string) (*http.Response, error) {
 11313  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 11314  	if c.ifNoneMatch_ != "" {
 11315  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 11316  	}
 11317  	var body io.Reader = nil
 11318  	c.urlParams_.Set("alt", alt)
 11319  	c.urlParams_.Set("prettyPrint", "false")
 11320  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/namespaces")
 11321  	urls += "?" + c.urlParams_.Encode()
 11322  	req, err := http.NewRequest("GET", urls, body)
 11323  	if err != nil {
 11324  		return nil, err
 11325  	}
 11326  	req.Header = reqHeaders
 11327  	googleapi.Expand(req.URL, map[string]string{
 11328  		"parent": c.parent,
 11329  	})
 11330  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11331  }
 11332  
 11333  // Do executes the "gkehub.projects.locations.scopes.namespaces.list" call.
 11334  // Any non-2xx status code is an error. Response headers are in either
 11335  // *ListScopeNamespacesResponse.ServerResponse.Header or (if a response was
 11336  // returned at all) in error.(*googleapi.Error).Header. Use
 11337  // googleapi.IsNotModified to check whether the returned error was because
 11338  // http.StatusNotModified was returned.
 11339  func (c *ProjectsLocationsScopesNamespacesListCall) Do(opts ...googleapi.CallOption) (*ListScopeNamespacesResponse, error) {
 11340  	gensupport.SetOptions(c.urlParams_, opts...)
 11341  	res, err := c.doRequest("json")
 11342  	if res != nil && res.StatusCode == http.StatusNotModified {
 11343  		if res.Body != nil {
 11344  			res.Body.Close()
 11345  		}
 11346  		return nil, gensupport.WrapError(&googleapi.Error{
 11347  			Code:   res.StatusCode,
 11348  			Header: res.Header,
 11349  		})
 11350  	}
 11351  	if err != nil {
 11352  		return nil, err
 11353  	}
 11354  	defer googleapi.CloseBody(res)
 11355  	if err := googleapi.CheckResponse(res); err != nil {
 11356  		return nil, gensupport.WrapError(err)
 11357  	}
 11358  	ret := &ListScopeNamespacesResponse{
 11359  		ServerResponse: googleapi.ServerResponse{
 11360  			Header:         res.Header,
 11361  			HTTPStatusCode: res.StatusCode,
 11362  		},
 11363  	}
 11364  	target := &ret
 11365  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11366  		return nil, err
 11367  	}
 11368  	return ret, nil
 11369  }
 11370  
 11371  // Pages invokes f for each page of results.
 11372  // A non-nil error returned from f will halt the iteration.
 11373  // The provided context supersedes any context provided to the Context method.
 11374  func (c *ProjectsLocationsScopesNamespacesListCall) Pages(ctx context.Context, f func(*ListScopeNamespacesResponse) error) error {
 11375  	c.ctx_ = ctx
 11376  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 11377  	for {
 11378  		x, err := c.Do()
 11379  		if err != nil {
 11380  			return err
 11381  		}
 11382  		if err := f(x); err != nil {
 11383  			return err
 11384  		}
 11385  		if x.NextPageToken == "" {
 11386  			return nil
 11387  		}
 11388  		c.PageToken(x.NextPageToken)
 11389  	}
 11390  }
 11391  
 11392  type ProjectsLocationsScopesNamespacesPatchCall struct {
 11393  	s          *Service
 11394  	name       string
 11395  	namespace  *Namespace
 11396  	urlParams_ gensupport.URLParams
 11397  	ctx_       context.Context
 11398  	header_    http.Header
 11399  }
 11400  
 11401  // Patch: Updates a fleet namespace.
 11402  //
 11403  //   - name: The resource name for the namespace
 11404  //     `projects/{project}/locations/{location}/namespaces/{namespace}`.
 11405  func (r *ProjectsLocationsScopesNamespacesService) Patch(name string, namespace *Namespace) *ProjectsLocationsScopesNamespacesPatchCall {
 11406  	c := &ProjectsLocationsScopesNamespacesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11407  	c.name = name
 11408  	c.namespace = namespace
 11409  	return c
 11410  }
 11411  
 11412  // UpdateMask sets the optional parameter "updateMask": Required. The fields to
 11413  // be updated.
 11414  func (c *ProjectsLocationsScopesNamespacesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsScopesNamespacesPatchCall {
 11415  	c.urlParams_.Set("updateMask", updateMask)
 11416  	return c
 11417  }
 11418  
 11419  // Fields allows partial responses to be retrieved. See
 11420  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11421  // details.
 11422  func (c *ProjectsLocationsScopesNamespacesPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsScopesNamespacesPatchCall {
 11423  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11424  	return c
 11425  }
 11426  
 11427  // Context sets the context to be used in this call's Do method.
 11428  func (c *ProjectsLocationsScopesNamespacesPatchCall) Context(ctx context.Context) *ProjectsLocationsScopesNamespacesPatchCall {
 11429  	c.ctx_ = ctx
 11430  	return c
 11431  }
 11432  
 11433  // Header returns a http.Header that can be modified by the caller to add
 11434  // headers to the request.
 11435  func (c *ProjectsLocationsScopesNamespacesPatchCall) Header() http.Header {
 11436  	if c.header_ == nil {
 11437  		c.header_ = make(http.Header)
 11438  	}
 11439  	return c.header_
 11440  }
 11441  
 11442  func (c *ProjectsLocationsScopesNamespacesPatchCall) doRequest(alt string) (*http.Response, error) {
 11443  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 11444  	var body io.Reader = nil
 11445  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.namespace)
 11446  	if err != nil {
 11447  		return nil, err
 11448  	}
 11449  	c.urlParams_.Set("alt", alt)
 11450  	c.urlParams_.Set("prettyPrint", "false")
 11451  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
 11452  	urls += "?" + c.urlParams_.Encode()
 11453  	req, err := http.NewRequest("PATCH", urls, body)
 11454  	if err != nil {
 11455  		return nil, err
 11456  	}
 11457  	req.Header = reqHeaders
 11458  	googleapi.Expand(req.URL, map[string]string{
 11459  		"name": c.name,
 11460  	})
 11461  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11462  }
 11463  
 11464  // Do executes the "gkehub.projects.locations.scopes.namespaces.patch" call.
 11465  // Any non-2xx status code is an error. Response headers are in either
 11466  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 11467  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 11468  // whether the returned error was because http.StatusNotModified was returned.
 11469  func (c *ProjectsLocationsScopesNamespacesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 11470  	gensupport.SetOptions(c.urlParams_, opts...)
 11471  	res, err := c.doRequest("json")
 11472  	if res != nil && res.StatusCode == http.StatusNotModified {
 11473  		if res.Body != nil {
 11474  			res.Body.Close()
 11475  		}
 11476  		return nil, gensupport.WrapError(&googleapi.Error{
 11477  			Code:   res.StatusCode,
 11478  			Header: res.Header,
 11479  		})
 11480  	}
 11481  	if err != nil {
 11482  		return nil, err
 11483  	}
 11484  	defer googleapi.CloseBody(res)
 11485  	if err := googleapi.CheckResponse(res); err != nil {
 11486  		return nil, gensupport.WrapError(err)
 11487  	}
 11488  	ret := &Operation{
 11489  		ServerResponse: googleapi.ServerResponse{
 11490  			Header:         res.Header,
 11491  			HTTPStatusCode: res.StatusCode,
 11492  		},
 11493  	}
 11494  	target := &ret
 11495  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11496  		return nil, err
 11497  	}
 11498  	return ret, nil
 11499  }
 11500  
 11501  type ProjectsLocationsScopesRbacrolebindingsCreateCall struct {
 11502  	s               *Service
 11503  	parent          string
 11504  	rbacrolebinding *RBACRoleBinding
 11505  	urlParams_      gensupport.URLParams
 11506  	ctx_            context.Context
 11507  	header_         http.Header
 11508  }
 11509  
 11510  // Create: Creates a Scope RBACRoleBinding.
 11511  //
 11512  //   - parent: The parent (project and location) where the RBACRoleBinding will
 11513  //     be created. Specified in the format `projects/*/locations/*/scopes/*`.
 11514  func (r *ProjectsLocationsScopesRbacrolebindingsService) Create(parent string, rbacrolebinding *RBACRoleBinding) *ProjectsLocationsScopesRbacrolebindingsCreateCall {
 11515  	c := &ProjectsLocationsScopesRbacrolebindingsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11516  	c.parent = parent
 11517  	c.rbacrolebinding = rbacrolebinding
 11518  	return c
 11519  }
 11520  
 11521  // RbacrolebindingId sets the optional parameter "rbacrolebindingId": Required.
 11522  // Client chosen ID for the RBACRoleBinding. `rbacrolebinding_id` must be a
 11523  // valid RFC 1123 compliant DNS label: 1. At most 63 characters in length 2. It
 11524  // must consist of lower case alphanumeric characters or `-` 3. It must start
 11525  // and end with an alphanumeric character Which can be expressed as the regex:
 11526  // `[a-z0-9]([-a-z0-9]*[a-z0-9])?`, with a maximum length of 63 characters.
 11527  func (c *ProjectsLocationsScopesRbacrolebindingsCreateCall) RbacrolebindingId(rbacrolebindingId string) *ProjectsLocationsScopesRbacrolebindingsCreateCall {
 11528  	c.urlParams_.Set("rbacrolebindingId", rbacrolebindingId)
 11529  	return c
 11530  }
 11531  
 11532  // Fields allows partial responses to be retrieved. See
 11533  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11534  // details.
 11535  func (c *ProjectsLocationsScopesRbacrolebindingsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsScopesRbacrolebindingsCreateCall {
 11536  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11537  	return c
 11538  }
 11539  
 11540  // Context sets the context to be used in this call's Do method.
 11541  func (c *ProjectsLocationsScopesRbacrolebindingsCreateCall) Context(ctx context.Context) *ProjectsLocationsScopesRbacrolebindingsCreateCall {
 11542  	c.ctx_ = ctx
 11543  	return c
 11544  }
 11545  
 11546  // Header returns a http.Header that can be modified by the caller to add
 11547  // headers to the request.
 11548  func (c *ProjectsLocationsScopesRbacrolebindingsCreateCall) Header() http.Header {
 11549  	if c.header_ == nil {
 11550  		c.header_ = make(http.Header)
 11551  	}
 11552  	return c.header_
 11553  }
 11554  
 11555  func (c *ProjectsLocationsScopesRbacrolebindingsCreateCall) doRequest(alt string) (*http.Response, error) {
 11556  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 11557  	var body io.Reader = nil
 11558  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.rbacrolebinding)
 11559  	if err != nil {
 11560  		return nil, err
 11561  	}
 11562  	c.urlParams_.Set("alt", alt)
 11563  	c.urlParams_.Set("prettyPrint", "false")
 11564  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/rbacrolebindings")
 11565  	urls += "?" + c.urlParams_.Encode()
 11566  	req, err := http.NewRequest("POST", urls, body)
 11567  	if err != nil {
 11568  		return nil, err
 11569  	}
 11570  	req.Header = reqHeaders
 11571  	googleapi.Expand(req.URL, map[string]string{
 11572  		"parent": c.parent,
 11573  	})
 11574  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11575  }
 11576  
 11577  // Do executes the "gkehub.projects.locations.scopes.rbacrolebindings.create" call.
 11578  // Any non-2xx status code is an error. Response headers are in either
 11579  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 11580  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 11581  // whether the returned error was because http.StatusNotModified was returned.
 11582  func (c *ProjectsLocationsScopesRbacrolebindingsCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 11583  	gensupport.SetOptions(c.urlParams_, opts...)
 11584  	res, err := c.doRequest("json")
 11585  	if res != nil && res.StatusCode == http.StatusNotModified {
 11586  		if res.Body != nil {
 11587  			res.Body.Close()
 11588  		}
 11589  		return nil, gensupport.WrapError(&googleapi.Error{
 11590  			Code:   res.StatusCode,
 11591  			Header: res.Header,
 11592  		})
 11593  	}
 11594  	if err != nil {
 11595  		return nil, err
 11596  	}
 11597  	defer googleapi.CloseBody(res)
 11598  	if err := googleapi.CheckResponse(res); err != nil {
 11599  		return nil, gensupport.WrapError(err)
 11600  	}
 11601  	ret := &Operation{
 11602  		ServerResponse: googleapi.ServerResponse{
 11603  			Header:         res.Header,
 11604  			HTTPStatusCode: res.StatusCode,
 11605  		},
 11606  	}
 11607  	target := &ret
 11608  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11609  		return nil, err
 11610  	}
 11611  	return ret, nil
 11612  }
 11613  
 11614  type ProjectsLocationsScopesRbacrolebindingsDeleteCall struct {
 11615  	s          *Service
 11616  	name       string
 11617  	urlParams_ gensupport.URLParams
 11618  	ctx_       context.Context
 11619  	header_    http.Header
 11620  }
 11621  
 11622  // Delete: Deletes a Scope RBACRoleBinding.
 11623  //
 11624  //   - name: The RBACRoleBinding resource name in the format
 11625  //     `projects/*/locations/*/scopes/*/rbacrolebindings/*`.
 11626  func (r *ProjectsLocationsScopesRbacrolebindingsService) Delete(name string) *ProjectsLocationsScopesRbacrolebindingsDeleteCall {
 11627  	c := &ProjectsLocationsScopesRbacrolebindingsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11628  	c.name = name
 11629  	return c
 11630  }
 11631  
 11632  // Fields allows partial responses to be retrieved. See
 11633  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11634  // details.
 11635  func (c *ProjectsLocationsScopesRbacrolebindingsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsScopesRbacrolebindingsDeleteCall {
 11636  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11637  	return c
 11638  }
 11639  
 11640  // Context sets the context to be used in this call's Do method.
 11641  func (c *ProjectsLocationsScopesRbacrolebindingsDeleteCall) Context(ctx context.Context) *ProjectsLocationsScopesRbacrolebindingsDeleteCall {
 11642  	c.ctx_ = ctx
 11643  	return c
 11644  }
 11645  
 11646  // Header returns a http.Header that can be modified by the caller to add
 11647  // headers to the request.
 11648  func (c *ProjectsLocationsScopesRbacrolebindingsDeleteCall) Header() http.Header {
 11649  	if c.header_ == nil {
 11650  		c.header_ = make(http.Header)
 11651  	}
 11652  	return c.header_
 11653  }
 11654  
 11655  func (c *ProjectsLocationsScopesRbacrolebindingsDeleteCall) doRequest(alt string) (*http.Response, error) {
 11656  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 11657  	var body io.Reader = nil
 11658  	c.urlParams_.Set("alt", alt)
 11659  	c.urlParams_.Set("prettyPrint", "false")
 11660  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
 11661  	urls += "?" + c.urlParams_.Encode()
 11662  	req, err := http.NewRequest("DELETE", urls, body)
 11663  	if err != nil {
 11664  		return nil, err
 11665  	}
 11666  	req.Header = reqHeaders
 11667  	googleapi.Expand(req.URL, map[string]string{
 11668  		"name": c.name,
 11669  	})
 11670  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11671  }
 11672  
 11673  // Do executes the "gkehub.projects.locations.scopes.rbacrolebindings.delete" call.
 11674  // Any non-2xx status code is an error. Response headers are in either
 11675  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 11676  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 11677  // whether the returned error was because http.StatusNotModified was returned.
 11678  func (c *ProjectsLocationsScopesRbacrolebindingsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 11679  	gensupport.SetOptions(c.urlParams_, opts...)
 11680  	res, err := c.doRequest("json")
 11681  	if res != nil && res.StatusCode == http.StatusNotModified {
 11682  		if res.Body != nil {
 11683  			res.Body.Close()
 11684  		}
 11685  		return nil, gensupport.WrapError(&googleapi.Error{
 11686  			Code:   res.StatusCode,
 11687  			Header: res.Header,
 11688  		})
 11689  	}
 11690  	if err != nil {
 11691  		return nil, err
 11692  	}
 11693  	defer googleapi.CloseBody(res)
 11694  	if err := googleapi.CheckResponse(res); err != nil {
 11695  		return nil, gensupport.WrapError(err)
 11696  	}
 11697  	ret := &Operation{
 11698  		ServerResponse: googleapi.ServerResponse{
 11699  			Header:         res.Header,
 11700  			HTTPStatusCode: res.StatusCode,
 11701  		},
 11702  	}
 11703  	target := &ret
 11704  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11705  		return nil, err
 11706  	}
 11707  	return ret, nil
 11708  }
 11709  
 11710  type ProjectsLocationsScopesRbacrolebindingsGetCall struct {
 11711  	s            *Service
 11712  	name         string
 11713  	urlParams_   gensupport.URLParams
 11714  	ifNoneMatch_ string
 11715  	ctx_         context.Context
 11716  	header_      http.Header
 11717  }
 11718  
 11719  // Get: Returns the details of a Scope RBACRoleBinding.
 11720  //
 11721  //   - name: The RBACRoleBinding resource name in the format
 11722  //     `projects/*/locations/*/scopes/*/rbacrolebindings/*`.
 11723  func (r *ProjectsLocationsScopesRbacrolebindingsService) Get(name string) *ProjectsLocationsScopesRbacrolebindingsGetCall {
 11724  	c := &ProjectsLocationsScopesRbacrolebindingsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11725  	c.name = name
 11726  	return c
 11727  }
 11728  
 11729  // Fields allows partial responses to be retrieved. See
 11730  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11731  // details.
 11732  func (c *ProjectsLocationsScopesRbacrolebindingsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsScopesRbacrolebindingsGetCall {
 11733  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11734  	return c
 11735  }
 11736  
 11737  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 11738  // object's ETag matches the given value. This is useful for getting updates
 11739  // only after the object has changed since the last request.
 11740  func (c *ProjectsLocationsScopesRbacrolebindingsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsScopesRbacrolebindingsGetCall {
 11741  	c.ifNoneMatch_ = entityTag
 11742  	return c
 11743  }
 11744  
 11745  // Context sets the context to be used in this call's Do method.
 11746  func (c *ProjectsLocationsScopesRbacrolebindingsGetCall) Context(ctx context.Context) *ProjectsLocationsScopesRbacrolebindingsGetCall {
 11747  	c.ctx_ = ctx
 11748  	return c
 11749  }
 11750  
 11751  // Header returns a http.Header that can be modified by the caller to add
 11752  // headers to the request.
 11753  func (c *ProjectsLocationsScopesRbacrolebindingsGetCall) Header() http.Header {
 11754  	if c.header_ == nil {
 11755  		c.header_ = make(http.Header)
 11756  	}
 11757  	return c.header_
 11758  }
 11759  
 11760  func (c *ProjectsLocationsScopesRbacrolebindingsGetCall) doRequest(alt string) (*http.Response, error) {
 11761  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 11762  	if c.ifNoneMatch_ != "" {
 11763  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 11764  	}
 11765  	var body io.Reader = nil
 11766  	c.urlParams_.Set("alt", alt)
 11767  	c.urlParams_.Set("prettyPrint", "false")
 11768  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
 11769  	urls += "?" + c.urlParams_.Encode()
 11770  	req, err := http.NewRequest("GET", urls, body)
 11771  	if err != nil {
 11772  		return nil, err
 11773  	}
 11774  	req.Header = reqHeaders
 11775  	googleapi.Expand(req.URL, map[string]string{
 11776  		"name": c.name,
 11777  	})
 11778  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11779  }
 11780  
 11781  // Do executes the "gkehub.projects.locations.scopes.rbacrolebindings.get" call.
 11782  // Any non-2xx status code is an error. Response headers are in either
 11783  // *RBACRoleBinding.ServerResponse.Header or (if a response was returned at
 11784  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 11785  // check whether the returned error was because http.StatusNotModified was
 11786  // returned.
 11787  func (c *ProjectsLocationsScopesRbacrolebindingsGetCall) Do(opts ...googleapi.CallOption) (*RBACRoleBinding, error) {
 11788  	gensupport.SetOptions(c.urlParams_, opts...)
 11789  	res, err := c.doRequest("json")
 11790  	if res != nil && res.StatusCode == http.StatusNotModified {
 11791  		if res.Body != nil {
 11792  			res.Body.Close()
 11793  		}
 11794  		return nil, gensupport.WrapError(&googleapi.Error{
 11795  			Code:   res.StatusCode,
 11796  			Header: res.Header,
 11797  		})
 11798  	}
 11799  	if err != nil {
 11800  		return nil, err
 11801  	}
 11802  	defer googleapi.CloseBody(res)
 11803  	if err := googleapi.CheckResponse(res); err != nil {
 11804  		return nil, gensupport.WrapError(err)
 11805  	}
 11806  	ret := &RBACRoleBinding{
 11807  		ServerResponse: googleapi.ServerResponse{
 11808  			Header:         res.Header,
 11809  			HTTPStatusCode: res.StatusCode,
 11810  		},
 11811  	}
 11812  	target := &ret
 11813  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11814  		return nil, err
 11815  	}
 11816  	return ret, nil
 11817  }
 11818  
 11819  type ProjectsLocationsScopesRbacrolebindingsListCall struct {
 11820  	s            *Service
 11821  	parent       string
 11822  	urlParams_   gensupport.URLParams
 11823  	ifNoneMatch_ string
 11824  	ctx_         context.Context
 11825  	header_      http.Header
 11826  }
 11827  
 11828  // List: Lists all Scope RBACRoleBindings.
 11829  //
 11830  //   - parent: The parent (project and location) where the Features will be
 11831  //     listed. Specified in the format `projects/*/locations/*/scopes/*`.
 11832  func (r *ProjectsLocationsScopesRbacrolebindingsService) List(parent string) *ProjectsLocationsScopesRbacrolebindingsListCall {
 11833  	c := &ProjectsLocationsScopesRbacrolebindingsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11834  	c.parent = parent
 11835  	return c
 11836  }
 11837  
 11838  // PageSize sets the optional parameter "pageSize": When requesting a 'page' of
 11839  // resources, `page_size` specifies number of resources to return. If
 11840  // unspecified or set to 0, all resources will be returned.
 11841  func (c *ProjectsLocationsScopesRbacrolebindingsListCall) PageSize(pageSize int64) *ProjectsLocationsScopesRbacrolebindingsListCall {
 11842  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 11843  	return c
 11844  }
 11845  
 11846  // PageToken sets the optional parameter "pageToken": Token returned by
 11847  // previous call to `ListScopeRBACRoleBindings` which specifies the position in
 11848  // the list from where to continue listing the resources.
 11849  func (c *ProjectsLocationsScopesRbacrolebindingsListCall) PageToken(pageToken string) *ProjectsLocationsScopesRbacrolebindingsListCall {
 11850  	c.urlParams_.Set("pageToken", pageToken)
 11851  	return c
 11852  }
 11853  
 11854  // Fields allows partial responses to be retrieved. See
 11855  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11856  // details.
 11857  func (c *ProjectsLocationsScopesRbacrolebindingsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsScopesRbacrolebindingsListCall {
 11858  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11859  	return c
 11860  }
 11861  
 11862  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 11863  // object's ETag matches the given value. This is useful for getting updates
 11864  // only after the object has changed since the last request.
 11865  func (c *ProjectsLocationsScopesRbacrolebindingsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsScopesRbacrolebindingsListCall {
 11866  	c.ifNoneMatch_ = entityTag
 11867  	return c
 11868  }
 11869  
 11870  // Context sets the context to be used in this call's Do method.
 11871  func (c *ProjectsLocationsScopesRbacrolebindingsListCall) Context(ctx context.Context) *ProjectsLocationsScopesRbacrolebindingsListCall {
 11872  	c.ctx_ = ctx
 11873  	return c
 11874  }
 11875  
 11876  // Header returns a http.Header that can be modified by the caller to add
 11877  // headers to the request.
 11878  func (c *ProjectsLocationsScopesRbacrolebindingsListCall) Header() http.Header {
 11879  	if c.header_ == nil {
 11880  		c.header_ = make(http.Header)
 11881  	}
 11882  	return c.header_
 11883  }
 11884  
 11885  func (c *ProjectsLocationsScopesRbacrolebindingsListCall) doRequest(alt string) (*http.Response, error) {
 11886  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 11887  	if c.ifNoneMatch_ != "" {
 11888  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 11889  	}
 11890  	var body io.Reader = nil
 11891  	c.urlParams_.Set("alt", alt)
 11892  	c.urlParams_.Set("prettyPrint", "false")
 11893  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/rbacrolebindings")
 11894  	urls += "?" + c.urlParams_.Encode()
 11895  	req, err := http.NewRequest("GET", urls, body)
 11896  	if err != nil {
 11897  		return nil, err
 11898  	}
 11899  	req.Header = reqHeaders
 11900  	googleapi.Expand(req.URL, map[string]string{
 11901  		"parent": c.parent,
 11902  	})
 11903  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11904  }
 11905  
 11906  // Do executes the "gkehub.projects.locations.scopes.rbacrolebindings.list" call.
 11907  // Any non-2xx status code is an error. Response headers are in either
 11908  // *ListScopeRBACRoleBindingsResponse.ServerResponse.Header or (if a response
 11909  // was returned at all) in error.(*googleapi.Error).Header. Use
 11910  // googleapi.IsNotModified to check whether the returned error was because
 11911  // http.StatusNotModified was returned.
 11912  func (c *ProjectsLocationsScopesRbacrolebindingsListCall) Do(opts ...googleapi.CallOption) (*ListScopeRBACRoleBindingsResponse, error) {
 11913  	gensupport.SetOptions(c.urlParams_, opts...)
 11914  	res, err := c.doRequest("json")
 11915  	if res != nil && res.StatusCode == http.StatusNotModified {
 11916  		if res.Body != nil {
 11917  			res.Body.Close()
 11918  		}
 11919  		return nil, gensupport.WrapError(&googleapi.Error{
 11920  			Code:   res.StatusCode,
 11921  			Header: res.Header,
 11922  		})
 11923  	}
 11924  	if err != nil {
 11925  		return nil, err
 11926  	}
 11927  	defer googleapi.CloseBody(res)
 11928  	if err := googleapi.CheckResponse(res); err != nil {
 11929  		return nil, gensupport.WrapError(err)
 11930  	}
 11931  	ret := &ListScopeRBACRoleBindingsResponse{
 11932  		ServerResponse: googleapi.ServerResponse{
 11933  			Header:         res.Header,
 11934  			HTTPStatusCode: res.StatusCode,
 11935  		},
 11936  	}
 11937  	target := &ret
 11938  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11939  		return nil, err
 11940  	}
 11941  	return ret, nil
 11942  }
 11943  
 11944  // Pages invokes f for each page of results.
 11945  // A non-nil error returned from f will halt the iteration.
 11946  // The provided context supersedes any context provided to the Context method.
 11947  func (c *ProjectsLocationsScopesRbacrolebindingsListCall) Pages(ctx context.Context, f func(*ListScopeRBACRoleBindingsResponse) error) error {
 11948  	c.ctx_ = ctx
 11949  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 11950  	for {
 11951  		x, err := c.Do()
 11952  		if err != nil {
 11953  			return err
 11954  		}
 11955  		if err := f(x); err != nil {
 11956  			return err
 11957  		}
 11958  		if x.NextPageToken == "" {
 11959  			return nil
 11960  		}
 11961  		c.PageToken(x.NextPageToken)
 11962  	}
 11963  }
 11964  
 11965  type ProjectsLocationsScopesRbacrolebindingsPatchCall struct {
 11966  	s               *Service
 11967  	name            string
 11968  	rbacrolebinding *RBACRoleBinding
 11969  	urlParams_      gensupport.URLParams
 11970  	ctx_            context.Context
 11971  	header_         http.Header
 11972  }
 11973  
 11974  // Patch: Updates a Scope RBACRoleBinding.
 11975  //
 11976  //   - name: The resource name for the rbacrolebinding
 11977  //     `projects/{project}/locations/{location}/scopes/{scope}/rbacrolebindings/{r
 11978  //     bacrolebinding}` or
 11979  //     `projects/{project}/locations/{location}/memberships/{membership}/rbacroleb
 11980  //     indings/{rbacrolebinding}`.
 11981  func (r *ProjectsLocationsScopesRbacrolebindingsService) Patch(name string, rbacrolebinding *RBACRoleBinding) *ProjectsLocationsScopesRbacrolebindingsPatchCall {
 11982  	c := &ProjectsLocationsScopesRbacrolebindingsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11983  	c.name = name
 11984  	c.rbacrolebinding = rbacrolebinding
 11985  	return c
 11986  }
 11987  
 11988  // UpdateMask sets the optional parameter "updateMask": Required. The fields to
 11989  // be updated.
 11990  func (c *ProjectsLocationsScopesRbacrolebindingsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsScopesRbacrolebindingsPatchCall {
 11991  	c.urlParams_.Set("updateMask", updateMask)
 11992  	return c
 11993  }
 11994  
 11995  // Fields allows partial responses to be retrieved. See
 11996  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11997  // details.
 11998  func (c *ProjectsLocationsScopesRbacrolebindingsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsScopesRbacrolebindingsPatchCall {
 11999  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 12000  	return c
 12001  }
 12002  
 12003  // Context sets the context to be used in this call's Do method.
 12004  func (c *ProjectsLocationsScopesRbacrolebindingsPatchCall) Context(ctx context.Context) *ProjectsLocationsScopesRbacrolebindingsPatchCall {
 12005  	c.ctx_ = ctx
 12006  	return c
 12007  }
 12008  
 12009  // Header returns a http.Header that can be modified by the caller to add
 12010  // headers to the request.
 12011  func (c *ProjectsLocationsScopesRbacrolebindingsPatchCall) Header() http.Header {
 12012  	if c.header_ == nil {
 12013  		c.header_ = make(http.Header)
 12014  	}
 12015  	return c.header_
 12016  }
 12017  
 12018  func (c *ProjectsLocationsScopesRbacrolebindingsPatchCall) doRequest(alt string) (*http.Response, error) {
 12019  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 12020  	var body io.Reader = nil
 12021  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.rbacrolebinding)
 12022  	if err != nil {
 12023  		return nil, err
 12024  	}
 12025  	c.urlParams_.Set("alt", alt)
 12026  	c.urlParams_.Set("prettyPrint", "false")
 12027  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
 12028  	urls += "?" + c.urlParams_.Encode()
 12029  	req, err := http.NewRequest("PATCH", urls, body)
 12030  	if err != nil {
 12031  		return nil, err
 12032  	}
 12033  	req.Header = reqHeaders
 12034  	googleapi.Expand(req.URL, map[string]string{
 12035  		"name": c.name,
 12036  	})
 12037  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 12038  }
 12039  
 12040  // Do executes the "gkehub.projects.locations.scopes.rbacrolebindings.patch" call.
 12041  // Any non-2xx status code is an error. Response headers are in either
 12042  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 12043  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 12044  // whether the returned error was because http.StatusNotModified was returned.
 12045  func (c *ProjectsLocationsScopesRbacrolebindingsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 12046  	gensupport.SetOptions(c.urlParams_, opts...)
 12047  	res, err := c.doRequest("json")
 12048  	if res != nil && res.StatusCode == http.StatusNotModified {
 12049  		if res.Body != nil {
 12050  			res.Body.Close()
 12051  		}
 12052  		return nil, gensupport.WrapError(&googleapi.Error{
 12053  			Code:   res.StatusCode,
 12054  			Header: res.Header,
 12055  		})
 12056  	}
 12057  	if err != nil {
 12058  		return nil, err
 12059  	}
 12060  	defer googleapi.CloseBody(res)
 12061  	if err := googleapi.CheckResponse(res); err != nil {
 12062  		return nil, gensupport.WrapError(err)
 12063  	}
 12064  	ret := &Operation{
 12065  		ServerResponse: googleapi.ServerResponse{
 12066  			Header:         res.Header,
 12067  			HTTPStatusCode: res.StatusCode,
 12068  		},
 12069  	}
 12070  	target := &ret
 12071  	if err := gensupport.DecodeResponse(target, res); err != nil {
 12072  		return nil, err
 12073  	}
 12074  	return ret, nil
 12075  }
 12076  

View as plain text