...

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

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

     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/v1alpha"
    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/v1alpha"
    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:v1alpha"
    90  const apiName = "gkehub"
    91  const apiVersion = "v1alpha"
    92  const basePath = "https://gkehub.googleapis.com/"
    93  const basePathTemplate = "https://gkehub.UNIVERSE_DOMAIN/"
    94  const mtlsBasePath = "https://gkehub.mtls.googleapis.com/"
    95  
    96  // OAuth2 scopes used by this API.
    97  const (
    98  	// See, edit, configure, and delete your Google Cloud data and see the email
    99  	// address for your Google Account.
   100  	CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"
   101  )
   102  
   103  // NewService creates a new Service.
   104  func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
   105  	scopesOption := internaloption.WithDefaultScopes(
   106  		"https://www.googleapis.com/auth/cloud-platform",
   107  	)
   108  	// NOTE: prepend, so we don't override user-specified scopes.
   109  	opts = append([]option.ClientOption{scopesOption}, opts...)
   110  	opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
   111  	opts = append(opts, internaloption.WithDefaultEndpointTemplate(basePathTemplate))
   112  	opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath))
   113  	opts = append(opts, internaloption.EnableNewAuthLibrary())
   114  	client, endpoint, err := htransport.NewClient(ctx, opts...)
   115  	if err != nil {
   116  		return nil, err
   117  	}
   118  	s, err := New(client)
   119  	if err != nil {
   120  		return nil, err
   121  	}
   122  	if endpoint != "" {
   123  		s.BasePath = endpoint
   124  	}
   125  	return s, nil
   126  }
   127  
   128  // New creates a new Service. It uses the provided http.Client for requests.
   129  //
   130  // Deprecated: please use NewService instead.
   131  // To provide a custom HTTP client, use option.WithHTTPClient.
   132  // If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
   133  func New(client *http.Client) (*Service, error) {
   134  	if client == nil {
   135  		return nil, errors.New("client is nil")
   136  	}
   137  	s := &Service{client: client, BasePath: basePath}
   138  	s.Organizations = NewOrganizationsService(s)
   139  	s.Projects = NewProjectsService(s)
   140  	return s, nil
   141  }
   142  
   143  type Service struct {
   144  	client    *http.Client
   145  	BasePath  string // API endpoint base URL
   146  	UserAgent string // optional additional User-Agent fragment
   147  
   148  	Organizations *OrganizationsService
   149  
   150  	Projects *ProjectsService
   151  }
   152  
   153  func (s *Service) userAgent() string {
   154  	if s.UserAgent == "" {
   155  		return googleapi.UserAgent
   156  	}
   157  	return googleapi.UserAgent + " " + s.UserAgent
   158  }
   159  
   160  func NewOrganizationsService(s *Service) *OrganizationsService {
   161  	rs := &OrganizationsService{s: s}
   162  	rs.Locations = NewOrganizationsLocationsService(s)
   163  	return rs
   164  }
   165  
   166  type OrganizationsService struct {
   167  	s *Service
   168  
   169  	Locations *OrganizationsLocationsService
   170  }
   171  
   172  func NewOrganizationsLocationsService(s *Service) *OrganizationsLocationsService {
   173  	rs := &OrganizationsLocationsService{s: s}
   174  	rs.Fleets = NewOrganizationsLocationsFleetsService(s)
   175  	return rs
   176  }
   177  
   178  type OrganizationsLocationsService struct {
   179  	s *Service
   180  
   181  	Fleets *OrganizationsLocationsFleetsService
   182  }
   183  
   184  func NewOrganizationsLocationsFleetsService(s *Service) *OrganizationsLocationsFleetsService {
   185  	rs := &OrganizationsLocationsFleetsService{s: s}
   186  	return rs
   187  }
   188  
   189  type OrganizationsLocationsFleetsService struct {
   190  	s *Service
   191  }
   192  
   193  func NewProjectsService(s *Service) *ProjectsService {
   194  	rs := &ProjectsService{s: s}
   195  	rs.Locations = NewProjectsLocationsService(s)
   196  	return rs
   197  }
   198  
   199  type ProjectsService struct {
   200  	s *Service
   201  
   202  	Locations *ProjectsLocationsService
   203  }
   204  
   205  func NewProjectsLocationsService(s *Service) *ProjectsLocationsService {
   206  	rs := &ProjectsLocationsService{s: s}
   207  	rs.Features = NewProjectsLocationsFeaturesService(s)
   208  	rs.Fleets = NewProjectsLocationsFleetsService(s)
   209  	rs.Memberships = NewProjectsLocationsMembershipsService(s)
   210  	rs.Operations = NewProjectsLocationsOperationsService(s)
   211  	rs.Scopes = NewProjectsLocationsScopesService(s)
   212  	return rs
   213  }
   214  
   215  type ProjectsLocationsService struct {
   216  	s *Service
   217  
   218  	Features *ProjectsLocationsFeaturesService
   219  
   220  	Fleets *ProjectsLocationsFleetsService
   221  
   222  	Memberships *ProjectsLocationsMembershipsService
   223  
   224  	Operations *ProjectsLocationsOperationsService
   225  
   226  	Scopes *ProjectsLocationsScopesService
   227  }
   228  
   229  func NewProjectsLocationsFeaturesService(s *Service) *ProjectsLocationsFeaturesService {
   230  	rs := &ProjectsLocationsFeaturesService{s: s}
   231  	return rs
   232  }
   233  
   234  type ProjectsLocationsFeaturesService struct {
   235  	s *Service
   236  }
   237  
   238  func NewProjectsLocationsFleetsService(s *Service) *ProjectsLocationsFleetsService {
   239  	rs := &ProjectsLocationsFleetsService{s: s}
   240  	return rs
   241  }
   242  
   243  type ProjectsLocationsFleetsService struct {
   244  	s *Service
   245  }
   246  
   247  func NewProjectsLocationsMembershipsService(s *Service) *ProjectsLocationsMembershipsService {
   248  	rs := &ProjectsLocationsMembershipsService{s: s}
   249  	rs.Bindings = NewProjectsLocationsMembershipsBindingsService(s)
   250  	rs.Rbacrolebindings = NewProjectsLocationsMembershipsRbacrolebindingsService(s)
   251  	return rs
   252  }
   253  
   254  type ProjectsLocationsMembershipsService struct {
   255  	s *Service
   256  
   257  	Bindings *ProjectsLocationsMembershipsBindingsService
   258  
   259  	Rbacrolebindings *ProjectsLocationsMembershipsRbacrolebindingsService
   260  }
   261  
   262  func NewProjectsLocationsMembershipsBindingsService(s *Service) *ProjectsLocationsMembershipsBindingsService {
   263  	rs := &ProjectsLocationsMembershipsBindingsService{s: s}
   264  	return rs
   265  }
   266  
   267  type ProjectsLocationsMembershipsBindingsService struct {
   268  	s *Service
   269  }
   270  
   271  func NewProjectsLocationsMembershipsRbacrolebindingsService(s *Service) *ProjectsLocationsMembershipsRbacrolebindingsService {
   272  	rs := &ProjectsLocationsMembershipsRbacrolebindingsService{s: s}
   273  	return rs
   274  }
   275  
   276  type ProjectsLocationsMembershipsRbacrolebindingsService struct {
   277  	s *Service
   278  }
   279  
   280  func NewProjectsLocationsOperationsService(s *Service) *ProjectsLocationsOperationsService {
   281  	rs := &ProjectsLocationsOperationsService{s: s}
   282  	return rs
   283  }
   284  
   285  type ProjectsLocationsOperationsService struct {
   286  	s *Service
   287  }
   288  
   289  func NewProjectsLocationsScopesService(s *Service) *ProjectsLocationsScopesService {
   290  	rs := &ProjectsLocationsScopesService{s: s}
   291  	rs.Namespaces = NewProjectsLocationsScopesNamespacesService(s)
   292  	rs.Rbacrolebindings = NewProjectsLocationsScopesRbacrolebindingsService(s)
   293  	return rs
   294  }
   295  
   296  type ProjectsLocationsScopesService struct {
   297  	s *Service
   298  
   299  	Namespaces *ProjectsLocationsScopesNamespacesService
   300  
   301  	Rbacrolebindings *ProjectsLocationsScopesRbacrolebindingsService
   302  }
   303  
   304  func NewProjectsLocationsScopesNamespacesService(s *Service) *ProjectsLocationsScopesNamespacesService {
   305  	rs := &ProjectsLocationsScopesNamespacesService{s: s}
   306  	return rs
   307  }
   308  
   309  type ProjectsLocationsScopesNamespacesService struct {
   310  	s *Service
   311  }
   312  
   313  func NewProjectsLocationsScopesRbacrolebindingsService(s *Service) *ProjectsLocationsScopesRbacrolebindingsService {
   314  	rs := &ProjectsLocationsScopesRbacrolebindingsService{s: s}
   315  	return rs
   316  }
   317  
   318  type ProjectsLocationsScopesRbacrolebindingsService struct {
   319  	s *Service
   320  }
   321  
   322  // AnthosObservabilityFeatureSpec: **Anthos Observability**: Spec
   323  type AnthosObservabilityFeatureSpec struct {
   324  	// DefaultMembershipSpec: Default membership spec for unconfigured memberships
   325  	DefaultMembershipSpec *AnthosObservabilityMembershipSpec `json:"defaultMembershipSpec,omitempty"`
   326  	// ForceSendFields is a list of field names (e.g. "DefaultMembershipSpec") to
   327  	// unconditionally include in API requests. By default, fields with empty or
   328  	// default values are omitted from API requests. See
   329  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   330  	// details.
   331  	ForceSendFields []string `json:"-"`
   332  	// NullFields is a list of field names (e.g. "DefaultMembershipSpec") to
   333  	// include in API requests with the JSON null value. By default, fields with
   334  	// empty values are omitted from API requests. See
   335  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   336  	NullFields []string `json:"-"`
   337  }
   338  
   339  func (s *AnthosObservabilityFeatureSpec) MarshalJSON() ([]byte, error) {
   340  	type NoMethod AnthosObservabilityFeatureSpec
   341  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   342  }
   343  
   344  // AnthosObservabilityMembershipSpec: **Anthosobservability**: Per-Membership
   345  // Feature spec.
   346  type AnthosObservabilityMembershipSpec struct {
   347  	// DoNotOptimizeMetrics: Use full of metrics rather than optimized metrics. See
   348  	// https://cloud.google.com/anthos/clusters/docs/on-prem/1.8/concepts/logging-and-monitoring#optimized_metrics_default_metrics
   349  	DoNotOptimizeMetrics bool `json:"doNotOptimizeMetrics,omitempty"`
   350  	// EnableStackdriverOnApplications: Enable collecting and reporting metrics and
   351  	// logs from user apps.
   352  	EnableStackdriverOnApplications bool `json:"enableStackdriverOnApplications,omitempty"`
   353  	// Version: the version of stackdriver operator used by this feature
   354  	Version string `json:"version,omitempty"`
   355  	// ForceSendFields is a list of field names (e.g. "DoNotOptimizeMetrics") to
   356  	// unconditionally include in API requests. By default, fields with empty or
   357  	// default values are omitted from API requests. See
   358  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   359  	// details.
   360  	ForceSendFields []string `json:"-"`
   361  	// NullFields is a list of field names (e.g. "DoNotOptimizeMetrics") to include
   362  	// in API requests with the JSON null value. By default, fields with empty
   363  	// values are omitted from API requests. See
   364  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   365  	NullFields []string `json:"-"`
   366  }
   367  
   368  func (s *AnthosObservabilityMembershipSpec) MarshalJSON() ([]byte, error) {
   369  	type NoMethod AnthosObservabilityMembershipSpec
   370  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   371  }
   372  
   373  // AppDevExperienceFeatureSpec: Spec for App Dev Experience Feature.
   374  type AppDevExperienceFeatureSpec struct {
   375  }
   376  
   377  // AppDevExperienceFeatureState: State for App Dev Exp Feature.
   378  type AppDevExperienceFeatureState struct {
   379  	// NetworkingInstallSucceeded: Status of subcomponent that detects configured
   380  	// Service Mesh resources.
   381  	NetworkingInstallSucceeded *Status `json:"networkingInstallSucceeded,omitempty"`
   382  	// ForceSendFields is a list of field names (e.g. "NetworkingInstallSucceeded")
   383  	// to unconditionally include in API requests. By default, fields with empty or
   384  	// default values are omitted from API requests. See
   385  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   386  	// details.
   387  	ForceSendFields []string `json:"-"`
   388  	// NullFields is a list of field names (e.g. "NetworkingInstallSucceeded") to
   389  	// include in API requests with the JSON null value. By default, fields with
   390  	// empty values are omitted from API requests. See
   391  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   392  	NullFields []string `json:"-"`
   393  }
   394  
   395  func (s *AppDevExperienceFeatureState) MarshalJSON() ([]byte, error) {
   396  	type NoMethod AppDevExperienceFeatureState
   397  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   398  }
   399  
   400  // ApplianceCluster: ApplianceCluster contains information specific to GDC Edge
   401  // Appliance Clusters.
   402  type ApplianceCluster struct {
   403  	// ResourceLink: Immutable. Self-link of the Google Cloud resource for the
   404  	// Appliance Cluster. For example:
   405  	// //transferappliance.googleapis.com/projects/my-project/locations/us-west1-a/a
   406  	// ppliances/my-appliance
   407  	ResourceLink string `json:"resourceLink,omitempty"`
   408  	// ForceSendFields is a list of field names (e.g. "ResourceLink") to
   409  	// unconditionally include in API requests. By default, fields with empty or
   410  	// default values are omitted from API requests. See
   411  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   412  	// details.
   413  	ForceSendFields []string `json:"-"`
   414  	// NullFields is a list of field names (e.g. "ResourceLink") to include in API
   415  	// requests with the JSON null value. By default, fields with empty values are
   416  	// omitted from API requests. See
   417  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   418  	NullFields []string `json:"-"`
   419  }
   420  
   421  func (s *ApplianceCluster) MarshalJSON() ([]byte, error) {
   422  	type NoMethod ApplianceCluster
   423  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   424  }
   425  
   426  // AuditConfig: Specifies the audit configuration for a service. The
   427  // configuration determines which permission types are logged, and what
   428  // identities, if any, are exempted from logging. An AuditConfig must have one
   429  // or more AuditLogConfigs. If there are AuditConfigs for both `allServices`
   430  // and a specific service, the union of the two AuditConfigs is used for that
   431  // service: the log_types specified in each AuditConfig are enabled, and the
   432  // exempted_members in each AuditLogConfig are exempted. Example Policy with
   433  // multiple AuditConfigs: { "audit_configs": [ { "service": "allServices",
   434  // "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [
   435  // "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type":
   436  // "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com",
   437  // "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type":
   438  // "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For
   439  // sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
   440  // logging. It also exempts `jose@example.com` from DATA_READ logging, and
   441  // `aliya@example.com` from DATA_WRITE logging.
   442  type AuditConfig struct {
   443  	// AuditLogConfigs: The configuration for logging of each type of permission.
   444  	AuditLogConfigs []*AuditLogConfig `json:"auditLogConfigs,omitempty"`
   445  	// Service: Specifies a service that will be enabled for audit logging. For
   446  	// example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices`
   447  	// is a special value that covers all services.
   448  	Service string `json:"service,omitempty"`
   449  	// ForceSendFields is a list of field names (e.g. "AuditLogConfigs") to
   450  	// unconditionally include in API requests. By default, fields with empty or
   451  	// default values are omitted from API requests. See
   452  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   453  	// details.
   454  	ForceSendFields []string `json:"-"`
   455  	// NullFields is a list of field names (e.g. "AuditLogConfigs") to include in
   456  	// API requests with the JSON null value. By default, fields with empty values
   457  	// are omitted from API requests. See
   458  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   459  	NullFields []string `json:"-"`
   460  }
   461  
   462  func (s *AuditConfig) MarshalJSON() ([]byte, error) {
   463  	type NoMethod AuditConfig
   464  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   465  }
   466  
   467  // AuditLogConfig: Provides the configuration for logging a type of
   468  // permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ",
   469  // "exempted_members": [ "user:jose@example.com" ] }, { "log_type":
   470  // "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while
   471  // exempting jose@example.com from DATA_READ logging.
   472  type AuditLogConfig struct {
   473  	// ExemptedMembers: Specifies the identities that do not cause logging for this
   474  	// type of permission. Follows the same format of Binding.members.
   475  	ExemptedMembers []string `json:"exemptedMembers,omitempty"`
   476  	// LogType: The log type that this config enables.
   477  	//
   478  	// Possible values:
   479  	//   "LOG_TYPE_UNSPECIFIED" - Default case. Should never be this.
   480  	//   "ADMIN_READ" - Admin reads. Example: CloudIAM getIamPolicy
   481  	//   "DATA_WRITE" - Data writes. Example: CloudSQL Users create
   482  	//   "DATA_READ" - Data reads. Example: CloudSQL Users list
   483  	LogType string `json:"logType,omitempty"`
   484  	// ForceSendFields is a list of field names (e.g. "ExemptedMembers") to
   485  	// unconditionally include in API requests. By default, fields with empty or
   486  	// default values are omitted from API requests. See
   487  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   488  	// details.
   489  	ForceSendFields []string `json:"-"`
   490  	// NullFields is a list of field names (e.g. "ExemptedMembers") to include in
   491  	// API requests with the JSON null value. By default, fields with empty values
   492  	// are omitted from API requests. See
   493  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   494  	NullFields []string `json:"-"`
   495  }
   496  
   497  func (s *AuditLogConfig) MarshalJSON() ([]byte, error) {
   498  	type NoMethod AuditLogConfig
   499  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   500  }
   501  
   502  // Authority: Authority encodes how Google will recognize identities from this
   503  // Membership. See the workload identity documentation for more details:
   504  // https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity
   505  type Authority struct {
   506  	// IdentityProvider: Output only. An identity provider that reflects the
   507  	// `issuer` in the workload identity pool.
   508  	IdentityProvider string `json:"identityProvider,omitempty"`
   509  	// Issuer: Optional. A JSON Web Token (JWT) issuer URI. `issuer` must start
   510  	// with `https://` and be a valid URL with length <2000 characters, it must use
   511  	// `location` rather than `zone` for GKE clusters. If set, then Google will
   512  	// allow valid OIDC tokens from this issuer to authenticate within the
   513  	// workload_identity_pool. OIDC discovery will be performed on this URI to
   514  	// validate tokens from the issuer. Clearing `issuer` disables Workload
   515  	// Identity. `issuer` cannot be directly modified; it must be cleared (and
   516  	// Workload Identity disabled) before using a new issuer (and re-enabling
   517  	// Workload Identity).
   518  	Issuer string `json:"issuer,omitempty"`
   519  	// OidcJwks: Optional. OIDC verification keys for this Membership in JWKS
   520  	// format (RFC 7517). When this field is set, OIDC discovery will NOT be
   521  	// performed on `issuer`, and instead OIDC tokens will be validated using this
   522  	// field.
   523  	OidcJwks string `json:"oidcJwks,omitempty"`
   524  	// WorkloadIdentityPool: Output only. The name of the workload identity pool in
   525  	// which `issuer` will be recognized. There is a single Workload Identity Pool
   526  	// per Hub that is shared between all Memberships that belong to that Hub. For
   527  	// a Hub hosted in {PROJECT_ID}, the workload pool format is
   528  	// `{PROJECT_ID}.hub.id.goog`, although this is subject to change in newer
   529  	// versions of this API.
   530  	WorkloadIdentityPool string `json:"workloadIdentityPool,omitempty"`
   531  	// ForceSendFields is a list of field names (e.g. "IdentityProvider") to
   532  	// unconditionally include in API requests. By default, fields with empty or
   533  	// default values are omitted from API requests. See
   534  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   535  	// details.
   536  	ForceSendFields []string `json:"-"`
   537  	// NullFields is a list of field names (e.g. "IdentityProvider") to include in
   538  	// API requests with the JSON null value. By default, fields with empty values
   539  	// are omitted from API requests. See
   540  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   541  	NullFields []string `json:"-"`
   542  }
   543  
   544  func (s *Authority) MarshalJSON() ([]byte, error) {
   545  	type NoMethod Authority
   546  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   547  }
   548  
   549  // BinaryAuthorizationConfig: BinaryAuthorizationConfig defines the fleet level
   550  // configuration of binary authorization feature.
   551  type BinaryAuthorizationConfig struct {
   552  	// EvaluationMode: Optional. Mode of operation for binauthz policy evaluation.
   553  	//
   554  	// Possible values:
   555  	//   "EVALUATION_MODE_UNSPECIFIED" - Default value
   556  	//   "DISABLED" - Disable BinaryAuthorization
   557  	//   "POLICY_BINDINGS" - Use Binary Authorization with the policies specified
   558  	// in policy_bindings.
   559  	EvaluationMode string `json:"evaluationMode,omitempty"`
   560  	// PolicyBindings: Optional. Binauthz policies that apply to this cluster.
   561  	PolicyBindings []*PolicyBinding `json:"policyBindings,omitempty"`
   562  	// ForceSendFields is a list of field names (e.g. "EvaluationMode") to
   563  	// unconditionally include in API requests. By default, fields with empty or
   564  	// default values are omitted from API requests. See
   565  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   566  	// details.
   567  	ForceSendFields []string `json:"-"`
   568  	// NullFields is a list of field names (e.g. "EvaluationMode") to include in
   569  	// API requests with the JSON null value. By default, fields with empty values
   570  	// are omitted from API requests. See
   571  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   572  	NullFields []string `json:"-"`
   573  }
   574  
   575  func (s *BinaryAuthorizationConfig) MarshalJSON() ([]byte, error) {
   576  	type NoMethod BinaryAuthorizationConfig
   577  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   578  }
   579  
   580  // Binding: Associates `members`, or principals, with a `role`.
   581  type Binding struct {
   582  	// Condition: The condition that is associated with this binding. If the
   583  	// condition evaluates to `true`, then this binding applies to the current
   584  	// request. If the condition evaluates to `false`, then this binding does not
   585  	// apply to the current request. However, a different role binding might grant
   586  	// the same role to one or more of the principals in this binding. To learn
   587  	// which resources support conditions in their IAM policies, see the IAM
   588  	// documentation
   589  	// (https://cloud.google.com/iam/help/conditions/resource-policies).
   590  	Condition *Expr `json:"condition,omitempty"`
   591  	// Members: Specifies the principals requesting access for a Google Cloud
   592  	// resource. `members` can have the following values: * `allUsers`: A special
   593  	// identifier that represents anyone who is on the internet; with or without a
   594  	// Google account. * `allAuthenticatedUsers`: A special identifier that
   595  	// represents anyone who is authenticated with a Google account or a service
   596  	// account. Does not include identities that come from external identity
   597  	// providers (IdPs) through identity federation. * `user:{emailid}`: An email
   598  	// address that represents a specific Google account. For example,
   599  	// `alice@example.com` . * `serviceAccount:{emailid}`: An email address that
   600  	// represents a Google service account. For example,
   601  	// `my-other-app@appspot.gserviceaccount.com`. *
   602  	// `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An
   603  	// identifier for a Kubernetes service account
   604  	// (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts).
   605  	// For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. *
   606  	// `group:{emailid}`: An email address that represents a Google group. For
   607  	// example, `admins@example.com`. * `domain:{domain}`: The G Suite domain
   608  	// (primary) that represents all the users of that domain. For example,
   609  	// `google.com` or `example.com`. *
   610  	// `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/sub
   611  	// ject/{subject_attribute_value}`: A single identity in a workforce identity
   612  	// pool. *
   613  	// `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/
   614  	// group/{group_id}`: All workforce identities in a group. *
   615  	// `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/
   616  	// attribute.{attribute_name}/{attribute_value}`: All workforce identities with
   617  	// a specific attribute value. *
   618  	// `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/
   619  	// *`: All identities in a workforce identity pool. *
   620  	// `principal://iam.googleapis.com/projects/{project_number}/locations/global/wo
   621  	// rkloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single
   622  	// identity in a workload identity pool. *
   623  	// `principalSet://iam.googleapis.com/projects/{project_number}/locations/global
   624  	// /workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool
   625  	// group. *
   626  	// `principalSet://iam.googleapis.com/projects/{project_number}/locations/global
   627  	// /workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}
   628  	// `: All identities in a workload identity pool with a certain attribute. *
   629  	// `principalSet://iam.googleapis.com/projects/{project_number}/locations/global
   630  	// /workloadIdentityPools/{pool_id}/*`: All identities in a workload identity
   631  	// pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus
   632  	// unique identifier) representing a user that has been recently deleted. For
   633  	// example, `alice@example.com?uid=123456789012345678901`. If the user is
   634  	// recovered, this value reverts to `user:{emailid}` and the recovered user
   635  	// retains the role in the binding. *
   636  	// `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus
   637  	// unique identifier) representing a service account that has been recently
   638  	// deleted. For example,
   639  	// `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the
   640  	// service account is undeleted, this value reverts to
   641  	// `serviceAccount:{emailid}` and the undeleted service account retains the
   642  	// role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email
   643  	// address (plus unique identifier) representing a Google group that has been
   644  	// recently deleted. For example,
   645  	// `admins@example.com?uid=123456789012345678901`. If the group is recovered,
   646  	// this value reverts to `group:{emailid}` and the recovered group retains the
   647  	// role in the binding. *
   648  	// `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool
   649  	// _id}/subject/{subject_attribute_value}`: Deleted single identity in a
   650  	// workforce identity pool. For example,
   651  	// `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-po
   652  	// ol-id/subject/my-subject-attribute-value`.
   653  	Members []string `json:"members,omitempty"`
   654  	// Role: Role that is assigned to the list of `members`, or principals. For
   655  	// example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview
   656  	// of the IAM roles and permissions, see the IAM documentation
   657  	// (https://cloud.google.com/iam/docs/roles-overview). For a list of the
   658  	// available pre-defined roles, see here
   659  	// (https://cloud.google.com/iam/docs/understanding-roles).
   660  	Role string `json:"role,omitempty"`
   661  	// ForceSendFields is a list of field names (e.g. "Condition") to
   662  	// unconditionally include in API requests. By default, fields with empty or
   663  	// default values are omitted from API requests. See
   664  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   665  	// details.
   666  	ForceSendFields []string `json:"-"`
   667  	// NullFields is a list of field names (e.g. "Condition") to include in API
   668  	// requests with the JSON null value. By default, fields with empty values are
   669  	// omitted from API requests. See
   670  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   671  	NullFields []string `json:"-"`
   672  }
   673  
   674  func (s *Binding) MarshalJSON() ([]byte, error) {
   675  	type NoMethod Binding
   676  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   677  }
   678  
   679  // CancelOperationRequest: The request message for Operations.CancelOperation.
   680  type CancelOperationRequest struct {
   681  }
   682  
   683  // CloudAuditLoggingFeatureSpec: **Cloud Audit Logging**: Spec for Audit
   684  // Logging Allowlisting.
   685  type CloudAuditLoggingFeatureSpec struct {
   686  	// AllowlistedServiceAccounts: Service account that should be allowlisted to
   687  	// send the audit logs; eg
   688  	// cloudauditlogging@gcp-project.iam.gserviceaccount.com. These accounts must
   689  	// already exist, but do not need to have any permissions granted to them. The
   690  	// customer's entitlements will be checked prior to allowlisting (i.e. the
   691  	// customer must be an Anthos customer.)
   692  	AllowlistedServiceAccounts []string `json:"allowlistedServiceAccounts,omitempty"`
   693  	// ForceSendFields is a list of field names (e.g. "AllowlistedServiceAccounts")
   694  	// to unconditionally include in API requests. By default, fields with empty or
   695  	// default values are 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. "AllowlistedServiceAccounts") to
   700  	// include in API requests with the JSON null value. By default, fields with
   701  	// empty values are omitted 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 *CloudAuditLoggingFeatureSpec) MarshalJSON() ([]byte, error) {
   707  	type NoMethod CloudAuditLoggingFeatureSpec
   708  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   709  }
   710  
   711  // CloudBuildMembershipSpec: **Cloud Build**: Configurations for each Cloud
   712  // Build enabled cluster.
   713  type CloudBuildMembershipSpec struct {
   714  	// SecurityPolicy: Whether it is allowed to run the privileged builds on the
   715  	// cluster or not.
   716  	//
   717  	// Possible values:
   718  	//   "SECURITY_POLICY_UNSPECIFIED" - Unspecified policy
   719  	//   "NON_PRIVILEGED" - Privileged build pods are disallowed
   720  	//   "PRIVILEGED" - Privileged build pods are allowed
   721  	SecurityPolicy string `json:"securityPolicy,omitempty"`
   722  	// Version: Version of the cloud build software on the cluster.
   723  	Version string `json:"version,omitempty"`
   724  	// ForceSendFields is a list of field names (e.g. "SecurityPolicy") to
   725  	// unconditionally include in API requests. By default, fields with empty or
   726  	// default values are omitted from API requests. See
   727  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   728  	// details.
   729  	ForceSendFields []string `json:"-"`
   730  	// NullFields is a list of field names (e.g. "SecurityPolicy") to include in
   731  	// API requests with the JSON null value. By default, fields with empty values
   732  	// are omitted from API requests. See
   733  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   734  	NullFields []string `json:"-"`
   735  }
   736  
   737  func (s *CloudBuildMembershipSpec) MarshalJSON() ([]byte, error) {
   738  	type NoMethod CloudBuildMembershipSpec
   739  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   740  }
   741  
   742  // ClusterUpgradeFleetSpec: **ClusterUpgrade**: The configuration for the
   743  // fleet-level ClusterUpgrade feature.
   744  type ClusterUpgradeFleetSpec struct {
   745  	// GkeUpgradeOverrides: Allow users to override some properties of each GKE
   746  	// upgrade.
   747  	GkeUpgradeOverrides []*ClusterUpgradeGKEUpgradeOverride `json:"gkeUpgradeOverrides,omitempty"`
   748  	// PostConditions: Required. Post conditions to evaluate to mark an upgrade
   749  	// COMPLETE. Required.
   750  	PostConditions *ClusterUpgradePostConditions `json:"postConditions,omitempty"`
   751  	// UpstreamFleets: This fleet consumes upgrades that have COMPLETE status code
   752  	// in the upstream fleets. See UpgradeStatus.Code for code definitions. The
   753  	// fleet name should be either fleet project number or id. This is defined as
   754  	// repeated for future proof reasons. Initial implementation will enforce at
   755  	// most one upstream fleet.
   756  	UpstreamFleets []string `json:"upstreamFleets,omitempty"`
   757  	// ForceSendFields is a list of field names (e.g. "GkeUpgradeOverrides") to
   758  	// unconditionally include in API requests. By default, fields with empty or
   759  	// default values are omitted from API requests. See
   760  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   761  	// details.
   762  	ForceSendFields []string `json:"-"`
   763  	// NullFields is a list of field names (e.g. "GkeUpgradeOverrides") to include
   764  	// in API requests with the JSON null value. By default, fields with empty
   765  	// values are omitted from API requests. See
   766  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   767  	NullFields []string `json:"-"`
   768  }
   769  
   770  func (s *ClusterUpgradeFleetSpec) MarshalJSON() ([]byte, error) {
   771  	type NoMethod ClusterUpgradeFleetSpec
   772  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   773  }
   774  
   775  // ClusterUpgradeFleetState: **ClusterUpgrade**: The state for the fleet-level
   776  // ClusterUpgrade feature.
   777  type ClusterUpgradeFleetState struct {
   778  	// DownstreamFleets: This fleets whose upstream_fleets contain the current
   779  	// fleet. The fleet name should be either fleet project number or id.
   780  	DownstreamFleets []string `json:"downstreamFleets,omitempty"`
   781  	// GkeState: Feature state for GKE clusters.
   782  	GkeState *ClusterUpgradeGKEUpgradeFeatureState `json:"gkeState,omitempty"`
   783  	// Ignored: A list of memberships ignored by the feature. For example, manually
   784  	// upgraded clusters can be ignored if they are newer than the default versions
   785  	// of its release channel. The membership resource is in the format:
   786  	// `projects/{p}/locations/{l}/membership/{m}`.
   787  	Ignored map[string]ClusterUpgradeIgnoredMembership `json:"ignored,omitempty"`
   788  	// ForceSendFields is a list of field names (e.g. "DownstreamFleets") to
   789  	// unconditionally include in API requests. By default, fields with empty or
   790  	// default values are omitted from API requests. See
   791  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   792  	// details.
   793  	ForceSendFields []string `json:"-"`
   794  	// NullFields is a list of field names (e.g. "DownstreamFleets") to include in
   795  	// API requests with the JSON null value. By default, fields with empty values
   796  	// are omitted from API requests. See
   797  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   798  	NullFields []string `json:"-"`
   799  }
   800  
   801  func (s *ClusterUpgradeFleetState) MarshalJSON() ([]byte, error) {
   802  	type NoMethod ClusterUpgradeFleetState
   803  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   804  }
   805  
   806  // ClusterUpgradeGKEUpgrade: GKEUpgrade represents a GKE provided upgrade,
   807  // e.g., control plane upgrade.
   808  type ClusterUpgradeGKEUpgrade struct {
   809  	// Name: Name of the upgrade, e.g., "k8s_control_plane". It should be a valid
   810  	// upgrade name. It must not exceet 99 characters.
   811  	Name string `json:"name,omitempty"`
   812  	// Version: Version of the upgrade, e.g., "1.22.1-gke.100". It should be a
   813  	// valid version. It must not exceet 99 characters.
   814  	Version string `json:"version,omitempty"`
   815  	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
   816  	// include in API requests. By default, fields with empty or default values are
   817  	// omitted from API requests. See
   818  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   819  	// details.
   820  	ForceSendFields []string `json:"-"`
   821  	// NullFields is a list of field names (e.g. "Name") to include in API requests
   822  	// with the JSON null value. By default, fields with empty values are omitted
   823  	// from API requests. See
   824  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   825  	NullFields []string `json:"-"`
   826  }
   827  
   828  func (s *ClusterUpgradeGKEUpgrade) MarshalJSON() ([]byte, error) {
   829  	type NoMethod ClusterUpgradeGKEUpgrade
   830  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   831  }
   832  
   833  // ClusterUpgradeGKEUpgradeFeatureCondition: GKEUpgradeFeatureCondition
   834  // describes the condition of the feature for GKE clusters at a certain point
   835  // of time.
   836  type ClusterUpgradeGKEUpgradeFeatureCondition struct {
   837  	// Reason: Reason why the feature is in this status.
   838  	Reason string `json:"reason,omitempty"`
   839  	// Status: Status of the condition, one of True, False, Unknown.
   840  	Status string `json:"status,omitempty"`
   841  	// Type: Type of the condition, for example, "ready".
   842  	Type string `json:"type,omitempty"`
   843  	// UpdateTime: Last timestamp the condition was updated.
   844  	UpdateTime string `json:"updateTime,omitempty"`
   845  	// ForceSendFields is a list of field names (e.g. "Reason") to unconditionally
   846  	// include in API requests. By default, fields with empty or default values are
   847  	// omitted from API requests. See
   848  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   849  	// details.
   850  	ForceSendFields []string `json:"-"`
   851  	// NullFields is a list of field names (e.g. "Reason") to include in API
   852  	// requests with the JSON null value. By default, fields with empty values are
   853  	// omitted from API requests. See
   854  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   855  	NullFields []string `json:"-"`
   856  }
   857  
   858  func (s *ClusterUpgradeGKEUpgradeFeatureCondition) MarshalJSON() ([]byte, error) {
   859  	type NoMethod ClusterUpgradeGKEUpgradeFeatureCondition
   860  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   861  }
   862  
   863  // ClusterUpgradeGKEUpgradeFeatureState: GKEUpgradeFeatureState contains
   864  // feature states for GKE clusters in the scope.
   865  type ClusterUpgradeGKEUpgradeFeatureState struct {
   866  	// Conditions: Current conditions of the feature.
   867  	Conditions []*ClusterUpgradeGKEUpgradeFeatureCondition `json:"conditions,omitempty"`
   868  	// UpgradeState: Upgrade state. It will eventually replace `state`.
   869  	UpgradeState []*ClusterUpgradeGKEUpgradeState `json:"upgradeState,omitempty"`
   870  	// ForceSendFields is a list of field names (e.g. "Conditions") to
   871  	// unconditionally include in API requests. By default, fields with empty or
   872  	// default values are omitted from API requests. See
   873  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   874  	// details.
   875  	ForceSendFields []string `json:"-"`
   876  	// NullFields is a list of field names (e.g. "Conditions") to include in API
   877  	// requests with the JSON null value. By default, fields with empty values are
   878  	// omitted from API requests. See
   879  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   880  	NullFields []string `json:"-"`
   881  }
   882  
   883  func (s *ClusterUpgradeGKEUpgradeFeatureState) MarshalJSON() ([]byte, error) {
   884  	type NoMethod ClusterUpgradeGKEUpgradeFeatureState
   885  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   886  }
   887  
   888  // ClusterUpgradeGKEUpgradeOverride: Properties of a GKE upgrade that can be
   889  // overridden by the user. For example, a user can skip soaking by overriding
   890  // the soaking to 0.
   891  type ClusterUpgradeGKEUpgradeOverride struct {
   892  	// PostConditions: Required. Post conditions to override for the specified
   893  	// upgrade (name + version). Required.
   894  	PostConditions *ClusterUpgradePostConditions `json:"postConditions,omitempty"`
   895  	// Upgrade: Required. Which upgrade to override. Required.
   896  	Upgrade *ClusterUpgradeGKEUpgrade `json:"upgrade,omitempty"`
   897  	// ForceSendFields is a list of field names (e.g. "PostConditions") to
   898  	// unconditionally include in API requests. By default, fields with empty or
   899  	// default values are omitted from API requests. See
   900  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   901  	// details.
   902  	ForceSendFields []string `json:"-"`
   903  	// NullFields is a list of field names (e.g. "PostConditions") to include in
   904  	// API requests with the JSON null value. By default, fields with empty values
   905  	// are omitted from API requests. See
   906  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   907  	NullFields []string `json:"-"`
   908  }
   909  
   910  func (s *ClusterUpgradeGKEUpgradeOverride) MarshalJSON() ([]byte, error) {
   911  	type NoMethod ClusterUpgradeGKEUpgradeOverride
   912  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   913  }
   914  
   915  // ClusterUpgradeGKEUpgradeState: GKEUpgradeState is a GKEUpgrade and its state
   916  // at the scope and fleet level.
   917  type ClusterUpgradeGKEUpgradeState struct {
   918  	// Stats: Number of GKE clusters in each status code.
   919  	Stats map[string]string `json:"stats,omitempty"`
   920  	// Status: Status of the upgrade.
   921  	Status *ClusterUpgradeUpgradeStatus `json:"status,omitempty"`
   922  	// Upgrade: Which upgrade to track the state.
   923  	Upgrade *ClusterUpgradeGKEUpgrade `json:"upgrade,omitempty"`
   924  	// ForceSendFields is a list of field names (e.g. "Stats") to unconditionally
   925  	// include in API requests. By default, fields with empty or default values are
   926  	// omitted from API requests. See
   927  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   928  	// details.
   929  	ForceSendFields []string `json:"-"`
   930  	// NullFields is a list of field names (e.g. "Stats") to include in API
   931  	// requests with the JSON null value. By default, fields with empty values are
   932  	// omitted from API requests. See
   933  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   934  	NullFields []string `json:"-"`
   935  }
   936  
   937  func (s *ClusterUpgradeGKEUpgradeState) MarshalJSON() ([]byte, error) {
   938  	type NoMethod ClusterUpgradeGKEUpgradeState
   939  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   940  }
   941  
   942  // ClusterUpgradeIgnoredMembership: IgnoredMembership represents a membership
   943  // ignored by the feature. A membership can be ignored because it was manually
   944  // upgraded to a newer version than RC default.
   945  type ClusterUpgradeIgnoredMembership struct {
   946  	// IgnoredTime: Time when the membership was first set to ignored.
   947  	IgnoredTime string `json:"ignoredTime,omitempty"`
   948  	// Reason: Reason why the membership is ignored.
   949  	Reason string `json:"reason,omitempty"`
   950  	// ForceSendFields is a list of field names (e.g. "IgnoredTime") to
   951  	// unconditionally include in API requests. By default, fields with empty or
   952  	// default values are omitted from API requests. See
   953  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   954  	// details.
   955  	ForceSendFields []string `json:"-"`
   956  	// NullFields is a list of field names (e.g. "IgnoredTime") to include in API
   957  	// requests with the JSON null value. By default, fields with empty values are
   958  	// omitted from API requests. See
   959  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   960  	NullFields []string `json:"-"`
   961  }
   962  
   963  func (s *ClusterUpgradeIgnoredMembership) MarshalJSON() ([]byte, error) {
   964  	type NoMethod ClusterUpgradeIgnoredMembership
   965  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   966  }
   967  
   968  // ClusterUpgradeMembershipGKEUpgradeState: ScopeGKEUpgradeState is a
   969  // GKEUpgrade and its state per-membership.
   970  type ClusterUpgradeMembershipGKEUpgradeState struct {
   971  	// Status: Status of the upgrade.
   972  	Status *ClusterUpgradeUpgradeStatus `json:"status,omitempty"`
   973  	// Upgrade: Which upgrade to track the state.
   974  	Upgrade *ClusterUpgradeGKEUpgrade `json:"upgrade,omitempty"`
   975  	// ForceSendFields is a list of field names (e.g. "Status") to unconditionally
   976  	// include in API requests. By default, fields with empty or default values are
   977  	// omitted from API requests. See
   978  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   979  	// details.
   980  	ForceSendFields []string `json:"-"`
   981  	// NullFields is a list of field names (e.g. "Status") to include in API
   982  	// requests with the JSON null value. By default, fields with empty values are
   983  	// omitted from API requests. See
   984  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   985  	NullFields []string `json:"-"`
   986  }
   987  
   988  func (s *ClusterUpgradeMembershipGKEUpgradeState) MarshalJSON() ([]byte, error) {
   989  	type NoMethod ClusterUpgradeMembershipGKEUpgradeState
   990  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   991  }
   992  
   993  // ClusterUpgradeMembershipState: Per-membership state for this feature.
   994  type ClusterUpgradeMembershipState struct {
   995  	// Ignored: Whether this membership is ignored by the feature. For example,
   996  	// manually upgraded clusters can be ignored if they are newer than the default
   997  	// versions of its release channel.
   998  	Ignored *ClusterUpgradeIgnoredMembership `json:"ignored,omitempty"`
   999  	// Scopes: Fully qualified scope names that this clusters is bound to which
  1000  	// also have rollout sequencing enabled.
  1001  	Scopes []string `json:"scopes,omitempty"`
  1002  	// Upgrades: Actual upgrade state against desired.
  1003  	Upgrades []*ClusterUpgradeMembershipGKEUpgradeState `json:"upgrades,omitempty"`
  1004  	// ForceSendFields is a list of field names (e.g. "Ignored") to unconditionally
  1005  	// include in API requests. By default, fields with empty or default values are
  1006  	// omitted from API requests. See
  1007  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1008  	// details.
  1009  	ForceSendFields []string `json:"-"`
  1010  	// NullFields is a list of field names (e.g. "Ignored") to include in API
  1011  	// requests with the JSON null value. By default, fields with empty values are
  1012  	// omitted from API requests. See
  1013  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1014  	NullFields []string `json:"-"`
  1015  }
  1016  
  1017  func (s *ClusterUpgradeMembershipState) MarshalJSON() ([]byte, error) {
  1018  	type NoMethod ClusterUpgradeMembershipState
  1019  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1020  }
  1021  
  1022  // ClusterUpgradePostConditions: Post conditional checks after an upgrade has
  1023  // been applied on all eligible clusters.
  1024  type ClusterUpgradePostConditions struct {
  1025  	// Soaking: Required. Amount of time to "soak" after a rollout has been
  1026  	// finished before marking it COMPLETE. Cannot exceed 30 days. Required.
  1027  	Soaking string `json:"soaking,omitempty"`
  1028  	// ForceSendFields is a list of field names (e.g. "Soaking") to unconditionally
  1029  	// include in API requests. By default, fields with empty or default values are
  1030  	// omitted from API requests. See
  1031  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1032  	// details.
  1033  	ForceSendFields []string `json:"-"`
  1034  	// NullFields is a list of field names (e.g. "Soaking") to include in API
  1035  	// requests with the JSON null value. By default, fields with empty values are
  1036  	// omitted from API requests. See
  1037  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1038  	NullFields []string `json:"-"`
  1039  }
  1040  
  1041  func (s *ClusterUpgradePostConditions) MarshalJSON() ([]byte, error) {
  1042  	type NoMethod ClusterUpgradePostConditions
  1043  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1044  }
  1045  
  1046  // ClusterUpgradeScopeSpec: **ClusterUpgrade**: The configuration for the
  1047  // scope-level ClusterUpgrade feature.
  1048  type ClusterUpgradeScopeSpec struct {
  1049  	// GkeUpgradeOverrides: Allow users to override some properties of each GKE
  1050  	// upgrade.
  1051  	GkeUpgradeOverrides []*ClusterUpgradeGKEUpgradeOverride `json:"gkeUpgradeOverrides,omitempty"`
  1052  	// PostConditions: Required. Post conditions to evaluate to mark an upgrade
  1053  	// COMPLETE. Required.
  1054  	PostConditions *ClusterUpgradePostConditions `json:"postConditions,omitempty"`
  1055  	// UpstreamScopes: This scope consumes upgrades that have COMPLETE status code
  1056  	// in the upstream scopes. See UpgradeStatus.Code for code definitions. The
  1057  	// scope name should be in the form: `projects/{p}/locations/global/scopes/{s}`
  1058  	// Where {p} is the project, {s} is a valid Scope in this project. {p} WILL
  1059  	// match the Feature's project. This is defined as repeated for future proof
  1060  	// reasons. Initial implementation will enforce at most one upstream scope.
  1061  	UpstreamScopes []string `json:"upstreamScopes,omitempty"`
  1062  	// ForceSendFields is a list of field names (e.g. "GkeUpgradeOverrides") to
  1063  	// unconditionally include in API requests. By default, fields with empty or
  1064  	// default values are omitted from API requests. See
  1065  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1066  	// details.
  1067  	ForceSendFields []string `json:"-"`
  1068  	// NullFields is a list of field names (e.g. "GkeUpgradeOverrides") to include
  1069  	// in API requests with the JSON null value. By default, fields with empty
  1070  	// values are omitted from API requests. See
  1071  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1072  	NullFields []string `json:"-"`
  1073  }
  1074  
  1075  func (s *ClusterUpgradeScopeSpec) MarshalJSON() ([]byte, error) {
  1076  	type NoMethod ClusterUpgradeScopeSpec
  1077  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1078  }
  1079  
  1080  // ClusterUpgradeScopeState: **ClusterUpgrade**: The state for the scope-level
  1081  // ClusterUpgrade feature.
  1082  type ClusterUpgradeScopeState struct {
  1083  	// DownstreamScopes: This scopes whose upstream_scopes contain the current
  1084  	// scope. The scope name should be in the form:
  1085  	// `projects/{p}/locations/gloobal/scopes/{s}` Where {p} is the project, {s} is
  1086  	// a valid Scope in this project. {p} WILL match the Feature's project.
  1087  	DownstreamScopes []string `json:"downstreamScopes,omitempty"`
  1088  	// GkeState: Feature state for GKE clusters.
  1089  	GkeState *ClusterUpgradeGKEUpgradeFeatureState `json:"gkeState,omitempty"`
  1090  	// Ignored: A list of memberships ignored by the feature. For example, manually
  1091  	// upgraded clusters can be ignored if they are newer than the default versions
  1092  	// of its release channel. The membership resource is in the format:
  1093  	// `projects/{p}/locations/{l}/membership/{m}`.
  1094  	Ignored map[string]ClusterUpgradeIgnoredMembership `json:"ignored,omitempty"`
  1095  	// ForceSendFields is a list of field names (e.g. "DownstreamScopes") to
  1096  	// unconditionally include in API requests. By default, fields with empty or
  1097  	// default values are omitted from API requests. See
  1098  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1099  	// details.
  1100  	ForceSendFields []string `json:"-"`
  1101  	// NullFields is a list of field names (e.g. "DownstreamScopes") to include in
  1102  	// API requests with the JSON null value. By default, fields with empty values
  1103  	// are omitted from API requests. See
  1104  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1105  	NullFields []string `json:"-"`
  1106  }
  1107  
  1108  func (s *ClusterUpgradeScopeState) MarshalJSON() ([]byte, error) {
  1109  	type NoMethod ClusterUpgradeScopeState
  1110  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1111  }
  1112  
  1113  // ClusterUpgradeUpgradeStatus: UpgradeStatus provides status information for
  1114  // each upgrade.
  1115  type ClusterUpgradeUpgradeStatus struct {
  1116  	// Code: Status code of the upgrade.
  1117  	//
  1118  	// Possible values:
  1119  	//   "CODE_UNSPECIFIED" - Required by https://linter.aip.dev/126/unspecified.
  1120  	//   "INELIGIBLE" - The upgrade is ineligible. At the scope level, this means
  1121  	// the upgrade is ineligible for all the clusters in the scope.
  1122  	//   "PENDING" - The upgrade is pending. At the scope level, this means the
  1123  	// upgrade is pending for all the clusters in the scope.
  1124  	//   "IN_PROGRESS" - The upgrade is in progress. At the scope level, this means
  1125  	// the upgrade is in progress for at least one cluster in the scope.
  1126  	//   "SOAKING" - The upgrade has finished and is soaking until the soaking time
  1127  	// is up. At the scope level, this means at least one cluster is in soaking
  1128  	// while the rest are either soaking or complete.
  1129  	//   "FORCED_SOAKING" - A cluster will be forced to enter soaking if an upgrade
  1130  	// doesn't finish within a certain limit, despite it's actual status.
  1131  	//   "COMPLETE" - The upgrade has passed all post conditions (soaking). At the
  1132  	// scope level, this means all eligible clusters are in COMPLETE status.
  1133  	Code string `json:"code,omitempty"`
  1134  	// Reason: Reason for this status.
  1135  	Reason string `json:"reason,omitempty"`
  1136  	// UpdateTime: Last timestamp the status was updated.
  1137  	UpdateTime string `json:"updateTime,omitempty"`
  1138  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  1139  	// include in API requests. By default, fields with empty or default values are
  1140  	// omitted from API requests. See
  1141  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1142  	// details.
  1143  	ForceSendFields []string `json:"-"`
  1144  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  1145  	// with the JSON null value. By default, fields with empty values are omitted
  1146  	// from API requests. See
  1147  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1148  	NullFields []string `json:"-"`
  1149  }
  1150  
  1151  func (s *ClusterUpgradeUpgradeStatus) MarshalJSON() ([]byte, error) {
  1152  	type NoMethod ClusterUpgradeUpgradeStatus
  1153  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1154  }
  1155  
  1156  // CommonFeatureSpec: CommonFeatureSpec contains Hub-wide configuration
  1157  // information
  1158  type CommonFeatureSpec struct {
  1159  	// Anthosobservability: Anthos Observability spec
  1160  	Anthosobservability *AnthosObservabilityFeatureSpec `json:"anthosobservability,omitempty"`
  1161  	// Appdevexperience: Appdevexperience specific spec.
  1162  	Appdevexperience *AppDevExperienceFeatureSpec `json:"appdevexperience,omitempty"`
  1163  	// Cloudauditlogging: Cloud Audit Logging-specific spec.
  1164  	Cloudauditlogging *CloudAuditLoggingFeatureSpec `json:"cloudauditlogging,omitempty"`
  1165  	// Clusterupgrade: ClusterUpgrade (fleet-based) feature spec.
  1166  	Clusterupgrade *ClusterUpgradeFleetSpec `json:"clusterupgrade,omitempty"`
  1167  	// Dataplanev2: DataplaneV2 feature spec.
  1168  	Dataplanev2 *DataplaneV2FeatureSpec `json:"dataplanev2,omitempty"`
  1169  	// Fleetobservability: FleetObservability feature spec.
  1170  	Fleetobservability *FleetObservabilityFeatureSpec `json:"fleetobservability,omitempty"`
  1171  	// Multiclusteringress: Multicluster Ingress-specific spec.
  1172  	Multiclusteringress *MultiClusterIngressFeatureSpec `json:"multiclusteringress,omitempty"`
  1173  	// Namespaceactuation: Namespace Actuation feature spec
  1174  	Namespaceactuation *NamespaceActuationFeatureSpec `json:"namespaceactuation,omitempty"`
  1175  	// Workloadcertificate: Workload Certificate spec.
  1176  	Workloadcertificate *FeatureSpec `json:"workloadcertificate,omitempty"`
  1177  	// ForceSendFields is a list of field names (e.g. "Anthosobservability") to
  1178  	// unconditionally include in API requests. By default, fields with empty or
  1179  	// default values are omitted from API requests. See
  1180  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1181  	// details.
  1182  	ForceSendFields []string `json:"-"`
  1183  	// NullFields is a list of field names (e.g. "Anthosobservability") to include
  1184  	// in API requests with the JSON null value. By default, fields with empty
  1185  	// values are omitted from API requests. See
  1186  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1187  	NullFields []string `json:"-"`
  1188  }
  1189  
  1190  func (s *CommonFeatureSpec) MarshalJSON() ([]byte, error) {
  1191  	type NoMethod CommonFeatureSpec
  1192  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1193  }
  1194  
  1195  // CommonFeatureState: CommonFeatureState contains Hub-wide Feature status
  1196  // information.
  1197  type CommonFeatureState struct {
  1198  	// Appdevexperience: Appdevexperience specific state.
  1199  	Appdevexperience *AppDevExperienceFeatureState `json:"appdevexperience,omitempty"`
  1200  	// Clusterupgrade: ClusterUpgrade fleet-level state.
  1201  	Clusterupgrade *ClusterUpgradeFleetState `json:"clusterupgrade,omitempty"`
  1202  	// Fleetobservability: FleetObservability feature state.
  1203  	Fleetobservability *FleetObservabilityFeatureState `json:"fleetobservability,omitempty"`
  1204  	// Namespaceactuation: Namespace Actuation feature state.
  1205  	Namespaceactuation *NamespaceActuationFeatureState `json:"namespaceactuation,omitempty"`
  1206  	// Servicemesh: Service Mesh-specific state.
  1207  	Servicemesh *ServiceMeshFeatureState `json:"servicemesh,omitempty"`
  1208  	// State: Output only. The "running state" of the Feature in this Hub.
  1209  	State *FeatureState `json:"state,omitempty"`
  1210  	// ForceSendFields is a list of field names (e.g. "Appdevexperience") to
  1211  	// unconditionally include in API requests. By default, fields with empty or
  1212  	// default values are omitted from API requests. See
  1213  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1214  	// details.
  1215  	ForceSendFields []string `json:"-"`
  1216  	// NullFields is a list of field names (e.g. "Appdevexperience") to include in
  1217  	// API requests with the JSON null value. By default, fields with empty values
  1218  	// are omitted from API requests. See
  1219  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1220  	NullFields []string `json:"-"`
  1221  }
  1222  
  1223  func (s *CommonFeatureState) MarshalJSON() ([]byte, error) {
  1224  	type NoMethod CommonFeatureState
  1225  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1226  }
  1227  
  1228  // CommonFleetDefaultMemberConfigSpec: CommonFleetDefaultMemberConfigSpec
  1229  // contains default configuration information for memberships of a fleet
  1230  type CommonFleetDefaultMemberConfigSpec struct {
  1231  	// Configmanagement: Config Management-specific spec.
  1232  	Configmanagement *ConfigManagementMembershipSpec `json:"configmanagement,omitempty"`
  1233  	// Identityservice: Identity Service-specific spec.
  1234  	Identityservice *IdentityServiceMembershipSpec `json:"identityservice,omitempty"`
  1235  	// Mesh: Anthos Service Mesh-specific spec
  1236  	Mesh *ServiceMeshMembershipSpec `json:"mesh,omitempty"`
  1237  	// Policycontroller: Policy Controller spec.
  1238  	Policycontroller *PolicyControllerMembershipSpec `json:"policycontroller,omitempty"`
  1239  	// ForceSendFields is a list of field names (e.g. "Configmanagement") to
  1240  	// unconditionally include in API requests. By default, fields with empty or
  1241  	// default values are omitted from API requests. See
  1242  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1243  	// details.
  1244  	ForceSendFields []string `json:"-"`
  1245  	// NullFields is a list of field names (e.g. "Configmanagement") to include in
  1246  	// API requests with the JSON null value. By default, fields with empty values
  1247  	// are omitted from API requests. See
  1248  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1249  	NullFields []string `json:"-"`
  1250  }
  1251  
  1252  func (s *CommonFleetDefaultMemberConfigSpec) MarshalJSON() ([]byte, error) {
  1253  	type NoMethod CommonFleetDefaultMemberConfigSpec
  1254  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1255  }
  1256  
  1257  // ConfigManagementBinauthzConfig: Configuration for Binauthz
  1258  type ConfigManagementBinauthzConfig struct {
  1259  	// Enabled: Whether binauthz is enabled in this cluster.
  1260  	Enabled bool `json:"enabled,omitempty"`
  1261  	// ForceSendFields is a list of field names (e.g. "Enabled") to unconditionally
  1262  	// include in API requests. By default, fields with empty or default values are
  1263  	// omitted from API requests. See
  1264  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1265  	// details.
  1266  	ForceSendFields []string `json:"-"`
  1267  	// NullFields is a list of field names (e.g. "Enabled") to include in API
  1268  	// requests with the JSON null value. By default, fields with empty values are
  1269  	// omitted from API requests. See
  1270  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1271  	NullFields []string `json:"-"`
  1272  }
  1273  
  1274  func (s *ConfigManagementBinauthzConfig) MarshalJSON() ([]byte, error) {
  1275  	type NoMethod ConfigManagementBinauthzConfig
  1276  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1277  }
  1278  
  1279  // ConfigManagementBinauthzState: State for Binauthz
  1280  type ConfigManagementBinauthzState struct {
  1281  	// Version: The version of binauthz that is installed.
  1282  	Version *ConfigManagementBinauthzVersion `json:"version,omitempty"`
  1283  	// Webhook: The state of the binauthz webhook.
  1284  	//
  1285  	// Possible values:
  1286  	//   "DEPLOYMENT_STATE_UNSPECIFIED" - Deployment's state cannot be determined
  1287  	//   "NOT_INSTALLED" - Deployment is not installed
  1288  	//   "INSTALLED" - Deployment is installed
  1289  	//   "ERROR" - Deployment was attempted to be installed, but has errors
  1290  	//   "PENDING" - Deployment is installing or terminating
  1291  	Webhook string `json:"webhook,omitempty"`
  1292  	// ForceSendFields is a list of field names (e.g. "Version") to unconditionally
  1293  	// include in API requests. By default, fields with empty or default values are
  1294  	// omitted from API requests. See
  1295  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1296  	// details.
  1297  	ForceSendFields []string `json:"-"`
  1298  	// NullFields is a list of field names (e.g. "Version") to include in API
  1299  	// requests with the JSON null value. By default, fields with empty values are
  1300  	// omitted from API requests. See
  1301  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1302  	NullFields []string `json:"-"`
  1303  }
  1304  
  1305  func (s *ConfigManagementBinauthzState) MarshalJSON() ([]byte, error) {
  1306  	type NoMethod ConfigManagementBinauthzState
  1307  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1308  }
  1309  
  1310  // ConfigManagementBinauthzVersion: The version of binauthz.
  1311  type ConfigManagementBinauthzVersion struct {
  1312  	// WebhookVersion: The version of the binauthz webhook.
  1313  	WebhookVersion string `json:"webhookVersion,omitempty"`
  1314  	// ForceSendFields is a list of field names (e.g. "WebhookVersion") 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. "WebhookVersion") to include in
  1321  	// API requests with the JSON null value. By default, fields with empty values
  1322  	// are 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 *ConfigManagementBinauthzVersion) MarshalJSON() ([]byte, error) {
  1328  	type NoMethod ConfigManagementBinauthzVersion
  1329  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1330  }
  1331  
  1332  // ConfigManagementConfigSync: Configuration for Config Sync
  1333  type ConfigManagementConfigSync struct {
  1334  	// AllowVerticalScale: Set to true to allow the vertical scaling. Defaults to
  1335  	// false which disallows vertical scaling. This field is deprecated.
  1336  	AllowVerticalScale bool `json:"allowVerticalScale,omitempty"`
  1337  	// Enabled: Enables the installation of ConfigSync. If set to true, ConfigSync
  1338  	// resources will be created and the other ConfigSync fields will be applied if
  1339  	// exist. If set to false, all other ConfigSync fields will be ignored,
  1340  	// ConfigSync resources will be deleted. If omitted, ConfigSync resources will
  1341  	// be managed depends on the presence of the git or oci field.
  1342  	Enabled bool `json:"enabled,omitempty"`
  1343  	// Git: Git repo configuration for the cluster.
  1344  	Git *ConfigManagementGitConfig `json:"git,omitempty"`
  1345  	// MetricsGcpServiceAccountEmail: The Email of the Google Cloud Service Account
  1346  	// (GSA) used for exporting Config Sync metrics to Cloud Monitoring and Cloud
  1347  	// Monarch when Workload Identity is enabled. The GSA should have the
  1348  	// Monitoring Metric Writer (roles/monitoring.metricWriter) IAM role. The
  1349  	// Kubernetes ServiceAccount `default` in the namespace
  1350  	// `config-management-monitoring` should be bound to the GSA.
  1351  	MetricsGcpServiceAccountEmail string `json:"metricsGcpServiceAccountEmail,omitempty"`
  1352  	// Oci: OCI repo configuration for the cluster
  1353  	Oci *ConfigManagementOciConfig `json:"oci,omitempty"`
  1354  	// PreventDrift: Set to true to enable the Config Sync admission webhook to
  1355  	// prevent drifts. If set to `false`, disables the Config Sync admission
  1356  	// webhook and does not prevent drifts.
  1357  	PreventDrift bool `json:"preventDrift,omitempty"`
  1358  	// SourceFormat: Specifies whether the Config Sync Repo is in "hierarchical" or
  1359  	// "unstructured" mode.
  1360  	SourceFormat string `json:"sourceFormat,omitempty"`
  1361  	// ForceSendFields is a list of field names (e.g. "AllowVerticalScale") to
  1362  	// unconditionally include in API requests. By default, fields with empty or
  1363  	// default values are omitted from API requests. See
  1364  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1365  	// details.
  1366  	ForceSendFields []string `json:"-"`
  1367  	// NullFields is a list of field names (e.g. "AllowVerticalScale") to include
  1368  	// in API requests with the JSON null value. By default, fields with empty
  1369  	// values are omitted from API requests. See
  1370  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1371  	NullFields []string `json:"-"`
  1372  }
  1373  
  1374  func (s *ConfigManagementConfigSync) MarshalJSON() ([]byte, error) {
  1375  	type NoMethod ConfigManagementConfigSync
  1376  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1377  }
  1378  
  1379  // ConfigManagementConfigSyncDeploymentState: The state of ConfigSync's
  1380  // deployment on a cluster
  1381  type ConfigManagementConfigSyncDeploymentState struct {
  1382  	// AdmissionWebhook: Deployment state of admission-webhook
  1383  	//
  1384  	// Possible values:
  1385  	//   "DEPLOYMENT_STATE_UNSPECIFIED" - Deployment's state cannot be determined
  1386  	//   "NOT_INSTALLED" - Deployment is not installed
  1387  	//   "INSTALLED" - Deployment is installed
  1388  	//   "ERROR" - Deployment was attempted to be installed, but has errors
  1389  	//   "PENDING" - Deployment is installing or terminating
  1390  	AdmissionWebhook string `json:"admissionWebhook,omitempty"`
  1391  	// GitSync: Deployment state of the git-sync pod
  1392  	//
  1393  	// Possible values:
  1394  	//   "DEPLOYMENT_STATE_UNSPECIFIED" - Deployment's state cannot be determined
  1395  	//   "NOT_INSTALLED" - Deployment is not installed
  1396  	//   "INSTALLED" - Deployment is installed
  1397  	//   "ERROR" - Deployment was attempted to be installed, but has errors
  1398  	//   "PENDING" - Deployment is installing or terminating
  1399  	GitSync string `json:"gitSync,omitempty"`
  1400  	// Importer: Deployment state of the importer pod
  1401  	//
  1402  	// Possible values:
  1403  	//   "DEPLOYMENT_STATE_UNSPECIFIED" - Deployment's state cannot be determined
  1404  	//   "NOT_INSTALLED" - Deployment is not installed
  1405  	//   "INSTALLED" - Deployment is installed
  1406  	//   "ERROR" - Deployment was attempted to be installed, but has errors
  1407  	//   "PENDING" - Deployment is installing or terminating
  1408  	Importer string `json:"importer,omitempty"`
  1409  	// Monitor: Deployment state of the monitor pod
  1410  	//
  1411  	// Possible values:
  1412  	//   "DEPLOYMENT_STATE_UNSPECIFIED" - Deployment's state cannot be determined
  1413  	//   "NOT_INSTALLED" - Deployment is not installed
  1414  	//   "INSTALLED" - Deployment is installed
  1415  	//   "ERROR" - Deployment was attempted to be installed, but has errors
  1416  	//   "PENDING" - Deployment is installing or terminating
  1417  	Monitor string `json:"monitor,omitempty"`
  1418  	// ReconcilerManager: Deployment state of reconciler-manager pod
  1419  	//
  1420  	// Possible values:
  1421  	//   "DEPLOYMENT_STATE_UNSPECIFIED" - Deployment's state cannot be determined
  1422  	//   "NOT_INSTALLED" - Deployment is not installed
  1423  	//   "INSTALLED" - Deployment is installed
  1424  	//   "ERROR" - Deployment was attempted to be installed, but has errors
  1425  	//   "PENDING" - Deployment is installing or terminating
  1426  	ReconcilerManager string `json:"reconcilerManager,omitempty"`
  1427  	// RootReconciler: Deployment state of root-reconciler
  1428  	//
  1429  	// Possible values:
  1430  	//   "DEPLOYMENT_STATE_UNSPECIFIED" - Deployment's state cannot be determined
  1431  	//   "NOT_INSTALLED" - Deployment is not installed
  1432  	//   "INSTALLED" - Deployment is installed
  1433  	//   "ERROR" - Deployment was attempted to be installed, but has errors
  1434  	//   "PENDING" - Deployment is installing or terminating
  1435  	RootReconciler string `json:"rootReconciler,omitempty"`
  1436  	// Syncer: Deployment state of the syncer pod
  1437  	//
  1438  	// Possible values:
  1439  	//   "DEPLOYMENT_STATE_UNSPECIFIED" - Deployment's state cannot be determined
  1440  	//   "NOT_INSTALLED" - Deployment is not installed
  1441  	//   "INSTALLED" - Deployment is installed
  1442  	//   "ERROR" - Deployment was attempted to be installed, but has errors
  1443  	//   "PENDING" - Deployment is installing or terminating
  1444  	Syncer string `json:"syncer,omitempty"`
  1445  	// ForceSendFields is a list of field names (e.g. "AdmissionWebhook") to
  1446  	// unconditionally include in API requests. By default, fields with empty or
  1447  	// default values are omitted from API requests. See
  1448  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1449  	// details.
  1450  	ForceSendFields []string `json:"-"`
  1451  	// NullFields is a list of field names (e.g. "AdmissionWebhook") to include in
  1452  	// API requests with the JSON null value. By default, fields with empty values
  1453  	// are omitted from API requests. See
  1454  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1455  	NullFields []string `json:"-"`
  1456  }
  1457  
  1458  func (s *ConfigManagementConfigSyncDeploymentState) MarshalJSON() ([]byte, error) {
  1459  	type NoMethod ConfigManagementConfigSyncDeploymentState
  1460  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1461  }
  1462  
  1463  // ConfigManagementConfigSyncError: Errors pertaining to the installation of
  1464  // Config Sync
  1465  type ConfigManagementConfigSyncError struct {
  1466  	// ErrorMessage: A string representing the user facing error message
  1467  	ErrorMessage string `json:"errorMessage,omitempty"`
  1468  	// ForceSendFields is a list of field names (e.g. "ErrorMessage") to
  1469  	// unconditionally include in API requests. By default, fields with empty or
  1470  	// default values are omitted from API requests. See
  1471  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1472  	// details.
  1473  	ForceSendFields []string `json:"-"`
  1474  	// NullFields is a list of field names (e.g. "ErrorMessage") to include in API
  1475  	// requests with the JSON null value. By default, fields with empty values are
  1476  	// omitted from API requests. See
  1477  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1478  	NullFields []string `json:"-"`
  1479  }
  1480  
  1481  func (s *ConfigManagementConfigSyncError) MarshalJSON() ([]byte, error) {
  1482  	type NoMethod ConfigManagementConfigSyncError
  1483  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1484  }
  1485  
  1486  // ConfigManagementConfigSyncState: State information for ConfigSync
  1487  type ConfigManagementConfigSyncState struct {
  1488  	// DeploymentState: Information about the deployment of ConfigSync, including
  1489  	// the version of the various Pods deployed
  1490  	DeploymentState *ConfigManagementConfigSyncDeploymentState `json:"deploymentState,omitempty"`
  1491  	// Errors: Errors pertaining to the installation of Config Sync.
  1492  	Errors []*ConfigManagementConfigSyncError `json:"errors,omitempty"`
  1493  	// ReposyncCrd: The state of the Reposync CRD
  1494  	//
  1495  	// Possible values:
  1496  	//   "CRD_STATE_UNSPECIFIED" - CRD's state cannot be determined
  1497  	//   "NOT_INSTALLED" - CRD is not installed
  1498  	//   "INSTALLED" - CRD is installed
  1499  	//   "TERMINATING" - CRD is terminating (i.e., it has been deleted and is
  1500  	// cleaning up)
  1501  	//   "INSTALLING" - CRD is installing
  1502  	ReposyncCrd string `json:"reposyncCrd,omitempty"`
  1503  	// RootsyncCrd: The state of the RootSync CRD
  1504  	//
  1505  	// Possible values:
  1506  	//   "CRD_STATE_UNSPECIFIED" - CRD's state cannot be determined
  1507  	//   "NOT_INSTALLED" - CRD is not installed
  1508  	//   "INSTALLED" - CRD is installed
  1509  	//   "TERMINATING" - CRD is terminating (i.e., it has been deleted and is
  1510  	// cleaning up)
  1511  	//   "INSTALLING" - CRD is installing
  1512  	RootsyncCrd string `json:"rootsyncCrd,omitempty"`
  1513  	// State: The state of CS This field summarizes the other fields in this
  1514  	// message.
  1515  	//
  1516  	// Possible values:
  1517  	//   "STATE_UNSPECIFIED" - CS's state cannot be determined.
  1518  	//   "CONFIG_SYNC_NOT_INSTALLED" - CS is not installed.
  1519  	//   "CONFIG_SYNC_INSTALLED" - The expected CS version is installed
  1520  	// successfully.
  1521  	//   "CONFIG_SYNC_ERROR" - CS encounters errors.
  1522  	//   "CONFIG_SYNC_PENDING" - CS is installing or terminating.
  1523  	State string `json:"state,omitempty"`
  1524  	// SyncState: The state of ConfigSync's process to sync configs to a cluster
  1525  	SyncState *ConfigManagementSyncState `json:"syncState,omitempty"`
  1526  	// Version: The version of ConfigSync deployed
  1527  	Version *ConfigManagementConfigSyncVersion `json:"version,omitempty"`
  1528  	// ForceSendFields is a list of field names (e.g. "DeploymentState") to
  1529  	// unconditionally include in API requests. By default, fields with empty or
  1530  	// default values are omitted from API requests. See
  1531  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1532  	// details.
  1533  	ForceSendFields []string `json:"-"`
  1534  	// NullFields is a list of field names (e.g. "DeploymentState") to include in
  1535  	// API requests with the JSON null value. By default, fields with empty values
  1536  	// are omitted from API requests. See
  1537  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1538  	NullFields []string `json:"-"`
  1539  }
  1540  
  1541  func (s *ConfigManagementConfigSyncState) MarshalJSON() ([]byte, error) {
  1542  	type NoMethod ConfigManagementConfigSyncState
  1543  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1544  }
  1545  
  1546  // ConfigManagementConfigSyncVersion: Specific versioning information
  1547  // pertaining to ConfigSync's Pods
  1548  type ConfigManagementConfigSyncVersion struct {
  1549  	// AdmissionWebhook: Version of the deployed admission_webhook pod
  1550  	AdmissionWebhook string `json:"admissionWebhook,omitempty"`
  1551  	// GitSync: Version of the deployed git-sync pod
  1552  	GitSync string `json:"gitSync,omitempty"`
  1553  	// Importer: Version of the deployed importer pod
  1554  	Importer string `json:"importer,omitempty"`
  1555  	// Monitor: Version of the deployed monitor pod
  1556  	Monitor string `json:"monitor,omitempty"`
  1557  	// ReconcilerManager: Version of the deployed reconciler-manager pod
  1558  	ReconcilerManager string `json:"reconcilerManager,omitempty"`
  1559  	// RootReconciler: Version of the deployed reconciler container in
  1560  	// root-reconciler pod
  1561  	RootReconciler string `json:"rootReconciler,omitempty"`
  1562  	// Syncer: Version of the deployed syncer pod
  1563  	Syncer string `json:"syncer,omitempty"`
  1564  	// ForceSendFields is a list of field names (e.g. "AdmissionWebhook") to
  1565  	// unconditionally include in API requests. By default, fields with empty or
  1566  	// default values are omitted from API requests. See
  1567  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1568  	// details.
  1569  	ForceSendFields []string `json:"-"`
  1570  	// NullFields is a list of field names (e.g. "AdmissionWebhook") to include in
  1571  	// API requests with the JSON null value. By default, fields with empty values
  1572  	// are omitted from API requests. See
  1573  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1574  	NullFields []string `json:"-"`
  1575  }
  1576  
  1577  func (s *ConfigManagementConfigSyncVersion) MarshalJSON() ([]byte, error) {
  1578  	type NoMethod ConfigManagementConfigSyncVersion
  1579  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1580  }
  1581  
  1582  // ConfigManagementErrorResource: Model for a config file in the git repo with
  1583  // an associated Sync error
  1584  type ConfigManagementErrorResource struct {
  1585  	// ResourceGvk: Group/version/kind of the resource that is causing an error
  1586  	ResourceGvk *ConfigManagementGroupVersionKind `json:"resourceGvk,omitempty"`
  1587  	// ResourceName: Metadata name of the resource that is causing an error
  1588  	ResourceName string `json:"resourceName,omitempty"`
  1589  	// ResourceNamespace: Namespace of the resource that is causing an error
  1590  	ResourceNamespace string `json:"resourceNamespace,omitempty"`
  1591  	// SourcePath: Path in the git repo of the erroneous config
  1592  	SourcePath string `json:"sourcePath,omitempty"`
  1593  	// ForceSendFields is a list of field names (e.g. "ResourceGvk") to
  1594  	// unconditionally include in API requests. By default, fields with empty or
  1595  	// default values are omitted from API requests. See
  1596  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1597  	// details.
  1598  	ForceSendFields []string `json:"-"`
  1599  	// NullFields is a list of field names (e.g. "ResourceGvk") to include in API
  1600  	// requests with the JSON null value. By default, fields with empty values are
  1601  	// omitted from API requests. See
  1602  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1603  	NullFields []string `json:"-"`
  1604  }
  1605  
  1606  func (s *ConfigManagementErrorResource) MarshalJSON() ([]byte, error) {
  1607  	type NoMethod ConfigManagementErrorResource
  1608  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1609  }
  1610  
  1611  // ConfigManagementGatekeeperDeploymentState: State of Policy Controller
  1612  // installation.
  1613  type ConfigManagementGatekeeperDeploymentState struct {
  1614  	// GatekeeperAudit: Status of gatekeeper-audit deployment.
  1615  	//
  1616  	// Possible values:
  1617  	//   "DEPLOYMENT_STATE_UNSPECIFIED" - Deployment's state cannot be determined
  1618  	//   "NOT_INSTALLED" - Deployment is not installed
  1619  	//   "INSTALLED" - Deployment is installed
  1620  	//   "ERROR" - Deployment was attempted to be installed, but has errors
  1621  	//   "PENDING" - Deployment is installing or terminating
  1622  	GatekeeperAudit string `json:"gatekeeperAudit,omitempty"`
  1623  	// GatekeeperControllerManagerState: Status of gatekeeper-controller-manager
  1624  	// pod.
  1625  	//
  1626  	// Possible values:
  1627  	//   "DEPLOYMENT_STATE_UNSPECIFIED" - Deployment's state cannot be determined
  1628  	//   "NOT_INSTALLED" - Deployment is not installed
  1629  	//   "INSTALLED" - Deployment is installed
  1630  	//   "ERROR" - Deployment was attempted to be installed, but has errors
  1631  	//   "PENDING" - Deployment is installing or terminating
  1632  	GatekeeperControllerManagerState string `json:"gatekeeperControllerManagerState,omitempty"`
  1633  	// GatekeeperMutation: Status of the pod serving the mutation webhook.
  1634  	//
  1635  	// Possible values:
  1636  	//   "DEPLOYMENT_STATE_UNSPECIFIED" - Deployment's state cannot be determined
  1637  	//   "NOT_INSTALLED" - Deployment is not installed
  1638  	//   "INSTALLED" - Deployment is installed
  1639  	//   "ERROR" - Deployment was attempted to be installed, but has errors
  1640  	//   "PENDING" - Deployment is installing or terminating
  1641  	GatekeeperMutation string `json:"gatekeeperMutation,omitempty"`
  1642  	// ForceSendFields is a list of field names (e.g. "GatekeeperAudit") to
  1643  	// unconditionally include in API requests. By default, fields with empty or
  1644  	// default values are omitted from API requests. See
  1645  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1646  	// details.
  1647  	ForceSendFields []string `json:"-"`
  1648  	// NullFields is a list of field names (e.g. "GatekeeperAudit") to include in
  1649  	// API requests with the JSON null value. By default, fields with empty values
  1650  	// are omitted from API requests. See
  1651  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1652  	NullFields []string `json:"-"`
  1653  }
  1654  
  1655  func (s *ConfigManagementGatekeeperDeploymentState) MarshalJSON() ([]byte, error) {
  1656  	type NoMethod ConfigManagementGatekeeperDeploymentState
  1657  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1658  }
  1659  
  1660  // ConfigManagementGitConfig: Git repo configuration for a single cluster.
  1661  type ConfigManagementGitConfig struct {
  1662  	// GcpServiceAccountEmail: The Google Cloud Service Account Email used for auth
  1663  	// when secret_type is gcpServiceAccount.
  1664  	GcpServiceAccountEmail string `json:"gcpServiceAccountEmail,omitempty"`
  1665  	// HttpsProxy: URL for the HTTPS proxy to be used when communicating with the
  1666  	// Git repo.
  1667  	HttpsProxy string `json:"httpsProxy,omitempty"`
  1668  	// PolicyDir: The path within the Git repository that represents the top level
  1669  	// of the repo to sync. Default: the root directory of the repository.
  1670  	PolicyDir string `json:"policyDir,omitempty"`
  1671  	// SecretType: Type of secret configured for access to the Git repo. Must be
  1672  	// one of ssh, cookiefile, gcenode, token, gcpserviceaccount or none. The
  1673  	// validation of this is case-sensitive. Required.
  1674  	SecretType string `json:"secretType,omitempty"`
  1675  	// SyncBranch: The branch of the repository to sync from. Default: master.
  1676  	SyncBranch string `json:"syncBranch,omitempty"`
  1677  	// SyncRepo: The URL of the Git repository to use as the source of truth.
  1678  	SyncRepo string `json:"syncRepo,omitempty"`
  1679  	// SyncRev: Git revision (tag or hash) to check out. Default HEAD.
  1680  	SyncRev string `json:"syncRev,omitempty"`
  1681  	// SyncWaitSecs: Period in seconds between consecutive syncs. Default: 15.
  1682  	SyncWaitSecs int64 `json:"syncWaitSecs,omitempty,string"`
  1683  	// ForceSendFields is a list of field names (e.g. "GcpServiceAccountEmail") to
  1684  	// unconditionally include in API requests. By default, fields with empty or
  1685  	// default values are omitted from API requests. See
  1686  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1687  	// details.
  1688  	ForceSendFields []string `json:"-"`
  1689  	// NullFields is a list of field names (e.g. "GcpServiceAccountEmail") to
  1690  	// include in API requests with the JSON null value. By default, fields with
  1691  	// empty values are omitted from API requests. See
  1692  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1693  	NullFields []string `json:"-"`
  1694  }
  1695  
  1696  func (s *ConfigManagementGitConfig) MarshalJSON() ([]byte, error) {
  1697  	type NoMethod ConfigManagementGitConfig
  1698  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1699  }
  1700  
  1701  // ConfigManagementGroupVersionKind: A Kubernetes object's GVK
  1702  type ConfigManagementGroupVersionKind struct {
  1703  	// Group: Kubernetes Group
  1704  	Group string `json:"group,omitempty"`
  1705  	// Kind: Kubernetes Kind
  1706  	Kind string `json:"kind,omitempty"`
  1707  	// Version: Kubernetes Version
  1708  	Version string `json:"version,omitempty"`
  1709  	// ForceSendFields is a list of field names (e.g. "Group") to unconditionally
  1710  	// include in API requests. By default, fields with empty or default values are
  1711  	// omitted from API requests. See
  1712  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1713  	// details.
  1714  	ForceSendFields []string `json:"-"`
  1715  	// NullFields is a list of field names (e.g. "Group") to include in API
  1716  	// requests with the JSON null value. By default, fields with empty values are
  1717  	// omitted from API requests. See
  1718  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1719  	NullFields []string `json:"-"`
  1720  }
  1721  
  1722  func (s *ConfigManagementGroupVersionKind) MarshalJSON() ([]byte, error) {
  1723  	type NoMethod ConfigManagementGroupVersionKind
  1724  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1725  }
  1726  
  1727  // ConfigManagementHierarchyControllerConfig: Configuration for Hierarchy
  1728  // Controller
  1729  type ConfigManagementHierarchyControllerConfig struct {
  1730  	// EnableHierarchicalResourceQuota: Whether hierarchical resource quota is
  1731  	// enabled in this cluster.
  1732  	EnableHierarchicalResourceQuota bool `json:"enableHierarchicalResourceQuota,omitempty"`
  1733  	// EnablePodTreeLabels: Whether pod tree labels are enabled in this cluster.
  1734  	EnablePodTreeLabels bool `json:"enablePodTreeLabels,omitempty"`
  1735  	// Enabled: Whether Hierarchy Controller is enabled in this cluster.
  1736  	Enabled bool `json:"enabled,omitempty"`
  1737  	// ForceSendFields is a list of field names (e.g.
  1738  	// "EnableHierarchicalResourceQuota") to unconditionally include in API
  1739  	// requests. By default, fields with empty or default values are omitted from
  1740  	// API requests. See
  1741  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1742  	// details.
  1743  	ForceSendFields []string `json:"-"`
  1744  	// NullFields is a list of field names (e.g. "EnableHierarchicalResourceQuota")
  1745  	// to include in API requests with the JSON null value. By default, fields with
  1746  	// empty values are omitted from API requests. See
  1747  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1748  	NullFields []string `json:"-"`
  1749  }
  1750  
  1751  func (s *ConfigManagementHierarchyControllerConfig) MarshalJSON() ([]byte, error) {
  1752  	type NoMethod ConfigManagementHierarchyControllerConfig
  1753  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1754  }
  1755  
  1756  // ConfigManagementHierarchyControllerDeploymentState: Deployment state for
  1757  // Hierarchy Controller
  1758  type ConfigManagementHierarchyControllerDeploymentState struct {
  1759  	// Extension: The deployment state for Hierarchy Controller extension (e.g.
  1760  	// v0.7.0-hc.1)
  1761  	//
  1762  	// Possible values:
  1763  	//   "DEPLOYMENT_STATE_UNSPECIFIED" - Deployment's state cannot be determined
  1764  	//   "NOT_INSTALLED" - Deployment is not installed
  1765  	//   "INSTALLED" - Deployment is installed
  1766  	//   "ERROR" - Deployment was attempted to be installed, but has errors
  1767  	//   "PENDING" - Deployment is installing or terminating
  1768  	Extension string `json:"extension,omitempty"`
  1769  	// Hnc: The deployment state for open source HNC (e.g. v0.7.0-hc.0)
  1770  	//
  1771  	// Possible values:
  1772  	//   "DEPLOYMENT_STATE_UNSPECIFIED" - Deployment's state cannot be determined
  1773  	//   "NOT_INSTALLED" - Deployment is not installed
  1774  	//   "INSTALLED" - Deployment is installed
  1775  	//   "ERROR" - Deployment was attempted to be installed, but has errors
  1776  	//   "PENDING" - Deployment is installing or terminating
  1777  	Hnc string `json:"hnc,omitempty"`
  1778  	// ForceSendFields is a list of field names (e.g. "Extension") to
  1779  	// unconditionally include in API requests. By default, fields with empty or
  1780  	// default values are omitted from API requests. See
  1781  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1782  	// details.
  1783  	ForceSendFields []string `json:"-"`
  1784  	// NullFields is a list of field names (e.g. "Extension") to include in API
  1785  	// requests with the JSON null value. By default, fields with empty values are
  1786  	// omitted from API requests. See
  1787  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1788  	NullFields []string `json:"-"`
  1789  }
  1790  
  1791  func (s *ConfigManagementHierarchyControllerDeploymentState) MarshalJSON() ([]byte, error) {
  1792  	type NoMethod ConfigManagementHierarchyControllerDeploymentState
  1793  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1794  }
  1795  
  1796  // ConfigManagementHierarchyControllerState: State for Hierarchy Controller
  1797  type ConfigManagementHierarchyControllerState struct {
  1798  	// State: The deployment state for Hierarchy Controller
  1799  	State *ConfigManagementHierarchyControllerDeploymentState `json:"state,omitempty"`
  1800  	// Version: The version for Hierarchy Controller
  1801  	Version *ConfigManagementHierarchyControllerVersion `json:"version,omitempty"`
  1802  	// ForceSendFields is a list of field names (e.g. "State") to unconditionally
  1803  	// include in API requests. By default, fields with empty or default values are
  1804  	// omitted from API requests. See
  1805  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1806  	// details.
  1807  	ForceSendFields []string `json:"-"`
  1808  	// NullFields is a list of field names (e.g. "State") to include in API
  1809  	// requests with the JSON null value. By default, fields with empty values are
  1810  	// omitted from API requests. See
  1811  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1812  	NullFields []string `json:"-"`
  1813  }
  1814  
  1815  func (s *ConfigManagementHierarchyControllerState) MarshalJSON() ([]byte, error) {
  1816  	type NoMethod ConfigManagementHierarchyControllerState
  1817  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1818  }
  1819  
  1820  // ConfigManagementHierarchyControllerVersion: Version for Hierarchy Controller
  1821  type ConfigManagementHierarchyControllerVersion struct {
  1822  	// Extension: Version for Hierarchy Controller extension
  1823  	Extension string `json:"extension,omitempty"`
  1824  	// Hnc: Version for open source HNC
  1825  	Hnc string `json:"hnc,omitempty"`
  1826  	// ForceSendFields is a list of field names (e.g. "Extension") to
  1827  	// unconditionally include in API requests. By default, fields with empty or
  1828  	// default values are omitted from API requests. See
  1829  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1830  	// details.
  1831  	ForceSendFields []string `json:"-"`
  1832  	// NullFields is a list of field names (e.g. "Extension") to include in API
  1833  	// requests with the JSON null value. By default, fields with empty values are
  1834  	// omitted from API requests. See
  1835  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1836  	NullFields []string `json:"-"`
  1837  }
  1838  
  1839  func (s *ConfigManagementHierarchyControllerVersion) MarshalJSON() ([]byte, error) {
  1840  	type NoMethod ConfigManagementHierarchyControllerVersion
  1841  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1842  }
  1843  
  1844  // ConfigManagementInstallError: Errors pertaining to the installation of ACM
  1845  type ConfigManagementInstallError struct {
  1846  	// ErrorMessage: A string representing the user facing error message
  1847  	ErrorMessage string `json:"errorMessage,omitempty"`
  1848  	// ForceSendFields is a list of field names (e.g. "ErrorMessage") to
  1849  	// unconditionally include in API requests. By default, fields with empty or
  1850  	// default values are omitted from API requests. See
  1851  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1852  	// details.
  1853  	ForceSendFields []string `json:"-"`
  1854  	// NullFields is a list of field names (e.g. "ErrorMessage") to include in API
  1855  	// requests with the JSON null value. By default, fields with empty values are
  1856  	// omitted from API requests. See
  1857  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1858  	NullFields []string `json:"-"`
  1859  }
  1860  
  1861  func (s *ConfigManagementInstallError) MarshalJSON() ([]byte, error) {
  1862  	type NoMethod ConfigManagementInstallError
  1863  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1864  }
  1865  
  1866  // ConfigManagementMembershipSpec: **Anthos Config Management**: Configuration
  1867  // for a single cluster. Intended to parallel the ConfigManagement CR.
  1868  type ConfigManagementMembershipSpec struct {
  1869  	// Binauthz: Binauthz conifguration for the cluster. Deprecated: This field
  1870  	// will be ignored and should not be set.
  1871  	Binauthz *ConfigManagementBinauthzConfig `json:"binauthz,omitempty"`
  1872  	// Cluster: The user-specified cluster name used by Config Sync
  1873  	// cluster-name-selector annotation or ClusterSelector, for applying configs to
  1874  	// only a subset of clusters. Omit this field if the cluster's fleet membership
  1875  	// name is used by Config Sync cluster-name-selector annotation or
  1876  	// ClusterSelector. Set this field if a name different from the cluster's fleet
  1877  	// membership name is used by Config Sync cluster-name-selector annotation or
  1878  	// ClusterSelector.
  1879  	Cluster string `json:"cluster,omitempty"`
  1880  	// ConfigSync: Config Sync configuration for the cluster.
  1881  	ConfigSync *ConfigManagementConfigSync `json:"configSync,omitempty"`
  1882  	// HierarchyController: Hierarchy Controller configuration for the cluster.
  1883  	HierarchyController *ConfigManagementHierarchyControllerConfig `json:"hierarchyController,omitempty"`
  1884  	// Management: Enables automatic Feature management.
  1885  	//
  1886  	// Possible values:
  1887  	//   "MANAGEMENT_UNSPECIFIED" - Unspecified
  1888  	//   "MANAGEMENT_AUTOMATIC" - Google will manage the Feature for the cluster.
  1889  	//   "MANAGEMENT_MANUAL" - User will manually manage the Feature for the
  1890  	// cluster.
  1891  	Management string `json:"management,omitempty"`
  1892  	// PolicyController: Policy Controller configuration for the cluster.
  1893  	PolicyController *ConfigManagementPolicyController `json:"policyController,omitempty"`
  1894  	// Version: Version of ACM installed.
  1895  	Version string `json:"version,omitempty"`
  1896  	// ForceSendFields is a list of field names (e.g. "Binauthz") to
  1897  	// unconditionally include in API requests. By default, fields with empty or
  1898  	// default values are omitted from API requests. See
  1899  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1900  	// details.
  1901  	ForceSendFields []string `json:"-"`
  1902  	// NullFields is a list of field names (e.g. "Binauthz") to include in API
  1903  	// requests with the JSON null value. By default, fields with empty values are
  1904  	// omitted from API requests. See
  1905  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1906  	NullFields []string `json:"-"`
  1907  }
  1908  
  1909  func (s *ConfigManagementMembershipSpec) MarshalJSON() ([]byte, error) {
  1910  	type NoMethod ConfigManagementMembershipSpec
  1911  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1912  }
  1913  
  1914  // ConfigManagementMembershipState: **Anthos Config Management**: State for a
  1915  // single cluster.
  1916  type ConfigManagementMembershipState struct {
  1917  	// BinauthzState: Binauthz status
  1918  	BinauthzState *ConfigManagementBinauthzState `json:"binauthzState,omitempty"`
  1919  	// ClusterName: This field is set to the `cluster_name` field of the Membership
  1920  	// Spec if it is not empty. Otherwise, it is set to the cluster's fleet
  1921  	// membership name.
  1922  	ClusterName string `json:"clusterName,omitempty"`
  1923  	// ConfigSyncState: Current sync status
  1924  	ConfigSyncState *ConfigManagementConfigSyncState `json:"configSyncState,omitempty"`
  1925  	// HierarchyControllerState: Hierarchy Controller status
  1926  	HierarchyControllerState *ConfigManagementHierarchyControllerState `json:"hierarchyControllerState,omitempty"`
  1927  	// MembershipSpec: Membership configuration in the cluster. This represents the
  1928  	// actual state in the cluster, while the MembershipSpec in the FeatureSpec
  1929  	// represents the intended state
  1930  	MembershipSpec *ConfigManagementMembershipSpec `json:"membershipSpec,omitempty"`
  1931  	// OperatorState: Current install status of ACM's Operator
  1932  	OperatorState *ConfigManagementOperatorState `json:"operatorState,omitempty"`
  1933  	// PolicyControllerState: PolicyController status
  1934  	PolicyControllerState *ConfigManagementPolicyControllerState `json:"policyControllerState,omitempty"`
  1935  	// ForceSendFields is a list of field names (e.g. "BinauthzState") to
  1936  	// unconditionally include in API requests. By default, fields with empty or
  1937  	// default values are omitted from API requests. See
  1938  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1939  	// details.
  1940  	ForceSendFields []string `json:"-"`
  1941  	// NullFields is a list of field names (e.g. "BinauthzState") to include in API
  1942  	// requests with the JSON null value. By default, fields with empty values are
  1943  	// omitted from API requests. See
  1944  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1945  	NullFields []string `json:"-"`
  1946  }
  1947  
  1948  func (s *ConfigManagementMembershipState) MarshalJSON() ([]byte, error) {
  1949  	type NoMethod ConfigManagementMembershipState
  1950  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1951  }
  1952  
  1953  // ConfigManagementOciConfig: OCI repo configuration for a single cluster
  1954  type ConfigManagementOciConfig struct {
  1955  	// GcpServiceAccountEmail: The Google Cloud Service Account Email used for auth
  1956  	// when secret_type is gcpServiceAccount.
  1957  	GcpServiceAccountEmail string `json:"gcpServiceAccountEmail,omitempty"`
  1958  	// PolicyDir: The absolute path of the directory that contains the local
  1959  	// resources. Default: the root directory of the image.
  1960  	PolicyDir string `json:"policyDir,omitempty"`
  1961  	// SecretType: Type of secret configured for access to the Git repo.
  1962  	SecretType string `json:"secretType,omitempty"`
  1963  	// SyncRepo: The OCI image repository URL for the package to sync from. e.g.
  1964  	// `LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME`.
  1965  	SyncRepo string `json:"syncRepo,omitempty"`
  1966  	// SyncWaitSecs: Period in seconds between consecutive syncs. Default: 15.
  1967  	SyncWaitSecs int64 `json:"syncWaitSecs,omitempty,string"`
  1968  	// ForceSendFields is a list of field names (e.g. "GcpServiceAccountEmail") to
  1969  	// unconditionally include in API requests. By default, fields with empty or
  1970  	// default values are omitted from API requests. See
  1971  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1972  	// details.
  1973  	ForceSendFields []string `json:"-"`
  1974  	// NullFields is a list of field names (e.g. "GcpServiceAccountEmail") to
  1975  	// include in API requests with the JSON null value. By default, fields with
  1976  	// empty values are omitted from API requests. See
  1977  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1978  	NullFields []string `json:"-"`
  1979  }
  1980  
  1981  func (s *ConfigManagementOciConfig) MarshalJSON() ([]byte, error) {
  1982  	type NoMethod ConfigManagementOciConfig
  1983  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1984  }
  1985  
  1986  // ConfigManagementOperatorState: State information for an ACM's Operator
  1987  type ConfigManagementOperatorState struct {
  1988  	// DeploymentState: The state of the Operator's deployment
  1989  	//
  1990  	// Possible values:
  1991  	//   "DEPLOYMENT_STATE_UNSPECIFIED" - Deployment's state cannot be determined
  1992  	//   "NOT_INSTALLED" - Deployment is not installed
  1993  	//   "INSTALLED" - Deployment is installed
  1994  	//   "ERROR" - Deployment was attempted to be installed, but has errors
  1995  	//   "PENDING" - Deployment is installing or terminating
  1996  	DeploymentState string `json:"deploymentState,omitempty"`
  1997  	// Errors: Install errors.
  1998  	Errors []*ConfigManagementInstallError `json:"errors,omitempty"`
  1999  	// Version: The semenatic version number of the operator
  2000  	Version string `json:"version,omitempty"`
  2001  	// ForceSendFields is a list of field names (e.g. "DeploymentState") to
  2002  	// unconditionally include in API requests. By default, fields with empty or
  2003  	// default values are omitted from API requests. See
  2004  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2005  	// details.
  2006  	ForceSendFields []string `json:"-"`
  2007  	// NullFields is a list of field names (e.g. "DeploymentState") to include in
  2008  	// API requests with the JSON null value. By default, fields with empty values
  2009  	// are omitted from API requests. See
  2010  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2011  	NullFields []string `json:"-"`
  2012  }
  2013  
  2014  func (s *ConfigManagementOperatorState) MarshalJSON() ([]byte, error) {
  2015  	type NoMethod ConfigManagementOperatorState
  2016  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2017  }
  2018  
  2019  // ConfigManagementPolicyController: Configuration for Policy Controller
  2020  type ConfigManagementPolicyController struct {
  2021  	// AuditIntervalSeconds: Sets the interval for Policy Controller Audit Scans
  2022  	// (in seconds). When set to 0, this disables audit functionality altogether.
  2023  	AuditIntervalSeconds int64 `json:"auditIntervalSeconds,omitempty,string"`
  2024  	// Enabled: Enables the installation of Policy Controller. If false, the rest
  2025  	// of PolicyController fields take no effect.
  2026  	Enabled bool `json:"enabled,omitempty"`
  2027  	// ExemptableNamespaces: The set of namespaces that are excluded from Policy
  2028  	// Controller checks. Namespaces do not need to currently exist on the cluster.
  2029  	ExemptableNamespaces []string `json:"exemptableNamespaces,omitempty"`
  2030  	// LogDeniesEnabled: Logs all denies and dry run failures.
  2031  	LogDeniesEnabled bool `json:"logDeniesEnabled,omitempty"`
  2032  	// Monitoring: Monitoring specifies the configuration of monitoring.
  2033  	Monitoring *ConfigManagementPolicyControllerMonitoring `json:"monitoring,omitempty"`
  2034  	// MutationEnabled: Enable or disable mutation in policy controller. If true,
  2035  	// mutation CRDs, webhook and controller deployment will be deployed to the
  2036  	// cluster.
  2037  	MutationEnabled bool `json:"mutationEnabled,omitempty"`
  2038  	// ReferentialRulesEnabled: Enables the ability to use Constraint Templates
  2039  	// that reference to objects other than the object currently being evaluated.
  2040  	ReferentialRulesEnabled bool `json:"referentialRulesEnabled,omitempty"`
  2041  	// TemplateLibraryInstalled: Installs the default template library along with
  2042  	// Policy Controller.
  2043  	TemplateLibraryInstalled bool `json:"templateLibraryInstalled,omitempty"`
  2044  	// UpdateTime: Output only. Last time this membership spec was updated.
  2045  	UpdateTime string `json:"updateTime,omitempty"`
  2046  	// ForceSendFields is a list of field names (e.g. "AuditIntervalSeconds") to
  2047  	// unconditionally include in API requests. By default, fields with empty or
  2048  	// default values are omitted from API requests. See
  2049  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2050  	// details.
  2051  	ForceSendFields []string `json:"-"`
  2052  	// NullFields is a list of field names (e.g. "AuditIntervalSeconds") to include
  2053  	// in API requests with the JSON null value. By default, fields with empty
  2054  	// values are omitted from API requests. See
  2055  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2056  	NullFields []string `json:"-"`
  2057  }
  2058  
  2059  func (s *ConfigManagementPolicyController) MarshalJSON() ([]byte, error) {
  2060  	type NoMethod ConfigManagementPolicyController
  2061  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2062  }
  2063  
  2064  // ConfigManagementPolicyControllerMigration: State for the migration of
  2065  // PolicyController from ACM -> PoCo Hub.
  2066  type ConfigManagementPolicyControllerMigration struct {
  2067  	// CopyTime: Last time this membership spec was copied to PoCo feature.
  2068  	CopyTime string `json:"copyTime,omitempty"`
  2069  	// Stage: Stage of the migration.
  2070  	//
  2071  	// Possible values:
  2072  	//   "STAGE_UNSPECIFIED" - Unknown state of migration.
  2073  	//   "ACM_MANAGED" - ACM Hub/Operator manages policycontroller. No migration
  2074  	// yet completed.
  2075  	//   "POCO_MANAGED" - All migrations steps complete; Poco Hub now manages
  2076  	// policycontroller.
  2077  	Stage string `json:"stage,omitempty"`
  2078  	// ForceSendFields is a list of field names (e.g. "CopyTime") to
  2079  	// unconditionally include in API requests. By default, fields with empty or
  2080  	// default values are omitted from API requests. See
  2081  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2082  	// details.
  2083  	ForceSendFields []string `json:"-"`
  2084  	// NullFields is a list of field names (e.g. "CopyTime") to include in API
  2085  	// requests with the JSON null value. By default, fields with empty values are
  2086  	// omitted from API requests. See
  2087  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2088  	NullFields []string `json:"-"`
  2089  }
  2090  
  2091  func (s *ConfigManagementPolicyControllerMigration) MarshalJSON() ([]byte, error) {
  2092  	type NoMethod ConfigManagementPolicyControllerMigration
  2093  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2094  }
  2095  
  2096  // ConfigManagementPolicyControllerMonitoring: PolicyControllerMonitoring
  2097  // specifies the backends Policy Controller should export metrics to. For
  2098  // example, to specify metrics should be exported to Cloud Monitoring and
  2099  // Prometheus, specify backends: ["cloudmonitoring", "prometheus"]
  2100  type ConfigManagementPolicyControllerMonitoring struct {
  2101  	// Backends: Specifies the list of backends Policy Controller will export to.
  2102  	// An empty list would effectively disable metrics export.
  2103  	//
  2104  	// Possible values:
  2105  	//   "MONITORING_BACKEND_UNSPECIFIED" - Backend cannot be determined
  2106  	//   "PROMETHEUS" - Prometheus backend for monitoring
  2107  	//   "CLOUD_MONITORING" - Stackdriver/Cloud Monitoring backend for monitoring
  2108  	Backends []string `json:"backends,omitempty"`
  2109  	// ForceSendFields is a list of field names (e.g. "Backends") to
  2110  	// unconditionally include in API requests. By default, fields with empty or
  2111  	// default values are omitted from API requests. See
  2112  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2113  	// details.
  2114  	ForceSendFields []string `json:"-"`
  2115  	// NullFields is a list of field names (e.g. "Backends") to include in API
  2116  	// requests with the JSON null value. By default, fields with empty values are
  2117  	// omitted from API requests. See
  2118  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2119  	NullFields []string `json:"-"`
  2120  }
  2121  
  2122  func (s *ConfigManagementPolicyControllerMonitoring) MarshalJSON() ([]byte, error) {
  2123  	type NoMethod ConfigManagementPolicyControllerMonitoring
  2124  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2125  }
  2126  
  2127  // ConfigManagementPolicyControllerState: State for PolicyControllerState.
  2128  type ConfigManagementPolicyControllerState struct {
  2129  	// DeploymentState: The state about the policy controller installation.
  2130  	DeploymentState *ConfigManagementGatekeeperDeploymentState `json:"deploymentState,omitempty"`
  2131  	// Migration: Record state of ACM -> PoCo Hub migration for this feature.
  2132  	Migration *ConfigManagementPolicyControllerMigration `json:"migration,omitempty"`
  2133  	// Version: The version of Gatekeeper Policy Controller deployed.
  2134  	Version *ConfigManagementPolicyControllerVersion `json:"version,omitempty"`
  2135  	// ForceSendFields is a list of field names (e.g. "DeploymentState") to
  2136  	// unconditionally include in API requests. By default, fields with empty or
  2137  	// default values are omitted from API requests. See
  2138  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2139  	// details.
  2140  	ForceSendFields []string `json:"-"`
  2141  	// NullFields is a list of field names (e.g. "DeploymentState") to include in
  2142  	// API requests with the JSON null value. By default, fields with empty values
  2143  	// are omitted from API requests. See
  2144  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2145  	NullFields []string `json:"-"`
  2146  }
  2147  
  2148  func (s *ConfigManagementPolicyControllerState) MarshalJSON() ([]byte, error) {
  2149  	type NoMethod ConfigManagementPolicyControllerState
  2150  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2151  }
  2152  
  2153  // ConfigManagementPolicyControllerVersion: The build version of Gatekeeper
  2154  // Policy Controller is using.
  2155  type ConfigManagementPolicyControllerVersion struct {
  2156  	// Version: The gatekeeper image tag that is composed of ACM version, git tag,
  2157  	// build number.
  2158  	Version string `json:"version,omitempty"`
  2159  	// ForceSendFields is a list of field names (e.g. "Version") to unconditionally
  2160  	// include in API requests. By default, fields with empty or default values are
  2161  	// omitted from API requests. See
  2162  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2163  	// details.
  2164  	ForceSendFields []string `json:"-"`
  2165  	// NullFields is a list of field names (e.g. "Version") to include in API
  2166  	// requests with the JSON null value. By default, fields with empty values are
  2167  	// omitted from API requests. See
  2168  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2169  	NullFields []string `json:"-"`
  2170  }
  2171  
  2172  func (s *ConfigManagementPolicyControllerVersion) MarshalJSON() ([]byte, error) {
  2173  	type NoMethod ConfigManagementPolicyControllerVersion
  2174  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2175  }
  2176  
  2177  // ConfigManagementSyncError: An ACM created error representing a problem
  2178  // syncing configurations
  2179  type ConfigManagementSyncError struct {
  2180  	// Code: An ACM defined error code
  2181  	Code string `json:"code,omitempty"`
  2182  	// ErrorMessage: A description of the error
  2183  	ErrorMessage string `json:"errorMessage,omitempty"`
  2184  	// ErrorResources: A list of config(s) associated with the error, if any
  2185  	ErrorResources []*ConfigManagementErrorResource `json:"errorResources,omitempty"`
  2186  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  2187  	// include in API requests. By default, fields with empty or default values are
  2188  	// omitted from API requests. See
  2189  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2190  	// details.
  2191  	ForceSendFields []string `json:"-"`
  2192  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  2193  	// with the JSON null value. By default, fields with empty values are omitted
  2194  	// from API requests. See
  2195  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2196  	NullFields []string `json:"-"`
  2197  }
  2198  
  2199  func (s *ConfigManagementSyncError) MarshalJSON() ([]byte, error) {
  2200  	type NoMethod ConfigManagementSyncError
  2201  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2202  }
  2203  
  2204  // ConfigManagementSyncState: State indicating an ACM's progress syncing
  2205  // configurations to a cluster
  2206  type ConfigManagementSyncState struct {
  2207  	// Code: Sync status code
  2208  	//
  2209  	// Possible values:
  2210  	//   "SYNC_CODE_UNSPECIFIED" - Config Sync cannot determine a sync code
  2211  	//   "SYNCED" - Config Sync successfully synced the git Repo with the cluster
  2212  	//   "PENDING" - Config Sync is in the progress of syncing a new change
  2213  	//   "ERROR" - Indicates an error configuring Config Sync, and user action is
  2214  	// required
  2215  	//   "NOT_CONFIGURED" - Config Sync has been installed but not configured
  2216  	//   "NOT_INSTALLED" - Config Sync has not been installed
  2217  	//   "UNAUTHORIZED" - Error authorizing with the cluster
  2218  	//   "UNREACHABLE" - Cluster could not be reached
  2219  	Code string `json:"code,omitempty"`
  2220  	// Errors: A list of errors resulting from problematic configs. This list will
  2221  	// be truncated after 100 errors, although it is unlikely for that many errors
  2222  	// to simultaneously exist.
  2223  	Errors []*ConfigManagementSyncError `json:"errors,omitempty"`
  2224  	// ImportToken: Token indicating the state of the importer.
  2225  	ImportToken string `json:"importToken,omitempty"`
  2226  	// LastSync: Deprecated: use last_sync_time instead. Timestamp of when ACM last
  2227  	// successfully synced the repo The time format is specified in
  2228  	// https://golang.org/pkg/time/#Time.String
  2229  	LastSync string `json:"lastSync,omitempty"`
  2230  	// LastSyncTime: Timestamp type of when ACM last successfully synced the repo
  2231  	LastSyncTime string `json:"lastSyncTime,omitempty"`
  2232  	// SourceToken: Token indicating the state of the repo.
  2233  	SourceToken string `json:"sourceToken,omitempty"`
  2234  	// SyncToken: Token indicating the state of the syncer.
  2235  	SyncToken string `json:"syncToken,omitempty"`
  2236  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  2237  	// include in API requests. By default, fields with empty or default values are
  2238  	// omitted from API requests. See
  2239  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2240  	// details.
  2241  	ForceSendFields []string `json:"-"`
  2242  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  2243  	// with the JSON null value. By default, fields with empty values are omitted
  2244  	// from API requests. See
  2245  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2246  	NullFields []string `json:"-"`
  2247  }
  2248  
  2249  func (s *ConfigManagementSyncState) MarshalJSON() ([]byte, error) {
  2250  	type NoMethod ConfigManagementSyncState
  2251  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2252  }
  2253  
  2254  // ConnectAgentResource: ConnectAgentResource represents a Kubernetes resource
  2255  // manifest for Connect Agent deployment.
  2256  type ConnectAgentResource struct {
  2257  	// Manifest: YAML manifest of the resource.
  2258  	Manifest string `json:"manifest,omitempty"`
  2259  	// Type: Kubernetes type of the resource.
  2260  	Type *TypeMeta `json:"type,omitempty"`
  2261  	// ForceSendFields is a list of field names (e.g. "Manifest") to
  2262  	// unconditionally include in API requests. By default, fields with empty or
  2263  	// default values are omitted from API requests. See
  2264  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2265  	// details.
  2266  	ForceSendFields []string `json:"-"`
  2267  	// NullFields is a list of field names (e.g. "Manifest") to include in API
  2268  	// requests with the JSON null value. By default, fields with empty values are
  2269  	// omitted from API requests. See
  2270  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2271  	NullFields []string `json:"-"`
  2272  }
  2273  
  2274  func (s *ConnectAgentResource) MarshalJSON() ([]byte, error) {
  2275  	type NoMethod ConnectAgentResource
  2276  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2277  }
  2278  
  2279  // DataplaneV2FeatureSpec: **Dataplane V2**: Spec
  2280  type DataplaneV2FeatureSpec struct {
  2281  	// EnableEncryption: Enable dataplane-v2 based encryption for multiple
  2282  	// clusters.
  2283  	EnableEncryption bool `json:"enableEncryption,omitempty"`
  2284  	// ForceSendFields is a list of field names (e.g. "EnableEncryption") to
  2285  	// unconditionally include in API requests. By default, fields with empty or
  2286  	// default values are omitted from API requests. See
  2287  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2288  	// details.
  2289  	ForceSendFields []string `json:"-"`
  2290  	// NullFields is a list of field names (e.g. "EnableEncryption") to include in
  2291  	// API requests with the JSON null value. By default, fields with empty values
  2292  	// are omitted from API requests. See
  2293  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2294  	NullFields []string `json:"-"`
  2295  }
  2296  
  2297  func (s *DataplaneV2FeatureSpec) MarshalJSON() ([]byte, error) {
  2298  	type NoMethod DataplaneV2FeatureSpec
  2299  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2300  }
  2301  
  2302  // DefaultClusterConfig: DefaultClusterConfig describes the default cluster
  2303  // configurations to be applied to all clusters born-in-fleet.
  2304  type DefaultClusterConfig struct {
  2305  	// BinaryAuthorizationConfig: Optional. Enable/Disable binary authorization
  2306  	// features for the cluster.
  2307  	BinaryAuthorizationConfig *BinaryAuthorizationConfig `json:"binaryAuthorizationConfig,omitempty"`
  2308  	// SecurityPostureConfig: Enable/Disable Security Posture features for the
  2309  	// cluster.
  2310  	SecurityPostureConfig *SecurityPostureConfig `json:"securityPostureConfig,omitempty"`
  2311  	// ForceSendFields is a list of field names (e.g. "BinaryAuthorizationConfig")
  2312  	// to unconditionally include in API requests. By default, fields with empty or
  2313  	// default values are omitted from API requests. See
  2314  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2315  	// details.
  2316  	ForceSendFields []string `json:"-"`
  2317  	// NullFields is a list of field names (e.g. "BinaryAuthorizationConfig") to
  2318  	// include in API requests with the JSON null value. By default, fields with
  2319  	// empty values are omitted from API requests. See
  2320  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2321  	NullFields []string `json:"-"`
  2322  }
  2323  
  2324  func (s *DefaultClusterConfig) MarshalJSON() ([]byte, error) {
  2325  	type NoMethod DefaultClusterConfig
  2326  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2327  }
  2328  
  2329  // EdgeCluster: EdgeCluster contains information specific to Google Edge
  2330  // Clusters.
  2331  type EdgeCluster struct {
  2332  	// ResourceLink: Immutable. Self-link of the Google Cloud resource for the Edge
  2333  	// Cluster. For example:
  2334  	// //edgecontainer.googleapis.com/projects/my-project/locations/us-west1-a/clust
  2335  	// ers/my-cluster
  2336  	ResourceLink string `json:"resourceLink,omitempty"`
  2337  	// ForceSendFields is a list of field names (e.g. "ResourceLink") to
  2338  	// unconditionally include in API requests. By default, fields with empty or
  2339  	// default values are omitted from API requests. See
  2340  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2341  	// details.
  2342  	ForceSendFields []string `json:"-"`
  2343  	// NullFields is a list of field names (e.g. "ResourceLink") to include in API
  2344  	// requests with the JSON null value. By default, fields with empty values are
  2345  	// omitted from API requests. See
  2346  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2347  	NullFields []string `json:"-"`
  2348  }
  2349  
  2350  func (s *EdgeCluster) MarshalJSON() ([]byte, error) {
  2351  	type NoMethod EdgeCluster
  2352  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2353  }
  2354  
  2355  // Empty: A generic empty message that you can re-use to avoid defining
  2356  // duplicated empty messages in your APIs. A typical example is to use it as
  2357  // the request or the response type of an API method. For instance: service Foo
  2358  // { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
  2359  type Empty struct {
  2360  	// ServerResponse contains the HTTP response code and headers from the server.
  2361  	googleapi.ServerResponse `json:"-"`
  2362  }
  2363  
  2364  // Expr: Represents a textual expression in the Common Expression Language
  2365  // (CEL) syntax. CEL is a C-like expression language. The syntax and semantics
  2366  // of CEL are documented at https://github.com/google/cel-spec. Example
  2367  // (Comparison): title: "Summary size limit" description: "Determines if a
  2368  // summary is less than 100 chars" expression: "document.summary.size() < 100"
  2369  // Example (Equality): title: "Requestor is owner" description: "Determines if
  2370  // requestor is the document owner" expression: "document.owner ==
  2371  // request.auth.claims.email" Example (Logic): title: "Public documents"
  2372  // description: "Determine whether the document should be publicly visible"
  2373  // expression: "document.type != 'private' && document.type != 'internal'"
  2374  // Example (Data Manipulation): title: "Notification string" description:
  2375  // "Create a notification string with a timestamp." expression: "'New message
  2376  // received at ' + string(document.create_time)" The exact variables and
  2377  // functions that may be referenced within an expression are determined by the
  2378  // service that evaluates it. See the service documentation for additional
  2379  // information.
  2380  type Expr struct {
  2381  	// Description: Optional. Description of the expression. This is a longer text
  2382  	// which describes the expression, e.g. when hovered over it in a UI.
  2383  	Description string `json:"description,omitempty"`
  2384  	// Expression: Textual representation of an expression in Common Expression
  2385  	// Language syntax.
  2386  	Expression string `json:"expression,omitempty"`
  2387  	// Location: Optional. String indicating the location of the expression for
  2388  	// error reporting, e.g. a file name and a position in the file.
  2389  	Location string `json:"location,omitempty"`
  2390  	// Title: Optional. Title for the expression, i.e. a short string describing
  2391  	// its purpose. This can be used e.g. in UIs which allow to enter the
  2392  	// expression.
  2393  	Title string `json:"title,omitempty"`
  2394  	// ForceSendFields is a list of field names (e.g. "Description") to
  2395  	// unconditionally include in API requests. By default, fields with empty or
  2396  	// default values are omitted from API requests. See
  2397  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2398  	// details.
  2399  	ForceSendFields []string `json:"-"`
  2400  	// NullFields is a list of field names (e.g. "Description") to include in API
  2401  	// requests with the JSON null value. By default, fields with empty values are
  2402  	// omitted from API requests. See
  2403  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2404  	NullFields []string `json:"-"`
  2405  }
  2406  
  2407  func (s *Expr) MarshalJSON() ([]byte, error) {
  2408  	type NoMethod Expr
  2409  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2410  }
  2411  
  2412  // Feature: Feature represents the settings and status of any Hub Feature.
  2413  type Feature struct {
  2414  	// CreateTime: Output only. When the Feature resource was created.
  2415  	CreateTime string `json:"createTime,omitempty"`
  2416  	// DeleteTime: Output only. When the Feature resource was deleted.
  2417  	DeleteTime string `json:"deleteTime,omitempty"`
  2418  	// FleetDefaultMemberConfig: Optional. Feature configuration applicable to all
  2419  	// memberships of the fleet.
  2420  	FleetDefaultMemberConfig *CommonFleetDefaultMemberConfigSpec `json:"fleetDefaultMemberConfig,omitempty"`
  2421  	// Labels: Labels for this Feature.
  2422  	Labels map[string]string `json:"labels,omitempty"`
  2423  	// MembershipSpecs: Optional. Membership-specific configuration for this
  2424  	// Feature. If this Feature does not support any per-Membership configuration,
  2425  	// this field may be unused. The keys indicate which Membership the
  2426  	// configuration is for, in the form:
  2427  	// `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l}
  2428  	// is a valid location and {m} is a valid Membership in this project at that
  2429  	// location. {p} WILL match the Feature's project. {p} will always be returned
  2430  	// as the project number, but the project ID is also accepted during input. If
  2431  	// the same Membership is specified in the map twice (using the project ID
  2432  	// form, and the project number form), exactly ONE of the entries will be
  2433  	// saved, with no guarantees as to which. For this reason, it is recommended
  2434  	// the same format be used for all entries when mutating a Feature.
  2435  	MembershipSpecs map[string]MembershipFeatureSpec `json:"membershipSpecs,omitempty"`
  2436  	// MembershipStates: Output only. Membership-specific Feature status. If this
  2437  	// Feature does report any per-Membership status, this field may be unused. The
  2438  	// keys indicate which Membership the state is for, in the form:
  2439  	// `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project
  2440  	// number, {l} is a valid location and {m} is a valid Membership in this
  2441  	// project at that location. {p} MUST match the Feature's project number.
  2442  	MembershipStates map[string]MembershipFeatureState `json:"membershipStates,omitempty"`
  2443  	// Name: Output only. The full, unique name of this Feature resource in the
  2444  	// format `projects/*/locations/*/features/*`.
  2445  	Name string `json:"name,omitempty"`
  2446  	// ResourceState: Output only. State of the Feature resource itself.
  2447  	ResourceState *FeatureResourceState `json:"resourceState,omitempty"`
  2448  	// ScopeSpecs: Optional. Scope-specific configuration for this Feature. If this
  2449  	// Feature does not support any per-Scope configuration, this field may be
  2450  	// unused. The keys indicate which Scope the configuration is for, in the form:
  2451  	// `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is
  2452  	// a valid Scope in this project. {p} WILL match the Feature's project. {p}
  2453  	// will always be returned as the project number, but the project ID is also
  2454  	// accepted during input. If the same Scope is specified in the map twice
  2455  	// (using the project ID form, and the project number form), exactly ONE of the
  2456  	// entries will be saved, with no guarantees as to which. For this reason, it
  2457  	// is recommended the same format be used for all entries when mutating a
  2458  	// Feature.
  2459  	ScopeSpecs map[string]ScopeFeatureSpec `json:"scopeSpecs,omitempty"`
  2460  	// ScopeStates: Output only. Scope-specific Feature status. If this Feature
  2461  	// does report any per-Scope status, this field may be unused. The keys
  2462  	// indicate which Scope the state is for, in the form:
  2463  	// `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is
  2464  	// a valid Scope in this project. {p} WILL match the Feature's project.
  2465  	ScopeStates map[string]ScopeFeatureState `json:"scopeStates,omitempty"`
  2466  	// Spec: Optional. Hub-wide Feature configuration. If this Feature does not
  2467  	// support any Hub-wide configuration, this field may be unused.
  2468  	Spec *CommonFeatureSpec `json:"spec,omitempty"`
  2469  	// State: Output only. The Hub-wide Feature state.
  2470  	State *CommonFeatureState `json:"state,omitempty"`
  2471  	// UpdateTime: Output only. When the Feature resource was last updated.
  2472  	UpdateTime string `json:"updateTime,omitempty"`
  2473  
  2474  	// ServerResponse contains the HTTP response code and headers from the server.
  2475  	googleapi.ServerResponse `json:"-"`
  2476  	// ForceSendFields is a list of field names (e.g. "CreateTime") to
  2477  	// unconditionally include in API requests. By default, fields with empty or
  2478  	// default values are omitted from API requests. See
  2479  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2480  	// details.
  2481  	ForceSendFields []string `json:"-"`
  2482  	// NullFields is a list of field names (e.g. "CreateTime") to include in API
  2483  	// requests with the JSON null value. By default, fields with empty values are
  2484  	// omitted from API requests. See
  2485  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2486  	NullFields []string `json:"-"`
  2487  }
  2488  
  2489  func (s *Feature) MarshalJSON() ([]byte, error) {
  2490  	type NoMethod Feature
  2491  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2492  }
  2493  
  2494  // FeatureResourceState: FeatureResourceState describes the state of a Feature
  2495  // *resource* in the GkeHub API. See `FeatureState` for the "running state" of
  2496  // the Feature in the Hub and across Memberships.
  2497  type FeatureResourceState struct {
  2498  	// State: The current state of the Feature resource in the Hub API.
  2499  	//
  2500  	// Possible values:
  2501  	//   "STATE_UNSPECIFIED" - State is unknown or not set.
  2502  	//   "ENABLING" - The Feature is being enabled, and the Feature resource is
  2503  	// being created. Once complete, the corresponding Feature will be enabled in
  2504  	// this Hub.
  2505  	//   "ACTIVE" - The Feature is enabled in this Hub, and the Feature resource is
  2506  	// fully available.
  2507  	//   "DISABLING" - The Feature is being disabled in this Hub, and the Feature
  2508  	// resource is being deleted.
  2509  	//   "UPDATING" - The Feature resource is being updated.
  2510  	//   "SERVICE_UPDATING" - The Feature resource is being updated by the Hub
  2511  	// Service.
  2512  	State string `json:"state,omitempty"`
  2513  	// ForceSendFields is a list of field names (e.g. "State") to unconditionally
  2514  	// include in API requests. By default, fields with empty or default values are
  2515  	// omitted from API requests. See
  2516  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2517  	// details.
  2518  	ForceSendFields []string `json:"-"`
  2519  	// NullFields is a list of field names (e.g. "State") to include in API
  2520  	// requests with the JSON null value. By default, fields with empty values are
  2521  	// omitted from API requests. See
  2522  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2523  	NullFields []string `json:"-"`
  2524  }
  2525  
  2526  func (s *FeatureResourceState) MarshalJSON() ([]byte, error) {
  2527  	type NoMethod FeatureResourceState
  2528  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2529  }
  2530  
  2531  // FeatureSpec: **Workload Certificate**: The Hub-wide input for the
  2532  // WorkloadCertificate feature.
  2533  type FeatureSpec struct {
  2534  	// DefaultConfig: Specifies default membership spec. Users can override the
  2535  	// default in the member_configs for each member.
  2536  	DefaultConfig *MembershipSpec `json:"defaultConfig,omitempty"`
  2537  	// ProvisionGoogleCa: Immutable. Specifies CA configuration.
  2538  	//
  2539  	// Possible values:
  2540  	//   "GOOGLE_CA_PROVISIONING_UNSPECIFIED" - Disable default Google managed CA.
  2541  	//   "DISABLED" - Disable default Google managed CA.
  2542  	//   "ENABLED" - Use default Google managed CA.
  2543  	//   "ENABLED_WITH_MANAGED_CA" - Workload certificate feature is enabled, and
  2544  	// the entire certificate provisioning process is managed by Google with
  2545  	// managed CAS which is more secure than the default CA.
  2546  	//   "ENABLED_WITH_DEFAULT_CA" - Workload certificate feature is enabled, and
  2547  	// the entire certificate provisioning process is using the default CA which is
  2548  	// free.
  2549  	ProvisionGoogleCa string `json:"provisionGoogleCa,omitempty"`
  2550  	// ForceSendFields is a list of field names (e.g. "DefaultConfig") to
  2551  	// unconditionally include in API requests. By default, fields with empty or
  2552  	// default values are omitted from API requests. See
  2553  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2554  	// details.
  2555  	ForceSendFields []string `json:"-"`
  2556  	// NullFields is a list of field names (e.g. "DefaultConfig") to include in API
  2557  	// requests with the JSON null value. By default, fields with empty values are
  2558  	// omitted from API requests. See
  2559  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2560  	NullFields []string `json:"-"`
  2561  }
  2562  
  2563  func (s *FeatureSpec) MarshalJSON() ([]byte, error) {
  2564  	type NoMethod FeatureSpec
  2565  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2566  }
  2567  
  2568  // FeatureState: FeatureState describes the high-level state of a Feature. It
  2569  // may be used to describe a Feature's state at the environ-level, or
  2570  // per-membershop, depending on the context.
  2571  type FeatureState struct {
  2572  	// Code: The high-level, machine-readable status of this Feature.
  2573  	//
  2574  	// Possible values:
  2575  	//   "CODE_UNSPECIFIED" - Unknown or not set.
  2576  	//   "OK" - The Feature is operating normally.
  2577  	//   "WARNING" - The Feature has encountered an issue, and is operating in a
  2578  	// degraded state. The Feature may need intervention to return to normal
  2579  	// operation. See the description and any associated Feature-specific details
  2580  	// for more information.
  2581  	//   "ERROR" - The Feature is not operating or is in a severely degraded state.
  2582  	// The Feature may need intervention to return to normal operation. See the
  2583  	// description and any associated Feature-specific details for more
  2584  	// information.
  2585  	Code string `json:"code,omitempty"`
  2586  	// Description: A human-readable description of the current status.
  2587  	Description string `json:"description,omitempty"`
  2588  	// UpdateTime: The time this status and any related Feature-specific details
  2589  	// were updated.
  2590  	UpdateTime string `json:"updateTime,omitempty"`
  2591  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  2592  	// include in API requests. By default, fields with empty or default values are
  2593  	// omitted from API requests. See
  2594  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2595  	// details.
  2596  	ForceSendFields []string `json:"-"`
  2597  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  2598  	// with the JSON null value. By default, fields with empty values are omitted
  2599  	// from API requests. See
  2600  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2601  	NullFields []string `json:"-"`
  2602  }
  2603  
  2604  func (s *FeatureState) MarshalJSON() ([]byte, error) {
  2605  	type NoMethod FeatureState
  2606  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2607  }
  2608  
  2609  // Fleet: Fleet contains the Fleet-wide metadata and configuration.
  2610  type Fleet struct {
  2611  	// CreateTime: Output only. When the Fleet was created.
  2612  	CreateTime string `json:"createTime,omitempty"`
  2613  	// DefaultClusterConfig: Optional. The default cluster configurations to apply
  2614  	// across the fleet.
  2615  	DefaultClusterConfig *DefaultClusterConfig `json:"defaultClusterConfig,omitempty"`
  2616  	// DeleteTime: Output only. When the Fleet was deleted.
  2617  	DeleteTime string `json:"deleteTime,omitempty"`
  2618  	// DisplayName: Optional. A user-assigned display name of the Fleet. When
  2619  	// present, it must be between 4 to 30 characters. Allowed characters are:
  2620  	// lowercase and uppercase letters, numbers, hyphen, single-quote,
  2621  	// double-quote, space, and exclamation point. Example: `Production Fleet`
  2622  	DisplayName string `json:"displayName,omitempty"`
  2623  	// Labels: Optional. Labels for this Fleet.
  2624  	Labels map[string]string `json:"labels,omitempty"`
  2625  	// Name: Output only. The full, unique resource name of this fleet in the
  2626  	// format of `projects/{project}/locations/{location}/fleets/{fleet}`. Each
  2627  	// Google Cloud project can have at most one fleet resource, named "default".
  2628  	Name string `json:"name,omitempty"`
  2629  	// State: Output only. State of the namespace resource.
  2630  	State *FleetLifecycleState `json:"state,omitempty"`
  2631  	// Uid: Output only. Google-generated UUID for this resource. This is unique
  2632  	// across all Fleet resources. If a Fleet resource is deleted and another
  2633  	// resource with the same name is created, it gets a different uid.
  2634  	Uid string `json:"uid,omitempty"`
  2635  	// UpdateTime: Output only. When the Fleet was last updated.
  2636  	UpdateTime string `json:"updateTime,omitempty"`
  2637  
  2638  	// ServerResponse contains the HTTP response code and headers from the server.
  2639  	googleapi.ServerResponse `json:"-"`
  2640  	// ForceSendFields is a list of field names (e.g. "CreateTime") to
  2641  	// unconditionally include in API requests. By default, fields with empty or
  2642  	// default values are omitted from API requests. See
  2643  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2644  	// details.
  2645  	ForceSendFields []string `json:"-"`
  2646  	// NullFields is a list of field names (e.g. "CreateTime") to include in API
  2647  	// requests with the JSON null value. By default, fields with empty values are
  2648  	// omitted from API requests. See
  2649  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2650  	NullFields []string `json:"-"`
  2651  }
  2652  
  2653  func (s *Fleet) MarshalJSON() ([]byte, error) {
  2654  	type NoMethod Fleet
  2655  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2656  }
  2657  
  2658  // FleetLifecycleState: FleetLifecycleState describes the state of a Fleet
  2659  // resource.
  2660  type FleetLifecycleState struct {
  2661  	// Code: Output only. The current state of the Fleet resource.
  2662  	//
  2663  	// Possible values:
  2664  	//   "CODE_UNSPECIFIED" - The code is not set.
  2665  	//   "CREATING" - The fleet is being created.
  2666  	//   "READY" - The fleet active.
  2667  	//   "DELETING" - The fleet is being deleted.
  2668  	//   "UPDATING" - The fleet is being updated.
  2669  	Code string `json:"code,omitempty"`
  2670  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  2671  	// include in API requests. By default, fields with empty or default values are
  2672  	// omitted from API requests. See
  2673  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2674  	// details.
  2675  	ForceSendFields []string `json:"-"`
  2676  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  2677  	// with the JSON null value. By default, fields with empty values are omitted
  2678  	// from API requests. See
  2679  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2680  	NullFields []string `json:"-"`
  2681  }
  2682  
  2683  func (s *FleetLifecycleState) MarshalJSON() ([]byte, error) {
  2684  	type NoMethod FleetLifecycleState
  2685  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2686  }
  2687  
  2688  // FleetObservabilityFeatureError: All error details of the fleet observability
  2689  // feature.
  2690  type FleetObservabilityFeatureError struct {
  2691  	// Code: The code of the error.
  2692  	Code string `json:"code,omitempty"`
  2693  	// Description: A human-readable description of the current status.
  2694  	Description string `json:"description,omitempty"`
  2695  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  2696  	// include in API requests. By default, fields with empty or default values are
  2697  	// omitted from API requests. See
  2698  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2699  	// details.
  2700  	ForceSendFields []string `json:"-"`
  2701  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  2702  	// with the JSON null value. By default, fields with empty values are omitted
  2703  	// from API requests. See
  2704  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2705  	NullFields []string `json:"-"`
  2706  }
  2707  
  2708  func (s *FleetObservabilityFeatureError) MarshalJSON() ([]byte, error) {
  2709  	type NoMethod FleetObservabilityFeatureError
  2710  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2711  }
  2712  
  2713  // FleetObservabilityFeatureSpec: **Fleet Observability**: The Hub-wide input
  2714  // for the FleetObservability feature.
  2715  type FleetObservabilityFeatureSpec struct {
  2716  	// LoggingConfig: Specified if fleet logging feature is enabled for the entire
  2717  	// fleet. If UNSPECIFIED, fleet logging feature is disabled for the entire
  2718  	// fleet.
  2719  	LoggingConfig *FleetObservabilityLoggingConfig `json:"loggingConfig,omitempty"`
  2720  	// ForceSendFields is a list of field names (e.g. "LoggingConfig") to
  2721  	// unconditionally include in API requests. By default, fields with empty or
  2722  	// default values are omitted from API requests. See
  2723  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2724  	// details.
  2725  	ForceSendFields []string `json:"-"`
  2726  	// NullFields is a list of field names (e.g. "LoggingConfig") to include in API
  2727  	// requests with the JSON null value. By default, fields with empty values are
  2728  	// omitted from API requests. See
  2729  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2730  	NullFields []string `json:"-"`
  2731  }
  2732  
  2733  func (s *FleetObservabilityFeatureSpec) MarshalJSON() ([]byte, error) {
  2734  	type NoMethod FleetObservabilityFeatureSpec
  2735  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2736  }
  2737  
  2738  // FleetObservabilityFeatureState: **FleetObservability**: Hub-wide Feature for
  2739  // FleetObservability feature. state.
  2740  type FleetObservabilityFeatureState struct {
  2741  	// Logging: The feature state of default logging.
  2742  	Logging *FleetObservabilityFleetObservabilityLoggingState `json:"logging,omitempty"`
  2743  	// Monitoring: The feature state of fleet monitoring.
  2744  	Monitoring *FleetObservabilityFleetObservabilityMonitoringState `json:"monitoring,omitempty"`
  2745  	// ForceSendFields is a list of field names (e.g. "Logging") to unconditionally
  2746  	// include in API requests. By default, fields with empty or default values are
  2747  	// omitted from API requests. See
  2748  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2749  	// details.
  2750  	ForceSendFields []string `json:"-"`
  2751  	// NullFields is a list of field names (e.g. "Logging") to include in API
  2752  	// requests with the JSON null value. By default, fields with empty values are
  2753  	// omitted from API requests. See
  2754  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2755  	NullFields []string `json:"-"`
  2756  }
  2757  
  2758  func (s *FleetObservabilityFeatureState) MarshalJSON() ([]byte, error) {
  2759  	type NoMethod FleetObservabilityFeatureState
  2760  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2761  }
  2762  
  2763  // FleetObservabilityFleetObservabilityBaseFeatureState: Base state for fleet
  2764  // observability feature.
  2765  type FleetObservabilityFleetObservabilityBaseFeatureState struct {
  2766  	// Code: The high-level, machine-readable status of this Feature.
  2767  	//
  2768  	// Possible values:
  2769  	//   "CODE_UNSPECIFIED" - Unknown or not set.
  2770  	//   "OK" - The Feature is operating normally.
  2771  	//   "ERROR" - The Feature is encountering errors in the reconciliation. The
  2772  	// Feature may need intervention to return to normal operation. See the
  2773  	// description and any associated Feature-specific details for more
  2774  	// information.
  2775  	Code string `json:"code,omitempty"`
  2776  	// Errors: Errors after reconciling the monitoring and logging feature if the
  2777  	// code is not OK.
  2778  	Errors []*FleetObservabilityFeatureError `json:"errors,omitempty"`
  2779  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  2780  	// include in API requests. By default, fields with empty or default values are
  2781  	// omitted from API requests. See
  2782  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2783  	// details.
  2784  	ForceSendFields []string `json:"-"`
  2785  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  2786  	// with the JSON null value. By default, fields with empty values are omitted
  2787  	// from API requests. See
  2788  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2789  	NullFields []string `json:"-"`
  2790  }
  2791  
  2792  func (s *FleetObservabilityFleetObservabilityBaseFeatureState) MarshalJSON() ([]byte, error) {
  2793  	type NoMethod FleetObservabilityFleetObservabilityBaseFeatureState
  2794  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2795  }
  2796  
  2797  // FleetObservabilityFleetObservabilityLoggingState: Feature state for logging
  2798  // feature.
  2799  type FleetObservabilityFleetObservabilityLoggingState struct {
  2800  	// DefaultLog: The base feature state of fleet default log.
  2801  	DefaultLog *FleetObservabilityFleetObservabilityBaseFeatureState `json:"defaultLog,omitempty"`
  2802  	// ScopeLog: The base feature state of fleet scope log.
  2803  	ScopeLog *FleetObservabilityFleetObservabilityBaseFeatureState `json:"scopeLog,omitempty"`
  2804  	// ForceSendFields is a list of field names (e.g. "DefaultLog") to
  2805  	// unconditionally include in API requests. By default, fields with empty or
  2806  	// default values are omitted from API requests. See
  2807  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2808  	// details.
  2809  	ForceSendFields []string `json:"-"`
  2810  	// NullFields is a list of field names (e.g. "DefaultLog") to include in API
  2811  	// requests with the JSON null value. By default, fields with empty values are
  2812  	// omitted from API requests. See
  2813  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2814  	NullFields []string `json:"-"`
  2815  }
  2816  
  2817  func (s *FleetObservabilityFleetObservabilityLoggingState) MarshalJSON() ([]byte, error) {
  2818  	type NoMethod FleetObservabilityFleetObservabilityLoggingState
  2819  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2820  }
  2821  
  2822  // FleetObservabilityFleetObservabilityMonitoringState: Feature state for
  2823  // monitoring feature.
  2824  type FleetObservabilityFleetObservabilityMonitoringState struct {
  2825  	// State: The base feature state of fleet monitoring feature.
  2826  	State *FleetObservabilityFleetObservabilityBaseFeatureState `json:"state,omitempty"`
  2827  	// ForceSendFields is a list of field names (e.g. "State") to unconditionally
  2828  	// include in API requests. By default, fields with empty or default values are
  2829  	// omitted from API requests. See
  2830  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2831  	// details.
  2832  	ForceSendFields []string `json:"-"`
  2833  	// NullFields is a list of field names (e.g. "State") to include in API
  2834  	// requests with the JSON null value. By default, fields with empty values are
  2835  	// omitted from API requests. See
  2836  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2837  	NullFields []string `json:"-"`
  2838  }
  2839  
  2840  func (s *FleetObservabilityFleetObservabilityMonitoringState) MarshalJSON() ([]byte, error) {
  2841  	type NoMethod FleetObservabilityFleetObservabilityMonitoringState
  2842  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2843  }
  2844  
  2845  // FleetObservabilityLoggingConfig: LoggingConfig defines the configuration for
  2846  // different types of logs.
  2847  type FleetObservabilityLoggingConfig struct {
  2848  	// DefaultConfig: Specified if applying the default routing config to logs not
  2849  	// specified in other configs.
  2850  	DefaultConfig *FleetObservabilityRoutingConfig `json:"defaultConfig,omitempty"`
  2851  	// FleetScopeLogsConfig: Specified if applying the routing config to all logs
  2852  	// for all fleet scopes.
  2853  	FleetScopeLogsConfig *FleetObservabilityRoutingConfig `json:"fleetScopeLogsConfig,omitempty"`
  2854  	// ForceSendFields is a list of field names (e.g. "DefaultConfig") to
  2855  	// unconditionally include in API requests. By default, fields with empty or
  2856  	// default values are omitted from API requests. See
  2857  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2858  	// details.
  2859  	ForceSendFields []string `json:"-"`
  2860  	// NullFields is a list of field names (e.g. "DefaultConfig") to include in API
  2861  	// requests with the JSON null value. By default, fields with empty values are
  2862  	// omitted from API requests. See
  2863  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2864  	NullFields []string `json:"-"`
  2865  }
  2866  
  2867  func (s *FleetObservabilityLoggingConfig) MarshalJSON() ([]byte, error) {
  2868  	type NoMethod FleetObservabilityLoggingConfig
  2869  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2870  }
  2871  
  2872  // FleetObservabilityMembershipSpec: **FleetObservability**: The
  2873  // membership-specific input for FleetObservability feature.
  2874  type FleetObservabilityMembershipSpec struct {
  2875  }
  2876  
  2877  // FleetObservabilityMembershipState: **FleetObservability**:
  2878  // Membership-specific Feature state for fleetobservability.
  2879  type FleetObservabilityMembershipState struct {
  2880  }
  2881  
  2882  // FleetObservabilityRoutingConfig: RoutingConfig configures the behaviour of
  2883  // fleet logging feature.
  2884  type FleetObservabilityRoutingConfig struct {
  2885  	// Mode: mode configures the logs routing mode.
  2886  	//
  2887  	// Possible values:
  2888  	//   "MODE_UNSPECIFIED" - If UNSPECIFIED, fleet logging feature is disabled.
  2889  	//   "COPY" - logs will be copied to the destination project.
  2890  	//   "MOVE" - logs will be moved to the destination project.
  2891  	Mode string `json:"mode,omitempty"`
  2892  	// ForceSendFields is a list of field names (e.g. "Mode") to unconditionally
  2893  	// include in API requests. By default, fields with empty or default values are
  2894  	// omitted from API requests. See
  2895  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2896  	// details.
  2897  	ForceSendFields []string `json:"-"`
  2898  	// NullFields is a list of field names (e.g. "Mode") to include in API requests
  2899  	// with the JSON null value. By default, fields with empty values are omitted
  2900  	// from API requests. See
  2901  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2902  	NullFields []string `json:"-"`
  2903  }
  2904  
  2905  func (s *FleetObservabilityRoutingConfig) MarshalJSON() ([]byte, error) {
  2906  	type NoMethod FleetObservabilityRoutingConfig
  2907  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2908  }
  2909  
  2910  // GenerateConnectManifestResponse: GenerateConnectManifestResponse contains
  2911  // manifest information for installing/upgrading a Connect agent.
  2912  type GenerateConnectManifestResponse struct {
  2913  	// Manifest: The ordered list of Kubernetes resources that need to be applied
  2914  	// to the cluster for GKE Connect agent installation/upgrade.
  2915  	Manifest []*ConnectAgentResource `json:"manifest,omitempty"`
  2916  
  2917  	// ServerResponse contains the HTTP response code and headers from the server.
  2918  	googleapi.ServerResponse `json:"-"`
  2919  	// ForceSendFields is a list of field names (e.g. "Manifest") to
  2920  	// unconditionally include in API requests. By default, fields with empty or
  2921  	// default values are omitted from API requests. See
  2922  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2923  	// details.
  2924  	ForceSendFields []string `json:"-"`
  2925  	// NullFields is a list of field names (e.g. "Manifest") to include in API
  2926  	// requests with the JSON null value. By default, fields with empty values are
  2927  	// omitted from API requests. See
  2928  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2929  	NullFields []string `json:"-"`
  2930  }
  2931  
  2932  func (s *GenerateConnectManifestResponse) MarshalJSON() ([]byte, error) {
  2933  	type NoMethod GenerateConnectManifestResponse
  2934  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2935  }
  2936  
  2937  // GenerateMembershipRBACRoleBindingYAMLResponse: Response for
  2938  // GenerateRBACRoleBindingYAML.
  2939  type GenerateMembershipRBACRoleBindingYAMLResponse struct {
  2940  	// RoleBindingsYaml: a yaml text blob including the RBAC policies.
  2941  	RoleBindingsYaml string `json:"roleBindingsYaml,omitempty"`
  2942  
  2943  	// ServerResponse contains the HTTP response code and headers from the server.
  2944  	googleapi.ServerResponse `json:"-"`
  2945  	// ForceSendFields is a list of field names (e.g. "RoleBindingsYaml") to
  2946  	// unconditionally include in API requests. By default, fields with empty or
  2947  	// default values are omitted from API requests. See
  2948  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2949  	// details.
  2950  	ForceSendFields []string `json:"-"`
  2951  	// NullFields is a list of field names (e.g. "RoleBindingsYaml") to include in
  2952  	// API requests with the JSON null value. By default, fields with empty values
  2953  	// are omitted from API requests. See
  2954  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2955  	NullFields []string `json:"-"`
  2956  }
  2957  
  2958  func (s *GenerateMembershipRBACRoleBindingYAMLResponse) MarshalJSON() ([]byte, error) {
  2959  	type NoMethod GenerateMembershipRBACRoleBindingYAMLResponse
  2960  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2961  }
  2962  
  2963  // GkeCluster: GkeCluster contains information specific to GKE clusters.
  2964  type GkeCluster struct {
  2965  	// ClusterMissing: Output only. If cluster_missing is set then it denotes that
  2966  	// the GKE cluster no longer exists in the GKE Control Plane.
  2967  	ClusterMissing bool `json:"clusterMissing,omitempty"`
  2968  	// ResourceLink: Immutable. Self-link of the Google Cloud resource for the GKE
  2969  	// cluster. For example:
  2970  	// //container.googleapis.com/projects/my-project/locations/us-west1-a/clusters/
  2971  	// my-cluster Zonal clusters are also supported.
  2972  	ResourceLink string `json:"resourceLink,omitempty"`
  2973  	// ForceSendFields is a list of field names (e.g. "ClusterMissing") to
  2974  	// unconditionally include in API requests. By default, fields with empty or
  2975  	// default values are omitted from API requests. See
  2976  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2977  	// details.
  2978  	ForceSendFields []string `json:"-"`
  2979  	// NullFields is a list of field names (e.g. "ClusterMissing") to include in
  2980  	// API requests with the JSON null value. By default, fields with empty values
  2981  	// are omitted from API requests. See
  2982  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2983  	NullFields []string `json:"-"`
  2984  }
  2985  
  2986  func (s *GkeCluster) MarshalJSON() ([]byte, error) {
  2987  	type NoMethod GkeCluster
  2988  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2989  }
  2990  
  2991  // GoogleRpcStatus: The `Status` type defines a logical error model that is
  2992  // suitable for different programming environments, including REST APIs and RPC
  2993  // APIs. It is used by gRPC (https://github.com/grpc). Each `Status` message
  2994  // contains three pieces of data: error code, error message, and error details.
  2995  // You can find out more about this error model and how to work with it in the
  2996  // API Design Guide (https://cloud.google.com/apis/design/errors).
  2997  type GoogleRpcStatus struct {
  2998  	// Code: The status code, which should be an enum value of google.rpc.Code.
  2999  	Code int64 `json:"code,omitempty"`
  3000  	// Details: A list of messages that carry the error details. There is a common
  3001  	// set of message types for APIs to use.
  3002  	Details []googleapi.RawMessage `json:"details,omitempty"`
  3003  	// Message: A developer-facing error message, which should be in English. Any
  3004  	// user-facing error message should be localized and sent in the
  3005  	// google.rpc.Status.details field, or localized by the client.
  3006  	Message string `json:"message,omitempty"`
  3007  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  3008  	// include in API requests. By default, fields with empty or default values are
  3009  	// omitted from API requests. See
  3010  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3011  	// details.
  3012  	ForceSendFields []string `json:"-"`
  3013  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  3014  	// with the JSON null value. By default, fields with empty values are omitted
  3015  	// from API requests. See
  3016  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3017  	NullFields []string `json:"-"`
  3018  }
  3019  
  3020  func (s *GoogleRpcStatus) MarshalJSON() ([]byte, error) {
  3021  	type NoMethod GoogleRpcStatus
  3022  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3023  }
  3024  
  3025  // IdentityServiceAuthMethod: Configuration of an auth method for a
  3026  // member/cluster. Only one authentication method (e.g., OIDC and LDAP) can be
  3027  // set per AuthMethod.
  3028  type IdentityServiceAuthMethod struct {
  3029  	// AzureadConfig: AzureAD specific Configuration.
  3030  	AzureadConfig *IdentityServiceAzureADConfig `json:"azureadConfig,omitempty"`
  3031  	// GoogleConfig: GoogleConfig specific configuration.
  3032  	GoogleConfig *IdentityServiceGoogleConfig `json:"googleConfig,omitempty"`
  3033  	// LdapConfig: LDAP specific configuration.
  3034  	LdapConfig *IdentityServiceLdapConfig `json:"ldapConfig,omitempty"`
  3035  	// Name: Identifier for auth config.
  3036  	Name string `json:"name,omitempty"`
  3037  	// OidcConfig: OIDC specific configuration.
  3038  	OidcConfig *IdentityServiceOidcConfig `json:"oidcConfig,omitempty"`
  3039  	// Proxy: Proxy server address to use for auth method.
  3040  	Proxy string `json:"proxy,omitempty"`
  3041  	// SamlConfig: SAML specific configuration.
  3042  	SamlConfig *IdentityServiceSamlConfig `json:"samlConfig,omitempty"`
  3043  	// ForceSendFields is a list of field names (e.g. "AzureadConfig") to
  3044  	// 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. "AzureadConfig") to include in API
  3050  	// requests with the JSON null value. By default, fields with empty values are
  3051  	// 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 *IdentityServiceAuthMethod) MarshalJSON() ([]byte, error) {
  3057  	type NoMethod IdentityServiceAuthMethod
  3058  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3059  }
  3060  
  3061  // IdentityServiceAzureADConfig: Configuration for the AzureAD Auth flow.
  3062  type IdentityServiceAzureADConfig struct {
  3063  	// ClientId: ID for the registered client application that makes authentication
  3064  	// requests to the Azure AD identity provider.
  3065  	ClientId string `json:"clientId,omitempty"`
  3066  	// ClientSecret: Input only. Unencrypted AzureAD client secret will be passed
  3067  	// to the GKE Hub CLH.
  3068  	ClientSecret string `json:"clientSecret,omitempty"`
  3069  	// EncryptedClientSecret: Output only. Encrypted AzureAD client secret.
  3070  	EncryptedClientSecret string `json:"encryptedClientSecret,omitempty"`
  3071  	// GroupFormat: Optional. Format of the AzureAD groups that the client wants
  3072  	// for auth.
  3073  	GroupFormat string `json:"groupFormat,omitempty"`
  3074  	// KubectlRedirectUri: The redirect URL that kubectl uses for authorization.
  3075  	KubectlRedirectUri string `json:"kubectlRedirectUri,omitempty"`
  3076  	// Tenant: Kind of Azure AD account to be authenticated. Supported values are
  3077  	// or for accounts belonging to a specific tenant.
  3078  	Tenant string `json:"tenant,omitempty"`
  3079  	// UserClaim: Optional. Claim in the AzureAD ID Token that holds the user
  3080  	// details.
  3081  	UserClaim string `json:"userClaim,omitempty"`
  3082  	// ForceSendFields is a list of field names (e.g. "ClientId") to
  3083  	// unconditionally include in API requests. By default, fields with empty or
  3084  	// default values are omitted from API requests. See
  3085  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3086  	// details.
  3087  	ForceSendFields []string `json:"-"`
  3088  	// NullFields is a list of field names (e.g. "ClientId") to include in API
  3089  	// requests with the JSON null value. By default, fields with empty values are
  3090  	// omitted from API requests. See
  3091  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3092  	NullFields []string `json:"-"`
  3093  }
  3094  
  3095  func (s *IdentityServiceAzureADConfig) MarshalJSON() ([]byte, error) {
  3096  	type NoMethod IdentityServiceAzureADConfig
  3097  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3098  }
  3099  
  3100  // IdentityServiceGoogleConfig: Configuration for the Google Plugin Auth flow.
  3101  type IdentityServiceGoogleConfig struct {
  3102  	// Disable: Disable automatic configuration of Google Plugin on supported
  3103  	// platforms.
  3104  	Disable bool `json:"disable,omitempty"`
  3105  	// ForceSendFields is a list of field names (e.g. "Disable") to unconditionally
  3106  	// include in API requests. By default, fields with empty or default values are
  3107  	// omitted from API requests. See
  3108  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3109  	// details.
  3110  	ForceSendFields []string `json:"-"`
  3111  	// NullFields is a list of field names (e.g. "Disable") to include in API
  3112  	// requests with the JSON null value. By default, fields with empty values are
  3113  	// omitted from API requests. See
  3114  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3115  	NullFields []string `json:"-"`
  3116  }
  3117  
  3118  func (s *IdentityServiceGoogleConfig) MarshalJSON() ([]byte, error) {
  3119  	type NoMethod IdentityServiceGoogleConfig
  3120  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3121  }
  3122  
  3123  // IdentityServiceGroupConfig: Contains the properties for locating and
  3124  // authenticating groups in the directory.
  3125  type IdentityServiceGroupConfig struct {
  3126  	// BaseDn: Required. The location of the subtree in the LDAP directory to
  3127  	// search for group entries.
  3128  	BaseDn string `json:"baseDn,omitempty"`
  3129  	// Filter: Optional. Optional filter to be used when searching for groups a
  3130  	// user belongs to. This can be used to explicitly match only certain groups in
  3131  	// order to reduce the amount of groups returned for each user. This defaults
  3132  	// to "(objectClass=Group)".
  3133  	Filter string `json:"filter,omitempty"`
  3134  	// IdAttribute: Optional. The identifying name of each group a user belongs to.
  3135  	// For example, if this is set to "distinguishedName" then RBACs and other
  3136  	// group expectations should be written as full DNs. This defaults to
  3137  	// "distinguishedName".
  3138  	IdAttribute string `json:"idAttribute,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 *IdentityServiceGroupConfig) MarshalJSON() ([]byte, error) {
  3153  	type NoMethod IdentityServiceGroupConfig
  3154  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3155  }
  3156  
  3157  // IdentityServiceIdentityServiceOptions: Holds non-protocol-related
  3158  // configuration options.
  3159  type IdentityServiceIdentityServiceOptions struct {
  3160  	// SessionDuration: Optional. Determines the lifespan of STS tokens issued by
  3161  	// Anthos Identity Service.
  3162  	SessionDuration string `json:"sessionDuration,omitempty"`
  3163  	// ForceSendFields is a list of field names (e.g. "SessionDuration") to
  3164  	// unconditionally include in API requests. By default, fields with empty or
  3165  	// default values are omitted from API requests. See
  3166  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3167  	// details.
  3168  	ForceSendFields []string `json:"-"`
  3169  	// NullFields is a list of field names (e.g. "SessionDuration") to include in
  3170  	// API requests with the JSON null value. By default, fields with empty values
  3171  	// are omitted from API requests. See
  3172  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3173  	NullFields []string `json:"-"`
  3174  }
  3175  
  3176  func (s *IdentityServiceIdentityServiceOptions) MarshalJSON() ([]byte, error) {
  3177  	type NoMethod IdentityServiceIdentityServiceOptions
  3178  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3179  }
  3180  
  3181  // IdentityServiceLdapConfig: Configuration for the LDAP Auth flow.
  3182  type IdentityServiceLdapConfig struct {
  3183  	// Group: Optional. Contains the properties for locating and authenticating
  3184  	// groups in the directory.
  3185  	Group *IdentityServiceGroupConfig `json:"group,omitempty"`
  3186  	// Server: Required. Server settings for the external LDAP server.
  3187  	Server *IdentityServiceServerConfig `json:"server,omitempty"`
  3188  	// ServiceAccount: Required. Contains the credentials of the service account
  3189  	// which is authorized to perform the LDAP search in the directory. The
  3190  	// credentials can be supplied by the combination of the DN and password or the
  3191  	// client certificate.
  3192  	ServiceAccount *IdentityServiceServiceAccountConfig `json:"serviceAccount,omitempty"`
  3193  	// User: Required. Defines where users exist in the LDAP directory.
  3194  	User *IdentityServiceUserConfig `json:"user,omitempty"`
  3195  	// ForceSendFields is a list of field names (e.g. "Group") to unconditionally
  3196  	// include in API requests. By default, fields with empty or default values are
  3197  	// omitted from API requests. See
  3198  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3199  	// details.
  3200  	ForceSendFields []string `json:"-"`
  3201  	// NullFields is a list of field names (e.g. "Group") to include in API
  3202  	// requests with the JSON null value. By default, fields with empty values are
  3203  	// omitted from API requests. See
  3204  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3205  	NullFields []string `json:"-"`
  3206  }
  3207  
  3208  func (s *IdentityServiceLdapConfig) MarshalJSON() ([]byte, error) {
  3209  	type NoMethod IdentityServiceLdapConfig
  3210  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3211  }
  3212  
  3213  // IdentityServiceMembershipSpec: **Anthos Identity Service**: Configuration
  3214  // for a single Membership.
  3215  type IdentityServiceMembershipSpec struct {
  3216  	// AuthMethods: A member may support multiple auth methods.
  3217  	AuthMethods []*IdentityServiceAuthMethod `json:"authMethods,omitempty"`
  3218  	// IdentityServiceOptions: Optional. non-protocol-related configuration
  3219  	// options.
  3220  	IdentityServiceOptions *IdentityServiceIdentityServiceOptions `json:"identityServiceOptions,omitempty"`
  3221  	// ForceSendFields is a list of field names (e.g. "AuthMethods") to
  3222  	// unconditionally include in API requests. By default, fields with empty or
  3223  	// default values are omitted from API requests. See
  3224  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3225  	// details.
  3226  	ForceSendFields []string `json:"-"`
  3227  	// NullFields is a list of field names (e.g. "AuthMethods") to include in API
  3228  	// requests with the JSON null value. By default, fields with empty values are
  3229  	// omitted from API requests. See
  3230  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3231  	NullFields []string `json:"-"`
  3232  }
  3233  
  3234  func (s *IdentityServiceMembershipSpec) MarshalJSON() ([]byte, error) {
  3235  	type NoMethod IdentityServiceMembershipSpec
  3236  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3237  }
  3238  
  3239  // IdentityServiceMembershipState: **Anthos Identity Service**: State for a
  3240  // single Membership.
  3241  type IdentityServiceMembershipState struct {
  3242  	// FailureReason: The reason of the failure.
  3243  	FailureReason string `json:"failureReason,omitempty"`
  3244  	// InstalledVersion: Installed AIS version. This is the AIS version installed
  3245  	// on this member. The values makes sense iff state is OK.
  3246  	InstalledVersion string `json:"installedVersion,omitempty"`
  3247  	// MemberConfig: Last reconciled membership configuration
  3248  	MemberConfig *IdentityServiceMembershipSpec `json:"memberConfig,omitempty"`
  3249  	// State: Deployment state on this member
  3250  	//
  3251  	// Possible values:
  3252  	//   "DEPLOYMENT_STATE_UNSPECIFIED" - Unspecified state
  3253  	//   "OK" - deployment succeeds
  3254  	//   "ERROR" - Failure with error.
  3255  	State string `json:"state,omitempty"`
  3256  	// ForceSendFields is a list of field names (e.g. "FailureReason") to
  3257  	// unconditionally include in API requests. By default, fields with empty or
  3258  	// default values are omitted from API requests. See
  3259  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3260  	// details.
  3261  	ForceSendFields []string `json:"-"`
  3262  	// NullFields is a list of field names (e.g. "FailureReason") to include in API
  3263  	// requests with the JSON null value. By default, fields with empty values are
  3264  	// omitted from API requests. See
  3265  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3266  	NullFields []string `json:"-"`
  3267  }
  3268  
  3269  func (s *IdentityServiceMembershipState) MarshalJSON() ([]byte, error) {
  3270  	type NoMethod IdentityServiceMembershipState
  3271  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3272  }
  3273  
  3274  // IdentityServiceOidcConfig: Configuration for OIDC Auth flow.
  3275  type IdentityServiceOidcConfig struct {
  3276  	// CertificateAuthorityData: PEM-encoded CA for OIDC provider.
  3277  	CertificateAuthorityData string `json:"certificateAuthorityData,omitempty"`
  3278  	// ClientId: ID for OIDC client application.
  3279  	ClientId string `json:"clientId,omitempty"`
  3280  	// ClientSecret: Input only. Unencrypted OIDC client secret will be passed to
  3281  	// the GKE Hub CLH.
  3282  	ClientSecret string `json:"clientSecret,omitempty"`
  3283  	// DeployCloudConsoleProxy: Flag to denote if reverse proxy is used to connect
  3284  	// to auth provider. This flag should be set to true when provider is not
  3285  	// reachable by Google Cloud Console.
  3286  	DeployCloudConsoleProxy bool `json:"deployCloudConsoleProxy,omitempty"`
  3287  	// EnableAccessToken: Enable access token.
  3288  	EnableAccessToken bool `json:"enableAccessToken,omitempty"`
  3289  	// EncryptedClientSecret: Output only. Encrypted OIDC Client secret
  3290  	EncryptedClientSecret string `json:"encryptedClientSecret,omitempty"`
  3291  	// ExtraParams: Comma-separated list of key-value pairs.
  3292  	ExtraParams string `json:"extraParams,omitempty"`
  3293  	// GroupPrefix: Prefix to prepend to group name.
  3294  	GroupPrefix string `json:"groupPrefix,omitempty"`
  3295  	// GroupsClaim: Claim in OIDC ID token that holds group information.
  3296  	GroupsClaim string `json:"groupsClaim,omitempty"`
  3297  	// IssuerUri: URI for the OIDC provider. This should point to the level below
  3298  	// .well-known/openid-configuration.
  3299  	IssuerUri string `json:"issuerUri,omitempty"`
  3300  	// KubectlRedirectUri: Registered redirect uri to redirect users going through
  3301  	// OAuth flow using kubectl plugin.
  3302  	KubectlRedirectUri string `json:"kubectlRedirectUri,omitempty"`
  3303  	// Scopes: Comma-separated list of identifiers.
  3304  	Scopes string `json:"scopes,omitempty"`
  3305  	// UserClaim: Claim in OIDC ID token that holds username.
  3306  	UserClaim string `json:"userClaim,omitempty"`
  3307  	// UserPrefix: Prefix to prepend to user name.
  3308  	UserPrefix string `json:"userPrefix,omitempty"`
  3309  	// ForceSendFields is a list of field names (e.g. "CertificateAuthorityData")
  3310  	// to unconditionally include in API requests. By default, fields with empty or
  3311  	// default values are omitted from API requests. See
  3312  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3313  	// details.
  3314  	ForceSendFields []string `json:"-"`
  3315  	// NullFields is a list of field names (e.g. "CertificateAuthorityData") to
  3316  	// include in API requests with the JSON null value. By default, fields with
  3317  	// empty values are omitted from API requests. See
  3318  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3319  	NullFields []string `json:"-"`
  3320  }
  3321  
  3322  func (s *IdentityServiceOidcConfig) MarshalJSON() ([]byte, error) {
  3323  	type NoMethod IdentityServiceOidcConfig
  3324  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3325  }
  3326  
  3327  // IdentityServiceSamlConfig: Configuration for the SAML Auth flow.
  3328  type IdentityServiceSamlConfig struct {
  3329  	// AttributeMapping: Optional. The mapping of additional user attributes like
  3330  	// nickname, birthday and address etc.. `key` is the name of this additional
  3331  	// attribute. `value` is a string presenting as CEL(common expression language,
  3332  	// go/cel) used for getting the value from the resources. Take nickname as an
  3333  	// example, in this case, `key` is "attribute.nickname" and `value` is
  3334  	// "assertion.nickname".
  3335  	AttributeMapping map[string]string `json:"attributeMapping,omitempty"`
  3336  	// GroupPrefix: Optional. Prefix to prepend to group name.
  3337  	GroupPrefix string `json:"groupPrefix,omitempty"`
  3338  	// GroupsAttribute: Optional. The SAML attribute to read groups from. This
  3339  	// value is expected to be a string and will be passed along as-is (with the
  3340  	// option of being prefixed by the `group_prefix`).
  3341  	GroupsAttribute string `json:"groupsAttribute,omitempty"`
  3342  	// IdentityProviderCertificates: Required. The list of IdP certificates to
  3343  	// validate the SAML response against.
  3344  	IdentityProviderCertificates []string `json:"identityProviderCertificates,omitempty"`
  3345  	// IdentityProviderId: Required. The entity ID of the SAML IdP.
  3346  	IdentityProviderId string `json:"identityProviderId,omitempty"`
  3347  	// IdentityProviderSsoUri: Required. The URI where the SAML IdP exposes the SSO
  3348  	// service.
  3349  	IdentityProviderSsoUri string `json:"identityProviderSsoUri,omitempty"`
  3350  	// UserAttribute: Optional. The SAML attribute to read username from. If
  3351  	// unspecified, the username will be read from the NameID element of the
  3352  	// assertion in SAML response. This value is expected to be a string and will
  3353  	// be passed along as-is (with the option of being prefixed by the
  3354  	// `user_prefix`).
  3355  	UserAttribute string `json:"userAttribute,omitempty"`
  3356  	// UserPrefix: Optional. Prefix to prepend to user name.
  3357  	UserPrefix string `json:"userPrefix,omitempty"`
  3358  	// ForceSendFields is a list of field names (e.g. "AttributeMapping") to
  3359  	// unconditionally include in API requests. By default, fields with empty or
  3360  	// default values are omitted from API requests. See
  3361  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3362  	// details.
  3363  	ForceSendFields []string `json:"-"`
  3364  	// NullFields is a list of field names (e.g. "AttributeMapping") to include in
  3365  	// API requests with the JSON null value. By default, fields with empty values
  3366  	// are omitted from API requests. See
  3367  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3368  	NullFields []string `json:"-"`
  3369  }
  3370  
  3371  func (s *IdentityServiceSamlConfig) MarshalJSON() ([]byte, error) {
  3372  	type NoMethod IdentityServiceSamlConfig
  3373  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3374  }
  3375  
  3376  // IdentityServiceServerConfig: Server settings for the external LDAP server.
  3377  type IdentityServiceServerConfig struct {
  3378  	// CertificateAuthorityData: Optional. Contains a Base64 encoded, PEM formatted
  3379  	// certificate authority certificate for the LDAP server. This must be provided
  3380  	// for the "ldaps" and "startTLS" connections.
  3381  	CertificateAuthorityData string `json:"certificateAuthorityData,omitempty"`
  3382  	// ConnectionType: Optional. Defines the connection type to communicate with
  3383  	// the LDAP server. If `starttls` or `ldaps` is specified, the
  3384  	// certificate_authority_data should not be empty.
  3385  	ConnectionType string `json:"connectionType,omitempty"`
  3386  	// Host: Required. Defines the hostname or IP of the LDAP server. Port is
  3387  	// optional and will default to 389, if unspecified. For example,
  3388  	// "ldap.server.example" or "10.10.10.10:389".
  3389  	Host string `json:"host,omitempty"`
  3390  	// ForceSendFields is a list of field names (e.g. "CertificateAuthorityData")
  3391  	// to unconditionally include in API requests. By default, fields with empty or
  3392  	// default values are omitted from API requests. See
  3393  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3394  	// details.
  3395  	ForceSendFields []string `json:"-"`
  3396  	// NullFields is a list of field names (e.g. "CertificateAuthorityData") to
  3397  	// include in API requests with the JSON null value. By default, fields with
  3398  	// empty values are omitted from API requests. See
  3399  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3400  	NullFields []string `json:"-"`
  3401  }
  3402  
  3403  func (s *IdentityServiceServerConfig) MarshalJSON() ([]byte, error) {
  3404  	type NoMethod IdentityServiceServerConfig
  3405  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3406  }
  3407  
  3408  // IdentityServiceServiceAccountConfig: Contains the credentials of the service
  3409  // account which is authorized to perform the LDAP search in the directory. The
  3410  // credentials can be supplied by the combination of the DN and password or the
  3411  // client certificate.
  3412  type IdentityServiceServiceAccountConfig struct {
  3413  	// SimpleBindCredentials: Credentials for basic auth.
  3414  	SimpleBindCredentials *IdentityServiceSimpleBindCredentials `json:"simpleBindCredentials,omitempty"`
  3415  	// ForceSendFields is a list of field names (e.g. "SimpleBindCredentials") to
  3416  	// unconditionally include in API requests. By default, fields with empty or
  3417  	// default values are omitted from API requests. See
  3418  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3419  	// details.
  3420  	ForceSendFields []string `json:"-"`
  3421  	// NullFields is a list of field names (e.g. "SimpleBindCredentials") to
  3422  	// include in API requests with the JSON null value. By default, fields with
  3423  	// empty values are omitted from API requests. See
  3424  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3425  	NullFields []string `json:"-"`
  3426  }
  3427  
  3428  func (s *IdentityServiceServiceAccountConfig) MarshalJSON() ([]byte, error) {
  3429  	type NoMethod IdentityServiceServiceAccountConfig
  3430  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3431  }
  3432  
  3433  // IdentityServiceSimpleBindCredentials: The structure holds the LDAP simple
  3434  // binding credential.
  3435  type IdentityServiceSimpleBindCredentials struct {
  3436  	// Dn: Required. The distinguished name(DN) of the service account object/user.
  3437  	Dn string `json:"dn,omitempty"`
  3438  	// EncryptedPassword: Output only. The encrypted password of the service
  3439  	// account object/user.
  3440  	EncryptedPassword string `json:"encryptedPassword,omitempty"`
  3441  	// Password: Required. Input only. The password of the service account
  3442  	// object/user.
  3443  	Password string `json:"password,omitempty"`
  3444  	// ForceSendFields is a list of field names (e.g. "Dn") to unconditionally
  3445  	// include in API requests. By default, fields with empty or default values are
  3446  	// omitted from API requests. See
  3447  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3448  	// details.
  3449  	ForceSendFields []string `json:"-"`
  3450  	// NullFields is a list of field names (e.g. "Dn") to include in API requests
  3451  	// with the JSON null value. By default, fields with empty values are omitted
  3452  	// from API requests. See
  3453  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3454  	NullFields []string `json:"-"`
  3455  }
  3456  
  3457  func (s *IdentityServiceSimpleBindCredentials) MarshalJSON() ([]byte, error) {
  3458  	type NoMethod IdentityServiceSimpleBindCredentials
  3459  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3460  }
  3461  
  3462  // IdentityServiceUserConfig: Defines where users exist in the LDAP directory.
  3463  type IdentityServiceUserConfig struct {
  3464  	// BaseDn: Required. The location of the subtree in the LDAP directory to
  3465  	// search for user entries.
  3466  	BaseDn string `json:"baseDn,omitempty"`
  3467  	// Filter: Optional. Filter to apply when searching for the user. This can be
  3468  	// used to further restrict the user accounts which are allowed to login. This
  3469  	// defaults to "(objectClass=User)".
  3470  	Filter string `json:"filter,omitempty"`
  3471  	// IdAttribute: Optional. Determines which attribute to use as the user's
  3472  	// identity after they are authenticated. This is distinct from the
  3473  	// loginAttribute field to allow users to login with a username, but then have
  3474  	// their actual identifier be an email address or full Distinguished Name (DN).
  3475  	// For example, setting loginAttribute to "sAMAccountName" and
  3476  	// identifierAttribute to "userPrincipalName" would allow a user to login as
  3477  	// "bsmith", but actual RBAC policies for the user would be written as
  3478  	// "bsmith@example.com". Using "userPrincipalName" is recommended since this
  3479  	// will be unique for each user. This defaults to "userPrincipalName".
  3480  	IdAttribute string `json:"idAttribute,omitempty"`
  3481  	// LoginAttribute: Optional. The name of the attribute which matches against
  3482  	// the input username. This is used to find the user in the LDAP database e.g.
  3483  	// "(=)" and is combined with the optional filter field. This defaults to
  3484  	// "userPrincipalName".
  3485  	LoginAttribute string `json:"loginAttribute,omitempty"`
  3486  	// ForceSendFields is a list of field names (e.g. "BaseDn") to unconditionally
  3487  	// include in API requests. By default, fields with empty or default values are
  3488  	// omitted from API requests. See
  3489  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3490  	// details.
  3491  	ForceSendFields []string `json:"-"`
  3492  	// NullFields is a list of field names (e.g. "BaseDn") to include in API
  3493  	// requests with the JSON null value. By default, fields with empty values are
  3494  	// omitted from API requests. See
  3495  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3496  	NullFields []string `json:"-"`
  3497  }
  3498  
  3499  func (s *IdentityServiceUserConfig) MarshalJSON() ([]byte, error) {
  3500  	type NoMethod IdentityServiceUserConfig
  3501  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3502  }
  3503  
  3504  // KubernetesMetadata: KubernetesMetadata provides informational metadata for
  3505  // Memberships representing Kubernetes clusters.
  3506  type KubernetesMetadata struct {
  3507  	// KubernetesApiServerVersion: Output only. Kubernetes API server version
  3508  	// string as reported by `/version`.
  3509  	KubernetesApiServerVersion string `json:"kubernetesApiServerVersion,omitempty"`
  3510  	// MemoryMb: Output only. The total memory capacity as reported by the sum of
  3511  	// all Kubernetes nodes resources, defined in MB.
  3512  	MemoryMb int64 `json:"memoryMb,omitempty"`
  3513  	// NodeCount: Output only. Node count as reported by Kubernetes nodes
  3514  	// resources.
  3515  	NodeCount int64 `json:"nodeCount,omitempty"`
  3516  	// NodeProviderId: Output only. Node providerID as reported by the first node
  3517  	// in the list of nodes on the Kubernetes endpoint. On Kubernetes platforms
  3518  	// that support zero-node clusters (like GKE-on-GCP), the node_count will be
  3519  	// zero and the node_provider_id will be empty.
  3520  	NodeProviderId string `json:"nodeProviderId,omitempty"`
  3521  	// UpdateTime: Output only. The time at which these details were last updated.
  3522  	// This update_time is different from the Membership-level update_time since
  3523  	// EndpointDetails are updated internally for API consumers.
  3524  	UpdateTime string `json:"updateTime,omitempty"`
  3525  	// VcpuCount: Output only. vCPU count as reported by Kubernetes nodes
  3526  	// resources.
  3527  	VcpuCount int64 `json:"vcpuCount,omitempty"`
  3528  	// ForceSendFields is a list of field names (e.g. "KubernetesApiServerVersion")
  3529  	// to unconditionally include in API requests. By default, fields with empty or
  3530  	// default values are omitted from API requests. See
  3531  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3532  	// details.
  3533  	ForceSendFields []string `json:"-"`
  3534  	// NullFields is a list of field names (e.g. "KubernetesApiServerVersion") to
  3535  	// include in API requests with the JSON null value. By default, fields with
  3536  	// empty values are omitted from API requests. See
  3537  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3538  	NullFields []string `json:"-"`
  3539  }
  3540  
  3541  func (s *KubernetesMetadata) MarshalJSON() ([]byte, error) {
  3542  	type NoMethod KubernetesMetadata
  3543  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3544  }
  3545  
  3546  // KubernetesResource: KubernetesResource contains the YAML manifests and
  3547  // configuration for Membership Kubernetes resources in the cluster. After
  3548  // CreateMembership or UpdateMembership, these resources should be re-applied
  3549  // in the cluster.
  3550  type KubernetesResource struct {
  3551  	// ConnectResources: Output only. The Kubernetes resources for installing the
  3552  	// GKE Connect agent This field is only populated in the Membership returned
  3553  	// from a successful long-running operation from CreateMembership or
  3554  	// UpdateMembership. It is not populated during normal GetMembership or
  3555  	// ListMemberships requests. To get the resource manifest after the initial
  3556  	// registration, the caller should make a UpdateMembership call with an empty
  3557  	// field mask.
  3558  	ConnectResources []*ResourceManifest `json:"connectResources,omitempty"`
  3559  	// MembershipCrManifest: Input only. The YAML representation of the Membership
  3560  	// CR. This field is ignored for GKE clusters where Hub can read the CR
  3561  	// directly. Callers should provide the CR that is currently present in the
  3562  	// cluster during CreateMembership or UpdateMembership, or leave this field
  3563  	// empty if none exists. The CR manifest is used to validate the cluster has
  3564  	// not been registered with another Membership.
  3565  	MembershipCrManifest string `json:"membershipCrManifest,omitempty"`
  3566  	// MembershipResources: Output only. Additional Kubernetes resources that need
  3567  	// to be applied to the cluster after Membership creation, and after every
  3568  	// update. This field is only populated in the Membership returned from a
  3569  	// successful long-running operation from CreateMembership or UpdateMembership.
  3570  	// It is not populated during normal GetMembership or ListMemberships requests.
  3571  	// To get the resource manifest after the initial registration, the caller
  3572  	// should make a UpdateMembership call with an empty field mask.
  3573  	MembershipResources []*ResourceManifest `json:"membershipResources,omitempty"`
  3574  	// ResourceOptions: Optional. Options for Kubernetes resource generation.
  3575  	ResourceOptions *ResourceOptions `json:"resourceOptions,omitempty"`
  3576  	// ForceSendFields is a list of field names (e.g. "ConnectResources") to
  3577  	// unconditionally include in API requests. By default, fields with empty or
  3578  	// default values are omitted from API requests. See
  3579  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3580  	// details.
  3581  	ForceSendFields []string `json:"-"`
  3582  	// NullFields is a list of field names (e.g. "ConnectResources") to include in
  3583  	// API requests with the JSON null value. By default, fields with empty values
  3584  	// are omitted from API requests. See
  3585  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3586  	NullFields []string `json:"-"`
  3587  }
  3588  
  3589  func (s *KubernetesResource) MarshalJSON() ([]byte, error) {
  3590  	type NoMethod KubernetesResource
  3591  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3592  }
  3593  
  3594  // ListAdminClusterMembershipsResponse: Response message for the
  3595  // `GkeHub.ListAdminClusterMemberships` method.
  3596  type ListAdminClusterMembershipsResponse struct {
  3597  	// AdminClusterMemberships: The list of matching Memberships of admin clusters.
  3598  	AdminClusterMemberships []*Membership `json:"adminClusterMemberships,omitempty"`
  3599  	// NextPageToken: A token to request the next page of resources from the
  3600  	// `ListAdminClusterMemberships` method. The value of an empty string means
  3601  	// that there are no more resources to return.
  3602  	NextPageToken string `json:"nextPageToken,omitempty"`
  3603  	// Unreachable: List of locations that could not be reached while fetching this
  3604  	// list.
  3605  	Unreachable []string `json:"unreachable,omitempty"`
  3606  
  3607  	// ServerResponse contains the HTTP response code and headers from the server.
  3608  	googleapi.ServerResponse `json:"-"`
  3609  	// ForceSendFields is a list of field names (e.g. "AdminClusterMemberships") to
  3610  	// unconditionally include in API requests. By default, fields with empty or
  3611  	// default values are omitted from API requests. See
  3612  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3613  	// details.
  3614  	ForceSendFields []string `json:"-"`
  3615  	// NullFields is a list of field names (e.g. "AdminClusterMemberships") to
  3616  	// include in API requests with the JSON null value. By default, fields with
  3617  	// empty values are omitted from API requests. See
  3618  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3619  	NullFields []string `json:"-"`
  3620  }
  3621  
  3622  func (s *ListAdminClusterMembershipsResponse) MarshalJSON() ([]byte, error) {
  3623  	type NoMethod ListAdminClusterMembershipsResponse
  3624  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3625  }
  3626  
  3627  // ListBoundMembershipsResponse: List of Memberships bound to a Scope.
  3628  type ListBoundMembershipsResponse struct {
  3629  	// Memberships: The list of Memberships bound to the given Scope.
  3630  	Memberships []*Membership `json:"memberships,omitempty"`
  3631  	// NextPageToken: A token to request the next page of resources from the
  3632  	// `ListBoundMemberships` method. The value of an empty string means that there
  3633  	// are no more resources to return.
  3634  	NextPageToken string `json:"nextPageToken,omitempty"`
  3635  	// Unreachable: List of locations that could not be reached while fetching this
  3636  	// list.
  3637  	Unreachable []string `json:"unreachable,omitempty"`
  3638  
  3639  	// ServerResponse contains the HTTP response code and headers from the server.
  3640  	googleapi.ServerResponse `json:"-"`
  3641  	// ForceSendFields is a list of field names (e.g. "Memberships") to
  3642  	// unconditionally include in API requests. By default, fields with empty or
  3643  	// default values are omitted from API requests. See
  3644  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3645  	// details.
  3646  	ForceSendFields []string `json:"-"`
  3647  	// NullFields is a list of field names (e.g. "Memberships") to include in API
  3648  	// requests with the JSON null value. By default, fields with empty values are
  3649  	// omitted from API requests. See
  3650  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3651  	NullFields []string `json:"-"`
  3652  }
  3653  
  3654  func (s *ListBoundMembershipsResponse) MarshalJSON() ([]byte, error) {
  3655  	type NoMethod ListBoundMembershipsResponse
  3656  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3657  }
  3658  
  3659  // ListFeaturesResponse: Response message for the `GkeHub.ListFeatures` method.
  3660  type ListFeaturesResponse struct {
  3661  	// NextPageToken: A token to request the next page of resources from the
  3662  	// `ListFeatures` method. The value of an empty string means that there are no
  3663  	// more resources to return.
  3664  	NextPageToken string `json:"nextPageToken,omitempty"`
  3665  	// Resources: The list of matching Features
  3666  	Resources []*Feature `json:"resources,omitempty"`
  3667  
  3668  	// ServerResponse contains the HTTP response code and headers from the server.
  3669  	googleapi.ServerResponse `json:"-"`
  3670  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  3671  	// unconditionally include in API requests. By default, fields with empty or
  3672  	// default values are omitted from API requests. See
  3673  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3674  	// details.
  3675  	ForceSendFields []string `json:"-"`
  3676  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  3677  	// requests with the JSON null value. By default, fields with empty values are
  3678  	// omitted from API requests. See
  3679  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3680  	NullFields []string `json:"-"`
  3681  }
  3682  
  3683  func (s *ListFeaturesResponse) MarshalJSON() ([]byte, error) {
  3684  	type NoMethod ListFeaturesResponse
  3685  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3686  }
  3687  
  3688  // ListFleetsResponse: Response message for the `GkeHub.ListFleetsResponse`
  3689  // method.
  3690  type ListFleetsResponse struct {
  3691  	// Fleets: The list of matching fleets.
  3692  	Fleets []*Fleet `json:"fleets,omitempty"`
  3693  	// NextPageToken: A token, which can be sent as `page_token` to retrieve the
  3694  	// next page. If this field is omitted, there are no subsequent pages. The
  3695  	// token is only valid for 1h.
  3696  	NextPageToken string `json:"nextPageToken,omitempty"`
  3697  
  3698  	// ServerResponse contains the HTTP response code and headers from the server.
  3699  	googleapi.ServerResponse `json:"-"`
  3700  	// ForceSendFields is a list of field names (e.g. "Fleets") to unconditionally
  3701  	// include in API requests. By default, fields with empty or default values are
  3702  	// omitted from API requests. See
  3703  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3704  	// details.
  3705  	ForceSendFields []string `json:"-"`
  3706  	// NullFields is a list of field names (e.g. "Fleets") to include in API
  3707  	// requests with the JSON null value. By default, fields with empty values are
  3708  	// omitted from API requests. See
  3709  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3710  	NullFields []string `json:"-"`
  3711  }
  3712  
  3713  func (s *ListFleetsResponse) MarshalJSON() ([]byte, error) {
  3714  	type NoMethod ListFleetsResponse
  3715  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3716  }
  3717  
  3718  // ListLocationsResponse: The response message for Locations.ListLocations.
  3719  type ListLocationsResponse struct {
  3720  	// Locations: A list of locations that matches the specified filter in the
  3721  	// request.
  3722  	Locations []*Location `json:"locations,omitempty"`
  3723  	// NextPageToken: The standard List next-page token.
  3724  	NextPageToken string `json:"nextPageToken,omitempty"`
  3725  
  3726  	// ServerResponse contains the HTTP response code and headers from the server.
  3727  	googleapi.ServerResponse `json:"-"`
  3728  	// ForceSendFields is a list of field names (e.g. "Locations") to
  3729  	// unconditionally include in API requests. By default, fields with empty or
  3730  	// default values are omitted from API requests. See
  3731  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3732  	// details.
  3733  	ForceSendFields []string `json:"-"`
  3734  	// NullFields is a list of field names (e.g. "Locations") to include in API
  3735  	// requests with the JSON null value. By default, fields with empty values are
  3736  	// omitted from API requests. See
  3737  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3738  	NullFields []string `json:"-"`
  3739  }
  3740  
  3741  func (s *ListLocationsResponse) MarshalJSON() ([]byte, error) {
  3742  	type NoMethod ListLocationsResponse
  3743  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3744  }
  3745  
  3746  // ListMembershipBindingsResponse: List of MembershipBindings.
  3747  type ListMembershipBindingsResponse struct {
  3748  	// MembershipBindings: The list of membership_bindings
  3749  	MembershipBindings []*MembershipBinding `json:"membershipBindings,omitempty"`
  3750  	// NextPageToken: A token to request the next page of resources from the
  3751  	// `ListMembershipBindings` method. The value of an empty string means that
  3752  	// there are no more resources to return.
  3753  	NextPageToken string `json:"nextPageToken,omitempty"`
  3754  
  3755  	// ServerResponse contains the HTTP response code and headers from the server.
  3756  	googleapi.ServerResponse `json:"-"`
  3757  	// ForceSendFields is a list of field names (e.g. "MembershipBindings") to
  3758  	// unconditionally include in API requests. By default, fields with empty or
  3759  	// default values are omitted from API requests. See
  3760  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3761  	// details.
  3762  	ForceSendFields []string `json:"-"`
  3763  	// NullFields is a list of field names (e.g. "MembershipBindings") to include
  3764  	// in API requests with the JSON null value. By default, fields with empty
  3765  	// values are omitted from API requests. See
  3766  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3767  	NullFields []string `json:"-"`
  3768  }
  3769  
  3770  func (s *ListMembershipBindingsResponse) MarshalJSON() ([]byte, error) {
  3771  	type NoMethod ListMembershipBindingsResponse
  3772  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3773  }
  3774  
  3775  // ListMembershipRBACRoleBindingsResponse: List of Membership RBACRoleBindings.
  3776  type ListMembershipRBACRoleBindingsResponse struct {
  3777  	// NextPageToken: A token to request the next page of resources from the
  3778  	// `ListMembershipRBACRoleBindings` method. The value of an empty string means
  3779  	// that there are no more resources to return.
  3780  	NextPageToken string `json:"nextPageToken,omitempty"`
  3781  	// Rbacrolebindings: The list of Membership RBACRoleBindings.
  3782  	Rbacrolebindings []*RBACRoleBinding `json:"rbacrolebindings,omitempty"`
  3783  
  3784  	// ServerResponse contains the HTTP response code and headers from the server.
  3785  	googleapi.ServerResponse `json:"-"`
  3786  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  3787  	// unconditionally include in API requests. By default, fields with empty or
  3788  	// default values are omitted from API requests. See
  3789  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3790  	// details.
  3791  	ForceSendFields []string `json:"-"`
  3792  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  3793  	// requests with the JSON null value. By default, fields with empty values are
  3794  	// omitted from API requests. See
  3795  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3796  	NullFields []string `json:"-"`
  3797  }
  3798  
  3799  func (s *ListMembershipRBACRoleBindingsResponse) MarshalJSON() ([]byte, error) {
  3800  	type NoMethod ListMembershipRBACRoleBindingsResponse
  3801  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3802  }
  3803  
  3804  // ListMembershipsResponse: Response message for the `GkeHub.ListMemberships`
  3805  // method.
  3806  type ListMembershipsResponse struct {
  3807  	// NextPageToken: A token to request the next page of resources from the
  3808  	// `ListMemberships` method. The value of an empty string means that there are
  3809  	// no more resources to return.
  3810  	NextPageToken string `json:"nextPageToken,omitempty"`
  3811  	// Resources: The list of matching Memberships.
  3812  	Resources []*Membership `json:"resources,omitempty"`
  3813  	// Unreachable: List of locations that could not be reached while fetching this
  3814  	// list.
  3815  	Unreachable []string `json:"unreachable,omitempty"`
  3816  
  3817  	// ServerResponse contains the HTTP response code and headers from the server.
  3818  	googleapi.ServerResponse `json:"-"`
  3819  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  3820  	// unconditionally include in API requests. By default, fields with empty or
  3821  	// default values are omitted from API requests. See
  3822  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3823  	// details.
  3824  	ForceSendFields []string `json:"-"`
  3825  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  3826  	// requests with the JSON null value. By default, fields with empty values are
  3827  	// omitted from API requests. See
  3828  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3829  	NullFields []string `json:"-"`
  3830  }
  3831  
  3832  func (s *ListMembershipsResponse) MarshalJSON() ([]byte, error) {
  3833  	type NoMethod ListMembershipsResponse
  3834  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3835  }
  3836  
  3837  // ListOperationsResponse: The response message for Operations.ListOperations.
  3838  type ListOperationsResponse struct {
  3839  	// NextPageToken: The standard List next-page token.
  3840  	NextPageToken string `json:"nextPageToken,omitempty"`
  3841  	// Operations: A list of operations that matches the specified filter in the
  3842  	// request.
  3843  	Operations []*Operation `json:"operations,omitempty"`
  3844  
  3845  	// ServerResponse contains the HTTP response code and headers from the server.
  3846  	googleapi.ServerResponse `json:"-"`
  3847  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  3848  	// unconditionally include in API requests. By default, fields with empty or
  3849  	// default values are omitted from API requests. See
  3850  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3851  	// details.
  3852  	ForceSendFields []string `json:"-"`
  3853  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  3854  	// requests with the JSON null value. By default, fields with empty values are
  3855  	// omitted from API requests. See
  3856  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3857  	NullFields []string `json:"-"`
  3858  }
  3859  
  3860  func (s *ListOperationsResponse) MarshalJSON() ([]byte, error) {
  3861  	type NoMethod ListOperationsResponse
  3862  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3863  }
  3864  
  3865  // ListPermittedScopesResponse: List of permitted Scopes.
  3866  type ListPermittedScopesResponse struct {
  3867  	// NextPageToken: A token to request the next page of resources from the
  3868  	// `ListPermittedScopes` method. The value of an empty string means that there
  3869  	// are no more resources to return.
  3870  	NextPageToken string `json:"nextPageToken,omitempty"`
  3871  	// Scopes: The list of permitted Scopes
  3872  	Scopes []*Scope `json:"scopes,omitempty"`
  3873  
  3874  	// ServerResponse contains the HTTP response code and headers from the server.
  3875  	googleapi.ServerResponse `json:"-"`
  3876  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  3877  	// unconditionally include in API requests. By default, fields with empty or
  3878  	// default values are omitted from API requests. See
  3879  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3880  	// details.
  3881  	ForceSendFields []string `json:"-"`
  3882  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  3883  	// requests with the JSON null value. By default, fields with empty values are
  3884  	// omitted from API requests. See
  3885  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3886  	NullFields []string `json:"-"`
  3887  }
  3888  
  3889  func (s *ListPermittedScopesResponse) MarshalJSON() ([]byte, error) {
  3890  	type NoMethod ListPermittedScopesResponse
  3891  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3892  }
  3893  
  3894  // ListScopeNamespacesResponse: List of fleet namespaces.
  3895  type ListScopeNamespacesResponse struct {
  3896  	// NextPageToken: A token to request the next page of resources from the
  3897  	// `ListNamespaces` method. The value of an empty string means that there are
  3898  	// no more resources to return.
  3899  	NextPageToken string `json:"nextPageToken,omitempty"`
  3900  	// ScopeNamespaces: The list of fleet namespaces
  3901  	ScopeNamespaces []*Namespace `json:"scopeNamespaces,omitempty"`
  3902  
  3903  	// ServerResponse contains the HTTP response code and headers from the server.
  3904  	googleapi.ServerResponse `json:"-"`
  3905  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  3906  	// unconditionally include in API requests. By default, fields with empty or
  3907  	// default values are omitted from API requests. See
  3908  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3909  	// details.
  3910  	ForceSendFields []string `json:"-"`
  3911  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  3912  	// requests with the JSON null value. By default, fields with empty values are
  3913  	// omitted from API requests. See
  3914  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3915  	NullFields []string `json:"-"`
  3916  }
  3917  
  3918  func (s *ListScopeNamespacesResponse) MarshalJSON() ([]byte, error) {
  3919  	type NoMethod ListScopeNamespacesResponse
  3920  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3921  }
  3922  
  3923  // ListScopeRBACRoleBindingsResponse: List of Scope RBACRoleBindings.
  3924  type ListScopeRBACRoleBindingsResponse struct {
  3925  	// NextPageToken: A token to request the next page of resources from the
  3926  	// `ListScopeRBACRoleBindings` method. The value of an empty string means that
  3927  	// there are no more resources to return.
  3928  	NextPageToken string `json:"nextPageToken,omitempty"`
  3929  	// Rbacrolebindings: The list of Scope RBACRoleBindings.
  3930  	Rbacrolebindings []*RBACRoleBinding `json:"rbacrolebindings,omitempty"`
  3931  
  3932  	// ServerResponse contains the HTTP response code and headers from the server.
  3933  	googleapi.ServerResponse `json:"-"`
  3934  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  3935  	// unconditionally include in API requests. By default, fields with empty or
  3936  	// default values are 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. "NextPageToken") 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 *ListScopeRBACRoleBindingsResponse) MarshalJSON() ([]byte, error) {
  3948  	type NoMethod ListScopeRBACRoleBindingsResponse
  3949  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3950  }
  3951  
  3952  // ListScopesResponse: List of Scopes.
  3953  type ListScopesResponse struct {
  3954  	// NextPageToken: A token to request the next page of resources from the
  3955  	// `ListScopes` method. The value of an empty string means that there are no
  3956  	// more resources to return.
  3957  	NextPageToken string `json:"nextPageToken,omitempty"`
  3958  	// Scopes: The list of Scopes
  3959  	Scopes []*Scope `json:"scopes,omitempty"`
  3960  
  3961  	// ServerResponse contains the HTTP response code and headers from the server.
  3962  	googleapi.ServerResponse `json:"-"`
  3963  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  3964  	// unconditionally include in API requests. By default, fields with empty or
  3965  	// default values are omitted from API requests. See
  3966  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3967  	// details.
  3968  	ForceSendFields []string `json:"-"`
  3969  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  3970  	// requests with the JSON null value. By default, fields with empty values are
  3971  	// omitted from API requests. See
  3972  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3973  	NullFields []string `json:"-"`
  3974  }
  3975  
  3976  func (s *ListScopesResponse) MarshalJSON() ([]byte, error) {
  3977  	type NoMethod ListScopesResponse
  3978  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3979  }
  3980  
  3981  // Location: A resource that represents a Google Cloud location.
  3982  type Location struct {
  3983  	// DisplayName: The friendly name for this location, typically a nearby city
  3984  	// name. For example, "Tokyo".
  3985  	DisplayName string `json:"displayName,omitempty"`
  3986  	// Labels: Cross-service attributes for the location. For example
  3987  	// {"cloud.googleapis.com/region": "us-east1"}
  3988  	Labels map[string]string `json:"labels,omitempty"`
  3989  	// LocationId: The canonical id for this location. For example: "us-east1".
  3990  	LocationId string `json:"locationId,omitempty"`
  3991  	// Metadata: Service-specific metadata. For example the available capacity at
  3992  	// the given location.
  3993  	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
  3994  	// Name: Resource name for the location, which may vary between
  3995  	// implementations. For example:
  3996  	// "projects/example-project/locations/us-east1"
  3997  	Name string `json:"name,omitempty"`
  3998  
  3999  	// ServerResponse contains the HTTP response code and headers from the server.
  4000  	googleapi.ServerResponse `json:"-"`
  4001  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
  4002  	// unconditionally include in API requests. By default, fields with empty or
  4003  	// default values are omitted from API requests. See
  4004  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4005  	// details.
  4006  	ForceSendFields []string `json:"-"`
  4007  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
  4008  	// requests with the JSON null value. By default, fields with empty values are
  4009  	// omitted from API requests. See
  4010  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4011  	NullFields []string `json:"-"`
  4012  }
  4013  
  4014  func (s *Location) MarshalJSON() ([]byte, error) {
  4015  	type NoMethod Location
  4016  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4017  }
  4018  
  4019  // Membership: Membership contains information about a member cluster.
  4020  type Membership struct {
  4021  	// Authority: Optional. How to identify workloads from this Membership. See the
  4022  	// documentation on Workload Identity for more details:
  4023  	// https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity
  4024  	Authority *Authority `json:"authority,omitempty"`
  4025  	// CreateTime: Output only. When the Membership was created.
  4026  	CreateTime string `json:"createTime,omitempty"`
  4027  	// DeleteTime: Output only. When the Membership was deleted.
  4028  	DeleteTime string `json:"deleteTime,omitempty"`
  4029  	// Description: Output only. Description of this membership, limited to 63
  4030  	// characters. Must match the regex: `a-zA-Z0-9*` This field is present for
  4031  	// legacy purposes.
  4032  	Description string `json:"description,omitempty"`
  4033  	// Endpoint: Optional. Endpoint information to reach this member.
  4034  	Endpoint *MembershipEndpoint `json:"endpoint,omitempty"`
  4035  	// ExternalId: Optional. An externally-generated and managed ID for this
  4036  	// Membership. This ID may be modified after creation, but this is not
  4037  	// recommended. The ID must match the regex: `a-zA-Z0-9*` If this Membership
  4038  	// represents a Kubernetes cluster, this value should be set to the UID of the
  4039  	// `kube-system` namespace object.
  4040  	ExternalId string `json:"externalId,omitempty"`
  4041  	// Labels: Optional. Labels for this membership.
  4042  	Labels map[string]string `json:"labels,omitempty"`
  4043  	// LastConnectionTime: Output only. For clusters using Connect, the timestamp
  4044  	// of the most recent connection established with Google Cloud. This time is
  4045  	// updated every several minutes, not continuously. For clusters that do not
  4046  	// use GKE Connect, or that have never connected successfully, this field will
  4047  	// be unset.
  4048  	LastConnectionTime string `json:"lastConnectionTime,omitempty"`
  4049  	// MonitoringConfig: Optional. The monitoring config information for this
  4050  	// membership.
  4051  	MonitoringConfig *MonitoringConfig `json:"monitoringConfig,omitempty"`
  4052  	// Name: Output only. The full, unique name of this Membership resource in the
  4053  	// format `projects/*/locations/*/memberships/{membership_id}`, set during
  4054  	// creation. `membership_id` must be a valid RFC 1123 compliant DNS label: 1.
  4055  	// At most 63 characters in length 2. It must consist of lower case
  4056  	// alphanumeric characters or `-` 3. It must start and end with an alphanumeric
  4057  	// character Which can be expressed as the regex:
  4058  	// `[a-z0-9]([-a-z0-9]*[a-z0-9])?`, with a maximum length of 63 characters.
  4059  	Name string `json:"name,omitempty"`
  4060  	// State: Output only. State of the Membership resource.
  4061  	State *MembershipState `json:"state,omitempty"`
  4062  	// UniqueId: Output only. Google-generated UUID for this resource. This is
  4063  	// unique across all Membership resources. If a Membership resource is deleted
  4064  	// and another resource with the same name is created, it gets a different
  4065  	// unique_id.
  4066  	UniqueId string `json:"uniqueId,omitempty"`
  4067  	// UpdateTime: Output only. When the Membership was last updated.
  4068  	UpdateTime string `json:"updateTime,omitempty"`
  4069  
  4070  	// ServerResponse contains the HTTP response code and headers from the server.
  4071  	googleapi.ServerResponse `json:"-"`
  4072  	// ForceSendFields is a list of field names (e.g. "Authority") to
  4073  	// unconditionally include in API requests. By default, fields with empty or
  4074  	// default values are omitted from API requests. See
  4075  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4076  	// details.
  4077  	ForceSendFields []string `json:"-"`
  4078  	// NullFields is a list of field names (e.g. "Authority") to include in API
  4079  	// requests with the JSON null value. By default, fields with empty values are
  4080  	// omitted from API requests. See
  4081  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4082  	NullFields []string `json:"-"`
  4083  }
  4084  
  4085  func (s *Membership) MarshalJSON() ([]byte, error) {
  4086  	type NoMethod Membership
  4087  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4088  }
  4089  
  4090  // MembershipBinding: MembershipBinding is a subresource of a Membership,
  4091  // representing what Fleet Scopes (or other, future Fleet resources) a
  4092  // Membership is bound to.
  4093  type MembershipBinding struct {
  4094  	// CreateTime: Output only. When the membership binding was created.
  4095  	CreateTime string `json:"createTime,omitempty"`
  4096  	// DeleteTime: Output only. When the membership binding was deleted.
  4097  	DeleteTime string `json:"deleteTime,omitempty"`
  4098  	// Labels: Optional. Labels for this MembershipBinding.
  4099  	Labels map[string]string `json:"labels,omitempty"`
  4100  	// Name: The resource name for the membershipbinding itself
  4101  	// `projects/{project}/locations/{location}/memberships/{membership}/bindings/{m
  4102  	// embershipbinding}`
  4103  	Name string `json:"name,omitempty"`
  4104  	// Scope: A Scope resource name in the format
  4105  	// `projects/*/locations/*/scopes/*`.
  4106  	Scope string `json:"scope,omitempty"`
  4107  	// State: Output only. State of the membership binding resource.
  4108  	State *MembershipBindingLifecycleState `json:"state,omitempty"`
  4109  	// Uid: Output only. Google-generated UUID for this resource. This is unique
  4110  	// across all membershipbinding resources. If a membershipbinding resource is
  4111  	// deleted and another resource with the same name is created, it gets a
  4112  	// different uid.
  4113  	Uid string `json:"uid,omitempty"`
  4114  	// UpdateTime: Output only. When the membership binding was last updated.
  4115  	UpdateTime string `json:"updateTime,omitempty"`
  4116  
  4117  	// ServerResponse contains the HTTP response code and headers from the server.
  4118  	googleapi.ServerResponse `json:"-"`
  4119  	// ForceSendFields is a list of field names (e.g. "CreateTime") to
  4120  	// unconditionally include in API requests. By default, fields with empty or
  4121  	// default values are omitted from API requests. See
  4122  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4123  	// details.
  4124  	ForceSendFields []string `json:"-"`
  4125  	// NullFields is a list of field names (e.g. "CreateTime") to include in API
  4126  	// requests with the JSON null value. By default, fields with empty values are
  4127  	// omitted from API requests. See
  4128  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4129  	NullFields []string `json:"-"`
  4130  }
  4131  
  4132  func (s *MembershipBinding) MarshalJSON() ([]byte, error) {
  4133  	type NoMethod MembershipBinding
  4134  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4135  }
  4136  
  4137  // MembershipBindingLifecycleState: MembershipBindingLifecycleState describes
  4138  // the state of a Binding resource.
  4139  type MembershipBindingLifecycleState struct {
  4140  	// Code: Output only. The current state of the MembershipBinding resource.
  4141  	//
  4142  	// Possible values:
  4143  	//   "CODE_UNSPECIFIED" - The code is not set.
  4144  	//   "CREATING" - The membershipbinding is being created.
  4145  	//   "READY" - The membershipbinding active.
  4146  	//   "DELETING" - The membershipbinding is being deleted.
  4147  	//   "UPDATING" - The membershipbinding is being updated.
  4148  	Code string `json:"code,omitempty"`
  4149  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  4150  	// include in API requests. By default, fields with empty or default values are
  4151  	// omitted from API requests. See
  4152  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4153  	// details.
  4154  	ForceSendFields []string `json:"-"`
  4155  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  4156  	// with the JSON null value. By default, fields with empty values are omitted
  4157  	// from API requests. See
  4158  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4159  	NullFields []string `json:"-"`
  4160  }
  4161  
  4162  func (s *MembershipBindingLifecycleState) MarshalJSON() ([]byte, error) {
  4163  	type NoMethod MembershipBindingLifecycleState
  4164  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4165  }
  4166  
  4167  // MembershipEndpoint: MembershipEndpoint contains information needed to
  4168  // contact a Kubernetes API, endpoint and any additional Kubernetes metadata.
  4169  type MembershipEndpoint struct {
  4170  	// ApplianceCluster: Optional. Specific information for a GDC Edge Appliance
  4171  	// cluster.
  4172  	ApplianceCluster *ApplianceCluster `json:"applianceCluster,omitempty"`
  4173  	// EdgeCluster: Optional. Specific information for a Google Edge cluster.
  4174  	EdgeCluster *EdgeCluster `json:"edgeCluster,omitempty"`
  4175  	// GkeCluster: Optional. Specific information for a GKE-on-GCP cluster.
  4176  	GkeCluster *GkeCluster `json:"gkeCluster,omitempty"`
  4177  	// GoogleManaged: Output only. Whether the lifecycle of this membership is
  4178  	// managed by a google cluster platform service.
  4179  	GoogleManaged bool `json:"googleManaged,omitempty"`
  4180  	// KubernetesMetadata: Output only. Useful Kubernetes-specific metadata.
  4181  	KubernetesMetadata *KubernetesMetadata `json:"kubernetesMetadata,omitempty"`
  4182  	// KubernetesResource: Optional. The in-cluster Kubernetes Resources that
  4183  	// should be applied for a correctly registered cluster, in the steady state.
  4184  	// These resources: * Ensure that the cluster is exclusively registered to one
  4185  	// and only one Hub Membership. * Propagate Workload Pool Information available
  4186  	// in the Membership Authority field. * Ensure proper initial configuration of
  4187  	// default Hub Features.
  4188  	KubernetesResource *KubernetesResource `json:"kubernetesResource,omitempty"`
  4189  	// MultiCloudCluster: Optional. Specific information for a GKE Multi-Cloud
  4190  	// cluster.
  4191  	MultiCloudCluster *MultiCloudCluster `json:"multiCloudCluster,omitempty"`
  4192  	// OnPremCluster: Optional. Specific information for a GKE On-Prem cluster. An
  4193  	// onprem user-cluster who has no resourceLink is not allowed to use this
  4194  	// field, it should have a nil "type" instead.
  4195  	OnPremCluster *OnPremCluster `json:"onPremCluster,omitempty"`
  4196  	// ForceSendFields is a list of field names (e.g. "ApplianceCluster") to
  4197  	// unconditionally include in API requests. By default, fields with empty or
  4198  	// default values are omitted from API requests. See
  4199  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4200  	// details.
  4201  	ForceSendFields []string `json:"-"`
  4202  	// NullFields is a list of field names (e.g. "ApplianceCluster") to include in
  4203  	// API requests with the JSON null value. By default, fields with empty values
  4204  	// are omitted from API requests. See
  4205  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4206  	NullFields []string `json:"-"`
  4207  }
  4208  
  4209  func (s *MembershipEndpoint) MarshalJSON() ([]byte, error) {
  4210  	type NoMethod MembershipEndpoint
  4211  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4212  }
  4213  
  4214  // MembershipFeatureSpec: MembershipFeatureSpec contains configuration
  4215  // information for a single Membership. NOTE: Please use snake case in your
  4216  // feature name.
  4217  type MembershipFeatureSpec struct {
  4218  	// Anthosobservability: Anthos Observability-specific spec
  4219  	Anthosobservability *AnthosObservabilityMembershipSpec `json:"anthosobservability,omitempty"`
  4220  	// Cloudbuild: Cloud Build-specific spec
  4221  	Cloudbuild *CloudBuildMembershipSpec `json:"cloudbuild,omitempty"`
  4222  	// Configmanagement: Config Management-specific spec.
  4223  	Configmanagement *ConfigManagementMembershipSpec `json:"configmanagement,omitempty"`
  4224  	// Fleetobservability: Fleet observability membership spec
  4225  	Fleetobservability *FleetObservabilityMembershipSpec `json:"fleetobservability,omitempty"`
  4226  	// Identityservice: Identity Service-specific spec.
  4227  	Identityservice *IdentityServiceMembershipSpec `json:"identityservice,omitempty"`
  4228  	// Mesh: Anthos Service Mesh-specific spec
  4229  	Mesh *ServiceMeshMembershipSpec `json:"mesh,omitempty"`
  4230  	// Namespaceactuation: FNS Actuation membership spec
  4231  	Namespaceactuation *NamespaceActuationMembershipSpec `json:"namespaceactuation,omitempty"`
  4232  	// Origin: Whether this per-Membership spec was inherited from a fleet-level
  4233  	// default. This field can be updated by users by either overriding a
  4234  	// Membership config (updated to USER implicitly) or setting to FLEET
  4235  	// explicitly.
  4236  	Origin *Origin `json:"origin,omitempty"`
  4237  	// Policycontroller: Policy Controller spec.
  4238  	Policycontroller *PolicyControllerMembershipSpec `json:"policycontroller,omitempty"`
  4239  	// Workloadcertificate: Workload Certificate spec.
  4240  	Workloadcertificate *MembershipSpec `json:"workloadcertificate,omitempty"`
  4241  	// ForceSendFields is a list of field names (e.g. "Anthosobservability") to
  4242  	// unconditionally include in API requests. By default, fields with empty or
  4243  	// default values are omitted from API requests. See
  4244  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4245  	// details.
  4246  	ForceSendFields []string `json:"-"`
  4247  	// NullFields is a list of field names (e.g. "Anthosobservability") to include
  4248  	// in API requests with the JSON null value. By default, fields with empty
  4249  	// values are omitted from API requests. See
  4250  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4251  	NullFields []string `json:"-"`
  4252  }
  4253  
  4254  func (s *MembershipFeatureSpec) MarshalJSON() ([]byte, error) {
  4255  	type NoMethod MembershipFeatureSpec
  4256  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4257  }
  4258  
  4259  // MembershipFeatureState: MembershipFeatureState contains Feature status
  4260  // information for a single Membership.
  4261  type MembershipFeatureState struct {
  4262  	// Appdevexperience: Appdevexperience specific state.
  4263  	Appdevexperience *AppDevExperienceFeatureState `json:"appdevexperience,omitempty"`
  4264  	// Clusterupgrade: ClusterUpgrade state.
  4265  	Clusterupgrade *ClusterUpgradeMembershipState `json:"clusterupgrade,omitempty"`
  4266  	// Configmanagement: Config Management-specific state.
  4267  	Configmanagement *ConfigManagementMembershipState `json:"configmanagement,omitempty"`
  4268  	// Fleetobservability: Fleet observability membership state.
  4269  	Fleetobservability *FleetObservabilityMembershipState `json:"fleetobservability,omitempty"`
  4270  	// Identityservice: Identity Service-specific state.
  4271  	Identityservice *IdentityServiceMembershipState `json:"identityservice,omitempty"`
  4272  	// Metering: Metering-specific state.
  4273  	Metering *MeteringMembershipState `json:"metering,omitempty"`
  4274  	// Namespaceactuation: FNS Actuation membership state
  4275  	Namespaceactuation *NamespaceActuationMembershipState `json:"namespaceactuation,omitempty"`
  4276  	// Policycontroller: Policycontroller-specific state.
  4277  	Policycontroller *PolicyControllerMembershipState `json:"policycontroller,omitempty"`
  4278  	// Servicemesh: Service Mesh-specific state.
  4279  	Servicemesh *ServiceMeshMembershipState `json:"servicemesh,omitempty"`
  4280  	// State: The high-level state of this Feature for a single membership.
  4281  	State *FeatureState `json:"state,omitempty"`
  4282  	// ForceSendFields is a list of field names (e.g. "Appdevexperience") to
  4283  	// unconditionally include in API requests. By default, fields with empty or
  4284  	// default values are omitted from API requests. See
  4285  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4286  	// details.
  4287  	ForceSendFields []string `json:"-"`
  4288  	// NullFields is a list of field names (e.g. "Appdevexperience") to include in
  4289  	// API requests with the JSON null value. By default, fields with empty values
  4290  	// are omitted from API requests. See
  4291  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4292  	NullFields []string `json:"-"`
  4293  }
  4294  
  4295  func (s *MembershipFeatureState) MarshalJSON() ([]byte, error) {
  4296  	type NoMethod MembershipFeatureState
  4297  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4298  }
  4299  
  4300  // MembershipSpec: **Workload Certificate**: The membership-specific input for
  4301  // WorkloadCertificate feature.
  4302  type MembershipSpec struct {
  4303  	// CertificateManagement: Specifies workload certificate management.
  4304  	//
  4305  	// Possible values:
  4306  	//   "CERTIFICATE_MANAGEMENT_UNSPECIFIED" - Disable workload certificate
  4307  	// feature.
  4308  	//   "DISABLED" - Disable workload certificate feature.
  4309  	//   "ENABLED" - Enable workload certificate feature.
  4310  	CertificateManagement string `json:"certificateManagement,omitempty"`
  4311  	// ForceSendFields is a list of field names (e.g. "CertificateManagement") to
  4312  	// unconditionally include in API requests. By default, fields with empty or
  4313  	// default values are omitted from API requests. See
  4314  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4315  	// details.
  4316  	ForceSendFields []string `json:"-"`
  4317  	// NullFields is a list of field names (e.g. "CertificateManagement") to
  4318  	// include in API requests with the JSON null value. By default, fields with
  4319  	// empty values are omitted from API requests. See
  4320  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4321  	NullFields []string `json:"-"`
  4322  }
  4323  
  4324  func (s *MembershipSpec) MarshalJSON() ([]byte, error) {
  4325  	type NoMethod MembershipSpec
  4326  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4327  }
  4328  
  4329  // MembershipState: MembershipState describes the state of a Membership
  4330  // resource.
  4331  type MembershipState struct {
  4332  	// Code: Output only. The current state of the Membership resource.
  4333  	//
  4334  	// Possible values:
  4335  	//   "CODE_UNSPECIFIED" - The code is not set.
  4336  	//   "CREATING" - The cluster is being registered.
  4337  	//   "READY" - The cluster is registered.
  4338  	//   "DELETING" - The cluster is being unregistered.
  4339  	//   "UPDATING" - The Membership is being updated.
  4340  	//   "SERVICE_UPDATING" - The Membership is being updated by the Hub Service.
  4341  	Code string `json:"code,omitempty"`
  4342  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  4343  	// include in API requests. By default, fields with empty or default values are
  4344  	// omitted from API requests. See
  4345  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4346  	// details.
  4347  	ForceSendFields []string `json:"-"`
  4348  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  4349  	// with the JSON null value. By default, fields with empty values are omitted
  4350  	// from API requests. See
  4351  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4352  	NullFields []string `json:"-"`
  4353  }
  4354  
  4355  func (s *MembershipState) MarshalJSON() ([]byte, error) {
  4356  	type NoMethod MembershipState
  4357  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4358  }
  4359  
  4360  // MeteringMembershipState: **Metering**: Per-Membership Feature State.
  4361  type MeteringMembershipState struct {
  4362  	// LastMeasurementTime: The time stamp of the most recent measurement of the
  4363  	// number of vCPUs in the cluster.
  4364  	LastMeasurementTime string `json:"lastMeasurementTime,omitempty"`
  4365  	// PreciseLastMeasuredClusterVcpuCapacity: The vCPUs capacity in the cluster
  4366  	// according to the most recent measurement (1/1000 precision).
  4367  	PreciseLastMeasuredClusterVcpuCapacity float64 `json:"preciseLastMeasuredClusterVcpuCapacity,omitempty"`
  4368  	// ForceSendFields is a list of field names (e.g. "LastMeasurementTime") to
  4369  	// unconditionally include in API requests. By default, fields with empty or
  4370  	// default values are omitted from API requests. See
  4371  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4372  	// details.
  4373  	ForceSendFields []string `json:"-"`
  4374  	// NullFields is a list of field names (e.g. "LastMeasurementTime") to include
  4375  	// in API requests with the JSON null value. By default, fields with empty
  4376  	// values are omitted from API requests. See
  4377  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4378  	NullFields []string `json:"-"`
  4379  }
  4380  
  4381  func (s *MeteringMembershipState) MarshalJSON() ([]byte, error) {
  4382  	type NoMethod MeteringMembershipState
  4383  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4384  }
  4385  
  4386  func (s *MeteringMembershipState) UnmarshalJSON(data []byte) error {
  4387  	type NoMethod MeteringMembershipState
  4388  	var s1 struct {
  4389  		PreciseLastMeasuredClusterVcpuCapacity gensupport.JSONFloat64 `json:"preciseLastMeasuredClusterVcpuCapacity"`
  4390  		*NoMethod
  4391  	}
  4392  	s1.NoMethod = (*NoMethod)(s)
  4393  	if err := json.Unmarshal(data, &s1); err != nil {
  4394  		return err
  4395  	}
  4396  	s.PreciseLastMeasuredClusterVcpuCapacity = float64(s1.PreciseLastMeasuredClusterVcpuCapacity)
  4397  	return nil
  4398  }
  4399  
  4400  // MonitoringConfig: MonitoringConfig informs Fleet-based
  4401  // applications/services/UIs how the metrics for the underlying cluster is
  4402  // reported to cloud monitoring services. It can be set from empty to
  4403  // non-empty, but can't be mutated directly to prevent accidentally breaking
  4404  // the constinousty of metrics.
  4405  type MonitoringConfig struct {
  4406  	// Cluster: Optional. Cluster name used to report metrics. For Anthos on
  4407  	// VMWare/Baremetal/MultiCloud clusters, it would be in format
  4408  	// {cluster_type}/{cluster_name}, e.g., "awsClusters/cluster_1".
  4409  	Cluster string `json:"cluster,omitempty"`
  4410  	// ClusterHash: Optional. For GKE and Multicloud clusters, this is the UUID of
  4411  	// the cluster resource. For VMWare and Baremetal clusters, this is the
  4412  	// kube-system UID.
  4413  	ClusterHash string `json:"clusterHash,omitempty"`
  4414  	// KubernetesMetricsPrefix: Optional. Kubernetes system metrics, if available,
  4415  	// are written to this prefix. This defaults to kubernetes.io for GKE, and
  4416  	// kubernetes.io/anthos for Anthos eventually. Noted: Anthos MultiCloud will
  4417  	// have kubernetes.io prefix today but will migration to be under
  4418  	// kubernetes.io/anthos.
  4419  	KubernetesMetricsPrefix string `json:"kubernetesMetricsPrefix,omitempty"`
  4420  	// Location: Optional. Location used to report Metrics
  4421  	Location string `json:"location,omitempty"`
  4422  	// ProjectId: Optional. Project used to report Metrics
  4423  	ProjectId string `json:"projectId,omitempty"`
  4424  	// ForceSendFields is a list of field names (e.g. "Cluster") to unconditionally
  4425  	// include in API requests. By default, fields with empty or default values are
  4426  	// omitted from API requests. See
  4427  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4428  	// details.
  4429  	ForceSendFields []string `json:"-"`
  4430  	// NullFields is a list of field names (e.g. "Cluster") to include in API
  4431  	// requests with the JSON null value. By default, fields with empty values are
  4432  	// omitted from API requests. See
  4433  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4434  	NullFields []string `json:"-"`
  4435  }
  4436  
  4437  func (s *MonitoringConfig) MarshalJSON() ([]byte, error) {
  4438  	type NoMethod MonitoringConfig
  4439  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4440  }
  4441  
  4442  // MultiCloudCluster: MultiCloudCluster contains information specific to GKE
  4443  // Multi-Cloud clusters.
  4444  type MultiCloudCluster struct {
  4445  	// ClusterMissing: Output only. If cluster_missing is set then it denotes that
  4446  	// API(gkemulticloud.googleapis.com) resource for this GKE Multi-Cloud cluster
  4447  	// no longer exists.
  4448  	ClusterMissing bool `json:"clusterMissing,omitempty"`
  4449  	// ResourceLink: Immutable. Self-link of the Google Cloud resource for the GKE
  4450  	// Multi-Cloud cluster. For example:
  4451  	// //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/awsCl
  4452  	// usters/my-cluster
  4453  	// //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/azure
  4454  	// Clusters/my-cluster
  4455  	// //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/attac
  4456  	// hedClusters/my-cluster
  4457  	ResourceLink string `json:"resourceLink,omitempty"`
  4458  	// ForceSendFields is a list of field names (e.g. "ClusterMissing") to
  4459  	// unconditionally include in API requests. By default, fields with empty or
  4460  	// default values are omitted from API requests. See
  4461  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4462  	// details.
  4463  	ForceSendFields []string `json:"-"`
  4464  	// NullFields is a list of field names (e.g. "ClusterMissing") to include in
  4465  	// API requests with the JSON null value. By default, fields with empty values
  4466  	// are omitted from API requests. See
  4467  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4468  	NullFields []string `json:"-"`
  4469  }
  4470  
  4471  func (s *MultiCloudCluster) MarshalJSON() ([]byte, error) {
  4472  	type NoMethod MultiCloudCluster
  4473  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4474  }
  4475  
  4476  // MultiClusterIngressFeatureSpec: **Multi-cluster Ingress**: The configuration
  4477  // for the MultiClusterIngress feature.
  4478  type MultiClusterIngressFeatureSpec struct {
  4479  	// Billing: Deprecated: This field will be ignored and should not be set.
  4480  	// Customer's billing structure.
  4481  	//
  4482  	// Possible values:
  4483  	//   "BILLING_UNSPECIFIED" - Unknown
  4484  	//   "PAY_AS_YOU_GO" - User pays a fee per-endpoint.
  4485  	//   "ANTHOS_LICENSE" - User is paying for Anthos as a whole.
  4486  	Billing string `json:"billing,omitempty"`
  4487  	// ConfigMembership: Fully-qualified Membership name which hosts the
  4488  	// MultiClusterIngress CRD. Example:
  4489  	// `projects/foo-proj/locations/global/memberships/bar`
  4490  	ConfigMembership string `json:"configMembership,omitempty"`
  4491  	// ForceSendFields is a list of field names (e.g. "Billing") to unconditionally
  4492  	// include in API requests. By default, fields with empty or default values are
  4493  	// omitted from API requests. See
  4494  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4495  	// details.
  4496  	ForceSendFields []string `json:"-"`
  4497  	// NullFields is a list of field names (e.g. "Billing") to include in API
  4498  	// requests with the JSON null value. By default, fields with empty values are
  4499  	// omitted from API requests. See
  4500  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4501  	NullFields []string `json:"-"`
  4502  }
  4503  
  4504  func (s *MultiClusterIngressFeatureSpec) MarshalJSON() ([]byte, error) {
  4505  	type NoMethod MultiClusterIngressFeatureSpec
  4506  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4507  }
  4508  
  4509  // Namespace: Namespace represents a namespace across the Fleet
  4510  type Namespace struct {
  4511  	// CreateTime: Output only. When the namespace was created.
  4512  	CreateTime string `json:"createTime,omitempty"`
  4513  	// DeleteTime: Output only. When the namespace was deleted.
  4514  	DeleteTime string `json:"deleteTime,omitempty"`
  4515  	// Labels: Optional. Labels for this Namespace.
  4516  	Labels map[string]string `json:"labels,omitempty"`
  4517  	// Name: The resource name for the namespace
  4518  	// `projects/{project}/locations/{location}/namespaces/{namespace}`
  4519  	Name string `json:"name,omitempty"`
  4520  	// NamespaceLabels: Optional. Namespace-level cluster namespace labels. These
  4521  	// labels are applied to the related namespace of the member clusters bound to
  4522  	// the parent Scope. Scope-level labels (`namespace_labels` in the Fleet Scope
  4523  	// resource) take precedence over Namespace-level labels if they share a key.
  4524  	// Keys and values must be Kubernetes-conformant.
  4525  	NamespaceLabels map[string]string `json:"namespaceLabels,omitempty"`
  4526  	// Scope: Required. Scope associated with the namespace
  4527  	Scope string `json:"scope,omitempty"`
  4528  	// State: Output only. State of the namespace resource.
  4529  	State *NamespaceLifecycleState `json:"state,omitempty"`
  4530  	// Uid: Output only. Google-generated UUID for this resource. This is unique
  4531  	// across all namespace resources. If a namespace resource is deleted and
  4532  	// another resource with the same name is created, it gets a different uid.
  4533  	Uid string `json:"uid,omitempty"`
  4534  	// UpdateTime: Output only. When the namespace was last updated.
  4535  	UpdateTime string `json:"updateTime,omitempty"`
  4536  
  4537  	// ServerResponse contains the HTTP response code and headers from the server.
  4538  	googleapi.ServerResponse `json:"-"`
  4539  	// ForceSendFields is a list of field names (e.g. "CreateTime") to
  4540  	// unconditionally include in API requests. By default, fields with empty or
  4541  	// default values are omitted from API requests. See
  4542  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4543  	// details.
  4544  	ForceSendFields []string `json:"-"`
  4545  	// NullFields is a list of field names (e.g. "CreateTime") to include in API
  4546  	// requests with the JSON null value. By default, fields with empty values are
  4547  	// omitted from API requests. See
  4548  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4549  	NullFields []string `json:"-"`
  4550  }
  4551  
  4552  func (s *Namespace) MarshalJSON() ([]byte, error) {
  4553  	type NoMethod Namespace
  4554  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4555  }
  4556  
  4557  // NamespaceActuationFeatureSpec: An empty spec for actuation feature. This is
  4558  // required since Feature proto requires a spec.
  4559  type NamespaceActuationFeatureSpec struct {
  4560  	// ActuationMode: actuation_mode controls the behavior of the controller
  4561  	//
  4562  	// Possible values:
  4563  	//   "ACTUATION_MODE_UNSPECIFIED" - ACTUATION_MODE_UNSPECIFIED is similar to
  4564  	// CREATE_AND_DELETE_IF_CREATED in the default controller behavior.
  4565  	//   "ACTUATION_MODE_CREATE_AND_DELETE_IF_CREATED" -
  4566  	// ACTUATION_MODE_CREATE_AND_DELETE_IF_CREATED has the controller create
  4567  	// cluster namespaces for each fleet namespace and it deletes only the ones it
  4568  	// created, which are identified by a label.
  4569  	//   "ACTUATION_MODE_ADD_AND_REMOVE_FLEET_LABELS" -
  4570  	// ACTUATION_MODE_ADD_AND_REMOVE_FLEET_LABELS has the controller only apply
  4571  	// labels to cluster namespaces to signal fleet namespace enablement. It
  4572  	// doesn't create or delete cluster namespaces.
  4573  	ActuationMode string `json:"actuationMode,omitempty"`
  4574  	// ForceSendFields is a list of field names (e.g. "ActuationMode") to
  4575  	// unconditionally include in API requests. By default, fields with empty or
  4576  	// default values are omitted from API requests. See
  4577  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4578  	// details.
  4579  	ForceSendFields []string `json:"-"`
  4580  	// NullFields is a list of field names (e.g. "ActuationMode") to include in API
  4581  	// requests with the JSON null value. By default, fields with empty values are
  4582  	// omitted from API requests. See
  4583  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4584  	NullFields []string `json:"-"`
  4585  }
  4586  
  4587  func (s *NamespaceActuationFeatureSpec) MarshalJSON() ([]byte, error) {
  4588  	type NoMethod NamespaceActuationFeatureSpec
  4589  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4590  }
  4591  
  4592  // NamespaceActuationFeatureState: NamespaceActuation Feature State.
  4593  type NamespaceActuationFeatureState struct {
  4594  }
  4595  
  4596  // NamespaceActuationMembershipSpec: **Namespace Actuation**: The
  4597  // membership-specific input for NamespaceActuation feature.
  4598  type NamespaceActuationMembershipSpec struct {
  4599  }
  4600  
  4601  // NamespaceActuationMembershipState: **Namespace Actuation**: An empty state
  4602  // left as an example membership-specific Feature state.
  4603  type NamespaceActuationMembershipState struct {
  4604  }
  4605  
  4606  // NamespaceLifecycleState: NamespaceLifecycleState describes the state of a
  4607  // Namespace resource.
  4608  type NamespaceLifecycleState struct {
  4609  	// Code: Output only. The current state of the Namespace resource.
  4610  	//
  4611  	// Possible values:
  4612  	//   "CODE_UNSPECIFIED" - The code is not set.
  4613  	//   "CREATING" - The namespace is being created.
  4614  	//   "READY" - The namespace active.
  4615  	//   "DELETING" - The namespace is being deleted.
  4616  	//   "UPDATING" - The namespace is being updated.
  4617  	Code string `json:"code,omitempty"`
  4618  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  4619  	// include in API requests. By default, fields with empty or default values are
  4620  	// omitted from API requests. See
  4621  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4622  	// details.
  4623  	ForceSendFields []string `json:"-"`
  4624  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  4625  	// with the JSON null value. By default, fields with empty values are omitted
  4626  	// from API requests. See
  4627  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4628  	NullFields []string `json:"-"`
  4629  }
  4630  
  4631  func (s *NamespaceLifecycleState) MarshalJSON() ([]byte, error) {
  4632  	type NoMethod NamespaceLifecycleState
  4633  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4634  }
  4635  
  4636  // OnPremCluster: OnPremCluster contains information specific to GKE On-Prem
  4637  // clusters.
  4638  type OnPremCluster struct {
  4639  	// AdminCluster: Immutable. Whether the cluster is an admin cluster.
  4640  	AdminCluster bool `json:"adminCluster,omitempty"`
  4641  	// ClusterMissing: Output only. If cluster_missing is set then it denotes that
  4642  	// API(gkeonprem.googleapis.com) resource for this GKE On-Prem cluster no
  4643  	// longer exists.
  4644  	ClusterMissing bool `json:"clusterMissing,omitempty"`
  4645  	// ClusterType: Immutable. The on prem cluster's type.
  4646  	//
  4647  	// Possible values:
  4648  	//   "CLUSTERTYPE_UNSPECIFIED" - The ClusterType is not set.
  4649  	//   "BOOTSTRAP" - The ClusterType is bootstrap cluster.
  4650  	//   "HYBRID" - The ClusterType is baremetal hybrid cluster.
  4651  	//   "STANDALONE" - The ClusterType is baremetal standalone cluster.
  4652  	//   "USER" - The ClusterType is user cluster.
  4653  	ClusterType string `json:"clusterType,omitempty"`
  4654  	// ResourceLink: Immutable. Self-link of the Google Cloud resource for the GKE
  4655  	// On-Prem cluster. For example:
  4656  	// //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/vmwareClu
  4657  	// sters/my-cluster
  4658  	// //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/bareMetal
  4659  	// Clusters/my-cluster
  4660  	ResourceLink string `json:"resourceLink,omitempty"`
  4661  	// ForceSendFields is a list of field names (e.g. "AdminCluster") to
  4662  	// unconditionally include in API requests. By default, fields with empty or
  4663  	// default values are omitted from API requests. See
  4664  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4665  	// details.
  4666  	ForceSendFields []string `json:"-"`
  4667  	// NullFields is a list of field names (e.g. "AdminCluster") to include in API
  4668  	// requests with the JSON null value. By default, fields with empty values are
  4669  	// omitted from API requests. See
  4670  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4671  	NullFields []string `json:"-"`
  4672  }
  4673  
  4674  func (s *OnPremCluster) MarshalJSON() ([]byte, error) {
  4675  	type NoMethod OnPremCluster
  4676  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4677  }
  4678  
  4679  // Operation: This resource represents a long-running operation that is the
  4680  // result of a network API call.
  4681  type Operation struct {
  4682  	// Done: If the value is `false`, it means the operation is still in progress.
  4683  	// If `true`, the operation is completed, and either `error` or `response` is
  4684  	// available.
  4685  	Done bool `json:"done,omitempty"`
  4686  	// Error: The error result of the operation in case of failure or cancellation.
  4687  	Error *GoogleRpcStatus `json:"error,omitempty"`
  4688  	// Metadata: Service-specific metadata associated with the operation. It
  4689  	// typically contains progress information and common metadata such as create
  4690  	// time. Some services might not provide such metadata. Any method that returns
  4691  	// a long-running operation should document the metadata type, if any.
  4692  	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
  4693  	// Name: The server-assigned name, which is only unique within the same service
  4694  	// that originally returns it. If you use the default HTTP mapping, the `name`
  4695  	// should be a resource name ending with `operations/{unique_id}`.
  4696  	Name string `json:"name,omitempty"`
  4697  	// Response: The normal, successful response of the operation. If the original
  4698  	// method returns no data on success, such as `Delete`, the response is
  4699  	// `google.protobuf.Empty`. If the original method is standard
  4700  	// `Get`/`Create`/`Update`, the response should be the resource. For other
  4701  	// methods, the response should have the type `XxxResponse`, where `Xxx` is the
  4702  	// original method name. For example, if the original method name is
  4703  	// `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
  4704  	Response googleapi.RawMessage `json:"response,omitempty"`
  4705  
  4706  	// ServerResponse contains the HTTP response code and headers from the server.
  4707  	googleapi.ServerResponse `json:"-"`
  4708  	// ForceSendFields is a list of field names (e.g. "Done") to unconditionally
  4709  	// include in API requests. By default, fields with empty or default values are
  4710  	// omitted from API requests. See
  4711  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4712  	// details.
  4713  	ForceSendFields []string `json:"-"`
  4714  	// NullFields is a list of field names (e.g. "Done") to include in API requests
  4715  	// with the JSON null value. By default, fields with empty values are omitted
  4716  	// from API requests. See
  4717  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4718  	NullFields []string `json:"-"`
  4719  }
  4720  
  4721  func (s *Operation) MarshalJSON() ([]byte, error) {
  4722  	type NoMethod Operation
  4723  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4724  }
  4725  
  4726  // OperationMetadata: Represents the metadata of the long-running operation.
  4727  type OperationMetadata struct {
  4728  	// ApiVersion: Output only. API version used to start the operation.
  4729  	ApiVersion string `json:"apiVersion,omitempty"`
  4730  	// CancelRequested: Output only. Identifies whether the user has requested
  4731  	// cancellation of the operation. Operations that have successfully been
  4732  	// cancelled have Operation.error value with a google.rpc.Status.code of 1,
  4733  	// corresponding to `Code.CANCELLED`.
  4734  	CancelRequested bool `json:"cancelRequested,omitempty"`
  4735  	// CreateTime: Output only. The time the operation was created.
  4736  	CreateTime string `json:"createTime,omitempty"`
  4737  	// EndTime: Output only. The time the operation finished running.
  4738  	EndTime string `json:"endTime,omitempty"`
  4739  	// StatusDetail: Output only. Human-readable status of the operation, if any.
  4740  	StatusDetail string `json:"statusDetail,omitempty"`
  4741  	// Target: Output only. Server-defined resource path for the target of the
  4742  	// operation.
  4743  	Target string `json:"target,omitempty"`
  4744  	// Verb: Output only. Name of the verb executed by the operation.
  4745  	Verb string `json:"verb,omitempty"`
  4746  	// ForceSendFields is a list of field names (e.g. "ApiVersion") to
  4747  	// unconditionally include in API requests. By default, fields with empty or
  4748  	// default values are omitted from API requests. See
  4749  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4750  	// details.
  4751  	ForceSendFields []string `json:"-"`
  4752  	// NullFields is a list of field names (e.g. "ApiVersion") to include in API
  4753  	// requests with the JSON null value. By default, fields with empty values are
  4754  	// omitted from API requests. See
  4755  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4756  	NullFields []string `json:"-"`
  4757  }
  4758  
  4759  func (s *OperationMetadata) MarshalJSON() ([]byte, error) {
  4760  	type NoMethod OperationMetadata
  4761  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4762  }
  4763  
  4764  // Origin: Origin defines where this MembershipFeatureSpec originated from.
  4765  type Origin struct {
  4766  	// Type: Type specifies which type of origin is set.
  4767  	//
  4768  	// Possible values:
  4769  	//   "TYPE_UNSPECIFIED" - Type is unknown or not set.
  4770  	//   "FLEET" - Per-Membership spec was inherited from the fleet-level default.
  4771  	//   "FLEET_OUT_OF_SYNC" - Per-Membership spec was inherited from the
  4772  	// fleet-level default but is now out of sync with the current default.
  4773  	//   "USER" - Per-Membership spec was inherited from a user specification.
  4774  	Type string `json:"type,omitempty"`
  4775  	// ForceSendFields is a list of field names (e.g. "Type") to unconditionally
  4776  	// include in API requests. By default, fields with empty or default values are
  4777  	// omitted from API requests. See
  4778  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4779  	// details.
  4780  	ForceSendFields []string `json:"-"`
  4781  	// NullFields is a list of field names (e.g. "Type") to include in API requests
  4782  	// with the JSON null value. By default, fields with empty values are omitted
  4783  	// from API requests. See
  4784  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4785  	NullFields []string `json:"-"`
  4786  }
  4787  
  4788  func (s *Origin) MarshalJSON() ([]byte, error) {
  4789  	type NoMethod Origin
  4790  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4791  }
  4792  
  4793  // Policy: An Identity and Access Management (IAM) policy, which specifies
  4794  // access controls for Google Cloud resources. A `Policy` is a collection of
  4795  // `bindings`. A `binding` binds one or more `members`, or principals, to a
  4796  // single `role`. Principals can be user accounts, service accounts, Google
  4797  // groups, and domains (such as G Suite). A `role` is a named list of
  4798  // permissions; each `role` can be an IAM predefined role or a user-created
  4799  // custom role. For some types of Google Cloud resources, a `binding` can also
  4800  // specify a `condition`, which is a logical expression that allows access to a
  4801  // resource only if the expression evaluates to `true`. A condition can add
  4802  // constraints based on attributes of the request, the resource, or both. To
  4803  // learn which resources support conditions in their IAM policies, see the IAM
  4804  // documentation
  4805  // (https://cloud.google.com/iam/help/conditions/resource-policies). **JSON
  4806  // example:** ``` { "bindings": [ { "role":
  4807  // "roles/resourcemanager.organizationAdmin", "members": [
  4808  // "user:mike@example.com", "group:admins@example.com", "domain:google.com",
  4809  // "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role":
  4810  // "roles/resourcemanager.organizationViewer", "members": [
  4811  // "user:eve@example.com" ], "condition": { "title": "expirable access",
  4812  // "description": "Does not grant access after Sep 2020", "expression":
  4813  // "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag":
  4814  // "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` bindings: -
  4815  // members: - user:mike@example.com - group:admins@example.com -
  4816  // domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
  4817  // role: roles/resourcemanager.organizationAdmin - members: -
  4818  // user:eve@example.com role: roles/resourcemanager.organizationViewer
  4819  // condition: title: expirable access description: Does not grant access after
  4820  // Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
  4821  // etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features,
  4822  // see the IAM documentation (https://cloud.google.com/iam/docs/).
  4823  type Policy struct {
  4824  	// AuditConfigs: Specifies cloud audit logging configuration for this policy.
  4825  	AuditConfigs []*AuditConfig `json:"auditConfigs,omitempty"`
  4826  	// Bindings: Associates a list of `members`, or principals, with a `role`.
  4827  	// Optionally, may specify a `condition` that determines how and when the
  4828  	// `bindings` are applied. Each of the `bindings` must contain at least one
  4829  	// principal. The `bindings` in a `Policy` can refer to up to 1,500 principals;
  4830  	// up to 250 of these principals can be Google groups. Each occurrence of a
  4831  	// principal counts towards these limits. For example, if the `bindings` grant
  4832  	// 50 different roles to `user:alice@example.com`, and not to any other
  4833  	// principal, then you can add another 1,450 principals to the `bindings` in
  4834  	// the `Policy`.
  4835  	Bindings []*Binding `json:"bindings,omitempty"`
  4836  	// Etag: `etag` is used for optimistic concurrency control as a way to help
  4837  	// prevent simultaneous updates of a policy from overwriting each other. It is
  4838  	// strongly suggested that systems make use of the `etag` in the
  4839  	// read-modify-write cycle to perform policy updates in order to avoid race
  4840  	// conditions: An `etag` is returned in the response to `getIamPolicy`, and
  4841  	// systems are expected to put that etag in the request to `setIamPolicy` to
  4842  	// ensure that their change will be applied to the same version of the policy.
  4843  	// **Important:** If you use IAM Conditions, you must include the `etag` field
  4844  	// whenever you call `setIamPolicy`. If you omit this field, then IAM allows
  4845  	// you to overwrite a version `3` policy with a version `1` policy, and all of
  4846  	// the conditions in the version `3` policy are lost.
  4847  	Etag string `json:"etag,omitempty"`
  4848  	// Version: Specifies the format of the policy. Valid values are `0`, `1`, and
  4849  	// `3`. Requests that specify an invalid value are rejected. Any operation that
  4850  	// affects conditional role bindings must specify version `3`. This requirement
  4851  	// applies to the following operations: * Getting a policy that includes a
  4852  	// conditional role binding * Adding a conditional role binding to a policy *
  4853  	// Changing a conditional role binding in a policy * Removing any role binding,
  4854  	// with or without a condition, from a policy that includes conditions
  4855  	// **Important:** If you use IAM Conditions, you must include the `etag` field
  4856  	// whenever you call `setIamPolicy`. If you omit this field, then IAM allows
  4857  	// you to overwrite a version `3` policy with a version `1` policy, and all of
  4858  	// the conditions in the version `3` policy are lost. If a policy does not
  4859  	// include any conditions, operations on that policy may specify any valid
  4860  	// version or leave the field unset. To learn which resources support
  4861  	// conditions in their IAM policies, see the IAM documentation
  4862  	// (https://cloud.google.com/iam/help/conditions/resource-policies).
  4863  	Version int64 `json:"version,omitempty"`
  4864  
  4865  	// ServerResponse contains the HTTP response code and headers from the server.
  4866  	googleapi.ServerResponse `json:"-"`
  4867  	// ForceSendFields is a list of field names (e.g. "AuditConfigs") to
  4868  	// unconditionally include in API requests. By default, fields with empty or
  4869  	// default values are omitted from API requests. See
  4870  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4871  	// details.
  4872  	ForceSendFields []string `json:"-"`
  4873  	// NullFields is a list of field names (e.g. "AuditConfigs") to include in API
  4874  	// requests with the JSON null value. By default, fields with empty values are
  4875  	// omitted from API requests. See
  4876  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4877  	NullFields []string `json:"-"`
  4878  }
  4879  
  4880  func (s *Policy) MarshalJSON() ([]byte, error) {
  4881  	type NoMethod Policy
  4882  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4883  }
  4884  
  4885  // PolicyBinding: Binauthz policy that applies to this cluster.
  4886  type PolicyBinding struct {
  4887  	// Name: The relative resource name of the binauthz platform policy to audit.
  4888  	// GKE platform policies have the following format:
  4889  	// `projects/{project_number}/platforms/gke/policies/{policy_id}`.
  4890  	Name string `json:"name,omitempty"`
  4891  	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
  4892  	// include in API requests. By default, fields with empty or default values are
  4893  	// omitted from API requests. See
  4894  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4895  	// details.
  4896  	ForceSendFields []string `json:"-"`
  4897  	// NullFields is a list of field names (e.g. "Name") to include in API requests
  4898  	// with the JSON null value. By default, fields with empty values are omitted
  4899  	// from API requests. See
  4900  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4901  	NullFields []string `json:"-"`
  4902  }
  4903  
  4904  func (s *PolicyBinding) MarshalJSON() ([]byte, error) {
  4905  	type NoMethod PolicyBinding
  4906  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4907  }
  4908  
  4909  // PolicyControllerBundleInstallSpec: BundleInstallSpec is the specification
  4910  // configuration for a single managed bundle.
  4911  type PolicyControllerBundleInstallSpec struct {
  4912  	// ExemptedNamespaces: The set of namespaces to be exempted from the bundle.
  4913  	ExemptedNamespaces []string `json:"exemptedNamespaces,omitempty"`
  4914  	// ForceSendFields is a list of field names (e.g. "ExemptedNamespaces") to
  4915  	// unconditionally include in API requests. By default, fields with empty or
  4916  	// default values are omitted from API requests. See
  4917  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4918  	// details.
  4919  	ForceSendFields []string `json:"-"`
  4920  	// NullFields is a list of field names (e.g. "ExemptedNamespaces") to include
  4921  	// in API requests with the JSON null value. By default, fields with empty
  4922  	// values are omitted from API requests. See
  4923  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4924  	NullFields []string `json:"-"`
  4925  }
  4926  
  4927  func (s *PolicyControllerBundleInstallSpec) MarshalJSON() ([]byte, error) {
  4928  	type NoMethod PolicyControllerBundleInstallSpec
  4929  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4930  }
  4931  
  4932  // PolicyControllerHubConfig: Configuration for Policy Controller
  4933  type PolicyControllerHubConfig struct {
  4934  	// AuditIntervalSeconds: Sets the interval for Policy Controller Audit Scans
  4935  	// (in seconds). When set to 0, this disables audit functionality altogether.
  4936  	AuditIntervalSeconds int64 `json:"auditIntervalSeconds,omitempty,string"`
  4937  	// ConstraintViolationLimit: The maximum number of audit violations to be
  4938  	// stored in a constraint. If not set, the internal default (currently 20) will
  4939  	// be used.
  4940  	ConstraintViolationLimit int64 `json:"constraintViolationLimit,omitempty,string"`
  4941  	// DeploymentConfigs: Map of deployment configs to deployments ("admission",
  4942  	// "audit", "mutation').
  4943  	DeploymentConfigs map[string]PolicyControllerPolicyControllerDeploymentConfig `json:"deploymentConfigs,omitempty"`
  4944  	// ExemptableNamespaces: The set of namespaces that are excluded from Policy
  4945  	// Controller checks. Namespaces do not need to currently exist on the cluster.
  4946  	ExemptableNamespaces []string `json:"exemptableNamespaces,omitempty"`
  4947  	// InstallSpec: The install_spec represents the intended state specified by the
  4948  	// latest request that mutated install_spec in the feature spec, not the
  4949  	// lifecycle state of the feature observed by the Hub feature controller that
  4950  	// is reported in the feature state.
  4951  	//
  4952  	// Possible values:
  4953  	//   "INSTALL_SPEC_UNSPECIFIED" - Spec is unknown.
  4954  	//   "INSTALL_SPEC_NOT_INSTALLED" - Request to uninstall Policy Controller.
  4955  	//   "INSTALL_SPEC_ENABLED" - Request to install and enable Policy Controller.
  4956  	//   "INSTALL_SPEC_SUSPENDED" - Request to suspend Policy Controller i.e. its
  4957  	// webhooks. If Policy Controller is not installed, it will be installed but
  4958  	// suspended.
  4959  	//   "INSTALL_SPEC_DETACHED" - Request to stop all reconciliation actions by
  4960  	// PoCo Hub controller. This is a breakglass mechanism to stop PoCo Hub from
  4961  	// affecting cluster resources.
  4962  	InstallSpec string `json:"installSpec,omitempty"`
  4963  	// LogDeniesEnabled: Logs all denies and dry run failures.
  4964  	LogDeniesEnabled bool `json:"logDeniesEnabled,omitempty"`
  4965  	// Monitoring: Monitoring specifies the configuration of monitoring.
  4966  	Monitoring *PolicyControllerMonitoringConfig `json:"monitoring,omitempty"`
  4967  	// MutationEnabled: Enables the ability to mutate resources using Policy
  4968  	// Controller.
  4969  	MutationEnabled bool `json:"mutationEnabled,omitempty"`
  4970  	// PolicyContent: Specifies the desired policy content on the cluster
  4971  	PolicyContent *PolicyControllerPolicyContentSpec `json:"policyContent,omitempty"`
  4972  	// ReferentialRulesEnabled: Enables the ability to use Constraint Templates
  4973  	// that reference to objects other than the object currently being evaluated.
  4974  	ReferentialRulesEnabled bool `json:"referentialRulesEnabled,omitempty"`
  4975  	// ForceSendFields is a list of field names (e.g. "AuditIntervalSeconds") to
  4976  	// unconditionally include in API requests. By default, fields with empty or
  4977  	// default values are omitted from API requests. See
  4978  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4979  	// details.
  4980  	ForceSendFields []string `json:"-"`
  4981  	// NullFields is a list of field names (e.g. "AuditIntervalSeconds") to include
  4982  	// in API requests with the JSON null value. By default, fields with empty
  4983  	// values are omitted from API requests. See
  4984  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4985  	NullFields []string `json:"-"`
  4986  }
  4987  
  4988  func (s *PolicyControllerHubConfig) MarshalJSON() ([]byte, error) {
  4989  	type NoMethod PolicyControllerHubConfig
  4990  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4991  }
  4992  
  4993  // PolicyControllerMembershipSpec: **Policy Controller**: Configuration for a
  4994  // single cluster. Intended to parallel the PolicyController CR.
  4995  type PolicyControllerMembershipSpec struct {
  4996  	// PolicyControllerHubConfig: Policy Controller configuration for the cluster.
  4997  	PolicyControllerHubConfig *PolicyControllerHubConfig `json:"policyControllerHubConfig,omitempty"`
  4998  	// Version: Version of Policy Controller installed.
  4999  	Version string `json:"version,omitempty"`
  5000  	// ForceSendFields is a list of field names (e.g. "PolicyControllerHubConfig")
  5001  	// to unconditionally include in API requests. By default, fields with empty or
  5002  	// default values are omitted from API requests. See
  5003  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5004  	// details.
  5005  	ForceSendFields []string `json:"-"`
  5006  	// NullFields is a list of field names (e.g. "PolicyControllerHubConfig") to
  5007  	// include in API requests with the JSON null value. By default, fields with
  5008  	// empty values are omitted from API requests. See
  5009  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5010  	NullFields []string `json:"-"`
  5011  }
  5012  
  5013  func (s *PolicyControllerMembershipSpec) MarshalJSON() ([]byte, error) {
  5014  	type NoMethod PolicyControllerMembershipSpec
  5015  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5016  }
  5017  
  5018  // PolicyControllerMembershipState: **Policy Controller**: State for a single
  5019  // cluster.
  5020  type PolicyControllerMembershipState struct {
  5021  	// ComponentStates: Currently these include (also serving as map keys): 1.
  5022  	// "admission" 2. "audit" 3. "mutation"
  5023  	ComponentStates map[string]PolicyControllerOnClusterState `json:"componentStates,omitempty"`
  5024  	// PolicyContentState: The overall content state observed by the Hub Feature
  5025  	// controller.
  5026  	PolicyContentState *PolicyControllerPolicyContentState `json:"policyContentState,omitempty"`
  5027  	// State: The overall Policy Controller lifecycle state observed by the Hub
  5028  	// Feature controller.
  5029  	//
  5030  	// Possible values:
  5031  	//   "LIFECYCLE_STATE_UNSPECIFIED" - The lifecycle state is unspecified.
  5032  	//   "NOT_INSTALLED" - The PC does not exist on the given cluster, and no k8s
  5033  	// resources of any type that are associated with the PC should exist there.
  5034  	// The cluster does not possess a membership with the PCH.
  5035  	//   "INSTALLING" - The PCH possesses a Membership, however the PC is not fully
  5036  	// installed on the cluster. In this state the hub can be expected to be taking
  5037  	// actions to install the PC on the cluster.
  5038  	//   "ACTIVE" - The PC is fully installed on the cluster and in an operational
  5039  	// mode. In this state PCH will be reconciling state with the PC, and the PC
  5040  	// will be performing it's operational tasks per that software. Entering a
  5041  	// READY state requires that the hub has confirmed the PC is installed and its
  5042  	// pods are operational with the version of the PC the PCH expects.
  5043  	//   "UPDATING" - The PC is fully installed, but in the process of changing the
  5044  	// configuration (including changing the version of PC either up and down, or
  5045  	// modifying the manifests of PC) of the resources running on the cluster. The
  5046  	// PCH has a Membership, is aware of the version the cluster should be running
  5047  	// in, but has not confirmed for itself that the PC is running with that
  5048  	// version.
  5049  	//   "DECOMMISSIONING" - The PC may have resources on the cluster, but the PCH
  5050  	// wishes to remove the Membership. The Membership still exists.
  5051  	//   "CLUSTER_ERROR" - The PC is not operational, and the PCH is unable to act
  5052  	// to make it operational. Entering a CLUSTER_ERROR state happens automatically
  5053  	// when the PCH determines that a PC installed on the cluster is non-operative
  5054  	// or that the cluster does not meet requirements set for the PCH to administer
  5055  	// the cluster but has nevertheless been given an instruction to do so (such as
  5056  	// 'install').
  5057  	//   "HUB_ERROR" - In this state, the PC may still be operational, and only the
  5058  	// PCH is unable to act. The hub should not issue instructions to change the PC
  5059  	// state, or otherwise interfere with the on-cluster resources. Entering a
  5060  	// HUB_ERROR state happens automatically when the PCH determines the hub is in
  5061  	// an unhealthy state and it wishes to 'take hands off' to avoid corrupting the
  5062  	// PC or other data.
  5063  	//   "SUSPENDED" - Policy Controller (PC) is installed but suspended. This
  5064  	// means that the policies are not enforced, but violations are still recorded
  5065  	// (through audit).
  5066  	//   "DETACHED" - PoCo Hub is not taking any action to reconcile cluster
  5067  	// objects. Changes to those objects will not be overwritten by PoCo Hub.
  5068  	State string `json:"state,omitempty"`
  5069  	// ForceSendFields is a list of field names (e.g. "ComponentStates") to
  5070  	// unconditionally include in API requests. By default, fields with empty or
  5071  	// default values are omitted from API requests. See
  5072  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5073  	// details.
  5074  	ForceSendFields []string `json:"-"`
  5075  	// NullFields is a list of field names (e.g. "ComponentStates") to include in
  5076  	// API requests with the JSON null value. By default, fields with empty values
  5077  	// are omitted from API requests. See
  5078  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5079  	NullFields []string `json:"-"`
  5080  }
  5081  
  5082  func (s *PolicyControllerMembershipState) MarshalJSON() ([]byte, error) {
  5083  	type NoMethod PolicyControllerMembershipState
  5084  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5085  }
  5086  
  5087  // PolicyControllerMonitoringConfig: MonitoringConfig specifies the backends
  5088  // Policy Controller should export metrics to. For example, to specify metrics
  5089  // should be exported to Cloud Monitoring and Prometheus, specify backends:
  5090  // ["cloudmonitoring", "prometheus"]
  5091  type PolicyControllerMonitoringConfig struct {
  5092  	// Backends: Specifies the list of backends Policy Controller will export to.
  5093  	// An empty list would effectively disable metrics export.
  5094  	//
  5095  	// Possible values:
  5096  	//   "MONITORING_BACKEND_UNSPECIFIED" - Backend cannot be determined
  5097  	//   "PROMETHEUS" - Prometheus backend for monitoring
  5098  	//   "CLOUD_MONITORING" - Stackdriver/Cloud Monitoring backend for monitoring
  5099  	Backends []string `json:"backends,omitempty"`
  5100  	// ForceSendFields is a list of field names (e.g. "Backends") to
  5101  	// unconditionally include in API requests. By default, fields with empty or
  5102  	// default values are omitted from API requests. See
  5103  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5104  	// details.
  5105  	ForceSendFields []string `json:"-"`
  5106  	// NullFields is a list of field names (e.g. "Backends") to include in API
  5107  	// requests with the JSON null value. By default, fields with empty values are
  5108  	// omitted from API requests. See
  5109  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5110  	NullFields []string `json:"-"`
  5111  }
  5112  
  5113  func (s *PolicyControllerMonitoringConfig) MarshalJSON() ([]byte, error) {
  5114  	type NoMethod PolicyControllerMonitoringConfig
  5115  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5116  }
  5117  
  5118  // PolicyControllerOnClusterState: OnClusterState represents the state of a
  5119  // sub-component of Policy Controller.
  5120  type PolicyControllerOnClusterState struct {
  5121  	// Details: Surface potential errors or information logs.
  5122  	Details string `json:"details,omitempty"`
  5123  	// State: The lifecycle state of this component.
  5124  	//
  5125  	// Possible values:
  5126  	//   "LIFECYCLE_STATE_UNSPECIFIED" - The lifecycle state is unspecified.
  5127  	//   "NOT_INSTALLED" - The PC does not exist on the given cluster, and no k8s
  5128  	// resources of any type that are associated with the PC should exist there.
  5129  	// The cluster does not possess a membership with the PCH.
  5130  	//   "INSTALLING" - The PCH possesses a Membership, however the PC is not fully
  5131  	// installed on the cluster. In this state the hub can be expected to be taking
  5132  	// actions to install the PC on the cluster.
  5133  	//   "ACTIVE" - The PC is fully installed on the cluster and in an operational
  5134  	// mode. In this state PCH will be reconciling state with the PC, and the PC
  5135  	// will be performing it's operational tasks per that software. Entering a
  5136  	// READY state requires that the hub has confirmed the PC is installed and its
  5137  	// pods are operational with the version of the PC the PCH expects.
  5138  	//   "UPDATING" - The PC is fully installed, but in the process of changing the
  5139  	// configuration (including changing the version of PC either up and down, or
  5140  	// modifying the manifests of PC) of the resources running on the cluster. The
  5141  	// PCH has a Membership, is aware of the version the cluster should be running
  5142  	// in, but has not confirmed for itself that the PC is running with that
  5143  	// version.
  5144  	//   "DECOMMISSIONING" - The PC may have resources on the cluster, but the PCH
  5145  	// wishes to remove the Membership. The Membership still exists.
  5146  	//   "CLUSTER_ERROR" - The PC is not operational, and the PCH is unable to act
  5147  	// to make it operational. Entering a CLUSTER_ERROR state happens automatically
  5148  	// when the PCH determines that a PC installed on the cluster is non-operative
  5149  	// or that the cluster does not meet requirements set for the PCH to administer
  5150  	// the cluster but has nevertheless been given an instruction to do so (such as
  5151  	// 'install').
  5152  	//   "HUB_ERROR" - In this state, the PC may still be operational, and only the
  5153  	// PCH is unable to act. The hub should not issue instructions to change the PC
  5154  	// state, or otherwise interfere with the on-cluster resources. Entering a
  5155  	// HUB_ERROR state happens automatically when the PCH determines the hub is in
  5156  	// an unhealthy state and it wishes to 'take hands off' to avoid corrupting the
  5157  	// PC or other data.
  5158  	//   "SUSPENDED" - Policy Controller (PC) is installed but suspended. This
  5159  	// means that the policies are not enforced, but violations are still recorded
  5160  	// (through audit).
  5161  	//   "DETACHED" - PoCo Hub is not taking any action to reconcile cluster
  5162  	// objects. Changes to those objects will not be overwritten by PoCo Hub.
  5163  	State string `json:"state,omitempty"`
  5164  	// ForceSendFields is a list of field names (e.g. "Details") to unconditionally
  5165  	// include in API requests. By default, fields with empty or default values are
  5166  	// omitted from API requests. See
  5167  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5168  	// details.
  5169  	ForceSendFields []string `json:"-"`
  5170  	// NullFields is a list of field names (e.g. "Details") to include in API
  5171  	// requests with the JSON null value. By default, fields with empty values are
  5172  	// omitted from API requests. See
  5173  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5174  	NullFields []string `json:"-"`
  5175  }
  5176  
  5177  func (s *PolicyControllerOnClusterState) MarshalJSON() ([]byte, error) {
  5178  	type NoMethod PolicyControllerOnClusterState
  5179  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5180  }
  5181  
  5182  // PolicyControllerPolicyContentSpec: PolicyContentSpec defines the user's
  5183  // desired content configuration on the cluster.
  5184  type PolicyControllerPolicyContentSpec struct {
  5185  	// Bundles: map of bundle name to BundleInstallSpec. The bundle name maps to
  5186  	// the `bundleName` key in the `policycontroller.gke.io/constraintData`
  5187  	// annotation on a constraint.
  5188  	Bundles map[string]PolicyControllerBundleInstallSpec `json:"bundles,omitempty"`
  5189  	// TemplateLibrary: Configures the installation of the Template Library.
  5190  	TemplateLibrary *PolicyControllerTemplateLibraryConfig `json:"templateLibrary,omitempty"`
  5191  	// ForceSendFields is a list of field names (e.g. "Bundles") to unconditionally
  5192  	// include in API requests. By default, fields with empty or default values are
  5193  	// omitted from API requests. See
  5194  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5195  	// details.
  5196  	ForceSendFields []string `json:"-"`
  5197  	// NullFields is a list of field names (e.g. "Bundles") to include in API
  5198  	// requests with the JSON null value. By default, fields with empty values are
  5199  	// omitted from API requests. See
  5200  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5201  	NullFields []string `json:"-"`
  5202  }
  5203  
  5204  func (s *PolicyControllerPolicyContentSpec) MarshalJSON() ([]byte, error) {
  5205  	type NoMethod PolicyControllerPolicyContentSpec
  5206  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5207  }
  5208  
  5209  // PolicyControllerPolicyContentState: The state of the policy controller
  5210  // policy content
  5211  type PolicyControllerPolicyContentState struct {
  5212  	// BundleStates: The state of the any bundles included in the chosen version of
  5213  	// the manifest
  5214  	BundleStates map[string]PolicyControllerOnClusterState `json:"bundleStates,omitempty"`
  5215  	// ReferentialSyncConfigState: The state of the referential data sync
  5216  	// configuration. This could represent the state of either the syncSet
  5217  	// object(s) or the config object, depending on the version of PoCo configured
  5218  	// by the user.
  5219  	ReferentialSyncConfigState *PolicyControllerOnClusterState `json:"referentialSyncConfigState,omitempty"`
  5220  	// TemplateLibraryState: The state of the template library
  5221  	TemplateLibraryState *PolicyControllerOnClusterState `json:"templateLibraryState,omitempty"`
  5222  	// ForceSendFields is a list of field names (e.g. "BundleStates") to
  5223  	// unconditionally include in API requests. By default, fields with empty or
  5224  	// default values are omitted from API requests. See
  5225  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5226  	// details.
  5227  	ForceSendFields []string `json:"-"`
  5228  	// NullFields is a list of field names (e.g. "BundleStates") to include in API
  5229  	// requests with the JSON null value. By default, fields with empty values are
  5230  	// omitted from API requests. See
  5231  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5232  	NullFields []string `json:"-"`
  5233  }
  5234  
  5235  func (s *PolicyControllerPolicyContentState) MarshalJSON() ([]byte, error) {
  5236  	type NoMethod PolicyControllerPolicyContentState
  5237  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5238  }
  5239  
  5240  // PolicyControllerPolicyControllerDeploymentConfig: Deployment-specific
  5241  // configuration.
  5242  type PolicyControllerPolicyControllerDeploymentConfig struct {
  5243  	// ContainerResources: Container resource requirements.
  5244  	ContainerResources *PolicyControllerResourceRequirements `json:"containerResources,omitempty"`
  5245  	// PodAffinity: Pod affinity configuration.
  5246  	//
  5247  	// Possible values:
  5248  	//   "AFFINITY_UNSPECIFIED" - No affinity configuration has been specified.
  5249  	//   "NO_AFFINITY" - Affinity configurations will be removed from the
  5250  	// deployment.
  5251  	//   "ANTI_AFFINITY" - Anti-affinity configuration will be applied to this
  5252  	// deployment. Default for admissions deployment.
  5253  	PodAffinity string `json:"podAffinity,omitempty"`
  5254  	// PodAntiAffinity: Pod anti-affinity enablement. Deprecated: use
  5255  	// `pod_affinity` instead.
  5256  	PodAntiAffinity bool `json:"podAntiAffinity,omitempty"`
  5257  	// PodTolerations: Pod tolerations of node taints.
  5258  	PodTolerations []*PolicyControllerToleration `json:"podTolerations,omitempty"`
  5259  	// ReplicaCount: Pod replica count.
  5260  	ReplicaCount int64 `json:"replicaCount,omitempty,string"`
  5261  	// ForceSendFields is a list of field names (e.g. "ContainerResources") to
  5262  	// unconditionally include in API requests. By default, fields with empty or
  5263  	// default values are omitted from API requests. See
  5264  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5265  	// details.
  5266  	ForceSendFields []string `json:"-"`
  5267  	// NullFields is a list of field names (e.g. "ContainerResources") to include
  5268  	// in API requests with the JSON null value. By default, fields with empty
  5269  	// values are omitted from API requests. See
  5270  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5271  	NullFields []string `json:"-"`
  5272  }
  5273  
  5274  func (s *PolicyControllerPolicyControllerDeploymentConfig) MarshalJSON() ([]byte, error) {
  5275  	type NoMethod PolicyControllerPolicyControllerDeploymentConfig
  5276  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5277  }
  5278  
  5279  // PolicyControllerResourceList: ResourceList contains container resource
  5280  // requirements.
  5281  type PolicyControllerResourceList struct {
  5282  	// Cpu: CPU requirement expressed in Kubernetes resource units.
  5283  	Cpu string `json:"cpu,omitempty"`
  5284  	// Memory: Memory requirement expressed in Kubernetes resource units.
  5285  	Memory string `json:"memory,omitempty"`
  5286  	// ForceSendFields is a list of field names (e.g. "Cpu") to unconditionally
  5287  	// include in API requests. By default, fields with empty or default values are
  5288  	// omitted from API requests. See
  5289  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5290  	// details.
  5291  	ForceSendFields []string `json:"-"`
  5292  	// NullFields is a list of field names (e.g. "Cpu") to include in API requests
  5293  	// with the JSON null value. By default, fields with empty values are omitted
  5294  	// from API requests. See
  5295  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5296  	NullFields []string `json:"-"`
  5297  }
  5298  
  5299  func (s *PolicyControllerResourceList) MarshalJSON() ([]byte, error) {
  5300  	type NoMethod PolicyControllerResourceList
  5301  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5302  }
  5303  
  5304  // PolicyControllerResourceRequirements: ResourceRequirements describes the
  5305  // compute resource requirements.
  5306  type PolicyControllerResourceRequirements struct {
  5307  	// Limits: Limits describes the maximum amount of compute resources allowed for
  5308  	// use by the running container.
  5309  	Limits *PolicyControllerResourceList `json:"limits,omitempty"`
  5310  	// Requests: Requests describes the amount of compute resources reserved for
  5311  	// the container by the kube-scheduler.
  5312  	Requests *PolicyControllerResourceList `json:"requests,omitempty"`
  5313  	// ForceSendFields is a list of field names (e.g. "Limits") to unconditionally
  5314  	// include in API requests. By default, fields with empty or default values are
  5315  	// omitted from API requests. See
  5316  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5317  	// details.
  5318  	ForceSendFields []string `json:"-"`
  5319  	// NullFields is a list of field names (e.g. "Limits") to include in API
  5320  	// requests with the JSON null value. By default, fields with empty values are
  5321  	// omitted from API requests. See
  5322  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5323  	NullFields []string `json:"-"`
  5324  }
  5325  
  5326  func (s *PolicyControllerResourceRequirements) MarshalJSON() ([]byte, error) {
  5327  	type NoMethod PolicyControllerResourceRequirements
  5328  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5329  }
  5330  
  5331  // PolicyControllerTemplateLibraryConfig: The config specifying which default
  5332  // library templates to install.
  5333  type PolicyControllerTemplateLibraryConfig struct {
  5334  	// Installation: Configures the manner in which the template library is
  5335  	// installed on the cluster.
  5336  	//
  5337  	// Possible values:
  5338  	//   "INSTALLATION_UNSPECIFIED" - No installation strategy has been specified.
  5339  	//   "NOT_INSTALLED" - Do not install the template library.
  5340  	//   "ALL" - Install the entire template library.
  5341  	Installation string `json:"installation,omitempty"`
  5342  	// ForceSendFields is a list of field names (e.g. "Installation") to
  5343  	// unconditionally include in API requests. By default, fields with empty or
  5344  	// default values are omitted from API requests. See
  5345  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5346  	// details.
  5347  	ForceSendFields []string `json:"-"`
  5348  	// NullFields is a list of field names (e.g. "Installation") to include in API
  5349  	// requests with the JSON null value. By default, fields with empty values are
  5350  	// omitted from API requests. See
  5351  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5352  	NullFields []string `json:"-"`
  5353  }
  5354  
  5355  func (s *PolicyControllerTemplateLibraryConfig) MarshalJSON() ([]byte, error) {
  5356  	type NoMethod PolicyControllerTemplateLibraryConfig
  5357  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5358  }
  5359  
  5360  // PolicyControllerToleration: Toleration of a node taint.
  5361  type PolicyControllerToleration struct {
  5362  	// Effect: Matches a taint effect.
  5363  	Effect string `json:"effect,omitempty"`
  5364  	// Key: Matches a taint key (not necessarily unique).
  5365  	Key string `json:"key,omitempty"`
  5366  	// Operator: Matches a taint operator.
  5367  	Operator string `json:"operator,omitempty"`
  5368  	// Value: Matches a taint value.
  5369  	Value string `json:"value,omitempty"`
  5370  	// ForceSendFields is a list of field names (e.g. "Effect") to unconditionally
  5371  	// include in API requests. By default, fields with empty or default values are
  5372  	// 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. "Effect") 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 *PolicyControllerToleration) MarshalJSON() ([]byte, error) {
  5384  	type NoMethod PolicyControllerToleration
  5385  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5386  }
  5387  
  5388  // RBACRoleBinding: RBACRoleBinding represents a rbacrolebinding across the
  5389  // Fleet
  5390  type RBACRoleBinding struct {
  5391  	// CreateTime: Output only. When the rbacrolebinding was created.
  5392  	CreateTime string `json:"createTime,omitempty"`
  5393  	// DeleteTime: Output only. When the rbacrolebinding was deleted.
  5394  	DeleteTime string `json:"deleteTime,omitempty"`
  5395  	// Group: group is the group, as seen by the kubernetes cluster.
  5396  	Group string `json:"group,omitempty"`
  5397  	// Labels: Optional. Labels for this RBACRolebinding.
  5398  	Labels map[string]string `json:"labels,omitempty"`
  5399  	// Name: The resource name for the rbacrolebinding
  5400  	// `projects/{project}/locations/{location}/scopes/{scope}/rbacrolebindings/{rba
  5401  	// crolebinding}` or
  5402  	// `projects/{project}/locations/{location}/memberships/{membership}/rbacrolebin
  5403  	// dings/{rbacrolebinding}`
  5404  	Name string `json:"name,omitempty"`
  5405  	// Role: Required. Role to bind to the principal
  5406  	Role *Role `json:"role,omitempty"`
  5407  	// State: Output only. State of the rbacrolebinding resource.
  5408  	State *RBACRoleBindingLifecycleState `json:"state,omitempty"`
  5409  	// Uid: Output only. Google-generated UUID for this resource. This is unique
  5410  	// across all rbacrolebinding resources. If a rbacrolebinding resource is
  5411  	// deleted and another resource with the same name is created, it gets a
  5412  	// different uid.
  5413  	Uid string `json:"uid,omitempty"`
  5414  	// UpdateTime: Output only. When the rbacrolebinding was last updated.
  5415  	UpdateTime string `json:"updateTime,omitempty"`
  5416  	// User: user is the name of the user as seen by the kubernetes cluster,
  5417  	// example "alice" or "alice@domain.tld"
  5418  	User string `json:"user,omitempty"`
  5419  
  5420  	// ServerResponse contains the HTTP response code and headers from the server.
  5421  	googleapi.ServerResponse `json:"-"`
  5422  	// ForceSendFields is a list of field names (e.g. "CreateTime") to
  5423  	// unconditionally include in API requests. By default, fields with empty or
  5424  	// default values are omitted from API requests. See
  5425  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5426  	// details.
  5427  	ForceSendFields []string `json:"-"`
  5428  	// NullFields is a list of field names (e.g. "CreateTime") to include in API
  5429  	// requests with the JSON null value. By default, fields with empty values are
  5430  	// omitted from API requests. See
  5431  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5432  	NullFields []string `json:"-"`
  5433  }
  5434  
  5435  func (s *RBACRoleBinding) MarshalJSON() ([]byte, error) {
  5436  	type NoMethod RBACRoleBinding
  5437  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5438  }
  5439  
  5440  // RBACRoleBindingLifecycleState: RBACRoleBindingLifecycleState describes the
  5441  // state of a RbacRoleBinding resource.
  5442  type RBACRoleBindingLifecycleState struct {
  5443  	// Code: Output only. The current state of the rbacrolebinding resource.
  5444  	//
  5445  	// Possible values:
  5446  	//   "CODE_UNSPECIFIED" - The code is not set.
  5447  	//   "CREATING" - The rbacrolebinding is being created.
  5448  	//   "READY" - The rbacrolebinding active.
  5449  	//   "DELETING" - The rbacrolebinding is being deleted.
  5450  	//   "UPDATING" - The rbacrolebinding is being updated.
  5451  	Code string `json:"code,omitempty"`
  5452  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  5453  	// include in API requests. By default, fields with empty or default values are
  5454  	// omitted from API requests. See
  5455  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5456  	// details.
  5457  	ForceSendFields []string `json:"-"`
  5458  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  5459  	// with the JSON null value. By default, fields with empty values are omitted
  5460  	// from API requests. See
  5461  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5462  	NullFields []string `json:"-"`
  5463  }
  5464  
  5465  func (s *RBACRoleBindingLifecycleState) MarshalJSON() ([]byte, error) {
  5466  	type NoMethod RBACRoleBindingLifecycleState
  5467  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5468  }
  5469  
  5470  // ResourceManifest: ResourceManifest represents a single Kubernetes resource
  5471  // to be applied to the cluster.
  5472  type ResourceManifest struct {
  5473  	// ClusterScoped: Whether the resource provided in the manifest is
  5474  	// `cluster_scoped`. If unset, the manifest is assumed to be namespace scoped.
  5475  	// This field is used for REST mapping when applying the resource in a cluster.
  5476  	ClusterScoped bool `json:"clusterScoped,omitempty"`
  5477  	// Manifest: YAML manifest of the resource.
  5478  	Manifest string `json:"manifest,omitempty"`
  5479  	// ForceSendFields is a list of field names (e.g. "ClusterScoped") to
  5480  	// unconditionally include in API requests. By default, fields with empty or
  5481  	// default values are omitted from API requests. See
  5482  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5483  	// details.
  5484  	ForceSendFields []string `json:"-"`
  5485  	// NullFields is a list of field names (e.g. "ClusterScoped") to include in API
  5486  	// requests with the JSON null value. By default, fields with empty values are
  5487  	// omitted from API requests. See
  5488  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5489  	NullFields []string `json:"-"`
  5490  }
  5491  
  5492  func (s *ResourceManifest) MarshalJSON() ([]byte, error) {
  5493  	type NoMethod ResourceManifest
  5494  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5495  }
  5496  
  5497  // ResourceOptions: ResourceOptions represent options for Kubernetes resource
  5498  // generation.
  5499  type ResourceOptions struct {
  5500  	// ConnectVersion: Optional. The Connect agent version to use for
  5501  	// connect_resources. Defaults to the latest GKE Connect version. The version
  5502  	// must be a currently supported version, obsolete versions will be rejected.
  5503  	ConnectVersion string `json:"connectVersion,omitempty"`
  5504  	// K8sVersion: Optional. Major version of the Kubernetes cluster. This is only
  5505  	// used to determine which version to use for the CustomResourceDefinition
  5506  	// resources, `apiextensions/v1beta1` or`apiextensions/v1`.
  5507  	K8sVersion string `json:"k8sVersion,omitempty"`
  5508  	// V1beta1Crd: Optional. Use `apiextensions/v1beta1` instead of
  5509  	// `apiextensions/v1` for CustomResourceDefinition resources. This option
  5510  	// should be set for clusters with Kubernetes apiserver versions <1.16.
  5511  	V1beta1Crd bool `json:"v1beta1Crd,omitempty"`
  5512  	// ForceSendFields is a list of field names (e.g. "ConnectVersion") to
  5513  	// unconditionally include in API requests. By default, fields with empty or
  5514  	// default values are omitted from API requests. See
  5515  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5516  	// details.
  5517  	ForceSendFields []string `json:"-"`
  5518  	// NullFields is a list of field names (e.g. "ConnectVersion") to include in
  5519  	// API requests with the JSON null value. By default, fields with empty values
  5520  	// are omitted from API requests. See
  5521  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5522  	NullFields []string `json:"-"`
  5523  }
  5524  
  5525  func (s *ResourceOptions) MarshalJSON() ([]byte, error) {
  5526  	type NoMethod ResourceOptions
  5527  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5528  }
  5529  
  5530  // Role: Role is the type for Kubernetes roles
  5531  type Role struct {
  5532  	// PredefinedRole: predefined_role is the Kubernetes default role to use
  5533  	//
  5534  	// Possible values:
  5535  	//   "UNKNOWN" - UNKNOWN
  5536  	//   "ADMIN" - ADMIN has EDIT and RBAC permissions
  5537  	//   "EDIT" - EDIT can edit all resources except RBAC
  5538  	//   "VIEW" - VIEW can only read resources
  5539  	//   "ANTHOS_SUPPORT" - ANTHOS_SUPPORT gives Google Support read-only access to
  5540  	// a number of cluster resources.
  5541  	PredefinedRole string `json:"predefinedRole,omitempty"`
  5542  	// ForceSendFields is a list of field names (e.g. "PredefinedRole") to
  5543  	// unconditionally include in API requests. By default, fields with empty or
  5544  	// default values are omitted from API requests. See
  5545  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5546  	// details.
  5547  	ForceSendFields []string `json:"-"`
  5548  	// NullFields is a list of field names (e.g. "PredefinedRole") to include in
  5549  	// API requests with the JSON null value. By default, fields with empty values
  5550  	// are omitted from API requests. See
  5551  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5552  	NullFields []string `json:"-"`
  5553  }
  5554  
  5555  func (s *Role) MarshalJSON() ([]byte, error) {
  5556  	type NoMethod Role
  5557  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5558  }
  5559  
  5560  // Scope: Scope represents a Scope in a Fleet.
  5561  type Scope struct {
  5562  	// CreateTime: Output only. When the scope was created.
  5563  	CreateTime string `json:"createTime,omitempty"`
  5564  	// DeleteTime: Output only. When the scope was deleted.
  5565  	DeleteTime string `json:"deleteTime,omitempty"`
  5566  	// Labels: Optional. Labels for this Scope.
  5567  	Labels map[string]string `json:"labels,omitempty"`
  5568  	// Name: The resource name for the scope
  5569  	// `projects/{project}/locations/{location}/scopes/{scope}`
  5570  	Name string `json:"name,omitempty"`
  5571  	// NamespaceLabels: Optional. Scope-level cluster namespace labels. For the
  5572  	// member clusters bound to the Scope, these labels are applied to each
  5573  	// namespace under the Scope. Scope-level labels take precedence over
  5574  	// Namespace-level labels (`namespace_labels` in the Fleet Namespace resource)
  5575  	// if they share a key. Keys and values must be Kubernetes-conformant.
  5576  	NamespaceLabels map[string]string `json:"namespaceLabels,omitempty"`
  5577  	// State: Output only. State of the scope resource.
  5578  	State *ScopeLifecycleState `json:"state,omitempty"`
  5579  	// Uid: Output only. Google-generated UUID for this resource. This is unique
  5580  	// across all scope resources. If a scope resource is deleted and another
  5581  	// resource with the same name is created, it gets a different uid.
  5582  	Uid string `json:"uid,omitempty"`
  5583  	// UpdateTime: Output only. When the scope was last updated.
  5584  	UpdateTime string `json:"updateTime,omitempty"`
  5585  
  5586  	// ServerResponse contains the HTTP response code and headers from the server.
  5587  	googleapi.ServerResponse `json:"-"`
  5588  	// ForceSendFields is a list of field names (e.g. "CreateTime") to
  5589  	// unconditionally include in API requests. By default, fields with empty or
  5590  	// default values are omitted from API requests. See
  5591  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5592  	// details.
  5593  	ForceSendFields []string `json:"-"`
  5594  	// NullFields is a list of field names (e.g. "CreateTime") to include in API
  5595  	// requests with the JSON null value. By default, fields with empty values are
  5596  	// omitted from API requests. See
  5597  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5598  	NullFields []string `json:"-"`
  5599  }
  5600  
  5601  func (s *Scope) MarshalJSON() ([]byte, error) {
  5602  	type NoMethod Scope
  5603  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5604  }
  5605  
  5606  // ScopeFeatureSpec: ScopeFeatureSpec contains feature specs for a fleet scope.
  5607  type ScopeFeatureSpec struct {
  5608  	// Clusterupgrade: Spec for the ClusterUpgrade feature at the scope level
  5609  	Clusterupgrade *ClusterUpgradeScopeSpec `json:"clusterupgrade,omitempty"`
  5610  	// ForceSendFields is a list of field names (e.g. "Clusterupgrade") to
  5611  	// unconditionally include in API requests. By default, fields with empty or
  5612  	// default values are omitted from API requests. See
  5613  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5614  	// details.
  5615  	ForceSendFields []string `json:"-"`
  5616  	// NullFields is a list of field names (e.g. "Clusterupgrade") to include in
  5617  	// API requests with the JSON null value. By default, fields with empty values
  5618  	// are omitted from API requests. See
  5619  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5620  	NullFields []string `json:"-"`
  5621  }
  5622  
  5623  func (s *ScopeFeatureSpec) MarshalJSON() ([]byte, error) {
  5624  	type NoMethod ScopeFeatureSpec
  5625  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5626  }
  5627  
  5628  // ScopeFeatureState: ScopeFeatureState contains Scope-wide Feature status
  5629  // information.
  5630  type ScopeFeatureState struct {
  5631  	// Clusterupgrade: State for the ClusterUpgrade feature at the scope level
  5632  	Clusterupgrade *ClusterUpgradeScopeState `json:"clusterupgrade,omitempty"`
  5633  	// State: Output only. The "running state" of the Feature in this Scope.
  5634  	State *FeatureState `json:"state,omitempty"`
  5635  	// ForceSendFields is a list of field names (e.g. "Clusterupgrade") to
  5636  	// unconditionally include in API requests. By default, fields with empty or
  5637  	// default values are omitted from API requests. See
  5638  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5639  	// details.
  5640  	ForceSendFields []string `json:"-"`
  5641  	// NullFields is a list of field names (e.g. "Clusterupgrade") to include in
  5642  	// API requests with the JSON null value. By default, fields with empty values
  5643  	// are omitted from API requests. See
  5644  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5645  	NullFields []string `json:"-"`
  5646  }
  5647  
  5648  func (s *ScopeFeatureState) MarshalJSON() ([]byte, error) {
  5649  	type NoMethod ScopeFeatureState
  5650  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5651  }
  5652  
  5653  // ScopeLifecycleState: ScopeLifecycleState describes the state of a Scope
  5654  // resource.
  5655  type ScopeLifecycleState struct {
  5656  	// Code: Output only. The current state of the scope resource.
  5657  	//
  5658  	// Possible values:
  5659  	//   "CODE_UNSPECIFIED" - The code is not set.
  5660  	//   "CREATING" - The scope is being created.
  5661  	//   "READY" - The scope active.
  5662  	//   "DELETING" - The scope is being deleted.
  5663  	//   "UPDATING" - The scope is being updated.
  5664  	Code string `json:"code,omitempty"`
  5665  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  5666  	// include in API requests. By default, fields with empty or default values are
  5667  	// omitted from API requests. See
  5668  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5669  	// details.
  5670  	ForceSendFields []string `json:"-"`
  5671  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  5672  	// with the JSON null value. By default, fields with empty values are omitted
  5673  	// from API requests. See
  5674  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5675  	NullFields []string `json:"-"`
  5676  }
  5677  
  5678  func (s *ScopeLifecycleState) MarshalJSON() ([]byte, error) {
  5679  	type NoMethod ScopeLifecycleState
  5680  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5681  }
  5682  
  5683  // SecurityPostureConfig: SecurityPostureConfig defines the flags needed to
  5684  // enable/disable features for the Security Posture API.
  5685  type SecurityPostureConfig struct {
  5686  	// Mode: Sets which mode to use for Security Posture features.
  5687  	//
  5688  	// Possible values:
  5689  	//   "MODE_UNSPECIFIED" - Default value not specified.
  5690  	//   "DISABLED" - Disables Security Posture features on the cluster.
  5691  	//   "BASIC" - Applies Security Posture features on the cluster.
  5692  	Mode string `json:"mode,omitempty"`
  5693  	// VulnerabilityMode: Sets which mode to use for vulnerability scanning.
  5694  	//
  5695  	// Possible values:
  5696  	//   "VULNERABILITY_MODE_UNSPECIFIED" - Default value not specified.
  5697  	//   "VULNERABILITY_DISABLED" - Disables vulnerability scanning on the cluster.
  5698  	//   "VULNERABILITY_BASIC" - Applies basic vulnerability scanning on the
  5699  	// cluster.
  5700  	//   "VULNERABILITY_ENTERPRISE" - Applies the Security Posture's vulnerability
  5701  	// on cluster Enterprise level features.
  5702  	VulnerabilityMode string `json:"vulnerabilityMode,omitempty"`
  5703  	// ForceSendFields is a list of field names (e.g. "Mode") to unconditionally
  5704  	// include in API requests. By default, fields with empty or default values are
  5705  	// omitted from API requests. See
  5706  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5707  	// details.
  5708  	ForceSendFields []string `json:"-"`
  5709  	// NullFields is a list of field names (e.g. "Mode") to include in API requests
  5710  	// with the JSON null value. By default, fields with empty values are omitted
  5711  	// from API requests. See
  5712  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5713  	NullFields []string `json:"-"`
  5714  }
  5715  
  5716  func (s *SecurityPostureConfig) MarshalJSON() ([]byte, error) {
  5717  	type NoMethod SecurityPostureConfig
  5718  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5719  }
  5720  
  5721  // ServiceMeshAnalysisMessage: AnalysisMessage is a single message produced by
  5722  // an analyzer, and it used to communicate to the end user about the state of
  5723  // their Service Mesh configuration.
  5724  type ServiceMeshAnalysisMessage struct {
  5725  	// Args: A UI can combine these args with a template (based on
  5726  	// message_base.type) to produce an internationalized message.
  5727  	Args googleapi.RawMessage `json:"args,omitempty"`
  5728  	// Description: A human readable description of what the error means. It is
  5729  	// suitable for non-internationalize display purposes.
  5730  	Description string `json:"description,omitempty"`
  5731  	// MessageBase: Details common to all types of Istio and ServiceMesh analysis
  5732  	// messages.
  5733  	MessageBase *ServiceMeshAnalysisMessageBase `json:"messageBase,omitempty"`
  5734  	// ResourcePaths: A list of strings specifying the resource identifiers that
  5735  	// were the cause of message generation. A "path" here may be: * MEMBERSHIP_ID
  5736  	// if the cause is a specific member cluster *
  5737  	// MEMBERSHIP_ID/(NAMESPACE\/)?RESOURCETYPE/NAME if the cause is a resource in
  5738  	// a cluster
  5739  	ResourcePaths []string `json:"resourcePaths,omitempty"`
  5740  	// ForceSendFields is a list of field names (e.g. "Args") to unconditionally
  5741  	// include in API requests. By default, fields with empty or default values are
  5742  	// omitted from API requests. See
  5743  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5744  	// details.
  5745  	ForceSendFields []string `json:"-"`
  5746  	// NullFields is a list of field names (e.g. "Args") to include in API requests
  5747  	// with the JSON null value. By default, fields with empty values are omitted
  5748  	// from API requests. See
  5749  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5750  	NullFields []string `json:"-"`
  5751  }
  5752  
  5753  func (s *ServiceMeshAnalysisMessage) MarshalJSON() ([]byte, error) {
  5754  	type NoMethod ServiceMeshAnalysisMessage
  5755  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5756  }
  5757  
  5758  // ServiceMeshAnalysisMessageBase: AnalysisMessageBase describes some common
  5759  // information that is needed for all messages.
  5760  type ServiceMeshAnalysisMessageBase struct {
  5761  	// DocumentationUrl: A url pointing to the Service Mesh or Istio documentation
  5762  	// for this specific error type.
  5763  	DocumentationUrl string `json:"documentationUrl,omitempty"`
  5764  	// Level: Represents how severe a message is.
  5765  	//
  5766  	// Possible values:
  5767  	//   "LEVEL_UNSPECIFIED" - Illegal. Same
  5768  	// istio.analysis.v1alpha1.AnalysisMessageBase.Level.UNKNOWN.
  5769  	//   "ERROR" - ERROR represents a misconfiguration that must be fixed.
  5770  	//   "WARNING" - WARNING represents a misconfiguration that should be fixed.
  5771  	//   "INFO" - INFO represents an informational finding.
  5772  	Level string `json:"level,omitempty"`
  5773  	// Type: Represents the specific type of a message.
  5774  	Type *ServiceMeshType `json:"type,omitempty"`
  5775  	// ForceSendFields is a list of field names (e.g. "DocumentationUrl") to
  5776  	// unconditionally include in API requests. By default, fields with empty or
  5777  	// default values are omitted from API requests. See
  5778  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5779  	// details.
  5780  	ForceSendFields []string `json:"-"`
  5781  	// NullFields is a list of field names (e.g. "DocumentationUrl") to include in
  5782  	// API requests with the JSON null value. By default, fields with empty values
  5783  	// are omitted from API requests. See
  5784  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5785  	NullFields []string `json:"-"`
  5786  }
  5787  
  5788  func (s *ServiceMeshAnalysisMessageBase) MarshalJSON() ([]byte, error) {
  5789  	type NoMethod ServiceMeshAnalysisMessageBase
  5790  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5791  }
  5792  
  5793  // ServiceMeshCondition: Condition being reported.
  5794  type ServiceMeshCondition struct {
  5795  	// Code: Unique identifier of the condition which describes the condition
  5796  	// recognizable to the user.
  5797  	//
  5798  	// Possible values:
  5799  	//   "CODE_UNSPECIFIED" - Default Unspecified code
  5800  	//   "MESH_IAM_PERMISSION_DENIED" - Mesh IAM permission denied error code
  5801  	//   "CNI_CONFIG_UNSUPPORTED" - CNI config unsupported error code
  5802  	//   "GKE_SANDBOX_UNSUPPORTED" - GKE sandbox unsupported error code
  5803  	//   "NODEPOOL_WORKLOAD_IDENTITY_FEDERATION_REQUIRED" - Nodepool workload
  5804  	// identity federation required error code
  5805  	//   "CNI_INSTALLATION_FAILED" - CNI installation failed error code
  5806  	//   "CNI_POD_UNSCHEDULABLE" - CNI pod unschedulable error code
  5807  	//   "UNSUPPORTED_MULTIPLE_CONTROL_PLANES" - Multiple control planes
  5808  	// unsupported error code
  5809  	//   "VPCSC_GA_SUPPORTED" - VPC-SC GA is supported for this control plane.
  5810  	//   "CONFIG_APPLY_INTERNAL_ERROR" - Configuration (Istio/k8s resources) failed
  5811  	// to apply due to internal error.
  5812  	//   "CONFIG_VALIDATION_ERROR" - Configuration failed to be applied due to
  5813  	// being invalid.
  5814  	//   "CONFIG_VALIDATION_WARNING" - Encountered configuration(s) with possible
  5815  	// unintended behavior or invalid configuration. These configs may not have
  5816  	// been applied.
  5817  	//   "QUOTA_EXCEEDED_BACKEND_SERVICES" - BackendService quota exceeded error
  5818  	// code.
  5819  	//   "QUOTA_EXCEEDED_HEALTH_CHECKS" - HealthCheck quota exceeded error code.
  5820  	//   "QUOTA_EXCEEDED_HTTP_ROUTES" - HTTPRoute quota exceeded error code.
  5821  	//   "QUOTA_EXCEEDED_TCP_ROUTES" - TCPRoute quota exceeded error code.
  5822  	//   "QUOTA_EXCEEDED_TLS_ROUTES" - TLS routes quota exceeded error code.
  5823  	//   "QUOTA_EXCEEDED_TRAFFIC_POLICIES" - TrafficPolicy quota exceeded error
  5824  	// code.
  5825  	//   "QUOTA_EXCEEDED_ENDPOINT_POLICIES" - EndpointPolicy quota exceeded error
  5826  	// code.
  5827  	//   "QUOTA_EXCEEDED_GATEWAYS" - Gateway quota exceeded error code.
  5828  	//   "QUOTA_EXCEEDED_MESHES" - Mesh quota exceeded error code.
  5829  	//   "QUOTA_EXCEEDED_SERVER_TLS_POLICIES" - ServerTLSPolicy quota exceeded
  5830  	// error code.
  5831  	//   "QUOTA_EXCEEDED_CLIENT_TLS_POLICIES" - ClientTLSPolicy quota exceeded
  5832  	// error code.
  5833  	//   "QUOTA_EXCEEDED_SERVICE_LB_POLICIES" - ServiceLBPolicy quota exceeded
  5834  	// error code.
  5835  	//   "QUOTA_EXCEEDED_HTTP_FILTERS" - HTTPFilter quota exceeded error code.
  5836  	//   "QUOTA_EXCEEDED_TCP_FILTERS" - TCPFilter quota exceeded error code.
  5837  	//   "QUOTA_EXCEEDED_NETWORK_ENDPOINT_GROUPS" - NetworkEndpointGroup quota
  5838  	// exceeded error code.
  5839  	Code string `json:"code,omitempty"`
  5840  	// Details: A short summary about the issue.
  5841  	Details string `json:"details,omitempty"`
  5842  	// DocumentationLink: Links contains actionable information.
  5843  	DocumentationLink string `json:"documentationLink,omitempty"`
  5844  	// Severity: Severity level of the condition.
  5845  	//
  5846  	// Possible values:
  5847  	//   "SEVERITY_UNSPECIFIED" - Unspecified severity
  5848  	//   "ERROR" - Indicates an issue that prevents the mesh from operating
  5849  	// correctly
  5850  	//   "WARNING" - Indicates a setting is likely wrong, but the mesh is still
  5851  	// able to operate
  5852  	//   "INFO" - An informational message, not requiring any action
  5853  	Severity string `json:"severity,omitempty"`
  5854  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  5855  	// include in API requests. By default, fields with empty or default values are
  5856  	// omitted from API requests. See
  5857  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5858  	// details.
  5859  	ForceSendFields []string `json:"-"`
  5860  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  5861  	// with the JSON null value. By default, fields with empty values are omitted
  5862  	// from API requests. See
  5863  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5864  	NullFields []string `json:"-"`
  5865  }
  5866  
  5867  func (s *ServiceMeshCondition) MarshalJSON() ([]byte, error) {
  5868  	type NoMethod ServiceMeshCondition
  5869  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5870  }
  5871  
  5872  // ServiceMeshControlPlaneManagement: Status of control plane management.
  5873  type ServiceMeshControlPlaneManagement struct {
  5874  	// Details: Explanation of state.
  5875  	Details []*ServiceMeshStatusDetails `json:"details,omitempty"`
  5876  	// Implementation: Output only. Implementation of managed control plane.
  5877  	//
  5878  	// Possible values:
  5879  	//   "IMPLEMENTATION_UNSPECIFIED" - Unspecified
  5880  	//   "ISTIOD" - A Google build of istiod is used for the managed control plane.
  5881  	//   "TRAFFIC_DIRECTOR" - Traffic director is used for the managed control
  5882  	// plane.
  5883  	//   "UPDATING" - The control plane implementation is being updated.
  5884  	Implementation string `json:"implementation,omitempty"`
  5885  	// State: LifecycleState of control plane management.
  5886  	//
  5887  	// Possible values:
  5888  	//   "LIFECYCLE_STATE_UNSPECIFIED" - Unspecified
  5889  	//   "DISABLED" - DISABLED means that the component is not enabled.
  5890  	//   "FAILED_PRECONDITION" - FAILED_PRECONDITION means that provisioning cannot
  5891  	// proceed because of some characteristic of the member cluster.
  5892  	//   "PROVISIONING" - PROVISIONING means that provisioning is in progress.
  5893  	//   "ACTIVE" - ACTIVE means that the component is ready for use.
  5894  	//   "STALLED" - STALLED means that provisioning could not be done.
  5895  	//   "NEEDS_ATTENTION" - NEEDS_ATTENTION means that the component is ready, but
  5896  	// some user intervention is required. (For example that the user should
  5897  	// migrate workloads to a new control plane revision.)
  5898  	//   "DEGRADED" - DEGRADED means that the component is ready, but operating in
  5899  	// a degraded state.
  5900  	State string `json:"state,omitempty"`
  5901  	// ForceSendFields is a list of field names (e.g. "Details") to unconditionally
  5902  	// include in API requests. By default, fields with empty or default values are
  5903  	// omitted from API requests. See
  5904  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5905  	// details.
  5906  	ForceSendFields []string `json:"-"`
  5907  	// NullFields is a list of field names (e.g. "Details") to include in API
  5908  	// requests with the JSON null value. By default, fields with empty values are
  5909  	// omitted from API requests. See
  5910  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5911  	NullFields []string `json:"-"`
  5912  }
  5913  
  5914  func (s *ServiceMeshControlPlaneManagement) MarshalJSON() ([]byte, error) {
  5915  	type NoMethod ServiceMeshControlPlaneManagement
  5916  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5917  }
  5918  
  5919  // ServiceMeshDataPlaneManagement: Status of data plane management. Only
  5920  // reported per-member.
  5921  type ServiceMeshDataPlaneManagement struct {
  5922  	// Details: Explanation of the status.
  5923  	Details []*ServiceMeshStatusDetails `json:"details,omitempty"`
  5924  	// State: Lifecycle status of data plane management.
  5925  	//
  5926  	// Possible values:
  5927  	//   "LIFECYCLE_STATE_UNSPECIFIED" - Unspecified
  5928  	//   "DISABLED" - DISABLED means that the component is not enabled.
  5929  	//   "FAILED_PRECONDITION" - FAILED_PRECONDITION means that provisioning cannot
  5930  	// proceed because of some characteristic of the member cluster.
  5931  	//   "PROVISIONING" - PROVISIONING means that provisioning is in progress.
  5932  	//   "ACTIVE" - ACTIVE means that the component is ready for use.
  5933  	//   "STALLED" - STALLED means that provisioning could not be done.
  5934  	//   "NEEDS_ATTENTION" - NEEDS_ATTENTION means that the component is ready, but
  5935  	// some user intervention is required. (For example that the user should
  5936  	// migrate workloads to a new control plane revision.)
  5937  	//   "DEGRADED" - DEGRADED means that the component is ready, but operating in
  5938  	// a degraded state.
  5939  	State string `json:"state,omitempty"`
  5940  	// ForceSendFields is a list of field names (e.g. "Details") to unconditionally
  5941  	// include in API requests. By default, fields with empty or default values are
  5942  	// omitted from API requests. See
  5943  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5944  	// details.
  5945  	ForceSendFields []string `json:"-"`
  5946  	// NullFields is a list of field names (e.g. "Details") to include in API
  5947  	// requests with the JSON null value. By default, fields with empty values are
  5948  	// omitted from API requests. See
  5949  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5950  	NullFields []string `json:"-"`
  5951  }
  5952  
  5953  func (s *ServiceMeshDataPlaneManagement) MarshalJSON() ([]byte, error) {
  5954  	type NoMethod ServiceMeshDataPlaneManagement
  5955  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5956  }
  5957  
  5958  // ServiceMeshFeatureState: **Service Mesh**: State for the whole Hub, as
  5959  // analyzed by the Service Mesh Hub Controller.
  5960  type ServiceMeshFeatureState struct {
  5961  	// AnalysisMessages: Output only. Results of running Service Mesh analyzers.
  5962  	AnalysisMessages []*ServiceMeshAnalysisMessage `json:"analysisMessages,omitempty"`
  5963  	// ForceSendFields is a list of field names (e.g. "AnalysisMessages") to
  5964  	// unconditionally include in API requests. By default, fields with empty or
  5965  	// default values are omitted from API requests. See
  5966  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5967  	// details.
  5968  	ForceSendFields []string `json:"-"`
  5969  	// NullFields is a list of field names (e.g. "AnalysisMessages") to include in
  5970  	// API requests with the JSON null value. By default, fields with empty values
  5971  	// are omitted from API requests. See
  5972  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5973  	NullFields []string `json:"-"`
  5974  }
  5975  
  5976  func (s *ServiceMeshFeatureState) MarshalJSON() ([]byte, error) {
  5977  	type NoMethod ServiceMeshFeatureState
  5978  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5979  }
  5980  
  5981  // ServiceMeshMembershipSpec: **Service Mesh**: Spec for a single Membership
  5982  // for the servicemesh feature
  5983  type ServiceMeshMembershipSpec struct {
  5984  	// ControlPlane: Deprecated: use `management` instead Enables automatic control
  5985  	// plane management.
  5986  	//
  5987  	// Possible values:
  5988  	//   "CONTROL_PLANE_MANAGEMENT_UNSPECIFIED" - Unspecified
  5989  	//   "AUTOMATIC" - Google should provision a control plane revision and make it
  5990  	// available in the cluster. Google will enroll this revision in a release
  5991  	// channel and keep it up to date. The control plane revision may be a managed
  5992  	// service, or a managed install.
  5993  	//   "MANUAL" - User will manually configure the control plane (e.g. via CLI,
  5994  	// or via the ControlPlaneRevision KRM API)
  5995  	ControlPlane string `json:"controlPlane,omitempty"`
  5996  	// DefaultChannel: Determines which release channel to use for default
  5997  	// injection and service mesh APIs.
  5998  	//
  5999  	// Possible values:
  6000  	//   "CHANNEL_UNSPECIFIED" - Unspecified
  6001  	//   "RAPID" - RAPID channel is offered on an early access basis for customers
  6002  	// who want to test new releases.
  6003  	//   "REGULAR" - REGULAR channel is intended for production users who want to
  6004  	// take advantage of new features.
  6005  	//   "STABLE" - STABLE channel includes versions that are known to be stable
  6006  	// and reliable in production.
  6007  	DefaultChannel string `json:"defaultChannel,omitempty"`
  6008  	// Management: Enables automatic Service Mesh management.
  6009  	//
  6010  	// Possible values:
  6011  	//   "MANAGEMENT_UNSPECIFIED" - Unspecified
  6012  	//   "MANAGEMENT_AUTOMATIC" - Google should manage my Service Mesh for the
  6013  	// cluster.
  6014  	//   "MANAGEMENT_MANUAL" - User will manually configure their service mesh
  6015  	// components.
  6016  	Management string `json:"management,omitempty"`
  6017  	// ForceSendFields is a list of field names (e.g. "ControlPlane") to
  6018  	// unconditionally include in API requests. By default, fields with empty or
  6019  	// default values are omitted from API requests. See
  6020  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6021  	// details.
  6022  	ForceSendFields []string `json:"-"`
  6023  	// NullFields is a list of field names (e.g. "ControlPlane") to include in API
  6024  	// requests with the JSON null value. By default, fields with empty values are
  6025  	// omitted from API requests. See
  6026  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6027  	NullFields []string `json:"-"`
  6028  }
  6029  
  6030  func (s *ServiceMeshMembershipSpec) MarshalJSON() ([]byte, error) {
  6031  	type NoMethod ServiceMeshMembershipSpec
  6032  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6033  }
  6034  
  6035  // ServiceMeshMembershipState: **Service Mesh**: State for a single Membership,
  6036  // as analyzed by the Service Mesh Hub Controller.
  6037  type ServiceMeshMembershipState struct {
  6038  	// AnalysisMessages: Output only. Results of running Service Mesh analyzers.
  6039  	AnalysisMessages []*ServiceMeshAnalysisMessage `json:"analysisMessages,omitempty"`
  6040  	// Conditions: Output only. List of conditions reported for this membership.
  6041  	Conditions []*ServiceMeshCondition `json:"conditions,omitempty"`
  6042  	// ConfigApiVersion: The API version (i.e. Istio CRD version) for configuring
  6043  	// service mesh in this cluster. This version is influenced by the
  6044  	// `default_channel` field.
  6045  	ConfigApiVersion string `json:"configApiVersion,omitempty"`
  6046  	// ControlPlaneManagement: Output only. Status of control plane management
  6047  	ControlPlaneManagement *ServiceMeshControlPlaneManagement `json:"controlPlaneManagement,omitempty"`
  6048  	// DataPlaneManagement: Output only. Status of data plane management.
  6049  	DataPlaneManagement *ServiceMeshDataPlaneManagement `json:"dataPlaneManagement,omitempty"`
  6050  	// ForceSendFields is a list of field names (e.g. "AnalysisMessages") to
  6051  	// unconditionally include in API requests. By default, fields with empty or
  6052  	// default values are omitted from API requests. See
  6053  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6054  	// details.
  6055  	ForceSendFields []string `json:"-"`
  6056  	// NullFields is a list of field names (e.g. "AnalysisMessages") to include in
  6057  	// API requests with the JSON null value. By default, fields with empty values
  6058  	// are omitted from API requests. See
  6059  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6060  	NullFields []string `json:"-"`
  6061  }
  6062  
  6063  func (s *ServiceMeshMembershipState) MarshalJSON() ([]byte, error) {
  6064  	type NoMethod ServiceMeshMembershipState
  6065  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6066  }
  6067  
  6068  // ServiceMeshStatusDetails: Structured and human-readable details for a
  6069  // status.
  6070  type ServiceMeshStatusDetails struct {
  6071  	// Code: A machine-readable code that further describes a broad status.
  6072  	Code string `json:"code,omitempty"`
  6073  	// Details: Human-readable explanation of code.
  6074  	Details string `json:"details,omitempty"`
  6075  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  6076  	// include in API requests. By default, fields with empty or default values are
  6077  	// omitted from API requests. See
  6078  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6079  	// details.
  6080  	ForceSendFields []string `json:"-"`
  6081  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  6082  	// with the JSON null value. By default, fields with empty values are omitted
  6083  	// from API requests. See
  6084  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6085  	NullFields []string `json:"-"`
  6086  }
  6087  
  6088  func (s *ServiceMeshStatusDetails) MarshalJSON() ([]byte, error) {
  6089  	type NoMethod ServiceMeshStatusDetails
  6090  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6091  }
  6092  
  6093  // ServiceMeshType: A unique identifier for the type of message. Display_name
  6094  // is intended to be human-readable, code is intended to be machine readable.
  6095  // There should be a one-to-one mapping between display_name and code. (i.e. do
  6096  // not re-use display_names or codes between message types.) See
  6097  // istio.analysis.v1alpha1.AnalysisMessageBase.Type
  6098  type ServiceMeshType struct {
  6099  	// Code: A 7 character code matching `^IST[0-9]{4}$` or `^ASM[0-9]{4}$`,
  6100  	// intended to uniquely identify the message type. (e.g. "IST0001" is mapped to
  6101  	// the "InternalError" message type.)
  6102  	Code string `json:"code,omitempty"`
  6103  	// DisplayName: A human-readable name for the message type. e.g.
  6104  	// "InternalError", "PodMissingProxy". This should be the same for all messages
  6105  	// of the same type. (This corresponds to the `name` field in open-source
  6106  	// Istio.)
  6107  	DisplayName string `json:"displayName,omitempty"`
  6108  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  6109  	// include in API requests. By default, fields with empty or default values are
  6110  	// omitted from API requests. See
  6111  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6112  	// details.
  6113  	ForceSendFields []string `json:"-"`
  6114  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  6115  	// with the JSON null value. By default, fields with empty values are omitted
  6116  	// from API requests. See
  6117  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6118  	NullFields []string `json:"-"`
  6119  }
  6120  
  6121  func (s *ServiceMeshType) MarshalJSON() ([]byte, error) {
  6122  	type NoMethod ServiceMeshType
  6123  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6124  }
  6125  
  6126  // SetIamPolicyRequest: Request message for `SetIamPolicy` method.
  6127  type SetIamPolicyRequest struct {
  6128  	// Policy: REQUIRED: The complete policy to be applied to the `resource`. The
  6129  	// size of the policy is limited to a few 10s of KB. An empty policy is a valid
  6130  	// policy but certain Google Cloud services (such as Projects) might reject
  6131  	// them.
  6132  	Policy *Policy `json:"policy,omitempty"`
  6133  	// UpdateMask: OPTIONAL: A FieldMask specifying which fields of the policy to
  6134  	// modify. Only the fields in the mask will be modified. If no mask is
  6135  	// provided, the following default mask is used: `paths: "bindings, etag"
  6136  	UpdateMask string `json:"updateMask,omitempty"`
  6137  	// ForceSendFields is a list of field names (e.g. "Policy") to unconditionally
  6138  	// include in API requests. By default, fields with empty or default values are
  6139  	// omitted from API requests. See
  6140  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6141  	// details.
  6142  	ForceSendFields []string `json:"-"`
  6143  	// NullFields is a list of field names (e.g. "Policy") to include in API
  6144  	// requests with the JSON null value. By default, fields with empty values are
  6145  	// omitted from API requests. See
  6146  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6147  	NullFields []string `json:"-"`
  6148  }
  6149  
  6150  func (s *SetIamPolicyRequest) MarshalJSON() ([]byte, error) {
  6151  	type NoMethod SetIamPolicyRequest
  6152  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6153  }
  6154  
  6155  // Status: Status specifies state for the subcomponent.
  6156  type Status struct {
  6157  	// Code: Code specifies AppDevExperienceFeature's subcomponent ready state.
  6158  	//
  6159  	// Possible values:
  6160  	//   "CODE_UNSPECIFIED" - Not set.
  6161  	//   "OK" - AppDevExperienceFeature's specified subcomponent is ready.
  6162  	//   "FAILED" - AppDevExperienceFeature's specified subcomponent ready state is
  6163  	// false. This means AppDevExperienceFeature has encountered an issue that
  6164  	// blocks all, or a portion, of its normal operation. See the `description` for
  6165  	// more details.
  6166  	//   "UNKNOWN" - AppDevExperienceFeature's specified subcomponent has a pending
  6167  	// or unknown state.
  6168  	Code string `json:"code,omitempty"`
  6169  	// Description: Description is populated if Code is Failed, explaining why it
  6170  	// has failed.
  6171  	Description string `json:"description,omitempty"`
  6172  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  6173  	// include in API requests. By default, fields with empty or default values are
  6174  	// omitted from API requests. See
  6175  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6176  	// details.
  6177  	ForceSendFields []string `json:"-"`
  6178  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  6179  	// with the JSON null value. By default, fields with empty values are omitted
  6180  	// from API requests. See
  6181  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6182  	NullFields []string `json:"-"`
  6183  }
  6184  
  6185  func (s *Status) MarshalJSON() ([]byte, error) {
  6186  	type NoMethod Status
  6187  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6188  }
  6189  
  6190  // TestIamPermissionsRequest: Request message for `TestIamPermissions` method.
  6191  type TestIamPermissionsRequest struct {
  6192  	// Permissions: The set of permissions to check for the `resource`. Permissions
  6193  	// with wildcards (such as `*` or `storage.*`) are not allowed. For more
  6194  	// information see IAM Overview
  6195  	// (https://cloud.google.com/iam/docs/overview#permissions).
  6196  	Permissions []string `json:"permissions,omitempty"`
  6197  	// ForceSendFields is a list of field names (e.g. "Permissions") to
  6198  	// unconditionally include in API requests. By default, fields with empty or
  6199  	// default values are omitted from API requests. See
  6200  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6201  	// details.
  6202  	ForceSendFields []string `json:"-"`
  6203  	// NullFields is a list of field names (e.g. "Permissions") to include in API
  6204  	// requests with the JSON null value. By default, fields with empty values are
  6205  	// omitted from API requests. See
  6206  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6207  	NullFields []string `json:"-"`
  6208  }
  6209  
  6210  func (s *TestIamPermissionsRequest) MarshalJSON() ([]byte, error) {
  6211  	type NoMethod TestIamPermissionsRequest
  6212  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6213  }
  6214  
  6215  // TestIamPermissionsResponse: Response message for `TestIamPermissions`
  6216  // method.
  6217  type TestIamPermissionsResponse struct {
  6218  	// Permissions: A subset of `TestPermissionsRequest.permissions` that the
  6219  	// caller is allowed.
  6220  	Permissions []string `json:"permissions,omitempty"`
  6221  
  6222  	// ServerResponse contains the HTTP response code and headers from the server.
  6223  	googleapi.ServerResponse `json:"-"`
  6224  	// ForceSendFields is a list of field names (e.g. "Permissions") to
  6225  	// unconditionally include in API requests. By default, fields with empty or
  6226  	// default values are omitted from API requests. See
  6227  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6228  	// details.
  6229  	ForceSendFields []string `json:"-"`
  6230  	// NullFields is a list of field names (e.g. "Permissions") to include in API
  6231  	// requests with the JSON null value. By default, fields with empty values are
  6232  	// omitted from API requests. See
  6233  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6234  	NullFields []string `json:"-"`
  6235  }
  6236  
  6237  func (s *TestIamPermissionsResponse) MarshalJSON() ([]byte, error) {
  6238  	type NoMethod TestIamPermissionsResponse
  6239  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6240  }
  6241  
  6242  // TypeMeta: TypeMeta is the type information needed for content unmarshalling
  6243  // of Kubernetes resources in the manifest.
  6244  type TypeMeta struct {
  6245  	// ApiVersion: APIVersion of the resource (e.g. v1).
  6246  	ApiVersion string `json:"apiVersion,omitempty"`
  6247  	// Kind: Kind of the resource (e.g. Deployment).
  6248  	Kind string `json:"kind,omitempty"`
  6249  	// ForceSendFields is a list of field names (e.g. "ApiVersion") to
  6250  	// unconditionally include in API requests. By default, fields with empty or
  6251  	// default values are omitted from API requests. See
  6252  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6253  	// details.
  6254  	ForceSendFields []string `json:"-"`
  6255  	// NullFields is a list of field names (e.g. "ApiVersion") to include in API
  6256  	// requests with the JSON null value. By default, fields with empty values are
  6257  	// omitted from API requests. See
  6258  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6259  	NullFields []string `json:"-"`
  6260  }
  6261  
  6262  func (s *TypeMeta) MarshalJSON() ([]byte, error) {
  6263  	type NoMethod TypeMeta
  6264  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6265  }
  6266  
  6267  // ValidateCreateMembershipRequest: Request message for the
  6268  // `GkeHub.ValidateCreateMembership` method.
  6269  type ValidateCreateMembershipRequest struct {
  6270  	// Membership: Required. Membership resource to be created.
  6271  	Membership *Membership `json:"membership,omitempty"`
  6272  	// MembershipId: Required. Client chosen membership id.
  6273  	MembershipId string `json:"membershipId,omitempty"`
  6274  	// ForceSendFields is a list of field names (e.g. "Membership") to
  6275  	// unconditionally include in API requests. By default, fields with empty or
  6276  	// default values are omitted from API requests. See
  6277  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6278  	// details.
  6279  	ForceSendFields []string `json:"-"`
  6280  	// NullFields is a list of field names (e.g. "Membership") to include in API
  6281  	// requests with the JSON null value. By default, fields with empty values are
  6282  	// omitted from API requests. See
  6283  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6284  	NullFields []string `json:"-"`
  6285  }
  6286  
  6287  func (s *ValidateCreateMembershipRequest) MarshalJSON() ([]byte, error) {
  6288  	type NoMethod ValidateCreateMembershipRequest
  6289  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6290  }
  6291  
  6292  // ValidateCreateMembershipResponse: Response message for the
  6293  // `GkeHub.ValidateCreateMembership` method.
  6294  type ValidateCreateMembershipResponse struct {
  6295  	// ValidationResults: Wraps all the validator results.
  6296  	ValidationResults []*ValidationResult `json:"validationResults,omitempty"`
  6297  
  6298  	// ServerResponse contains the HTTP response code and headers from the server.
  6299  	googleapi.ServerResponse `json:"-"`
  6300  	// ForceSendFields is a list of field names (e.g. "ValidationResults") to
  6301  	// unconditionally include in API requests. By default, fields with empty or
  6302  	// default values are omitted from API requests. See
  6303  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6304  	// details.
  6305  	ForceSendFields []string `json:"-"`
  6306  	// NullFields is a list of field names (e.g. "ValidationResults") to include in
  6307  	// API requests with the JSON null value. By default, fields with empty values
  6308  	// are omitted from API requests. See
  6309  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6310  	NullFields []string `json:"-"`
  6311  }
  6312  
  6313  func (s *ValidateCreateMembershipResponse) MarshalJSON() ([]byte, error) {
  6314  	type NoMethod ValidateCreateMembershipResponse
  6315  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6316  }
  6317  
  6318  // ValidationResult: ValidationResults are results set by each validator
  6319  // running during ValidateCreateMembership.
  6320  type ValidationResult struct {
  6321  	// Result: Additional information for the validation.
  6322  	Result string `json:"result,omitempty"`
  6323  	// Success: Whether the validation is passed or not.
  6324  	Success bool `json:"success,omitempty"`
  6325  	// Validator: Validator type to validate membership with.
  6326  	//
  6327  	// Possible values:
  6328  	//   "VALIDATOR_TYPE_UNSPECIFIED" - UNSPECIFIED validator.
  6329  	//   "MEMBERSHIP_ID" - MEMBERSHIP_ID validator validates that the membership_id
  6330  	// is still available.
  6331  	//   "CROSS_PROJECT_PERMISSION" - CROSS_PROJECT_PERMISSION validator validates
  6332  	// that the cross-project role binding for the service agent is in place.
  6333  	Validator string `json:"validator,omitempty"`
  6334  	// ForceSendFields is a list of field names (e.g. "Result") to unconditionally
  6335  	// include in API requests. By default, fields with empty or default values are
  6336  	// omitted from API requests. See
  6337  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6338  	// details.
  6339  	ForceSendFields []string `json:"-"`
  6340  	// NullFields is a list of field names (e.g. "Result") to include in API
  6341  	// requests with the JSON null value. By default, fields with empty values are
  6342  	// omitted from API requests. See
  6343  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6344  	NullFields []string `json:"-"`
  6345  }
  6346  
  6347  func (s *ValidationResult) MarshalJSON() ([]byte, error) {
  6348  	type NoMethod ValidationResult
  6349  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6350  }
  6351  
  6352  type OrganizationsLocationsFleetsListCall struct {
  6353  	s            *Service
  6354  	parent       string
  6355  	urlParams_   gensupport.URLParams
  6356  	ifNoneMatch_ string
  6357  	ctx_         context.Context
  6358  	header_      http.Header
  6359  }
  6360  
  6361  // List: Returns all fleets within an organization or a project that the caller
  6362  // has access to.
  6363  //
  6364  //   - parent: The organization or project to list for Fleets under, in the
  6365  //     format `organizations/*/locations/*` or `projects/*/locations/*`.
  6366  func (r *OrganizationsLocationsFleetsService) List(parent string) *OrganizationsLocationsFleetsListCall {
  6367  	c := &OrganizationsLocationsFleetsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6368  	c.parent = parent
  6369  	return c
  6370  }
  6371  
  6372  // PageSize sets the optional parameter "pageSize": The maximum number of
  6373  // fleets to return. The service may return fewer than this value. If
  6374  // unspecified, at most 200 fleets will be returned. The maximum value is 1000;
  6375  // values above 1000 will be coerced to 1000.
  6376  func (c *OrganizationsLocationsFleetsListCall) PageSize(pageSize int64) *OrganizationsLocationsFleetsListCall {
  6377  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  6378  	return c
  6379  }
  6380  
  6381  // PageToken sets the optional parameter "pageToken": A page token, received
  6382  // from a previous `ListFleets` call. Provide this to retrieve the subsequent
  6383  // page. When paginating, all other parameters provided to `ListFleets` must
  6384  // match the call that provided the page token.
  6385  func (c *OrganizationsLocationsFleetsListCall) PageToken(pageToken string) *OrganizationsLocationsFleetsListCall {
  6386  	c.urlParams_.Set("pageToken", pageToken)
  6387  	return c
  6388  }
  6389  
  6390  // Fields allows partial responses to be retrieved. See
  6391  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6392  // details.
  6393  func (c *OrganizationsLocationsFleetsListCall) Fields(s ...googleapi.Field) *OrganizationsLocationsFleetsListCall {
  6394  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6395  	return c
  6396  }
  6397  
  6398  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  6399  // object's ETag matches the given value. This is useful for getting updates
  6400  // only after the object has changed since the last request.
  6401  func (c *OrganizationsLocationsFleetsListCall) IfNoneMatch(entityTag string) *OrganizationsLocationsFleetsListCall {
  6402  	c.ifNoneMatch_ = entityTag
  6403  	return c
  6404  }
  6405  
  6406  // Context sets the context to be used in this call's Do method.
  6407  func (c *OrganizationsLocationsFleetsListCall) Context(ctx context.Context) *OrganizationsLocationsFleetsListCall {
  6408  	c.ctx_ = ctx
  6409  	return c
  6410  }
  6411  
  6412  // Header returns a http.Header that can be modified by the caller to add
  6413  // headers to the request.
  6414  func (c *OrganizationsLocationsFleetsListCall) Header() http.Header {
  6415  	if c.header_ == nil {
  6416  		c.header_ = make(http.Header)
  6417  	}
  6418  	return c.header_
  6419  }
  6420  
  6421  func (c *OrganizationsLocationsFleetsListCall) doRequest(alt string) (*http.Response, error) {
  6422  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6423  	if c.ifNoneMatch_ != "" {
  6424  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  6425  	}
  6426  	var body io.Reader = nil
  6427  	c.urlParams_.Set("alt", alt)
  6428  	c.urlParams_.Set("prettyPrint", "false")
  6429  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+parent}/fleets")
  6430  	urls += "?" + c.urlParams_.Encode()
  6431  	req, err := http.NewRequest("GET", urls, body)
  6432  	if err != nil {
  6433  		return nil, err
  6434  	}
  6435  	req.Header = reqHeaders
  6436  	googleapi.Expand(req.URL, map[string]string{
  6437  		"parent": c.parent,
  6438  	})
  6439  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6440  }
  6441  
  6442  // Do executes the "gkehub.organizations.locations.fleets.list" call.
  6443  // Any non-2xx status code is an error. Response headers are in either
  6444  // *ListFleetsResponse.ServerResponse.Header or (if a response was returned at
  6445  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  6446  // check whether the returned error was because http.StatusNotModified was
  6447  // returned.
  6448  func (c *OrganizationsLocationsFleetsListCall) Do(opts ...googleapi.CallOption) (*ListFleetsResponse, error) {
  6449  	gensupport.SetOptions(c.urlParams_, opts...)
  6450  	res, err := c.doRequest("json")
  6451  	if res != nil && res.StatusCode == http.StatusNotModified {
  6452  		if res.Body != nil {
  6453  			res.Body.Close()
  6454  		}
  6455  		return nil, gensupport.WrapError(&googleapi.Error{
  6456  			Code:   res.StatusCode,
  6457  			Header: res.Header,
  6458  		})
  6459  	}
  6460  	if err != nil {
  6461  		return nil, err
  6462  	}
  6463  	defer googleapi.CloseBody(res)
  6464  	if err := googleapi.CheckResponse(res); err != nil {
  6465  		return nil, gensupport.WrapError(err)
  6466  	}
  6467  	ret := &ListFleetsResponse{
  6468  		ServerResponse: googleapi.ServerResponse{
  6469  			Header:         res.Header,
  6470  			HTTPStatusCode: res.StatusCode,
  6471  		},
  6472  	}
  6473  	target := &ret
  6474  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6475  		return nil, err
  6476  	}
  6477  	return ret, nil
  6478  }
  6479  
  6480  // Pages invokes f for each page of results.
  6481  // A non-nil error returned from f will halt the iteration.
  6482  // The provided context supersedes any context provided to the Context method.
  6483  func (c *OrganizationsLocationsFleetsListCall) Pages(ctx context.Context, f func(*ListFleetsResponse) error) error {
  6484  	c.ctx_ = ctx
  6485  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  6486  	for {
  6487  		x, err := c.Do()
  6488  		if err != nil {
  6489  			return err
  6490  		}
  6491  		if err := f(x); err != nil {
  6492  			return err
  6493  		}
  6494  		if x.NextPageToken == "" {
  6495  			return nil
  6496  		}
  6497  		c.PageToken(x.NextPageToken)
  6498  	}
  6499  }
  6500  
  6501  type ProjectsLocationsGetCall struct {
  6502  	s            *Service
  6503  	name         string
  6504  	urlParams_   gensupport.URLParams
  6505  	ifNoneMatch_ string
  6506  	ctx_         context.Context
  6507  	header_      http.Header
  6508  }
  6509  
  6510  // Get: Gets information about a location.
  6511  //
  6512  // - name: Resource name for the location.
  6513  func (r *ProjectsLocationsService) Get(name string) *ProjectsLocationsGetCall {
  6514  	c := &ProjectsLocationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6515  	c.name = name
  6516  	return c
  6517  }
  6518  
  6519  // Fields allows partial responses to be retrieved. See
  6520  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6521  // details.
  6522  func (c *ProjectsLocationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsGetCall {
  6523  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6524  	return c
  6525  }
  6526  
  6527  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  6528  // object's ETag matches the given value. This is useful for getting updates
  6529  // only after the object has changed since the last request.
  6530  func (c *ProjectsLocationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsGetCall {
  6531  	c.ifNoneMatch_ = entityTag
  6532  	return c
  6533  }
  6534  
  6535  // Context sets the context to be used in this call's Do method.
  6536  func (c *ProjectsLocationsGetCall) Context(ctx context.Context) *ProjectsLocationsGetCall {
  6537  	c.ctx_ = ctx
  6538  	return c
  6539  }
  6540  
  6541  // Header returns a http.Header that can be modified by the caller to add
  6542  // headers to the request.
  6543  func (c *ProjectsLocationsGetCall) Header() http.Header {
  6544  	if c.header_ == nil {
  6545  		c.header_ = make(http.Header)
  6546  	}
  6547  	return c.header_
  6548  }
  6549  
  6550  func (c *ProjectsLocationsGetCall) doRequest(alt string) (*http.Response, error) {
  6551  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6552  	if c.ifNoneMatch_ != "" {
  6553  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  6554  	}
  6555  	var body io.Reader = nil
  6556  	c.urlParams_.Set("alt", alt)
  6557  	c.urlParams_.Set("prettyPrint", "false")
  6558  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}")
  6559  	urls += "?" + c.urlParams_.Encode()
  6560  	req, err := http.NewRequest("GET", urls, body)
  6561  	if err != nil {
  6562  		return nil, err
  6563  	}
  6564  	req.Header = reqHeaders
  6565  	googleapi.Expand(req.URL, map[string]string{
  6566  		"name": c.name,
  6567  	})
  6568  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6569  }
  6570  
  6571  // Do executes the "gkehub.projects.locations.get" call.
  6572  // Any non-2xx status code is an error. Response headers are in either
  6573  // *Location.ServerResponse.Header or (if a response was returned at all) in
  6574  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6575  // whether the returned error was because http.StatusNotModified was returned.
  6576  func (c *ProjectsLocationsGetCall) Do(opts ...googleapi.CallOption) (*Location, error) {
  6577  	gensupport.SetOptions(c.urlParams_, opts...)
  6578  	res, err := c.doRequest("json")
  6579  	if res != nil && res.StatusCode == http.StatusNotModified {
  6580  		if res.Body != nil {
  6581  			res.Body.Close()
  6582  		}
  6583  		return nil, gensupport.WrapError(&googleapi.Error{
  6584  			Code:   res.StatusCode,
  6585  			Header: res.Header,
  6586  		})
  6587  	}
  6588  	if err != nil {
  6589  		return nil, err
  6590  	}
  6591  	defer googleapi.CloseBody(res)
  6592  	if err := googleapi.CheckResponse(res); err != nil {
  6593  		return nil, gensupport.WrapError(err)
  6594  	}
  6595  	ret := &Location{
  6596  		ServerResponse: googleapi.ServerResponse{
  6597  			Header:         res.Header,
  6598  			HTTPStatusCode: res.StatusCode,
  6599  		},
  6600  	}
  6601  	target := &ret
  6602  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6603  		return nil, err
  6604  	}
  6605  	return ret, nil
  6606  }
  6607  
  6608  type ProjectsLocationsListCall struct {
  6609  	s            *Service
  6610  	name         string
  6611  	urlParams_   gensupport.URLParams
  6612  	ifNoneMatch_ string
  6613  	ctx_         context.Context
  6614  	header_      http.Header
  6615  }
  6616  
  6617  // List: Lists information about the supported locations for this service.
  6618  //
  6619  // - name: The resource that owns the locations collection, if applicable.
  6620  func (r *ProjectsLocationsService) List(name string) *ProjectsLocationsListCall {
  6621  	c := &ProjectsLocationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6622  	c.name = name
  6623  	return c
  6624  }
  6625  
  6626  // Filter sets the optional parameter "filter": A filter to narrow down results
  6627  // to a preferred subset. The filtering language accepts strings like
  6628  // "displayName=tokyo", and is documented in more detail in AIP-160
  6629  // (https://google.aip.dev/160).
  6630  func (c *ProjectsLocationsListCall) Filter(filter string) *ProjectsLocationsListCall {
  6631  	c.urlParams_.Set("filter", filter)
  6632  	return c
  6633  }
  6634  
  6635  // PageSize sets the optional parameter "pageSize": The maximum number of
  6636  // results to return. If not set, the service selects a default.
  6637  func (c *ProjectsLocationsListCall) PageSize(pageSize int64) *ProjectsLocationsListCall {
  6638  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  6639  	return c
  6640  }
  6641  
  6642  // PageToken sets the optional parameter "pageToken": A page token received
  6643  // from the `next_page_token` field in the response. Send that page token to
  6644  // receive the subsequent page.
  6645  func (c *ProjectsLocationsListCall) PageToken(pageToken string) *ProjectsLocationsListCall {
  6646  	c.urlParams_.Set("pageToken", pageToken)
  6647  	return c
  6648  }
  6649  
  6650  // Fields allows partial responses to be retrieved. See
  6651  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6652  // details.
  6653  func (c *ProjectsLocationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsListCall {
  6654  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6655  	return c
  6656  }
  6657  
  6658  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  6659  // object's ETag matches the given value. This is useful for getting updates
  6660  // only after the object has changed since the last request.
  6661  func (c *ProjectsLocationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsListCall {
  6662  	c.ifNoneMatch_ = entityTag
  6663  	return c
  6664  }
  6665  
  6666  // Context sets the context to be used in this call's Do method.
  6667  func (c *ProjectsLocationsListCall) Context(ctx context.Context) *ProjectsLocationsListCall {
  6668  	c.ctx_ = ctx
  6669  	return c
  6670  }
  6671  
  6672  // Header returns a http.Header that can be modified by the caller to add
  6673  // headers to the request.
  6674  func (c *ProjectsLocationsListCall) Header() http.Header {
  6675  	if c.header_ == nil {
  6676  		c.header_ = make(http.Header)
  6677  	}
  6678  	return c.header_
  6679  }
  6680  
  6681  func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
  6682  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6683  	if c.ifNoneMatch_ != "" {
  6684  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  6685  	}
  6686  	var body io.Reader = nil
  6687  	c.urlParams_.Set("alt", alt)
  6688  	c.urlParams_.Set("prettyPrint", "false")
  6689  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}/locations")
  6690  	urls += "?" + c.urlParams_.Encode()
  6691  	req, err := http.NewRequest("GET", urls, body)
  6692  	if err != nil {
  6693  		return nil, err
  6694  	}
  6695  	req.Header = reqHeaders
  6696  	googleapi.Expand(req.URL, map[string]string{
  6697  		"name": c.name,
  6698  	})
  6699  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6700  }
  6701  
  6702  // Do executes the "gkehub.projects.locations.list" call.
  6703  // Any non-2xx status code is an error. Response headers are in either
  6704  // *ListLocationsResponse.ServerResponse.Header or (if a response was returned
  6705  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  6706  // check whether the returned error was because http.StatusNotModified was
  6707  // returned.
  6708  func (c *ProjectsLocationsListCall) Do(opts ...googleapi.CallOption) (*ListLocationsResponse, error) {
  6709  	gensupport.SetOptions(c.urlParams_, opts...)
  6710  	res, err := c.doRequest("json")
  6711  	if res != nil && res.StatusCode == http.StatusNotModified {
  6712  		if res.Body != nil {
  6713  			res.Body.Close()
  6714  		}
  6715  		return nil, gensupport.WrapError(&googleapi.Error{
  6716  			Code:   res.StatusCode,
  6717  			Header: res.Header,
  6718  		})
  6719  	}
  6720  	if err != nil {
  6721  		return nil, err
  6722  	}
  6723  	defer googleapi.CloseBody(res)
  6724  	if err := googleapi.CheckResponse(res); err != nil {
  6725  		return nil, gensupport.WrapError(err)
  6726  	}
  6727  	ret := &ListLocationsResponse{
  6728  		ServerResponse: googleapi.ServerResponse{
  6729  			Header:         res.Header,
  6730  			HTTPStatusCode: res.StatusCode,
  6731  		},
  6732  	}
  6733  	target := &ret
  6734  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6735  		return nil, err
  6736  	}
  6737  	return ret, nil
  6738  }
  6739  
  6740  // Pages invokes f for each page of results.
  6741  // A non-nil error returned from f will halt the iteration.
  6742  // The provided context supersedes any context provided to the Context method.
  6743  func (c *ProjectsLocationsListCall) Pages(ctx context.Context, f func(*ListLocationsResponse) error) error {
  6744  	c.ctx_ = ctx
  6745  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  6746  	for {
  6747  		x, err := c.Do()
  6748  		if err != nil {
  6749  			return err
  6750  		}
  6751  		if err := f(x); err != nil {
  6752  			return err
  6753  		}
  6754  		if x.NextPageToken == "" {
  6755  			return nil
  6756  		}
  6757  		c.PageToken(x.NextPageToken)
  6758  	}
  6759  }
  6760  
  6761  type ProjectsLocationsFeaturesCreateCall struct {
  6762  	s          *Service
  6763  	parent     string
  6764  	feature    *Feature
  6765  	urlParams_ gensupport.URLParams
  6766  	ctx_       context.Context
  6767  	header_    http.Header
  6768  }
  6769  
  6770  // Create: Adds a new Feature.
  6771  //
  6772  //   - parent: The parent (project and location) where the Feature will be
  6773  //     created. Specified in the format `projects/*/locations/*`.
  6774  func (r *ProjectsLocationsFeaturesService) Create(parent string, feature *Feature) *ProjectsLocationsFeaturesCreateCall {
  6775  	c := &ProjectsLocationsFeaturesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6776  	c.parent = parent
  6777  	c.feature = feature
  6778  	return c
  6779  }
  6780  
  6781  // FeatureId sets the optional parameter "featureId": The ID of the feature to
  6782  // create.
  6783  func (c *ProjectsLocationsFeaturesCreateCall) FeatureId(featureId string) *ProjectsLocationsFeaturesCreateCall {
  6784  	c.urlParams_.Set("featureId", featureId)
  6785  	return c
  6786  }
  6787  
  6788  // RequestId sets the optional parameter "requestId": A request ID to identify
  6789  // requests. Specify a unique request ID so that if you must retry your
  6790  // request, the server will know to ignore the request if it has already been
  6791  // completed. The server will guarantee that for at least 60 minutes after the
  6792  // first request. For example, consider a situation where you make an initial
  6793  // request and the request times out. If you make the request again with the
  6794  // same request ID, the server can check if original operation with the same
  6795  // request ID was received, and if so, will ignore the second request. This
  6796  // prevents clients from accidentally creating duplicate commitments. The
  6797  // request ID must be a valid UUID with the exception that zero UUID is not
  6798  // supported (00000000-0000-0000-0000-000000000000).
  6799  func (c *ProjectsLocationsFeaturesCreateCall) RequestId(requestId string) *ProjectsLocationsFeaturesCreateCall {
  6800  	c.urlParams_.Set("requestId", requestId)
  6801  	return c
  6802  }
  6803  
  6804  // Fields allows partial responses to be retrieved. See
  6805  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6806  // details.
  6807  func (c *ProjectsLocationsFeaturesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturesCreateCall {
  6808  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6809  	return c
  6810  }
  6811  
  6812  // Context sets the context to be used in this call's Do method.
  6813  func (c *ProjectsLocationsFeaturesCreateCall) Context(ctx context.Context) *ProjectsLocationsFeaturesCreateCall {
  6814  	c.ctx_ = ctx
  6815  	return c
  6816  }
  6817  
  6818  // Header returns a http.Header that can be modified by the caller to add
  6819  // headers to the request.
  6820  func (c *ProjectsLocationsFeaturesCreateCall) Header() http.Header {
  6821  	if c.header_ == nil {
  6822  		c.header_ = make(http.Header)
  6823  	}
  6824  	return c.header_
  6825  }
  6826  
  6827  func (c *ProjectsLocationsFeaturesCreateCall) doRequest(alt string) (*http.Response, error) {
  6828  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6829  	var body io.Reader = nil
  6830  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.feature)
  6831  	if err != nil {
  6832  		return nil, err
  6833  	}
  6834  	c.urlParams_.Set("alt", alt)
  6835  	c.urlParams_.Set("prettyPrint", "false")
  6836  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+parent}/features")
  6837  	urls += "?" + c.urlParams_.Encode()
  6838  	req, err := http.NewRequest("POST", urls, body)
  6839  	if err != nil {
  6840  		return nil, err
  6841  	}
  6842  	req.Header = reqHeaders
  6843  	googleapi.Expand(req.URL, map[string]string{
  6844  		"parent": c.parent,
  6845  	})
  6846  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6847  }
  6848  
  6849  // Do executes the "gkehub.projects.locations.features.create" call.
  6850  // Any non-2xx status code is an error. Response headers are in either
  6851  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  6852  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6853  // whether the returned error was because http.StatusNotModified was returned.
  6854  func (c *ProjectsLocationsFeaturesCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  6855  	gensupport.SetOptions(c.urlParams_, opts...)
  6856  	res, err := c.doRequest("json")
  6857  	if res != nil && res.StatusCode == http.StatusNotModified {
  6858  		if res.Body != nil {
  6859  			res.Body.Close()
  6860  		}
  6861  		return nil, gensupport.WrapError(&googleapi.Error{
  6862  			Code:   res.StatusCode,
  6863  			Header: res.Header,
  6864  		})
  6865  	}
  6866  	if err != nil {
  6867  		return nil, err
  6868  	}
  6869  	defer googleapi.CloseBody(res)
  6870  	if err := googleapi.CheckResponse(res); err != nil {
  6871  		return nil, gensupport.WrapError(err)
  6872  	}
  6873  	ret := &Operation{
  6874  		ServerResponse: googleapi.ServerResponse{
  6875  			Header:         res.Header,
  6876  			HTTPStatusCode: res.StatusCode,
  6877  		},
  6878  	}
  6879  	target := &ret
  6880  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6881  		return nil, err
  6882  	}
  6883  	return ret, nil
  6884  }
  6885  
  6886  type ProjectsLocationsFeaturesDeleteCall struct {
  6887  	s          *Service
  6888  	name       string
  6889  	urlParams_ gensupport.URLParams
  6890  	ctx_       context.Context
  6891  	header_    http.Header
  6892  }
  6893  
  6894  // Delete: Removes a Feature.
  6895  //
  6896  //   - name: The Feature resource name in the format
  6897  //     `projects/*/locations/*/features/*`.
  6898  func (r *ProjectsLocationsFeaturesService) Delete(name string) *ProjectsLocationsFeaturesDeleteCall {
  6899  	c := &ProjectsLocationsFeaturesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6900  	c.name = name
  6901  	return c
  6902  }
  6903  
  6904  // Force sets the optional parameter "force": If set to true, the delete will
  6905  // ignore any outstanding resources for this Feature (that is,
  6906  // `FeatureState.has_resources` is set to true). These resources will NOT be
  6907  // cleaned up or modified in any way.
  6908  func (c *ProjectsLocationsFeaturesDeleteCall) Force(force bool) *ProjectsLocationsFeaturesDeleteCall {
  6909  	c.urlParams_.Set("force", fmt.Sprint(force))
  6910  	return c
  6911  }
  6912  
  6913  // RequestId sets the optional parameter "requestId": A request ID to identify
  6914  // requests. Specify a unique request ID so that if you must retry your
  6915  // request, the server will know to ignore the request if it has already been
  6916  // completed. The server will guarantee that for at least 60 minutes after the
  6917  // first request. For example, consider a situation where you make an initial
  6918  // request and the request times out. If you make the request again with the
  6919  // same request ID, the server can check if original operation with the same
  6920  // request ID was received, and if so, will ignore the second request. This
  6921  // prevents clients from accidentally creating duplicate commitments. The
  6922  // request ID must be a valid UUID with the exception that zero UUID is not
  6923  // supported (00000000-0000-0000-0000-000000000000).
  6924  func (c *ProjectsLocationsFeaturesDeleteCall) RequestId(requestId string) *ProjectsLocationsFeaturesDeleteCall {
  6925  	c.urlParams_.Set("requestId", requestId)
  6926  	return c
  6927  }
  6928  
  6929  // Fields allows partial responses to be retrieved. See
  6930  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6931  // details.
  6932  func (c *ProjectsLocationsFeaturesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturesDeleteCall {
  6933  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6934  	return c
  6935  }
  6936  
  6937  // Context sets the context to be used in this call's Do method.
  6938  func (c *ProjectsLocationsFeaturesDeleteCall) Context(ctx context.Context) *ProjectsLocationsFeaturesDeleteCall {
  6939  	c.ctx_ = ctx
  6940  	return c
  6941  }
  6942  
  6943  // Header returns a http.Header that can be modified by the caller to add
  6944  // headers to the request.
  6945  func (c *ProjectsLocationsFeaturesDeleteCall) Header() http.Header {
  6946  	if c.header_ == nil {
  6947  		c.header_ = make(http.Header)
  6948  	}
  6949  	return c.header_
  6950  }
  6951  
  6952  func (c *ProjectsLocationsFeaturesDeleteCall) doRequest(alt string) (*http.Response, error) {
  6953  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6954  	var body io.Reader = nil
  6955  	c.urlParams_.Set("alt", alt)
  6956  	c.urlParams_.Set("prettyPrint", "false")
  6957  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}")
  6958  	urls += "?" + c.urlParams_.Encode()
  6959  	req, err := http.NewRequest("DELETE", urls, body)
  6960  	if err != nil {
  6961  		return nil, err
  6962  	}
  6963  	req.Header = reqHeaders
  6964  	googleapi.Expand(req.URL, map[string]string{
  6965  		"name": c.name,
  6966  	})
  6967  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6968  }
  6969  
  6970  // Do executes the "gkehub.projects.locations.features.delete" call.
  6971  // Any non-2xx status code is an error. Response headers are in either
  6972  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  6973  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6974  // whether the returned error was because http.StatusNotModified was returned.
  6975  func (c *ProjectsLocationsFeaturesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  6976  	gensupport.SetOptions(c.urlParams_, opts...)
  6977  	res, err := c.doRequest("json")
  6978  	if res != nil && res.StatusCode == http.StatusNotModified {
  6979  		if res.Body != nil {
  6980  			res.Body.Close()
  6981  		}
  6982  		return nil, gensupport.WrapError(&googleapi.Error{
  6983  			Code:   res.StatusCode,
  6984  			Header: res.Header,
  6985  		})
  6986  	}
  6987  	if err != nil {
  6988  		return nil, err
  6989  	}
  6990  	defer googleapi.CloseBody(res)
  6991  	if err := googleapi.CheckResponse(res); err != nil {
  6992  		return nil, gensupport.WrapError(err)
  6993  	}
  6994  	ret := &Operation{
  6995  		ServerResponse: googleapi.ServerResponse{
  6996  			Header:         res.Header,
  6997  			HTTPStatusCode: res.StatusCode,
  6998  		},
  6999  	}
  7000  	target := &ret
  7001  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7002  		return nil, err
  7003  	}
  7004  	return ret, nil
  7005  }
  7006  
  7007  type ProjectsLocationsFeaturesGetCall struct {
  7008  	s            *Service
  7009  	name         string
  7010  	urlParams_   gensupport.URLParams
  7011  	ifNoneMatch_ string
  7012  	ctx_         context.Context
  7013  	header_      http.Header
  7014  }
  7015  
  7016  // Get: Gets details of a single Feature.
  7017  //
  7018  //   - name: The Feature resource name in the format
  7019  //     `projects/*/locations/*/features/*`.
  7020  func (r *ProjectsLocationsFeaturesService) Get(name string) *ProjectsLocationsFeaturesGetCall {
  7021  	c := &ProjectsLocationsFeaturesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7022  	c.name = name
  7023  	return c
  7024  }
  7025  
  7026  // Fields allows partial responses to be retrieved. See
  7027  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7028  // details.
  7029  func (c *ProjectsLocationsFeaturesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturesGetCall {
  7030  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7031  	return c
  7032  }
  7033  
  7034  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  7035  // object's ETag matches the given value. This is useful for getting updates
  7036  // only after the object has changed since the last request.
  7037  func (c *ProjectsLocationsFeaturesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsFeaturesGetCall {
  7038  	c.ifNoneMatch_ = entityTag
  7039  	return c
  7040  }
  7041  
  7042  // Context sets the context to be used in this call's Do method.
  7043  func (c *ProjectsLocationsFeaturesGetCall) Context(ctx context.Context) *ProjectsLocationsFeaturesGetCall {
  7044  	c.ctx_ = ctx
  7045  	return c
  7046  }
  7047  
  7048  // Header returns a http.Header that can be modified by the caller to add
  7049  // headers to the request.
  7050  func (c *ProjectsLocationsFeaturesGetCall) Header() http.Header {
  7051  	if c.header_ == nil {
  7052  		c.header_ = make(http.Header)
  7053  	}
  7054  	return c.header_
  7055  }
  7056  
  7057  func (c *ProjectsLocationsFeaturesGetCall) doRequest(alt string) (*http.Response, error) {
  7058  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7059  	if c.ifNoneMatch_ != "" {
  7060  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  7061  	}
  7062  	var body io.Reader = nil
  7063  	c.urlParams_.Set("alt", alt)
  7064  	c.urlParams_.Set("prettyPrint", "false")
  7065  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}")
  7066  	urls += "?" + c.urlParams_.Encode()
  7067  	req, err := http.NewRequest("GET", urls, body)
  7068  	if err != nil {
  7069  		return nil, err
  7070  	}
  7071  	req.Header = reqHeaders
  7072  	googleapi.Expand(req.URL, map[string]string{
  7073  		"name": c.name,
  7074  	})
  7075  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7076  }
  7077  
  7078  // Do executes the "gkehub.projects.locations.features.get" call.
  7079  // Any non-2xx status code is an error. Response headers are in either
  7080  // *Feature.ServerResponse.Header or (if a response was returned at all) in
  7081  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7082  // whether the returned error was because http.StatusNotModified was returned.
  7083  func (c *ProjectsLocationsFeaturesGetCall) Do(opts ...googleapi.CallOption) (*Feature, error) {
  7084  	gensupport.SetOptions(c.urlParams_, opts...)
  7085  	res, err := c.doRequest("json")
  7086  	if res != nil && res.StatusCode == http.StatusNotModified {
  7087  		if res.Body != nil {
  7088  			res.Body.Close()
  7089  		}
  7090  		return nil, gensupport.WrapError(&googleapi.Error{
  7091  			Code:   res.StatusCode,
  7092  			Header: res.Header,
  7093  		})
  7094  	}
  7095  	if err != nil {
  7096  		return nil, err
  7097  	}
  7098  	defer googleapi.CloseBody(res)
  7099  	if err := googleapi.CheckResponse(res); err != nil {
  7100  		return nil, gensupport.WrapError(err)
  7101  	}
  7102  	ret := &Feature{
  7103  		ServerResponse: googleapi.ServerResponse{
  7104  			Header:         res.Header,
  7105  			HTTPStatusCode: res.StatusCode,
  7106  		},
  7107  	}
  7108  	target := &ret
  7109  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7110  		return nil, err
  7111  	}
  7112  	return ret, nil
  7113  }
  7114  
  7115  type ProjectsLocationsFeaturesGetIamPolicyCall struct {
  7116  	s            *Service
  7117  	resource     string
  7118  	urlParams_   gensupport.URLParams
  7119  	ifNoneMatch_ string
  7120  	ctx_         context.Context
  7121  	header_      http.Header
  7122  }
  7123  
  7124  // GetIamPolicy: Gets the access control policy for a resource. Returns an
  7125  // empty policy if the resource exists and does not have a policy set.
  7126  //
  7127  //   - resource: REQUIRED: The resource for which the policy is being requested.
  7128  //     See Resource names (https://cloud.google.com/apis/design/resource_names)
  7129  //     for the appropriate value for this field.
  7130  func (r *ProjectsLocationsFeaturesService) GetIamPolicy(resource string) *ProjectsLocationsFeaturesGetIamPolicyCall {
  7131  	c := &ProjectsLocationsFeaturesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7132  	c.resource = resource
  7133  	return c
  7134  }
  7135  
  7136  // OptionsRequestedPolicyVersion sets the optional parameter
  7137  // "options.requestedPolicyVersion": The maximum policy version that will be
  7138  // used to format the policy. Valid values are 0, 1, and 3. Requests specifying
  7139  // an invalid value will be rejected. Requests for policies with any
  7140  // conditional role bindings must specify version 3. Policies with no
  7141  // conditional role bindings may specify any valid value or leave the field
  7142  // unset. The policy in the response might use the policy version that you
  7143  // specified, or it might use a lower policy version. For example, if you
  7144  // specify version 3, but the policy has no conditional role bindings, the
  7145  // response uses version 1. To learn which resources support conditions in
  7146  // their IAM policies, see the IAM documentation
  7147  // (https://cloud.google.com/iam/help/conditions/resource-policies).
  7148  func (c *ProjectsLocationsFeaturesGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsFeaturesGetIamPolicyCall {
  7149  	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
  7150  	return c
  7151  }
  7152  
  7153  // Fields allows partial responses to be retrieved. See
  7154  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7155  // details.
  7156  func (c *ProjectsLocationsFeaturesGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturesGetIamPolicyCall {
  7157  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7158  	return c
  7159  }
  7160  
  7161  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  7162  // object's ETag matches the given value. This is useful for getting updates
  7163  // only after the object has changed since the last request.
  7164  func (c *ProjectsLocationsFeaturesGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsLocationsFeaturesGetIamPolicyCall {
  7165  	c.ifNoneMatch_ = entityTag
  7166  	return c
  7167  }
  7168  
  7169  // Context sets the context to be used in this call's Do method.
  7170  func (c *ProjectsLocationsFeaturesGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsFeaturesGetIamPolicyCall {
  7171  	c.ctx_ = ctx
  7172  	return c
  7173  }
  7174  
  7175  // Header returns a http.Header that can be modified by the caller to add
  7176  // headers to the request.
  7177  func (c *ProjectsLocationsFeaturesGetIamPolicyCall) Header() http.Header {
  7178  	if c.header_ == nil {
  7179  		c.header_ = make(http.Header)
  7180  	}
  7181  	return c.header_
  7182  }
  7183  
  7184  func (c *ProjectsLocationsFeaturesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
  7185  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7186  	if c.ifNoneMatch_ != "" {
  7187  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  7188  	}
  7189  	var body io.Reader = nil
  7190  	c.urlParams_.Set("alt", alt)
  7191  	c.urlParams_.Set("prettyPrint", "false")
  7192  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+resource}:getIamPolicy")
  7193  	urls += "?" + c.urlParams_.Encode()
  7194  	req, err := http.NewRequest("GET", urls, body)
  7195  	if err != nil {
  7196  		return nil, err
  7197  	}
  7198  	req.Header = reqHeaders
  7199  	googleapi.Expand(req.URL, map[string]string{
  7200  		"resource": c.resource,
  7201  	})
  7202  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7203  }
  7204  
  7205  // Do executes the "gkehub.projects.locations.features.getIamPolicy" call.
  7206  // Any non-2xx status code is an error. Response headers are in either
  7207  // *Policy.ServerResponse.Header or (if a response was returned at all) in
  7208  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7209  // whether the returned error was because http.StatusNotModified was returned.
  7210  func (c *ProjectsLocationsFeaturesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
  7211  	gensupport.SetOptions(c.urlParams_, opts...)
  7212  	res, err := c.doRequest("json")
  7213  	if res != nil && res.StatusCode == http.StatusNotModified {
  7214  		if res.Body != nil {
  7215  			res.Body.Close()
  7216  		}
  7217  		return nil, gensupport.WrapError(&googleapi.Error{
  7218  			Code:   res.StatusCode,
  7219  			Header: res.Header,
  7220  		})
  7221  	}
  7222  	if err != nil {
  7223  		return nil, err
  7224  	}
  7225  	defer googleapi.CloseBody(res)
  7226  	if err := googleapi.CheckResponse(res); err != nil {
  7227  		return nil, gensupport.WrapError(err)
  7228  	}
  7229  	ret := &Policy{
  7230  		ServerResponse: googleapi.ServerResponse{
  7231  			Header:         res.Header,
  7232  			HTTPStatusCode: res.StatusCode,
  7233  		},
  7234  	}
  7235  	target := &ret
  7236  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7237  		return nil, err
  7238  	}
  7239  	return ret, nil
  7240  }
  7241  
  7242  type ProjectsLocationsFeaturesListCall struct {
  7243  	s            *Service
  7244  	parent       string
  7245  	urlParams_   gensupport.URLParams
  7246  	ifNoneMatch_ string
  7247  	ctx_         context.Context
  7248  	header_      http.Header
  7249  }
  7250  
  7251  // List: Lists Features in a given project and location.
  7252  //
  7253  //   - parent: The parent (project and location) where the Features will be
  7254  //     listed. Specified in the format `projects/*/locations/*`.
  7255  func (r *ProjectsLocationsFeaturesService) List(parent string) *ProjectsLocationsFeaturesListCall {
  7256  	c := &ProjectsLocationsFeaturesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7257  	c.parent = parent
  7258  	return c
  7259  }
  7260  
  7261  // Filter sets the optional parameter "filter": Lists Features that match the
  7262  // filter expression, following the syntax outlined in
  7263  // https://google.aip.dev/160. Examples: - Feature with the name "servicemesh"
  7264  // in project "foo-proj": name =
  7265  // "projects/foo-proj/locations/global/features/servicemesh" - Features that
  7266  // have a label called `foo`: labels.foo:* - Features that have a label called
  7267  // `foo` whose value is `bar`: labels.foo = bar
  7268  func (c *ProjectsLocationsFeaturesListCall) Filter(filter string) *ProjectsLocationsFeaturesListCall {
  7269  	c.urlParams_.Set("filter", filter)
  7270  	return c
  7271  }
  7272  
  7273  // OrderBy sets the optional parameter "orderBy": One or more fields to compare
  7274  // and use to sort the output. See https://google.aip.dev/132#ordering.
  7275  func (c *ProjectsLocationsFeaturesListCall) OrderBy(orderBy string) *ProjectsLocationsFeaturesListCall {
  7276  	c.urlParams_.Set("orderBy", orderBy)
  7277  	return c
  7278  }
  7279  
  7280  // PageSize sets the optional parameter "pageSize": When requesting a 'page' of
  7281  // resources, `page_size` specifies number of resources to return. If
  7282  // unspecified or set to 0, all resources will be returned.
  7283  func (c *ProjectsLocationsFeaturesListCall) PageSize(pageSize int64) *ProjectsLocationsFeaturesListCall {
  7284  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  7285  	return c
  7286  }
  7287  
  7288  // PageToken sets the optional parameter "pageToken": Token returned by
  7289  // previous call to `ListFeatures` which specifies the position in the list
  7290  // from where to continue listing the resources.
  7291  func (c *ProjectsLocationsFeaturesListCall) PageToken(pageToken string) *ProjectsLocationsFeaturesListCall {
  7292  	c.urlParams_.Set("pageToken", pageToken)
  7293  	return c
  7294  }
  7295  
  7296  // Fields allows partial responses to be retrieved. See
  7297  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7298  // details.
  7299  func (c *ProjectsLocationsFeaturesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturesListCall {
  7300  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7301  	return c
  7302  }
  7303  
  7304  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  7305  // object's ETag matches the given value. This is useful for getting updates
  7306  // only after the object has changed since the last request.
  7307  func (c *ProjectsLocationsFeaturesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsFeaturesListCall {
  7308  	c.ifNoneMatch_ = entityTag
  7309  	return c
  7310  }
  7311  
  7312  // Context sets the context to be used in this call's Do method.
  7313  func (c *ProjectsLocationsFeaturesListCall) Context(ctx context.Context) *ProjectsLocationsFeaturesListCall {
  7314  	c.ctx_ = ctx
  7315  	return c
  7316  }
  7317  
  7318  // Header returns a http.Header that can be modified by the caller to add
  7319  // headers to the request.
  7320  func (c *ProjectsLocationsFeaturesListCall) Header() http.Header {
  7321  	if c.header_ == nil {
  7322  		c.header_ = make(http.Header)
  7323  	}
  7324  	return c.header_
  7325  }
  7326  
  7327  func (c *ProjectsLocationsFeaturesListCall) doRequest(alt string) (*http.Response, error) {
  7328  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7329  	if c.ifNoneMatch_ != "" {
  7330  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  7331  	}
  7332  	var body io.Reader = nil
  7333  	c.urlParams_.Set("alt", alt)
  7334  	c.urlParams_.Set("prettyPrint", "false")
  7335  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+parent}/features")
  7336  	urls += "?" + c.urlParams_.Encode()
  7337  	req, err := http.NewRequest("GET", urls, body)
  7338  	if err != nil {
  7339  		return nil, err
  7340  	}
  7341  	req.Header = reqHeaders
  7342  	googleapi.Expand(req.URL, map[string]string{
  7343  		"parent": c.parent,
  7344  	})
  7345  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7346  }
  7347  
  7348  // Do executes the "gkehub.projects.locations.features.list" call.
  7349  // Any non-2xx status code is an error. Response headers are in either
  7350  // *ListFeaturesResponse.ServerResponse.Header or (if a response was returned
  7351  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  7352  // check whether the returned error was because http.StatusNotModified was
  7353  // returned.
  7354  func (c *ProjectsLocationsFeaturesListCall) Do(opts ...googleapi.CallOption) (*ListFeaturesResponse, error) {
  7355  	gensupport.SetOptions(c.urlParams_, opts...)
  7356  	res, err := c.doRequest("json")
  7357  	if res != nil && res.StatusCode == http.StatusNotModified {
  7358  		if res.Body != nil {
  7359  			res.Body.Close()
  7360  		}
  7361  		return nil, gensupport.WrapError(&googleapi.Error{
  7362  			Code:   res.StatusCode,
  7363  			Header: res.Header,
  7364  		})
  7365  	}
  7366  	if err != nil {
  7367  		return nil, err
  7368  	}
  7369  	defer googleapi.CloseBody(res)
  7370  	if err := googleapi.CheckResponse(res); err != nil {
  7371  		return nil, gensupport.WrapError(err)
  7372  	}
  7373  	ret := &ListFeaturesResponse{
  7374  		ServerResponse: googleapi.ServerResponse{
  7375  			Header:         res.Header,
  7376  			HTTPStatusCode: res.StatusCode,
  7377  		},
  7378  	}
  7379  	target := &ret
  7380  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7381  		return nil, err
  7382  	}
  7383  	return ret, nil
  7384  }
  7385  
  7386  // Pages invokes f for each page of results.
  7387  // A non-nil error returned from f will halt the iteration.
  7388  // The provided context supersedes any context provided to the Context method.
  7389  func (c *ProjectsLocationsFeaturesListCall) Pages(ctx context.Context, f func(*ListFeaturesResponse) error) error {
  7390  	c.ctx_ = ctx
  7391  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  7392  	for {
  7393  		x, err := c.Do()
  7394  		if err != nil {
  7395  			return err
  7396  		}
  7397  		if err := f(x); err != nil {
  7398  			return err
  7399  		}
  7400  		if x.NextPageToken == "" {
  7401  			return nil
  7402  		}
  7403  		c.PageToken(x.NextPageToken)
  7404  	}
  7405  }
  7406  
  7407  type ProjectsLocationsFeaturesPatchCall struct {
  7408  	s          *Service
  7409  	name       string
  7410  	feature    *Feature
  7411  	urlParams_ gensupport.URLParams
  7412  	ctx_       context.Context
  7413  	header_    http.Header
  7414  }
  7415  
  7416  // Patch: Updates an existing Feature.
  7417  //
  7418  //   - name: The Feature resource name in the format
  7419  //     `projects/*/locations/*/features/*`.
  7420  func (r *ProjectsLocationsFeaturesService) Patch(name string, feature *Feature) *ProjectsLocationsFeaturesPatchCall {
  7421  	c := &ProjectsLocationsFeaturesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7422  	c.name = name
  7423  	c.feature = feature
  7424  	return c
  7425  }
  7426  
  7427  // RequestId sets the optional parameter "requestId": A request ID to identify
  7428  // requests. Specify a unique request ID so that if you must retry your
  7429  // request, the server will know to ignore the request if it has already been
  7430  // completed. The server will guarantee that for at least 60 minutes after the
  7431  // first request. For example, consider a situation where you make an initial
  7432  // request and the request times out. If you make the request again with the
  7433  // same request ID, the server can check if original operation with the same
  7434  // request ID was received, and if so, will ignore the second request. This
  7435  // prevents clients from accidentally creating duplicate commitments. The
  7436  // request ID must be a valid UUID with the exception that zero UUID is not
  7437  // supported (00000000-0000-0000-0000-000000000000).
  7438  func (c *ProjectsLocationsFeaturesPatchCall) RequestId(requestId string) *ProjectsLocationsFeaturesPatchCall {
  7439  	c.urlParams_.Set("requestId", requestId)
  7440  	return c
  7441  }
  7442  
  7443  // UpdateMask sets the optional parameter "updateMask": Mask of fields to
  7444  // update.
  7445  func (c *ProjectsLocationsFeaturesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsFeaturesPatchCall {
  7446  	c.urlParams_.Set("updateMask", updateMask)
  7447  	return c
  7448  }
  7449  
  7450  // Fields allows partial responses to be retrieved. See
  7451  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7452  // details.
  7453  func (c *ProjectsLocationsFeaturesPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturesPatchCall {
  7454  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7455  	return c
  7456  }
  7457  
  7458  // Context sets the context to be used in this call's Do method.
  7459  func (c *ProjectsLocationsFeaturesPatchCall) Context(ctx context.Context) *ProjectsLocationsFeaturesPatchCall {
  7460  	c.ctx_ = ctx
  7461  	return c
  7462  }
  7463  
  7464  // Header returns a http.Header that can be modified by the caller to add
  7465  // headers to the request.
  7466  func (c *ProjectsLocationsFeaturesPatchCall) Header() http.Header {
  7467  	if c.header_ == nil {
  7468  		c.header_ = make(http.Header)
  7469  	}
  7470  	return c.header_
  7471  }
  7472  
  7473  func (c *ProjectsLocationsFeaturesPatchCall) doRequest(alt string) (*http.Response, error) {
  7474  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  7475  	var body io.Reader = nil
  7476  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.feature)
  7477  	if err != nil {
  7478  		return nil, err
  7479  	}
  7480  	c.urlParams_.Set("alt", alt)
  7481  	c.urlParams_.Set("prettyPrint", "false")
  7482  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}")
  7483  	urls += "?" + c.urlParams_.Encode()
  7484  	req, err := http.NewRequest("PATCH", urls, body)
  7485  	if err != nil {
  7486  		return nil, err
  7487  	}
  7488  	req.Header = reqHeaders
  7489  	googleapi.Expand(req.URL, map[string]string{
  7490  		"name": c.name,
  7491  	})
  7492  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7493  }
  7494  
  7495  // Do executes the "gkehub.projects.locations.features.patch" call.
  7496  // Any non-2xx status code is an error. Response headers are in either
  7497  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  7498  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7499  // whether the returned error was because http.StatusNotModified was returned.
  7500  func (c *ProjectsLocationsFeaturesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  7501  	gensupport.SetOptions(c.urlParams_, opts...)
  7502  	res, err := c.doRequest("json")
  7503  	if res != nil && res.StatusCode == http.StatusNotModified {
  7504  		if res.Body != nil {
  7505  			res.Body.Close()
  7506  		}
  7507  		return nil, gensupport.WrapError(&googleapi.Error{
  7508  			Code:   res.StatusCode,
  7509  			Header: res.Header,
  7510  		})
  7511  	}
  7512  	if err != nil {
  7513  		return nil, err
  7514  	}
  7515  	defer googleapi.CloseBody(res)
  7516  	if err := googleapi.CheckResponse(res); err != nil {
  7517  		return nil, gensupport.WrapError(err)
  7518  	}
  7519  	ret := &Operation{
  7520  		ServerResponse: googleapi.ServerResponse{
  7521  			Header:         res.Header,
  7522  			HTTPStatusCode: res.StatusCode,
  7523  		},
  7524  	}
  7525  	target := &ret
  7526  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7527  		return nil, err
  7528  	}
  7529  	return ret, nil
  7530  }
  7531  
  7532  type ProjectsLocationsFeaturesSetIamPolicyCall struct {
  7533  	s                   *Service
  7534  	resource            string
  7535  	setiampolicyrequest *SetIamPolicyRequest
  7536  	urlParams_          gensupport.URLParams
  7537  	ctx_                context.Context
  7538  	header_             http.Header
  7539  }
  7540  
  7541  // SetIamPolicy: Sets the access control policy on the specified resource.
  7542  // Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`,
  7543  // and `PERMISSION_DENIED` errors.
  7544  //
  7545  //   - resource: REQUIRED: The resource for which the policy is being specified.
  7546  //     See Resource names (https://cloud.google.com/apis/design/resource_names)
  7547  //     for the appropriate value for this field.
  7548  func (r *ProjectsLocationsFeaturesService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsFeaturesSetIamPolicyCall {
  7549  	c := &ProjectsLocationsFeaturesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7550  	c.resource = resource
  7551  	c.setiampolicyrequest = setiampolicyrequest
  7552  	return c
  7553  }
  7554  
  7555  // Fields allows partial responses to be retrieved. See
  7556  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7557  // details.
  7558  func (c *ProjectsLocationsFeaturesSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturesSetIamPolicyCall {
  7559  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7560  	return c
  7561  }
  7562  
  7563  // Context sets the context to be used in this call's Do method.
  7564  func (c *ProjectsLocationsFeaturesSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsFeaturesSetIamPolicyCall {
  7565  	c.ctx_ = ctx
  7566  	return c
  7567  }
  7568  
  7569  // Header returns a http.Header that can be modified by the caller to add
  7570  // headers to the request.
  7571  func (c *ProjectsLocationsFeaturesSetIamPolicyCall) Header() http.Header {
  7572  	if c.header_ == nil {
  7573  		c.header_ = make(http.Header)
  7574  	}
  7575  	return c.header_
  7576  }
  7577  
  7578  func (c *ProjectsLocationsFeaturesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
  7579  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  7580  	var body io.Reader = nil
  7581  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
  7582  	if err != nil {
  7583  		return nil, err
  7584  	}
  7585  	c.urlParams_.Set("alt", alt)
  7586  	c.urlParams_.Set("prettyPrint", "false")
  7587  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+resource}:setIamPolicy")
  7588  	urls += "?" + c.urlParams_.Encode()
  7589  	req, err := http.NewRequest("POST", urls, body)
  7590  	if err != nil {
  7591  		return nil, err
  7592  	}
  7593  	req.Header = reqHeaders
  7594  	googleapi.Expand(req.URL, map[string]string{
  7595  		"resource": c.resource,
  7596  	})
  7597  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7598  }
  7599  
  7600  // Do executes the "gkehub.projects.locations.features.setIamPolicy" call.
  7601  // Any non-2xx status code is an error. Response headers are in either
  7602  // *Policy.ServerResponse.Header or (if a response was returned at all) in
  7603  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7604  // whether the returned error was because http.StatusNotModified was returned.
  7605  func (c *ProjectsLocationsFeaturesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
  7606  	gensupport.SetOptions(c.urlParams_, opts...)
  7607  	res, err := c.doRequest("json")
  7608  	if res != nil && res.StatusCode == http.StatusNotModified {
  7609  		if res.Body != nil {
  7610  			res.Body.Close()
  7611  		}
  7612  		return nil, gensupport.WrapError(&googleapi.Error{
  7613  			Code:   res.StatusCode,
  7614  			Header: res.Header,
  7615  		})
  7616  	}
  7617  	if err != nil {
  7618  		return nil, err
  7619  	}
  7620  	defer googleapi.CloseBody(res)
  7621  	if err := googleapi.CheckResponse(res); err != nil {
  7622  		return nil, gensupport.WrapError(err)
  7623  	}
  7624  	ret := &Policy{
  7625  		ServerResponse: googleapi.ServerResponse{
  7626  			Header:         res.Header,
  7627  			HTTPStatusCode: res.StatusCode,
  7628  		},
  7629  	}
  7630  	target := &ret
  7631  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7632  		return nil, err
  7633  	}
  7634  	return ret, nil
  7635  }
  7636  
  7637  type ProjectsLocationsFeaturesTestIamPermissionsCall struct {
  7638  	s                         *Service
  7639  	resource                  string
  7640  	testiampermissionsrequest *TestIamPermissionsRequest
  7641  	urlParams_                gensupport.URLParams
  7642  	ctx_                      context.Context
  7643  	header_                   http.Header
  7644  }
  7645  
  7646  // TestIamPermissions: Returns permissions that a caller has on the specified
  7647  // resource. If the resource does not exist, this will return an empty set of
  7648  // permissions, not a `NOT_FOUND` error. Note: This operation is designed to be
  7649  // used for building permission-aware UIs and command-line tools, not for
  7650  // authorization checking. This operation may "fail open" without warning.
  7651  //
  7652  //   - resource: REQUIRED: The resource for which the policy detail is being
  7653  //     requested. See Resource names
  7654  //     (https://cloud.google.com/apis/design/resource_names) for the appropriate
  7655  //     value for this field.
  7656  func (r *ProjectsLocationsFeaturesService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsFeaturesTestIamPermissionsCall {
  7657  	c := &ProjectsLocationsFeaturesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7658  	c.resource = resource
  7659  	c.testiampermissionsrequest = testiampermissionsrequest
  7660  	return c
  7661  }
  7662  
  7663  // Fields allows partial responses to be retrieved. See
  7664  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7665  // details.
  7666  func (c *ProjectsLocationsFeaturesTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturesTestIamPermissionsCall {
  7667  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7668  	return c
  7669  }
  7670  
  7671  // Context sets the context to be used in this call's Do method.
  7672  func (c *ProjectsLocationsFeaturesTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsFeaturesTestIamPermissionsCall {
  7673  	c.ctx_ = ctx
  7674  	return c
  7675  }
  7676  
  7677  // Header returns a http.Header that can be modified by the caller to add
  7678  // headers to the request.
  7679  func (c *ProjectsLocationsFeaturesTestIamPermissionsCall) Header() http.Header {
  7680  	if c.header_ == nil {
  7681  		c.header_ = make(http.Header)
  7682  	}
  7683  	return c.header_
  7684  }
  7685  
  7686  func (c *ProjectsLocationsFeaturesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
  7687  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  7688  	var body io.Reader = nil
  7689  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
  7690  	if err != nil {
  7691  		return nil, err
  7692  	}
  7693  	c.urlParams_.Set("alt", alt)
  7694  	c.urlParams_.Set("prettyPrint", "false")
  7695  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+resource}:testIamPermissions")
  7696  	urls += "?" + c.urlParams_.Encode()
  7697  	req, err := http.NewRequest("POST", urls, body)
  7698  	if err != nil {
  7699  		return nil, err
  7700  	}
  7701  	req.Header = reqHeaders
  7702  	googleapi.Expand(req.URL, map[string]string{
  7703  		"resource": c.resource,
  7704  	})
  7705  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7706  }
  7707  
  7708  // Do executes the "gkehub.projects.locations.features.testIamPermissions" call.
  7709  // Any non-2xx status code is an error. Response headers are in either
  7710  // *TestIamPermissionsResponse.ServerResponse.Header or (if a response was
  7711  // returned at all) in error.(*googleapi.Error).Header. Use
  7712  // googleapi.IsNotModified to check whether the returned error was because
  7713  // http.StatusNotModified was returned.
  7714  func (c *ProjectsLocationsFeaturesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
  7715  	gensupport.SetOptions(c.urlParams_, opts...)
  7716  	res, err := c.doRequest("json")
  7717  	if res != nil && res.StatusCode == http.StatusNotModified {
  7718  		if res.Body != nil {
  7719  			res.Body.Close()
  7720  		}
  7721  		return nil, gensupport.WrapError(&googleapi.Error{
  7722  			Code:   res.StatusCode,
  7723  			Header: res.Header,
  7724  		})
  7725  	}
  7726  	if err != nil {
  7727  		return nil, err
  7728  	}
  7729  	defer googleapi.CloseBody(res)
  7730  	if err := googleapi.CheckResponse(res); err != nil {
  7731  		return nil, gensupport.WrapError(err)
  7732  	}
  7733  	ret := &TestIamPermissionsResponse{
  7734  		ServerResponse: googleapi.ServerResponse{
  7735  			Header:         res.Header,
  7736  			HTTPStatusCode: res.StatusCode,
  7737  		},
  7738  	}
  7739  	target := &ret
  7740  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7741  		return nil, err
  7742  	}
  7743  	return ret, nil
  7744  }
  7745  
  7746  type ProjectsLocationsFleetsCreateCall struct {
  7747  	s          *Service
  7748  	parent     string
  7749  	fleet      *Fleet
  7750  	urlParams_ gensupport.URLParams
  7751  	ctx_       context.Context
  7752  	header_    http.Header
  7753  }
  7754  
  7755  // Create: Creates a fleet.
  7756  //
  7757  //   - parent: The parent (project and location) where the Fleet will be created.
  7758  //     Specified in the format `projects/*/locations/*`.
  7759  func (r *ProjectsLocationsFleetsService) Create(parent string, fleet *Fleet) *ProjectsLocationsFleetsCreateCall {
  7760  	c := &ProjectsLocationsFleetsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7761  	c.parent = parent
  7762  	c.fleet = fleet
  7763  	return c
  7764  }
  7765  
  7766  // Fields allows partial responses to be retrieved. See
  7767  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7768  // details.
  7769  func (c *ProjectsLocationsFleetsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsFleetsCreateCall {
  7770  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7771  	return c
  7772  }
  7773  
  7774  // Context sets the context to be used in this call's Do method.
  7775  func (c *ProjectsLocationsFleetsCreateCall) Context(ctx context.Context) *ProjectsLocationsFleetsCreateCall {
  7776  	c.ctx_ = ctx
  7777  	return c
  7778  }
  7779  
  7780  // Header returns a http.Header that can be modified by the caller to add
  7781  // headers to the request.
  7782  func (c *ProjectsLocationsFleetsCreateCall) Header() http.Header {
  7783  	if c.header_ == nil {
  7784  		c.header_ = make(http.Header)
  7785  	}
  7786  	return c.header_
  7787  }
  7788  
  7789  func (c *ProjectsLocationsFleetsCreateCall) doRequest(alt string) (*http.Response, error) {
  7790  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  7791  	var body io.Reader = nil
  7792  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.fleet)
  7793  	if err != nil {
  7794  		return nil, err
  7795  	}
  7796  	c.urlParams_.Set("alt", alt)
  7797  	c.urlParams_.Set("prettyPrint", "false")
  7798  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+parent}/fleets")
  7799  	urls += "?" + c.urlParams_.Encode()
  7800  	req, err := http.NewRequest("POST", urls, body)
  7801  	if err != nil {
  7802  		return nil, err
  7803  	}
  7804  	req.Header = reqHeaders
  7805  	googleapi.Expand(req.URL, map[string]string{
  7806  		"parent": c.parent,
  7807  	})
  7808  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7809  }
  7810  
  7811  // Do executes the "gkehub.projects.locations.fleets.create" call.
  7812  // Any non-2xx status code is an error. Response headers are in either
  7813  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  7814  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7815  // whether the returned error was because http.StatusNotModified was returned.
  7816  func (c *ProjectsLocationsFleetsCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  7817  	gensupport.SetOptions(c.urlParams_, opts...)
  7818  	res, err := c.doRequest("json")
  7819  	if res != nil && res.StatusCode == http.StatusNotModified {
  7820  		if res.Body != nil {
  7821  			res.Body.Close()
  7822  		}
  7823  		return nil, gensupport.WrapError(&googleapi.Error{
  7824  			Code:   res.StatusCode,
  7825  			Header: res.Header,
  7826  		})
  7827  	}
  7828  	if err != nil {
  7829  		return nil, err
  7830  	}
  7831  	defer googleapi.CloseBody(res)
  7832  	if err := googleapi.CheckResponse(res); err != nil {
  7833  		return nil, gensupport.WrapError(err)
  7834  	}
  7835  	ret := &Operation{
  7836  		ServerResponse: googleapi.ServerResponse{
  7837  			Header:         res.Header,
  7838  			HTTPStatusCode: res.StatusCode,
  7839  		},
  7840  	}
  7841  	target := &ret
  7842  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7843  		return nil, err
  7844  	}
  7845  	return ret, nil
  7846  }
  7847  
  7848  type ProjectsLocationsFleetsDeleteCall struct {
  7849  	s          *Service
  7850  	name       string
  7851  	urlParams_ gensupport.URLParams
  7852  	ctx_       context.Context
  7853  	header_    http.Header
  7854  }
  7855  
  7856  // Delete: Removes a Fleet. There must be no memberships remaining in the
  7857  // Fleet.
  7858  //
  7859  //   - name: The Fleet resource name in the format
  7860  //     `projects/*/locations/*/fleets/*`.
  7861  func (r *ProjectsLocationsFleetsService) Delete(name string) *ProjectsLocationsFleetsDeleteCall {
  7862  	c := &ProjectsLocationsFleetsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7863  	c.name = name
  7864  	return c
  7865  }
  7866  
  7867  // Fields allows partial responses to be retrieved. See
  7868  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7869  // details.
  7870  func (c *ProjectsLocationsFleetsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsFleetsDeleteCall {
  7871  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7872  	return c
  7873  }
  7874  
  7875  // Context sets the context to be used in this call's Do method.
  7876  func (c *ProjectsLocationsFleetsDeleteCall) Context(ctx context.Context) *ProjectsLocationsFleetsDeleteCall {
  7877  	c.ctx_ = ctx
  7878  	return c
  7879  }
  7880  
  7881  // Header returns a http.Header that can be modified by the caller to add
  7882  // headers to the request.
  7883  func (c *ProjectsLocationsFleetsDeleteCall) Header() http.Header {
  7884  	if c.header_ == nil {
  7885  		c.header_ = make(http.Header)
  7886  	}
  7887  	return c.header_
  7888  }
  7889  
  7890  func (c *ProjectsLocationsFleetsDeleteCall) doRequest(alt string) (*http.Response, error) {
  7891  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7892  	var body io.Reader = nil
  7893  	c.urlParams_.Set("alt", alt)
  7894  	c.urlParams_.Set("prettyPrint", "false")
  7895  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}")
  7896  	urls += "?" + c.urlParams_.Encode()
  7897  	req, err := http.NewRequest("DELETE", urls, body)
  7898  	if err != nil {
  7899  		return nil, err
  7900  	}
  7901  	req.Header = reqHeaders
  7902  	googleapi.Expand(req.URL, map[string]string{
  7903  		"name": c.name,
  7904  	})
  7905  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7906  }
  7907  
  7908  // Do executes the "gkehub.projects.locations.fleets.delete" call.
  7909  // Any non-2xx status code is an error. Response headers are in either
  7910  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  7911  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7912  // whether the returned error was because http.StatusNotModified was returned.
  7913  func (c *ProjectsLocationsFleetsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  7914  	gensupport.SetOptions(c.urlParams_, opts...)
  7915  	res, err := c.doRequest("json")
  7916  	if res != nil && res.StatusCode == http.StatusNotModified {
  7917  		if res.Body != nil {
  7918  			res.Body.Close()
  7919  		}
  7920  		return nil, gensupport.WrapError(&googleapi.Error{
  7921  			Code:   res.StatusCode,
  7922  			Header: res.Header,
  7923  		})
  7924  	}
  7925  	if err != nil {
  7926  		return nil, err
  7927  	}
  7928  	defer googleapi.CloseBody(res)
  7929  	if err := googleapi.CheckResponse(res); err != nil {
  7930  		return nil, gensupport.WrapError(err)
  7931  	}
  7932  	ret := &Operation{
  7933  		ServerResponse: googleapi.ServerResponse{
  7934  			Header:         res.Header,
  7935  			HTTPStatusCode: res.StatusCode,
  7936  		},
  7937  	}
  7938  	target := &ret
  7939  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7940  		return nil, err
  7941  	}
  7942  	return ret, nil
  7943  }
  7944  
  7945  type ProjectsLocationsFleetsGetCall struct {
  7946  	s            *Service
  7947  	name         string
  7948  	urlParams_   gensupport.URLParams
  7949  	ifNoneMatch_ string
  7950  	ctx_         context.Context
  7951  	header_      http.Header
  7952  }
  7953  
  7954  // Get: Returns the details of a fleet.
  7955  //
  7956  //   - name: The Fleet resource name in the format
  7957  //     `projects/*/locations/*/fleets/*`.
  7958  func (r *ProjectsLocationsFleetsService) Get(name string) *ProjectsLocationsFleetsGetCall {
  7959  	c := &ProjectsLocationsFleetsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7960  	c.name = name
  7961  	return c
  7962  }
  7963  
  7964  // Fields allows partial responses to be retrieved. See
  7965  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7966  // details.
  7967  func (c *ProjectsLocationsFleetsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsFleetsGetCall {
  7968  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7969  	return c
  7970  }
  7971  
  7972  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  7973  // object's ETag matches the given value. This is useful for getting updates
  7974  // only after the object has changed since the last request.
  7975  func (c *ProjectsLocationsFleetsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsFleetsGetCall {
  7976  	c.ifNoneMatch_ = entityTag
  7977  	return c
  7978  }
  7979  
  7980  // Context sets the context to be used in this call's Do method.
  7981  func (c *ProjectsLocationsFleetsGetCall) Context(ctx context.Context) *ProjectsLocationsFleetsGetCall {
  7982  	c.ctx_ = ctx
  7983  	return c
  7984  }
  7985  
  7986  // Header returns a http.Header that can be modified by the caller to add
  7987  // headers to the request.
  7988  func (c *ProjectsLocationsFleetsGetCall) Header() http.Header {
  7989  	if c.header_ == nil {
  7990  		c.header_ = make(http.Header)
  7991  	}
  7992  	return c.header_
  7993  }
  7994  
  7995  func (c *ProjectsLocationsFleetsGetCall) doRequest(alt string) (*http.Response, error) {
  7996  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7997  	if c.ifNoneMatch_ != "" {
  7998  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  7999  	}
  8000  	var body io.Reader = nil
  8001  	c.urlParams_.Set("alt", alt)
  8002  	c.urlParams_.Set("prettyPrint", "false")
  8003  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}")
  8004  	urls += "?" + c.urlParams_.Encode()
  8005  	req, err := http.NewRequest("GET", urls, body)
  8006  	if err != nil {
  8007  		return nil, err
  8008  	}
  8009  	req.Header = reqHeaders
  8010  	googleapi.Expand(req.URL, map[string]string{
  8011  		"name": c.name,
  8012  	})
  8013  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8014  }
  8015  
  8016  // Do executes the "gkehub.projects.locations.fleets.get" call.
  8017  // Any non-2xx status code is an error. Response headers are in either
  8018  // *Fleet.ServerResponse.Header or (if a response was returned at all) in
  8019  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8020  // whether the returned error was because http.StatusNotModified was returned.
  8021  func (c *ProjectsLocationsFleetsGetCall) Do(opts ...googleapi.CallOption) (*Fleet, error) {
  8022  	gensupport.SetOptions(c.urlParams_, opts...)
  8023  	res, err := c.doRequest("json")
  8024  	if res != nil && res.StatusCode == http.StatusNotModified {
  8025  		if res.Body != nil {
  8026  			res.Body.Close()
  8027  		}
  8028  		return nil, gensupport.WrapError(&googleapi.Error{
  8029  			Code:   res.StatusCode,
  8030  			Header: res.Header,
  8031  		})
  8032  	}
  8033  	if err != nil {
  8034  		return nil, err
  8035  	}
  8036  	defer googleapi.CloseBody(res)
  8037  	if err := googleapi.CheckResponse(res); err != nil {
  8038  		return nil, gensupport.WrapError(err)
  8039  	}
  8040  	ret := &Fleet{
  8041  		ServerResponse: googleapi.ServerResponse{
  8042  			Header:         res.Header,
  8043  			HTTPStatusCode: res.StatusCode,
  8044  		},
  8045  	}
  8046  	target := &ret
  8047  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8048  		return nil, err
  8049  	}
  8050  	return ret, nil
  8051  }
  8052  
  8053  type ProjectsLocationsFleetsListCall struct {
  8054  	s            *Service
  8055  	parent       string
  8056  	urlParams_   gensupport.URLParams
  8057  	ifNoneMatch_ string
  8058  	ctx_         context.Context
  8059  	header_      http.Header
  8060  }
  8061  
  8062  // List: Returns all fleets within an organization or a project that the caller
  8063  // has access to.
  8064  //
  8065  //   - parent: The organization or project to list for Fleets under, in the
  8066  //     format `organizations/*/locations/*` or `projects/*/locations/*`.
  8067  func (r *ProjectsLocationsFleetsService) List(parent string) *ProjectsLocationsFleetsListCall {
  8068  	c := &ProjectsLocationsFleetsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8069  	c.parent = parent
  8070  	return c
  8071  }
  8072  
  8073  // PageSize sets the optional parameter "pageSize": The maximum number of
  8074  // fleets to return. The service may return fewer than this value. If
  8075  // unspecified, at most 200 fleets will be returned. The maximum value is 1000;
  8076  // values above 1000 will be coerced to 1000.
  8077  func (c *ProjectsLocationsFleetsListCall) PageSize(pageSize int64) *ProjectsLocationsFleetsListCall {
  8078  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  8079  	return c
  8080  }
  8081  
  8082  // PageToken sets the optional parameter "pageToken": A page token, received
  8083  // from a previous `ListFleets` call. Provide this to retrieve the subsequent
  8084  // page. When paginating, all other parameters provided to `ListFleets` must
  8085  // match the call that provided the page token.
  8086  func (c *ProjectsLocationsFleetsListCall) PageToken(pageToken string) *ProjectsLocationsFleetsListCall {
  8087  	c.urlParams_.Set("pageToken", pageToken)
  8088  	return c
  8089  }
  8090  
  8091  // Fields allows partial responses to be retrieved. See
  8092  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8093  // details.
  8094  func (c *ProjectsLocationsFleetsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsFleetsListCall {
  8095  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8096  	return c
  8097  }
  8098  
  8099  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  8100  // object's ETag matches the given value. This is useful for getting updates
  8101  // only after the object has changed since the last request.
  8102  func (c *ProjectsLocationsFleetsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsFleetsListCall {
  8103  	c.ifNoneMatch_ = entityTag
  8104  	return c
  8105  }
  8106  
  8107  // Context sets the context to be used in this call's Do method.
  8108  func (c *ProjectsLocationsFleetsListCall) Context(ctx context.Context) *ProjectsLocationsFleetsListCall {
  8109  	c.ctx_ = ctx
  8110  	return c
  8111  }
  8112  
  8113  // Header returns a http.Header that can be modified by the caller to add
  8114  // headers to the request.
  8115  func (c *ProjectsLocationsFleetsListCall) Header() http.Header {
  8116  	if c.header_ == nil {
  8117  		c.header_ = make(http.Header)
  8118  	}
  8119  	return c.header_
  8120  }
  8121  
  8122  func (c *ProjectsLocationsFleetsListCall) doRequest(alt string) (*http.Response, error) {
  8123  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8124  	if c.ifNoneMatch_ != "" {
  8125  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  8126  	}
  8127  	var body io.Reader = nil
  8128  	c.urlParams_.Set("alt", alt)
  8129  	c.urlParams_.Set("prettyPrint", "false")
  8130  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+parent}/fleets")
  8131  	urls += "?" + c.urlParams_.Encode()
  8132  	req, err := http.NewRequest("GET", urls, body)
  8133  	if err != nil {
  8134  		return nil, err
  8135  	}
  8136  	req.Header = reqHeaders
  8137  	googleapi.Expand(req.URL, map[string]string{
  8138  		"parent": c.parent,
  8139  	})
  8140  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8141  }
  8142  
  8143  // Do executes the "gkehub.projects.locations.fleets.list" call.
  8144  // Any non-2xx status code is an error. Response headers are in either
  8145  // *ListFleetsResponse.ServerResponse.Header or (if a response was returned at
  8146  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  8147  // check whether the returned error was because http.StatusNotModified was
  8148  // returned.
  8149  func (c *ProjectsLocationsFleetsListCall) Do(opts ...googleapi.CallOption) (*ListFleetsResponse, error) {
  8150  	gensupport.SetOptions(c.urlParams_, opts...)
  8151  	res, err := c.doRequest("json")
  8152  	if res != nil && res.StatusCode == http.StatusNotModified {
  8153  		if res.Body != nil {
  8154  			res.Body.Close()
  8155  		}
  8156  		return nil, gensupport.WrapError(&googleapi.Error{
  8157  			Code:   res.StatusCode,
  8158  			Header: res.Header,
  8159  		})
  8160  	}
  8161  	if err != nil {
  8162  		return nil, err
  8163  	}
  8164  	defer googleapi.CloseBody(res)
  8165  	if err := googleapi.CheckResponse(res); err != nil {
  8166  		return nil, gensupport.WrapError(err)
  8167  	}
  8168  	ret := &ListFleetsResponse{
  8169  		ServerResponse: googleapi.ServerResponse{
  8170  			Header:         res.Header,
  8171  			HTTPStatusCode: res.StatusCode,
  8172  		},
  8173  	}
  8174  	target := &ret
  8175  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8176  		return nil, err
  8177  	}
  8178  	return ret, nil
  8179  }
  8180  
  8181  // Pages invokes f for each page of results.
  8182  // A non-nil error returned from f will halt the iteration.
  8183  // The provided context supersedes any context provided to the Context method.
  8184  func (c *ProjectsLocationsFleetsListCall) Pages(ctx context.Context, f func(*ListFleetsResponse) error) error {
  8185  	c.ctx_ = ctx
  8186  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  8187  	for {
  8188  		x, err := c.Do()
  8189  		if err != nil {
  8190  			return err
  8191  		}
  8192  		if err := f(x); err != nil {
  8193  			return err
  8194  		}
  8195  		if x.NextPageToken == "" {
  8196  			return nil
  8197  		}
  8198  		c.PageToken(x.NextPageToken)
  8199  	}
  8200  }
  8201  
  8202  type ProjectsLocationsFleetsPatchCall struct {
  8203  	s          *Service
  8204  	name       string
  8205  	fleet      *Fleet
  8206  	urlParams_ gensupport.URLParams
  8207  	ctx_       context.Context
  8208  	header_    http.Header
  8209  }
  8210  
  8211  // Patch: Updates a fleet.
  8212  //
  8213  //   - name: Output only. The full, unique resource name of this fleet in the
  8214  //     format of `projects/{project}/locations/{location}/fleets/{fleet}`. Each
  8215  //     Google Cloud project can have at most one fleet resource, named "default".
  8216  func (r *ProjectsLocationsFleetsService) Patch(name string, fleet *Fleet) *ProjectsLocationsFleetsPatchCall {
  8217  	c := &ProjectsLocationsFleetsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8218  	c.name = name
  8219  	c.fleet = fleet
  8220  	return c
  8221  }
  8222  
  8223  // UpdateMask sets the optional parameter "updateMask": Required. The fields to
  8224  // be updated;
  8225  func (c *ProjectsLocationsFleetsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsFleetsPatchCall {
  8226  	c.urlParams_.Set("updateMask", updateMask)
  8227  	return c
  8228  }
  8229  
  8230  // Fields allows partial responses to be retrieved. See
  8231  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8232  // details.
  8233  func (c *ProjectsLocationsFleetsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsFleetsPatchCall {
  8234  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8235  	return c
  8236  }
  8237  
  8238  // Context sets the context to be used in this call's Do method.
  8239  func (c *ProjectsLocationsFleetsPatchCall) Context(ctx context.Context) *ProjectsLocationsFleetsPatchCall {
  8240  	c.ctx_ = ctx
  8241  	return c
  8242  }
  8243  
  8244  // Header returns a http.Header that can be modified by the caller to add
  8245  // headers to the request.
  8246  func (c *ProjectsLocationsFleetsPatchCall) Header() http.Header {
  8247  	if c.header_ == nil {
  8248  		c.header_ = make(http.Header)
  8249  	}
  8250  	return c.header_
  8251  }
  8252  
  8253  func (c *ProjectsLocationsFleetsPatchCall) doRequest(alt string) (*http.Response, error) {
  8254  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  8255  	var body io.Reader = nil
  8256  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.fleet)
  8257  	if err != nil {
  8258  		return nil, err
  8259  	}
  8260  	c.urlParams_.Set("alt", alt)
  8261  	c.urlParams_.Set("prettyPrint", "false")
  8262  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}")
  8263  	urls += "?" + c.urlParams_.Encode()
  8264  	req, err := http.NewRequest("PATCH", urls, body)
  8265  	if err != nil {
  8266  		return nil, err
  8267  	}
  8268  	req.Header = reqHeaders
  8269  	googleapi.Expand(req.URL, map[string]string{
  8270  		"name": c.name,
  8271  	})
  8272  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8273  }
  8274  
  8275  // Do executes the "gkehub.projects.locations.fleets.patch" call.
  8276  // Any non-2xx status code is an error. Response headers are in either
  8277  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  8278  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8279  // whether the returned error was because http.StatusNotModified was returned.
  8280  func (c *ProjectsLocationsFleetsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  8281  	gensupport.SetOptions(c.urlParams_, opts...)
  8282  	res, err := c.doRequest("json")
  8283  	if res != nil && res.StatusCode == http.StatusNotModified {
  8284  		if res.Body != nil {
  8285  			res.Body.Close()
  8286  		}
  8287  		return nil, gensupport.WrapError(&googleapi.Error{
  8288  			Code:   res.StatusCode,
  8289  			Header: res.Header,
  8290  		})
  8291  	}
  8292  	if err != nil {
  8293  		return nil, err
  8294  	}
  8295  	defer googleapi.CloseBody(res)
  8296  	if err := googleapi.CheckResponse(res); err != nil {
  8297  		return nil, gensupport.WrapError(err)
  8298  	}
  8299  	ret := &Operation{
  8300  		ServerResponse: googleapi.ServerResponse{
  8301  			Header:         res.Header,
  8302  			HTTPStatusCode: res.StatusCode,
  8303  		},
  8304  	}
  8305  	target := &ret
  8306  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8307  		return nil, err
  8308  	}
  8309  	return ret, nil
  8310  }
  8311  
  8312  type ProjectsLocationsMembershipsCreateCall struct {
  8313  	s          *Service
  8314  	parent     string
  8315  	membership *Membership
  8316  	urlParams_ gensupport.URLParams
  8317  	ctx_       context.Context
  8318  	header_    http.Header
  8319  }
  8320  
  8321  // Create: Creates a new Membership. **This is currently only supported for GKE
  8322  // clusters on Google Cloud**. To register other clusters, follow the
  8323  // instructions at
  8324  // https://cloud.google.com/anthos/multicluster-management/connect/registering-a-cluster.
  8325  //
  8326  //   - parent: The parent (project and location) where the Memberships will be
  8327  //     created. Specified in the format `projects/*/locations/*`.
  8328  func (r *ProjectsLocationsMembershipsService) Create(parent string, membership *Membership) *ProjectsLocationsMembershipsCreateCall {
  8329  	c := &ProjectsLocationsMembershipsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8330  	c.parent = parent
  8331  	c.membership = membership
  8332  	return c
  8333  }
  8334  
  8335  // MembershipId sets the optional parameter "membershipId": Required. Client
  8336  // chosen ID for the membership. `membership_id` must be a valid RFC 1123
  8337  // compliant DNS label: 1. At most 63 characters in length 2. It must consist
  8338  // of lower case alphanumeric characters or `-` 3. It must start and end with
  8339  // an alphanumeric character Which can be expressed as the regex:
  8340  // `[a-z0-9]([-a-z0-9]*[a-z0-9])?`, with a maximum length of 63 characters.
  8341  func (c *ProjectsLocationsMembershipsCreateCall) MembershipId(membershipId string) *ProjectsLocationsMembershipsCreateCall {
  8342  	c.urlParams_.Set("membershipId", membershipId)
  8343  	return c
  8344  }
  8345  
  8346  // RequestId sets the optional parameter "requestId": A request ID to identify
  8347  // requests. Specify a unique request ID so that if you must retry your
  8348  // request, the server will know to ignore the request if it has already been
  8349  // completed. The server will guarantee that for at least 60 minutes after the
  8350  // first request. For example, consider a situation where you make an initial
  8351  // request and the request times out. If you make the request again with the
  8352  // same request ID, the server can check if original operation with the same
  8353  // request ID was received, and if so, will ignore the second request. This
  8354  // prevents clients from accidentally creating duplicate commitments. The
  8355  // request ID must be a valid UUID with the exception that zero UUID is not
  8356  // supported (00000000-0000-0000-0000-000000000000).
  8357  func (c *ProjectsLocationsMembershipsCreateCall) RequestId(requestId string) *ProjectsLocationsMembershipsCreateCall {
  8358  	c.urlParams_.Set("requestId", requestId)
  8359  	return c
  8360  }
  8361  
  8362  // Fields allows partial responses to be retrieved. See
  8363  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8364  // details.
  8365  func (c *ProjectsLocationsMembershipsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsMembershipsCreateCall {
  8366  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8367  	return c
  8368  }
  8369  
  8370  // Context sets the context to be used in this call's Do method.
  8371  func (c *ProjectsLocationsMembershipsCreateCall) Context(ctx context.Context) *ProjectsLocationsMembershipsCreateCall {
  8372  	c.ctx_ = ctx
  8373  	return c
  8374  }
  8375  
  8376  // Header returns a http.Header that can be modified by the caller to add
  8377  // headers to the request.
  8378  func (c *ProjectsLocationsMembershipsCreateCall) Header() http.Header {
  8379  	if c.header_ == nil {
  8380  		c.header_ = make(http.Header)
  8381  	}
  8382  	return c.header_
  8383  }
  8384  
  8385  func (c *ProjectsLocationsMembershipsCreateCall) doRequest(alt string) (*http.Response, error) {
  8386  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  8387  	var body io.Reader = nil
  8388  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.membership)
  8389  	if err != nil {
  8390  		return nil, err
  8391  	}
  8392  	c.urlParams_.Set("alt", alt)
  8393  	c.urlParams_.Set("prettyPrint", "false")
  8394  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+parent}/memberships")
  8395  	urls += "?" + c.urlParams_.Encode()
  8396  	req, err := http.NewRequest("POST", urls, body)
  8397  	if err != nil {
  8398  		return nil, err
  8399  	}
  8400  	req.Header = reqHeaders
  8401  	googleapi.Expand(req.URL, map[string]string{
  8402  		"parent": c.parent,
  8403  	})
  8404  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8405  }
  8406  
  8407  // Do executes the "gkehub.projects.locations.memberships.create" call.
  8408  // Any non-2xx status code is an error. Response headers are in either
  8409  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  8410  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8411  // whether the returned error was because http.StatusNotModified was returned.
  8412  func (c *ProjectsLocationsMembershipsCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  8413  	gensupport.SetOptions(c.urlParams_, opts...)
  8414  	res, err := c.doRequest("json")
  8415  	if res != nil && res.StatusCode == http.StatusNotModified {
  8416  		if res.Body != nil {
  8417  			res.Body.Close()
  8418  		}
  8419  		return nil, gensupport.WrapError(&googleapi.Error{
  8420  			Code:   res.StatusCode,
  8421  			Header: res.Header,
  8422  		})
  8423  	}
  8424  	if err != nil {
  8425  		return nil, err
  8426  	}
  8427  	defer googleapi.CloseBody(res)
  8428  	if err := googleapi.CheckResponse(res); err != nil {
  8429  		return nil, gensupport.WrapError(err)
  8430  	}
  8431  	ret := &Operation{
  8432  		ServerResponse: googleapi.ServerResponse{
  8433  			Header:         res.Header,
  8434  			HTTPStatusCode: res.StatusCode,
  8435  		},
  8436  	}
  8437  	target := &ret
  8438  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8439  		return nil, err
  8440  	}
  8441  	return ret, nil
  8442  }
  8443  
  8444  type ProjectsLocationsMembershipsDeleteCall struct {
  8445  	s          *Service
  8446  	name       string
  8447  	urlParams_ gensupport.URLParams
  8448  	ctx_       context.Context
  8449  	header_    http.Header
  8450  }
  8451  
  8452  // Delete: Removes a Membership. **This is currently only supported for GKE
  8453  // clusters on Google Cloud**. To unregister other clusters, follow the
  8454  // instructions at
  8455  // https://cloud.google.com/anthos/multicluster-management/connect/unregistering-a-cluster.
  8456  //
  8457  //   - name: The Membership resource name in the format
  8458  //     `projects/*/locations/*/memberships/*`.
  8459  func (r *ProjectsLocationsMembershipsService) Delete(name string) *ProjectsLocationsMembershipsDeleteCall {
  8460  	c := &ProjectsLocationsMembershipsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8461  	c.name = name
  8462  	return c
  8463  }
  8464  
  8465  // Force sets the optional parameter "force": If set to true, any subresource
  8466  // from this Membership will also be deleted. Otherwise, the request will only
  8467  // work if the Membership has no subresource.
  8468  func (c *ProjectsLocationsMembershipsDeleteCall) Force(force bool) *ProjectsLocationsMembershipsDeleteCall {
  8469  	c.urlParams_.Set("force", fmt.Sprint(force))
  8470  	return c
  8471  }
  8472  
  8473  // RequestId sets the optional parameter "requestId": A request ID to identify
  8474  // requests. Specify a unique request ID so that if you must retry your
  8475  // request, the server will know to ignore the request if it has already been
  8476  // completed. The server will guarantee that for at least 60 minutes after the
  8477  // first request. For example, consider a situation where you make an initial
  8478  // request and the request times out. If you make the request again with the
  8479  // same request ID, the server can check if original operation with the same
  8480  // request ID was received, and if so, will ignore the second request. This
  8481  // prevents clients from accidentally creating duplicate commitments. The
  8482  // request ID must be a valid UUID with the exception that zero UUID is not
  8483  // supported (00000000-0000-0000-0000-000000000000).
  8484  func (c *ProjectsLocationsMembershipsDeleteCall) RequestId(requestId string) *ProjectsLocationsMembershipsDeleteCall {
  8485  	c.urlParams_.Set("requestId", requestId)
  8486  	return c
  8487  }
  8488  
  8489  // Fields allows partial responses to be retrieved. See
  8490  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8491  // details.
  8492  func (c *ProjectsLocationsMembershipsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsMembershipsDeleteCall {
  8493  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8494  	return c
  8495  }
  8496  
  8497  // Context sets the context to be used in this call's Do method.
  8498  func (c *ProjectsLocationsMembershipsDeleteCall) Context(ctx context.Context) *ProjectsLocationsMembershipsDeleteCall {
  8499  	c.ctx_ = ctx
  8500  	return c
  8501  }
  8502  
  8503  // Header returns a http.Header that can be modified by the caller to add
  8504  // headers to the request.
  8505  func (c *ProjectsLocationsMembershipsDeleteCall) Header() http.Header {
  8506  	if c.header_ == nil {
  8507  		c.header_ = make(http.Header)
  8508  	}
  8509  	return c.header_
  8510  }
  8511  
  8512  func (c *ProjectsLocationsMembershipsDeleteCall) doRequest(alt string) (*http.Response, error) {
  8513  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8514  	var body io.Reader = nil
  8515  	c.urlParams_.Set("alt", alt)
  8516  	c.urlParams_.Set("prettyPrint", "false")
  8517  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}")
  8518  	urls += "?" + c.urlParams_.Encode()
  8519  	req, err := http.NewRequest("DELETE", urls, body)
  8520  	if err != nil {
  8521  		return nil, err
  8522  	}
  8523  	req.Header = reqHeaders
  8524  	googleapi.Expand(req.URL, map[string]string{
  8525  		"name": c.name,
  8526  	})
  8527  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8528  }
  8529  
  8530  // Do executes the "gkehub.projects.locations.memberships.delete" call.
  8531  // Any non-2xx status code is an error. Response headers are in either
  8532  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  8533  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8534  // whether the returned error was because http.StatusNotModified was returned.
  8535  func (c *ProjectsLocationsMembershipsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  8536  	gensupport.SetOptions(c.urlParams_, opts...)
  8537  	res, err := c.doRequest("json")
  8538  	if res != nil && res.StatusCode == http.StatusNotModified {
  8539  		if res.Body != nil {
  8540  			res.Body.Close()
  8541  		}
  8542  		return nil, gensupport.WrapError(&googleapi.Error{
  8543  			Code:   res.StatusCode,
  8544  			Header: res.Header,
  8545  		})
  8546  	}
  8547  	if err != nil {
  8548  		return nil, err
  8549  	}
  8550  	defer googleapi.CloseBody(res)
  8551  	if err := googleapi.CheckResponse(res); err != nil {
  8552  		return nil, gensupport.WrapError(err)
  8553  	}
  8554  	ret := &Operation{
  8555  		ServerResponse: googleapi.ServerResponse{
  8556  			Header:         res.Header,
  8557  			HTTPStatusCode: res.StatusCode,
  8558  		},
  8559  	}
  8560  	target := &ret
  8561  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8562  		return nil, err
  8563  	}
  8564  	return ret, nil
  8565  }
  8566  
  8567  type ProjectsLocationsMembershipsGenerateConnectManifestCall struct {
  8568  	s            *Service
  8569  	name         string
  8570  	urlParams_   gensupport.URLParams
  8571  	ifNoneMatch_ string
  8572  	ctx_         context.Context
  8573  	header_      http.Header
  8574  }
  8575  
  8576  // GenerateConnectManifest: Generates the manifest for deployment of the GKE
  8577  // connect agent. **This method is used internally by Google-provided
  8578  // libraries.** Most clients should not need to call this method directly.
  8579  //
  8580  //   - name: The Membership resource name the Agent will associate with, in the
  8581  //     format `projects/*/locations/*/memberships/*`.
  8582  func (r *ProjectsLocationsMembershipsService) GenerateConnectManifest(name string) *ProjectsLocationsMembershipsGenerateConnectManifestCall {
  8583  	c := &ProjectsLocationsMembershipsGenerateConnectManifestCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8584  	c.name = name
  8585  	return c
  8586  }
  8587  
  8588  // ImagePullSecretContent sets the optional parameter "imagePullSecretContent":
  8589  // The image pull secret content for the registry, if not public.
  8590  func (c *ProjectsLocationsMembershipsGenerateConnectManifestCall) ImagePullSecretContent(imagePullSecretContent string) *ProjectsLocationsMembershipsGenerateConnectManifestCall {
  8591  	c.urlParams_.Set("imagePullSecretContent", imagePullSecretContent)
  8592  	return c
  8593  }
  8594  
  8595  // IsUpgrade sets the optional parameter "isUpgrade": If true, generate the
  8596  // resources for upgrade only. Some resources generated only for installation
  8597  // (e.g. secrets) will be excluded.
  8598  func (c *ProjectsLocationsMembershipsGenerateConnectManifestCall) IsUpgrade(isUpgrade bool) *ProjectsLocationsMembershipsGenerateConnectManifestCall {
  8599  	c.urlParams_.Set("isUpgrade", fmt.Sprint(isUpgrade))
  8600  	return c
  8601  }
  8602  
  8603  // Namespace sets the optional parameter "namespace": Namespace for GKE Connect
  8604  // agent resources. Defaults to `gke-connect`. The Connect Agent is authorized
  8605  // automatically when run in the default namespace. Otherwise, explicit
  8606  // authorization must be granted with an additional IAM binding.
  8607  func (c *ProjectsLocationsMembershipsGenerateConnectManifestCall) Namespace(namespace string) *ProjectsLocationsMembershipsGenerateConnectManifestCall {
  8608  	c.urlParams_.Set("namespace", namespace)
  8609  	return c
  8610  }
  8611  
  8612  // Proxy sets the optional parameter "proxy": URI of a proxy if connectivity
  8613  // from the agent to gkeconnect.googleapis.com requires the use of a proxy.
  8614  // Format must be in the form `http(s)://{proxy_address}`, depending on the
  8615  // HTTP/HTTPS protocol supported by the proxy. This will direct the connect
  8616  // agent's outbound traffic through a HTTP(S) proxy.
  8617  func (c *ProjectsLocationsMembershipsGenerateConnectManifestCall) Proxy(proxy string) *ProjectsLocationsMembershipsGenerateConnectManifestCall {
  8618  	c.urlParams_.Set("proxy", proxy)
  8619  	return c
  8620  }
  8621  
  8622  // Registry sets the optional parameter "registry": The registry to fetch the
  8623  // connect agent image from. Defaults to gcr.io/gkeconnect.
  8624  func (c *ProjectsLocationsMembershipsGenerateConnectManifestCall) Registry(registry string) *ProjectsLocationsMembershipsGenerateConnectManifestCall {
  8625  	c.urlParams_.Set("registry", registry)
  8626  	return c
  8627  }
  8628  
  8629  // Version sets the optional parameter "version": The Connect agent version to
  8630  // use. Defaults to the most current version.
  8631  func (c *ProjectsLocationsMembershipsGenerateConnectManifestCall) Version(version string) *ProjectsLocationsMembershipsGenerateConnectManifestCall {
  8632  	c.urlParams_.Set("version", version)
  8633  	return c
  8634  }
  8635  
  8636  // Fields allows partial responses to be retrieved. See
  8637  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8638  // details.
  8639  func (c *ProjectsLocationsMembershipsGenerateConnectManifestCall) Fields(s ...googleapi.Field) *ProjectsLocationsMembershipsGenerateConnectManifestCall {
  8640  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8641  	return c
  8642  }
  8643  
  8644  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  8645  // object's ETag matches the given value. This is useful for getting updates
  8646  // only after the object has changed since the last request.
  8647  func (c *ProjectsLocationsMembershipsGenerateConnectManifestCall) IfNoneMatch(entityTag string) *ProjectsLocationsMembershipsGenerateConnectManifestCall {
  8648  	c.ifNoneMatch_ = entityTag
  8649  	return c
  8650  }
  8651  
  8652  // Context sets the context to be used in this call's Do method.
  8653  func (c *ProjectsLocationsMembershipsGenerateConnectManifestCall) Context(ctx context.Context) *ProjectsLocationsMembershipsGenerateConnectManifestCall {
  8654  	c.ctx_ = ctx
  8655  	return c
  8656  }
  8657  
  8658  // Header returns a http.Header that can be modified by the caller to add
  8659  // headers to the request.
  8660  func (c *ProjectsLocationsMembershipsGenerateConnectManifestCall) Header() http.Header {
  8661  	if c.header_ == nil {
  8662  		c.header_ = make(http.Header)
  8663  	}
  8664  	return c.header_
  8665  }
  8666  
  8667  func (c *ProjectsLocationsMembershipsGenerateConnectManifestCall) doRequest(alt string) (*http.Response, error) {
  8668  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8669  	if c.ifNoneMatch_ != "" {
  8670  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  8671  	}
  8672  	var body io.Reader = nil
  8673  	c.urlParams_.Set("alt", alt)
  8674  	c.urlParams_.Set("prettyPrint", "false")
  8675  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}:generateConnectManifest")
  8676  	urls += "?" + c.urlParams_.Encode()
  8677  	req, err := http.NewRequest("GET", urls, body)
  8678  	if err != nil {
  8679  		return nil, err
  8680  	}
  8681  	req.Header = reqHeaders
  8682  	googleapi.Expand(req.URL, map[string]string{
  8683  		"name": c.name,
  8684  	})
  8685  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8686  }
  8687  
  8688  // Do executes the "gkehub.projects.locations.memberships.generateConnectManifest" call.
  8689  // Any non-2xx status code is an error. Response headers are in either
  8690  // *GenerateConnectManifestResponse.ServerResponse.Header or (if a response was
  8691  // returned at all) in error.(*googleapi.Error).Header. Use
  8692  // googleapi.IsNotModified to check whether the returned error was because
  8693  // http.StatusNotModified was returned.
  8694  func (c *ProjectsLocationsMembershipsGenerateConnectManifestCall) Do(opts ...googleapi.CallOption) (*GenerateConnectManifestResponse, error) {
  8695  	gensupport.SetOptions(c.urlParams_, opts...)
  8696  	res, err := c.doRequest("json")
  8697  	if res != nil && res.StatusCode == http.StatusNotModified {
  8698  		if res.Body != nil {
  8699  			res.Body.Close()
  8700  		}
  8701  		return nil, gensupport.WrapError(&googleapi.Error{
  8702  			Code:   res.StatusCode,
  8703  			Header: res.Header,
  8704  		})
  8705  	}
  8706  	if err != nil {
  8707  		return nil, err
  8708  	}
  8709  	defer googleapi.CloseBody(res)
  8710  	if err := googleapi.CheckResponse(res); err != nil {
  8711  		return nil, gensupport.WrapError(err)
  8712  	}
  8713  	ret := &GenerateConnectManifestResponse{
  8714  		ServerResponse: googleapi.ServerResponse{
  8715  			Header:         res.Header,
  8716  			HTTPStatusCode: res.StatusCode,
  8717  		},
  8718  	}
  8719  	target := &ret
  8720  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8721  		return nil, err
  8722  	}
  8723  	return ret, nil
  8724  }
  8725  
  8726  type ProjectsLocationsMembershipsGetCall struct {
  8727  	s            *Service
  8728  	name         string
  8729  	urlParams_   gensupport.URLParams
  8730  	ifNoneMatch_ string
  8731  	ctx_         context.Context
  8732  	header_      http.Header
  8733  }
  8734  
  8735  // Get: Gets the details of a Membership.
  8736  //
  8737  //   - name: The Membership resource name in the format
  8738  //     `projects/*/locations/*/memberships/*`.
  8739  func (r *ProjectsLocationsMembershipsService) Get(name string) *ProjectsLocationsMembershipsGetCall {
  8740  	c := &ProjectsLocationsMembershipsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8741  	c.name = name
  8742  	return c
  8743  }
  8744  
  8745  // Fields allows partial responses to be retrieved. See
  8746  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8747  // details.
  8748  func (c *ProjectsLocationsMembershipsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsMembershipsGetCall {
  8749  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8750  	return c
  8751  }
  8752  
  8753  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  8754  // object's ETag matches the given value. This is useful for getting updates
  8755  // only after the object has changed since the last request.
  8756  func (c *ProjectsLocationsMembershipsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsMembershipsGetCall {
  8757  	c.ifNoneMatch_ = entityTag
  8758  	return c
  8759  }
  8760  
  8761  // Context sets the context to be used in this call's Do method.
  8762  func (c *ProjectsLocationsMembershipsGetCall) Context(ctx context.Context) *ProjectsLocationsMembershipsGetCall {
  8763  	c.ctx_ = ctx
  8764  	return c
  8765  }
  8766  
  8767  // Header returns a http.Header that can be modified by the caller to add
  8768  // headers to the request.
  8769  func (c *ProjectsLocationsMembershipsGetCall) Header() http.Header {
  8770  	if c.header_ == nil {
  8771  		c.header_ = make(http.Header)
  8772  	}
  8773  	return c.header_
  8774  }
  8775  
  8776  func (c *ProjectsLocationsMembershipsGetCall) doRequest(alt string) (*http.Response, error) {
  8777  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8778  	if c.ifNoneMatch_ != "" {
  8779  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  8780  	}
  8781  	var body io.Reader = nil
  8782  	c.urlParams_.Set("alt", alt)
  8783  	c.urlParams_.Set("prettyPrint", "false")
  8784  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}")
  8785  	urls += "?" + c.urlParams_.Encode()
  8786  	req, err := http.NewRequest("GET", urls, body)
  8787  	if err != nil {
  8788  		return nil, err
  8789  	}
  8790  	req.Header = reqHeaders
  8791  	googleapi.Expand(req.URL, map[string]string{
  8792  		"name": c.name,
  8793  	})
  8794  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8795  }
  8796  
  8797  // Do executes the "gkehub.projects.locations.memberships.get" call.
  8798  // Any non-2xx status code is an error. Response headers are in either
  8799  // *Membership.ServerResponse.Header or (if a response was returned at all) in
  8800  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8801  // whether the returned error was because http.StatusNotModified was returned.
  8802  func (c *ProjectsLocationsMembershipsGetCall) Do(opts ...googleapi.CallOption) (*Membership, error) {
  8803  	gensupport.SetOptions(c.urlParams_, opts...)
  8804  	res, err := c.doRequest("json")
  8805  	if res != nil && res.StatusCode == http.StatusNotModified {
  8806  		if res.Body != nil {
  8807  			res.Body.Close()
  8808  		}
  8809  		return nil, gensupport.WrapError(&googleapi.Error{
  8810  			Code:   res.StatusCode,
  8811  			Header: res.Header,
  8812  		})
  8813  	}
  8814  	if err != nil {
  8815  		return nil, err
  8816  	}
  8817  	defer googleapi.CloseBody(res)
  8818  	if err := googleapi.CheckResponse(res); err != nil {
  8819  		return nil, gensupport.WrapError(err)
  8820  	}
  8821  	ret := &Membership{
  8822  		ServerResponse: googleapi.ServerResponse{
  8823  			Header:         res.Header,
  8824  			HTTPStatusCode: res.StatusCode,
  8825  		},
  8826  	}
  8827  	target := &ret
  8828  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8829  		return nil, err
  8830  	}
  8831  	return ret, nil
  8832  }
  8833  
  8834  type ProjectsLocationsMembershipsGetIamPolicyCall struct {
  8835  	s            *Service
  8836  	resource     string
  8837  	urlParams_   gensupport.URLParams
  8838  	ifNoneMatch_ string
  8839  	ctx_         context.Context
  8840  	header_      http.Header
  8841  }
  8842  
  8843  // GetIamPolicy: Gets the access control policy for a resource. Returns an
  8844  // empty policy if the resource exists and does not have a policy set.
  8845  //
  8846  //   - resource: REQUIRED: The resource for which the policy is being requested.
  8847  //     See Resource names (https://cloud.google.com/apis/design/resource_names)
  8848  //     for the appropriate value for this field.
  8849  func (r *ProjectsLocationsMembershipsService) GetIamPolicy(resource string) *ProjectsLocationsMembershipsGetIamPolicyCall {
  8850  	c := &ProjectsLocationsMembershipsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8851  	c.resource = resource
  8852  	return c
  8853  }
  8854  
  8855  // OptionsRequestedPolicyVersion sets the optional parameter
  8856  // "options.requestedPolicyVersion": The maximum policy version that will be
  8857  // used to format the policy. Valid values are 0, 1, and 3. Requests specifying
  8858  // an invalid value will be rejected. Requests for policies with any
  8859  // conditional role bindings must specify version 3. Policies with no
  8860  // conditional role bindings may specify any valid value or leave the field
  8861  // unset. The policy in the response might use the policy version that you
  8862  // specified, or it might use a lower policy version. For example, if you
  8863  // specify version 3, but the policy has no conditional role bindings, the
  8864  // response uses version 1. To learn which resources support conditions in
  8865  // their IAM policies, see the IAM documentation
  8866  // (https://cloud.google.com/iam/help/conditions/resource-policies).
  8867  func (c *ProjectsLocationsMembershipsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsMembershipsGetIamPolicyCall {
  8868  	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
  8869  	return c
  8870  }
  8871  
  8872  // Fields allows partial responses to be retrieved. See
  8873  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8874  // details.
  8875  func (c *ProjectsLocationsMembershipsGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsMembershipsGetIamPolicyCall {
  8876  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8877  	return c
  8878  }
  8879  
  8880  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  8881  // object's ETag matches the given value. This is useful for getting updates
  8882  // only after the object has changed since the last request.
  8883  func (c *ProjectsLocationsMembershipsGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsLocationsMembershipsGetIamPolicyCall {
  8884  	c.ifNoneMatch_ = entityTag
  8885  	return c
  8886  }
  8887  
  8888  // Context sets the context to be used in this call's Do method.
  8889  func (c *ProjectsLocationsMembershipsGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsMembershipsGetIamPolicyCall {
  8890  	c.ctx_ = ctx
  8891  	return c
  8892  }
  8893  
  8894  // Header returns a http.Header that can be modified by the caller to add
  8895  // headers to the request.
  8896  func (c *ProjectsLocationsMembershipsGetIamPolicyCall) Header() http.Header {
  8897  	if c.header_ == nil {
  8898  		c.header_ = make(http.Header)
  8899  	}
  8900  	return c.header_
  8901  }
  8902  
  8903  func (c *ProjectsLocationsMembershipsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
  8904  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8905  	if c.ifNoneMatch_ != "" {
  8906  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  8907  	}
  8908  	var body io.Reader = nil
  8909  	c.urlParams_.Set("alt", alt)
  8910  	c.urlParams_.Set("prettyPrint", "false")
  8911  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+resource}:getIamPolicy")
  8912  	urls += "?" + c.urlParams_.Encode()
  8913  	req, err := http.NewRequest("GET", urls, body)
  8914  	if err != nil {
  8915  		return nil, err
  8916  	}
  8917  	req.Header = reqHeaders
  8918  	googleapi.Expand(req.URL, map[string]string{
  8919  		"resource": c.resource,
  8920  	})
  8921  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8922  }
  8923  
  8924  // Do executes the "gkehub.projects.locations.memberships.getIamPolicy" call.
  8925  // Any non-2xx status code is an error. Response headers are in either
  8926  // *Policy.ServerResponse.Header or (if a response was returned at all) in
  8927  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8928  // whether the returned error was because http.StatusNotModified was returned.
  8929  func (c *ProjectsLocationsMembershipsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
  8930  	gensupport.SetOptions(c.urlParams_, opts...)
  8931  	res, err := c.doRequest("json")
  8932  	if res != nil && res.StatusCode == http.StatusNotModified {
  8933  		if res.Body != nil {
  8934  			res.Body.Close()
  8935  		}
  8936  		return nil, gensupport.WrapError(&googleapi.Error{
  8937  			Code:   res.StatusCode,
  8938  			Header: res.Header,
  8939  		})
  8940  	}
  8941  	if err != nil {
  8942  		return nil, err
  8943  	}
  8944  	defer googleapi.CloseBody(res)
  8945  	if err := googleapi.CheckResponse(res); err != nil {
  8946  		return nil, gensupport.WrapError(err)
  8947  	}
  8948  	ret := &Policy{
  8949  		ServerResponse: googleapi.ServerResponse{
  8950  			Header:         res.Header,
  8951  			HTTPStatusCode: res.StatusCode,
  8952  		},
  8953  	}
  8954  	target := &ret
  8955  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8956  		return nil, err
  8957  	}
  8958  	return ret, nil
  8959  }
  8960  
  8961  type ProjectsLocationsMembershipsListCall struct {
  8962  	s            *Service
  8963  	parent       string
  8964  	urlParams_   gensupport.URLParams
  8965  	ifNoneMatch_ string
  8966  	ctx_         context.Context
  8967  	header_      http.Header
  8968  }
  8969  
  8970  // List: Lists Memberships in a given project and location.
  8971  //
  8972  //   - parent: The parent (project and location) where the Memberships will be
  8973  //     listed. Specified in the format `projects/*/locations/*`.
  8974  //     `projects/*/locations/-` list memberships in all the regions.
  8975  func (r *ProjectsLocationsMembershipsService) List(parent string) *ProjectsLocationsMembershipsListCall {
  8976  	c := &ProjectsLocationsMembershipsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8977  	c.parent = parent
  8978  	return c
  8979  }
  8980  
  8981  // Filter sets the optional parameter "filter": Lists Memberships that match
  8982  // the filter expression, following the syntax outlined in
  8983  // https://google.aip.dev/160. Examples: - Name is `bar` in project `foo-proj`
  8984  // and location `global`: name =
  8985  // "projects/foo-proj/locations/global/membership/bar" - Memberships that have
  8986  // a label called `foo`: labels.foo:* - Memberships that have a label called
  8987  // `foo` whose value is `bar`: labels.foo = bar - Memberships in the CREATING
  8988  // state: state = CREATING
  8989  func (c *ProjectsLocationsMembershipsListCall) Filter(filter string) *ProjectsLocationsMembershipsListCall {
  8990  	c.urlParams_.Set("filter", filter)
  8991  	return c
  8992  }
  8993  
  8994  // OrderBy sets the optional parameter "orderBy": One or more fields to compare
  8995  // and use to sort the output. See https://google.aip.dev/132#ordering.
  8996  func (c *ProjectsLocationsMembershipsListCall) OrderBy(orderBy string) *ProjectsLocationsMembershipsListCall {
  8997  	c.urlParams_.Set("orderBy", orderBy)
  8998  	return c
  8999  }
  9000  
  9001  // PageSize sets the optional parameter "pageSize": When requesting a 'page' of
  9002  // resources, `page_size` specifies number of resources to return. If
  9003  // unspecified or set to 0, all resources will be returned.
  9004  func (c *ProjectsLocationsMembershipsListCall) PageSize(pageSize int64) *ProjectsLocationsMembershipsListCall {
  9005  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  9006  	return c
  9007  }
  9008  
  9009  // PageToken sets the optional parameter "pageToken": Token returned by
  9010  // previous call to `ListMemberships` which specifies the position in the list
  9011  // from where to continue listing the resources.
  9012  func (c *ProjectsLocationsMembershipsListCall) PageToken(pageToken string) *ProjectsLocationsMembershipsListCall {
  9013  	c.urlParams_.Set("pageToken", pageToken)
  9014  	return c
  9015  }
  9016  
  9017  // Fields allows partial responses to be retrieved. See
  9018  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9019  // details.
  9020  func (c *ProjectsLocationsMembershipsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsMembershipsListCall {
  9021  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9022  	return c
  9023  }
  9024  
  9025  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  9026  // object's ETag matches the given value. This is useful for getting updates
  9027  // only after the object has changed since the last request.
  9028  func (c *ProjectsLocationsMembershipsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsMembershipsListCall {
  9029  	c.ifNoneMatch_ = entityTag
  9030  	return c
  9031  }
  9032  
  9033  // Context sets the context to be used in this call's Do method.
  9034  func (c *ProjectsLocationsMembershipsListCall) Context(ctx context.Context) *ProjectsLocationsMembershipsListCall {
  9035  	c.ctx_ = ctx
  9036  	return c
  9037  }
  9038  
  9039  // Header returns a http.Header that can be modified by the caller to add
  9040  // headers to the request.
  9041  func (c *ProjectsLocationsMembershipsListCall) Header() http.Header {
  9042  	if c.header_ == nil {
  9043  		c.header_ = make(http.Header)
  9044  	}
  9045  	return c.header_
  9046  }
  9047  
  9048  func (c *ProjectsLocationsMembershipsListCall) doRequest(alt string) (*http.Response, error) {
  9049  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9050  	if c.ifNoneMatch_ != "" {
  9051  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  9052  	}
  9053  	var body io.Reader = nil
  9054  	c.urlParams_.Set("alt", alt)
  9055  	c.urlParams_.Set("prettyPrint", "false")
  9056  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+parent}/memberships")
  9057  	urls += "?" + c.urlParams_.Encode()
  9058  	req, err := http.NewRequest("GET", urls, body)
  9059  	if err != nil {
  9060  		return nil, err
  9061  	}
  9062  	req.Header = reqHeaders
  9063  	googleapi.Expand(req.URL, map[string]string{
  9064  		"parent": c.parent,
  9065  	})
  9066  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9067  }
  9068  
  9069  // Do executes the "gkehub.projects.locations.memberships.list" call.
  9070  // Any non-2xx status code is an error. Response headers are in either
  9071  // *ListMembershipsResponse.ServerResponse.Header or (if a response was
  9072  // returned at all) in error.(*googleapi.Error).Header. Use
  9073  // googleapi.IsNotModified to check whether the returned error was because
  9074  // http.StatusNotModified was returned.
  9075  func (c *ProjectsLocationsMembershipsListCall) Do(opts ...googleapi.CallOption) (*ListMembershipsResponse, error) {
  9076  	gensupport.SetOptions(c.urlParams_, opts...)
  9077  	res, err := c.doRequest("json")
  9078  	if res != nil && res.StatusCode == http.StatusNotModified {
  9079  		if res.Body != nil {
  9080  			res.Body.Close()
  9081  		}
  9082  		return nil, gensupport.WrapError(&googleapi.Error{
  9083  			Code:   res.StatusCode,
  9084  			Header: res.Header,
  9085  		})
  9086  	}
  9087  	if err != nil {
  9088  		return nil, err
  9089  	}
  9090  	defer googleapi.CloseBody(res)
  9091  	if err := googleapi.CheckResponse(res); err != nil {
  9092  		return nil, gensupport.WrapError(err)
  9093  	}
  9094  	ret := &ListMembershipsResponse{
  9095  		ServerResponse: googleapi.ServerResponse{
  9096  			Header:         res.Header,
  9097  			HTTPStatusCode: res.StatusCode,
  9098  		},
  9099  	}
  9100  	target := &ret
  9101  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9102  		return nil, err
  9103  	}
  9104  	return ret, nil
  9105  }
  9106  
  9107  // Pages invokes f for each page of results.
  9108  // A non-nil error returned from f will halt the iteration.
  9109  // The provided context supersedes any context provided to the Context method.
  9110  func (c *ProjectsLocationsMembershipsListCall) Pages(ctx context.Context, f func(*ListMembershipsResponse) error) error {
  9111  	c.ctx_ = ctx
  9112  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  9113  	for {
  9114  		x, err := c.Do()
  9115  		if err != nil {
  9116  			return err
  9117  		}
  9118  		if err := f(x); err != nil {
  9119  			return err
  9120  		}
  9121  		if x.NextPageToken == "" {
  9122  			return nil
  9123  		}
  9124  		c.PageToken(x.NextPageToken)
  9125  	}
  9126  }
  9127  
  9128  type ProjectsLocationsMembershipsListAdminCall struct {
  9129  	s            *Service
  9130  	parent       string
  9131  	urlParams_   gensupport.URLParams
  9132  	ifNoneMatch_ string
  9133  	ctx_         context.Context
  9134  	header_      http.Header
  9135  }
  9136  
  9137  // ListAdmin: Lists Memberships of admin clusters in a given project and
  9138  // location. **This method is only used internally**.
  9139  //
  9140  //   - parent: The parent (project and location) where the Memberships of admin
  9141  //     cluster will be listed. Specified in the format `projects/*/locations/*`.
  9142  func (r *ProjectsLocationsMembershipsService) ListAdmin(parent string) *ProjectsLocationsMembershipsListAdminCall {
  9143  	c := &ProjectsLocationsMembershipsListAdminCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9144  	c.parent = parent
  9145  	return c
  9146  }
  9147  
  9148  // Filter sets the optional parameter "filter": Lists Memberships of admin
  9149  // clusters that match the filter expression.
  9150  func (c *ProjectsLocationsMembershipsListAdminCall) Filter(filter string) *ProjectsLocationsMembershipsListAdminCall {
  9151  	c.urlParams_.Set("filter", filter)
  9152  	return c
  9153  }
  9154  
  9155  // OrderBy sets the optional parameter "orderBy": One or more fields to compare
  9156  // and use to sort the output. See https://google.aip.dev/132#ordering.
  9157  func (c *ProjectsLocationsMembershipsListAdminCall) OrderBy(orderBy string) *ProjectsLocationsMembershipsListAdminCall {
  9158  	c.urlParams_.Set("orderBy", orderBy)
  9159  	return c
  9160  }
  9161  
  9162  // PageSize sets the optional parameter "pageSize": When requesting a 'page' of
  9163  // resources, `page_size` specifies number of resources to return. If
  9164  // unspecified or set to 0, all resources will be returned.
  9165  func (c *ProjectsLocationsMembershipsListAdminCall) PageSize(pageSize int64) *ProjectsLocationsMembershipsListAdminCall {
  9166  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  9167  	return c
  9168  }
  9169  
  9170  // PageToken sets the optional parameter "pageToken": Token returned by
  9171  // previous call to `ListAdminClusterMemberships` which specifies the position
  9172  // in the list from where to continue listing the resources.
  9173  func (c *ProjectsLocationsMembershipsListAdminCall) PageToken(pageToken string) *ProjectsLocationsMembershipsListAdminCall {
  9174  	c.urlParams_.Set("pageToken", pageToken)
  9175  	return c
  9176  }
  9177  
  9178  // Fields allows partial responses to be retrieved. See
  9179  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9180  // details.
  9181  func (c *ProjectsLocationsMembershipsListAdminCall) Fields(s ...googleapi.Field) *ProjectsLocationsMembershipsListAdminCall {
  9182  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9183  	return c
  9184  }
  9185  
  9186  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  9187  // object's ETag matches the given value. This is useful for getting updates
  9188  // only after the object has changed since the last request.
  9189  func (c *ProjectsLocationsMembershipsListAdminCall) IfNoneMatch(entityTag string) *ProjectsLocationsMembershipsListAdminCall {
  9190  	c.ifNoneMatch_ = entityTag
  9191  	return c
  9192  }
  9193  
  9194  // Context sets the context to be used in this call's Do method.
  9195  func (c *ProjectsLocationsMembershipsListAdminCall) Context(ctx context.Context) *ProjectsLocationsMembershipsListAdminCall {
  9196  	c.ctx_ = ctx
  9197  	return c
  9198  }
  9199  
  9200  // Header returns a http.Header that can be modified by the caller to add
  9201  // headers to the request.
  9202  func (c *ProjectsLocationsMembershipsListAdminCall) Header() http.Header {
  9203  	if c.header_ == nil {
  9204  		c.header_ = make(http.Header)
  9205  	}
  9206  	return c.header_
  9207  }
  9208  
  9209  func (c *ProjectsLocationsMembershipsListAdminCall) doRequest(alt string) (*http.Response, error) {
  9210  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9211  	if c.ifNoneMatch_ != "" {
  9212  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  9213  	}
  9214  	var body io.Reader = nil
  9215  	c.urlParams_.Set("alt", alt)
  9216  	c.urlParams_.Set("prettyPrint", "false")
  9217  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+parent}/memberships:listAdmin")
  9218  	urls += "?" + c.urlParams_.Encode()
  9219  	req, err := http.NewRequest("GET", urls, body)
  9220  	if err != nil {
  9221  		return nil, err
  9222  	}
  9223  	req.Header = reqHeaders
  9224  	googleapi.Expand(req.URL, map[string]string{
  9225  		"parent": c.parent,
  9226  	})
  9227  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9228  }
  9229  
  9230  // Do executes the "gkehub.projects.locations.memberships.listAdmin" call.
  9231  // Any non-2xx status code is an error. Response headers are in either
  9232  // *ListAdminClusterMembershipsResponse.ServerResponse.Header or (if a response
  9233  // was returned at all) in error.(*googleapi.Error).Header. Use
  9234  // googleapi.IsNotModified to check whether the returned error was because
  9235  // http.StatusNotModified was returned.
  9236  func (c *ProjectsLocationsMembershipsListAdminCall) Do(opts ...googleapi.CallOption) (*ListAdminClusterMembershipsResponse, error) {
  9237  	gensupport.SetOptions(c.urlParams_, opts...)
  9238  	res, err := c.doRequest("json")
  9239  	if res != nil && res.StatusCode == http.StatusNotModified {
  9240  		if res.Body != nil {
  9241  			res.Body.Close()
  9242  		}
  9243  		return nil, gensupport.WrapError(&googleapi.Error{
  9244  			Code:   res.StatusCode,
  9245  			Header: res.Header,
  9246  		})
  9247  	}
  9248  	if err != nil {
  9249  		return nil, err
  9250  	}
  9251  	defer googleapi.CloseBody(res)
  9252  	if err := googleapi.CheckResponse(res); err != nil {
  9253  		return nil, gensupport.WrapError(err)
  9254  	}
  9255  	ret := &ListAdminClusterMembershipsResponse{
  9256  		ServerResponse: googleapi.ServerResponse{
  9257  			Header:         res.Header,
  9258  			HTTPStatusCode: res.StatusCode,
  9259  		},
  9260  	}
  9261  	target := &ret
  9262  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9263  		return nil, err
  9264  	}
  9265  	return ret, nil
  9266  }
  9267  
  9268  // Pages invokes f for each page of results.
  9269  // A non-nil error returned from f will halt the iteration.
  9270  // The provided context supersedes any context provided to the Context method.
  9271  func (c *ProjectsLocationsMembershipsListAdminCall) Pages(ctx context.Context, f func(*ListAdminClusterMembershipsResponse) error) error {
  9272  	c.ctx_ = ctx
  9273  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  9274  	for {
  9275  		x, err := c.Do()
  9276  		if err != nil {
  9277  			return err
  9278  		}
  9279  		if err := f(x); err != nil {
  9280  			return err
  9281  		}
  9282  		if x.NextPageToken == "" {
  9283  			return nil
  9284  		}
  9285  		c.PageToken(x.NextPageToken)
  9286  	}
  9287  }
  9288  
  9289  type ProjectsLocationsMembershipsPatchCall struct {
  9290  	s          *Service
  9291  	name       string
  9292  	membership *Membership
  9293  	urlParams_ gensupport.URLParams
  9294  	ctx_       context.Context
  9295  	header_    http.Header
  9296  }
  9297  
  9298  // Patch: Updates an existing Membership.
  9299  //
  9300  //   - name: The Membership resource name in the format
  9301  //     `projects/*/locations/*/memberships/*`.
  9302  func (r *ProjectsLocationsMembershipsService) Patch(name string, membership *Membership) *ProjectsLocationsMembershipsPatchCall {
  9303  	c := &ProjectsLocationsMembershipsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9304  	c.name = name
  9305  	c.membership = membership
  9306  	return c
  9307  }
  9308  
  9309  // RequestId sets the optional parameter "requestId": A request ID to identify
  9310  // requests. Specify a unique request ID so that if you must retry your
  9311  // request, the server will know to ignore the request if it has already been
  9312  // completed. The server will guarantee that for at least 60 minutes after the
  9313  // first request. For example, consider a situation where you make an initial
  9314  // request and the request times out. If you make the request again with the
  9315  // same request ID, the server can check if original operation with the same
  9316  // request ID was received, and if so, will ignore the second request. This
  9317  // prevents clients from accidentally creating duplicate commitments. The
  9318  // request ID must be a valid UUID with the exception that zero UUID is not
  9319  // supported (00000000-0000-0000-0000-000000000000).
  9320  func (c *ProjectsLocationsMembershipsPatchCall) RequestId(requestId string) *ProjectsLocationsMembershipsPatchCall {
  9321  	c.urlParams_.Set("requestId", requestId)
  9322  	return c
  9323  }
  9324  
  9325  // UpdateMask sets the optional parameter "updateMask": Required. Mask of
  9326  // fields to update.
  9327  func (c *ProjectsLocationsMembershipsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsMembershipsPatchCall {
  9328  	c.urlParams_.Set("updateMask", updateMask)
  9329  	return c
  9330  }
  9331  
  9332  // Fields allows partial responses to be retrieved. See
  9333  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9334  // details.
  9335  func (c *ProjectsLocationsMembershipsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsMembershipsPatchCall {
  9336  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9337  	return c
  9338  }
  9339  
  9340  // Context sets the context to be used in this call's Do method.
  9341  func (c *ProjectsLocationsMembershipsPatchCall) Context(ctx context.Context) *ProjectsLocationsMembershipsPatchCall {
  9342  	c.ctx_ = ctx
  9343  	return c
  9344  }
  9345  
  9346  // Header returns a http.Header that can be modified by the caller to add
  9347  // headers to the request.
  9348  func (c *ProjectsLocationsMembershipsPatchCall) Header() http.Header {
  9349  	if c.header_ == nil {
  9350  		c.header_ = make(http.Header)
  9351  	}
  9352  	return c.header_
  9353  }
  9354  
  9355  func (c *ProjectsLocationsMembershipsPatchCall) doRequest(alt string) (*http.Response, error) {
  9356  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  9357  	var body io.Reader = nil
  9358  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.membership)
  9359  	if err != nil {
  9360  		return nil, err
  9361  	}
  9362  	c.urlParams_.Set("alt", alt)
  9363  	c.urlParams_.Set("prettyPrint", "false")
  9364  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}")
  9365  	urls += "?" + c.urlParams_.Encode()
  9366  	req, err := http.NewRequest("PATCH", urls, body)
  9367  	if err != nil {
  9368  		return nil, err
  9369  	}
  9370  	req.Header = reqHeaders
  9371  	googleapi.Expand(req.URL, map[string]string{
  9372  		"name": c.name,
  9373  	})
  9374  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9375  }
  9376  
  9377  // Do executes the "gkehub.projects.locations.memberships.patch" call.
  9378  // Any non-2xx status code is an error. Response headers are in either
  9379  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  9380  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9381  // whether the returned error was because http.StatusNotModified was returned.
  9382  func (c *ProjectsLocationsMembershipsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  9383  	gensupport.SetOptions(c.urlParams_, opts...)
  9384  	res, err := c.doRequest("json")
  9385  	if res != nil && res.StatusCode == http.StatusNotModified {
  9386  		if res.Body != nil {
  9387  			res.Body.Close()
  9388  		}
  9389  		return nil, gensupport.WrapError(&googleapi.Error{
  9390  			Code:   res.StatusCode,
  9391  			Header: res.Header,
  9392  		})
  9393  	}
  9394  	if err != nil {
  9395  		return nil, err
  9396  	}
  9397  	defer googleapi.CloseBody(res)
  9398  	if err := googleapi.CheckResponse(res); err != nil {
  9399  		return nil, gensupport.WrapError(err)
  9400  	}
  9401  	ret := &Operation{
  9402  		ServerResponse: googleapi.ServerResponse{
  9403  			Header:         res.Header,
  9404  			HTTPStatusCode: res.StatusCode,
  9405  		},
  9406  	}
  9407  	target := &ret
  9408  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9409  		return nil, err
  9410  	}
  9411  	return ret, nil
  9412  }
  9413  
  9414  type ProjectsLocationsMembershipsSetIamPolicyCall struct {
  9415  	s                   *Service
  9416  	resource            string
  9417  	setiampolicyrequest *SetIamPolicyRequest
  9418  	urlParams_          gensupport.URLParams
  9419  	ctx_                context.Context
  9420  	header_             http.Header
  9421  }
  9422  
  9423  // SetIamPolicy: Sets the access control policy on the specified resource.
  9424  // Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`,
  9425  // and `PERMISSION_DENIED` errors.
  9426  //
  9427  //   - resource: REQUIRED: The resource for which the policy is being specified.
  9428  //     See Resource names (https://cloud.google.com/apis/design/resource_names)
  9429  //     for the appropriate value for this field.
  9430  func (r *ProjectsLocationsMembershipsService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsMembershipsSetIamPolicyCall {
  9431  	c := &ProjectsLocationsMembershipsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9432  	c.resource = resource
  9433  	c.setiampolicyrequest = setiampolicyrequest
  9434  	return c
  9435  }
  9436  
  9437  // Fields allows partial responses to be retrieved. See
  9438  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9439  // details.
  9440  func (c *ProjectsLocationsMembershipsSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsMembershipsSetIamPolicyCall {
  9441  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9442  	return c
  9443  }
  9444  
  9445  // Context sets the context to be used in this call's Do method.
  9446  func (c *ProjectsLocationsMembershipsSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsMembershipsSetIamPolicyCall {
  9447  	c.ctx_ = ctx
  9448  	return c
  9449  }
  9450  
  9451  // Header returns a http.Header that can be modified by the caller to add
  9452  // headers to the request.
  9453  func (c *ProjectsLocationsMembershipsSetIamPolicyCall) Header() http.Header {
  9454  	if c.header_ == nil {
  9455  		c.header_ = make(http.Header)
  9456  	}
  9457  	return c.header_
  9458  }
  9459  
  9460  func (c *ProjectsLocationsMembershipsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
  9461  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  9462  	var body io.Reader = nil
  9463  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
  9464  	if err != nil {
  9465  		return nil, err
  9466  	}
  9467  	c.urlParams_.Set("alt", alt)
  9468  	c.urlParams_.Set("prettyPrint", "false")
  9469  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+resource}:setIamPolicy")
  9470  	urls += "?" + c.urlParams_.Encode()
  9471  	req, err := http.NewRequest("POST", urls, body)
  9472  	if err != nil {
  9473  		return nil, err
  9474  	}
  9475  	req.Header = reqHeaders
  9476  	googleapi.Expand(req.URL, map[string]string{
  9477  		"resource": c.resource,
  9478  	})
  9479  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9480  }
  9481  
  9482  // Do executes the "gkehub.projects.locations.memberships.setIamPolicy" call.
  9483  // Any non-2xx status code is an error. Response headers are in either
  9484  // *Policy.ServerResponse.Header or (if a response was returned at all) in
  9485  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9486  // whether the returned error was because http.StatusNotModified was returned.
  9487  func (c *ProjectsLocationsMembershipsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
  9488  	gensupport.SetOptions(c.urlParams_, opts...)
  9489  	res, err := c.doRequest("json")
  9490  	if res != nil && res.StatusCode == http.StatusNotModified {
  9491  		if res.Body != nil {
  9492  			res.Body.Close()
  9493  		}
  9494  		return nil, gensupport.WrapError(&googleapi.Error{
  9495  			Code:   res.StatusCode,
  9496  			Header: res.Header,
  9497  		})
  9498  	}
  9499  	if err != nil {
  9500  		return nil, err
  9501  	}
  9502  	defer googleapi.CloseBody(res)
  9503  	if err := googleapi.CheckResponse(res); err != nil {
  9504  		return nil, gensupport.WrapError(err)
  9505  	}
  9506  	ret := &Policy{
  9507  		ServerResponse: googleapi.ServerResponse{
  9508  			Header:         res.Header,
  9509  			HTTPStatusCode: res.StatusCode,
  9510  		},
  9511  	}
  9512  	target := &ret
  9513  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9514  		return nil, err
  9515  	}
  9516  	return ret, nil
  9517  }
  9518  
  9519  type ProjectsLocationsMembershipsTestIamPermissionsCall struct {
  9520  	s                         *Service
  9521  	resource                  string
  9522  	testiampermissionsrequest *TestIamPermissionsRequest
  9523  	urlParams_                gensupport.URLParams
  9524  	ctx_                      context.Context
  9525  	header_                   http.Header
  9526  }
  9527  
  9528  // TestIamPermissions: Returns permissions that a caller has on the specified
  9529  // resource. If the resource does not exist, this will return an empty set of
  9530  // permissions, not a `NOT_FOUND` error. Note: This operation is designed to be
  9531  // used for building permission-aware UIs and command-line tools, not for
  9532  // authorization checking. This operation may "fail open" without warning.
  9533  //
  9534  //   - resource: REQUIRED: The resource for which the policy detail is being
  9535  //     requested. See Resource names
  9536  //     (https://cloud.google.com/apis/design/resource_names) for the appropriate
  9537  //     value for this field.
  9538  func (r *ProjectsLocationsMembershipsService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsMembershipsTestIamPermissionsCall {
  9539  	c := &ProjectsLocationsMembershipsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9540  	c.resource = resource
  9541  	c.testiampermissionsrequest = testiampermissionsrequest
  9542  	return c
  9543  }
  9544  
  9545  // Fields allows partial responses to be retrieved. See
  9546  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9547  // details.
  9548  func (c *ProjectsLocationsMembershipsTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsMembershipsTestIamPermissionsCall {
  9549  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9550  	return c
  9551  }
  9552  
  9553  // Context sets the context to be used in this call's Do method.
  9554  func (c *ProjectsLocationsMembershipsTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsMembershipsTestIamPermissionsCall {
  9555  	c.ctx_ = ctx
  9556  	return c
  9557  }
  9558  
  9559  // Header returns a http.Header that can be modified by the caller to add
  9560  // headers to the request.
  9561  func (c *ProjectsLocationsMembershipsTestIamPermissionsCall) Header() http.Header {
  9562  	if c.header_ == nil {
  9563  		c.header_ = make(http.Header)
  9564  	}
  9565  	return c.header_
  9566  }
  9567  
  9568  func (c *ProjectsLocationsMembershipsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
  9569  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  9570  	var body io.Reader = nil
  9571  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
  9572  	if err != nil {
  9573  		return nil, err
  9574  	}
  9575  	c.urlParams_.Set("alt", alt)
  9576  	c.urlParams_.Set("prettyPrint", "false")
  9577  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+resource}:testIamPermissions")
  9578  	urls += "?" + c.urlParams_.Encode()
  9579  	req, err := http.NewRequest("POST", urls, body)
  9580  	if err != nil {
  9581  		return nil, err
  9582  	}
  9583  	req.Header = reqHeaders
  9584  	googleapi.Expand(req.URL, map[string]string{
  9585  		"resource": c.resource,
  9586  	})
  9587  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9588  }
  9589  
  9590  // Do executes the "gkehub.projects.locations.memberships.testIamPermissions" call.
  9591  // Any non-2xx status code is an error. Response headers are in either
  9592  // *TestIamPermissionsResponse.ServerResponse.Header or (if a response was
  9593  // returned at all) in error.(*googleapi.Error).Header. Use
  9594  // googleapi.IsNotModified to check whether the returned error was because
  9595  // http.StatusNotModified was returned.
  9596  func (c *ProjectsLocationsMembershipsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
  9597  	gensupport.SetOptions(c.urlParams_, opts...)
  9598  	res, err := c.doRequest("json")
  9599  	if res != nil && res.StatusCode == http.StatusNotModified {
  9600  		if res.Body != nil {
  9601  			res.Body.Close()
  9602  		}
  9603  		return nil, gensupport.WrapError(&googleapi.Error{
  9604  			Code:   res.StatusCode,
  9605  			Header: res.Header,
  9606  		})
  9607  	}
  9608  	if err != nil {
  9609  		return nil, err
  9610  	}
  9611  	defer googleapi.CloseBody(res)
  9612  	if err := googleapi.CheckResponse(res); err != nil {
  9613  		return nil, gensupport.WrapError(err)
  9614  	}
  9615  	ret := &TestIamPermissionsResponse{
  9616  		ServerResponse: googleapi.ServerResponse{
  9617  			Header:         res.Header,
  9618  			HTTPStatusCode: res.StatusCode,
  9619  		},
  9620  	}
  9621  	target := &ret
  9622  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9623  		return nil, err
  9624  	}
  9625  	return ret, nil
  9626  }
  9627  
  9628  type ProjectsLocationsMembershipsValidateCreateCall struct {
  9629  	s                               *Service
  9630  	parent                          string
  9631  	validatecreatemembershiprequest *ValidateCreateMembershipRequest
  9632  	urlParams_                      gensupport.URLParams
  9633  	ctx_                            context.Context
  9634  	header_                         http.Header
  9635  }
  9636  
  9637  // ValidateCreate: ValidateCreateMembership is a preflight check for
  9638  // CreateMembership. It checks the following: 1. Caller has the required
  9639  // `gkehub.memberships.create` permission. 2. The membership_id is still
  9640  // available.
  9641  //
  9642  //   - parent: The parent (project and location) where the Memberships will be
  9643  //     created. Specified in the format `projects/*/locations/*`.
  9644  func (r *ProjectsLocationsMembershipsService) ValidateCreate(parent string, validatecreatemembershiprequest *ValidateCreateMembershipRequest) *ProjectsLocationsMembershipsValidateCreateCall {
  9645  	c := &ProjectsLocationsMembershipsValidateCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9646  	c.parent = parent
  9647  	c.validatecreatemembershiprequest = validatecreatemembershiprequest
  9648  	return c
  9649  }
  9650  
  9651  // Fields allows partial responses to be retrieved. See
  9652  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9653  // details.
  9654  func (c *ProjectsLocationsMembershipsValidateCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsMembershipsValidateCreateCall {
  9655  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9656  	return c
  9657  }
  9658  
  9659  // Context sets the context to be used in this call's Do method.
  9660  func (c *ProjectsLocationsMembershipsValidateCreateCall) Context(ctx context.Context) *ProjectsLocationsMembershipsValidateCreateCall {
  9661  	c.ctx_ = ctx
  9662  	return c
  9663  }
  9664  
  9665  // Header returns a http.Header that can be modified by the caller to add
  9666  // headers to the request.
  9667  func (c *ProjectsLocationsMembershipsValidateCreateCall) Header() http.Header {
  9668  	if c.header_ == nil {
  9669  		c.header_ = make(http.Header)
  9670  	}
  9671  	return c.header_
  9672  }
  9673  
  9674  func (c *ProjectsLocationsMembershipsValidateCreateCall) doRequest(alt string) (*http.Response, error) {
  9675  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  9676  	var body io.Reader = nil
  9677  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.validatecreatemembershiprequest)
  9678  	if err != nil {
  9679  		return nil, err
  9680  	}
  9681  	c.urlParams_.Set("alt", alt)
  9682  	c.urlParams_.Set("prettyPrint", "false")
  9683  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+parent}/memberships:validateCreate")
  9684  	urls += "?" + c.urlParams_.Encode()
  9685  	req, err := http.NewRequest("POST", urls, body)
  9686  	if err != nil {
  9687  		return nil, err
  9688  	}
  9689  	req.Header = reqHeaders
  9690  	googleapi.Expand(req.URL, map[string]string{
  9691  		"parent": c.parent,
  9692  	})
  9693  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9694  }
  9695  
  9696  // Do executes the "gkehub.projects.locations.memberships.validateCreate" call.
  9697  // Any non-2xx status code is an error. Response headers are in either
  9698  // *ValidateCreateMembershipResponse.ServerResponse.Header or (if a response
  9699  // was returned at all) in error.(*googleapi.Error).Header. Use
  9700  // googleapi.IsNotModified to check whether the returned error was because
  9701  // http.StatusNotModified was returned.
  9702  func (c *ProjectsLocationsMembershipsValidateCreateCall) Do(opts ...googleapi.CallOption) (*ValidateCreateMembershipResponse, error) {
  9703  	gensupport.SetOptions(c.urlParams_, opts...)
  9704  	res, err := c.doRequest("json")
  9705  	if res != nil && res.StatusCode == http.StatusNotModified {
  9706  		if res.Body != nil {
  9707  			res.Body.Close()
  9708  		}
  9709  		return nil, gensupport.WrapError(&googleapi.Error{
  9710  			Code:   res.StatusCode,
  9711  			Header: res.Header,
  9712  		})
  9713  	}
  9714  	if err != nil {
  9715  		return nil, err
  9716  	}
  9717  	defer googleapi.CloseBody(res)
  9718  	if err := googleapi.CheckResponse(res); err != nil {
  9719  		return nil, gensupport.WrapError(err)
  9720  	}
  9721  	ret := &ValidateCreateMembershipResponse{
  9722  		ServerResponse: googleapi.ServerResponse{
  9723  			Header:         res.Header,
  9724  			HTTPStatusCode: res.StatusCode,
  9725  		},
  9726  	}
  9727  	target := &ret
  9728  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9729  		return nil, err
  9730  	}
  9731  	return ret, nil
  9732  }
  9733  
  9734  type ProjectsLocationsMembershipsBindingsCreateCall struct {
  9735  	s                 *Service
  9736  	parent            string
  9737  	membershipbinding *MembershipBinding
  9738  	urlParams_        gensupport.URLParams
  9739  	ctx_              context.Context
  9740  	header_           http.Header
  9741  }
  9742  
  9743  // Create: Creates a MembershipBinding.
  9744  //
  9745  //   - parent: The parent (project and location) where the MembershipBinding will
  9746  //     be created. Specified in the format
  9747  //     `projects/*/locations/*/memberships/*`.
  9748  func (r *ProjectsLocationsMembershipsBindingsService) Create(parent string, membershipbinding *MembershipBinding) *ProjectsLocationsMembershipsBindingsCreateCall {
  9749  	c := &ProjectsLocationsMembershipsBindingsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9750  	c.parent = parent
  9751  	c.membershipbinding = membershipbinding
  9752  	return c
  9753  }
  9754  
  9755  // MembershipBindingId sets the optional parameter "membershipBindingId":
  9756  // Required. The ID to use for the MembershipBinding.
  9757  func (c *ProjectsLocationsMembershipsBindingsCreateCall) MembershipBindingId(membershipBindingId string) *ProjectsLocationsMembershipsBindingsCreateCall {
  9758  	c.urlParams_.Set("membershipBindingId", membershipBindingId)
  9759  	return c
  9760  }
  9761  
  9762  // Fields allows partial responses to be retrieved. See
  9763  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9764  // details.
  9765  func (c *ProjectsLocationsMembershipsBindingsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsMembershipsBindingsCreateCall {
  9766  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9767  	return c
  9768  }
  9769  
  9770  // Context sets the context to be used in this call's Do method.
  9771  func (c *ProjectsLocationsMembershipsBindingsCreateCall) Context(ctx context.Context) *ProjectsLocationsMembershipsBindingsCreateCall {
  9772  	c.ctx_ = ctx
  9773  	return c
  9774  }
  9775  
  9776  // Header returns a http.Header that can be modified by the caller to add
  9777  // headers to the request.
  9778  func (c *ProjectsLocationsMembershipsBindingsCreateCall) Header() http.Header {
  9779  	if c.header_ == nil {
  9780  		c.header_ = make(http.Header)
  9781  	}
  9782  	return c.header_
  9783  }
  9784  
  9785  func (c *ProjectsLocationsMembershipsBindingsCreateCall) doRequest(alt string) (*http.Response, error) {
  9786  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  9787  	var body io.Reader = nil
  9788  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.membershipbinding)
  9789  	if err != nil {
  9790  		return nil, err
  9791  	}
  9792  	c.urlParams_.Set("alt", alt)
  9793  	c.urlParams_.Set("prettyPrint", "false")
  9794  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+parent}/bindings")
  9795  	urls += "?" + c.urlParams_.Encode()
  9796  	req, err := http.NewRequest("POST", urls, body)
  9797  	if err != nil {
  9798  		return nil, err
  9799  	}
  9800  	req.Header = reqHeaders
  9801  	googleapi.Expand(req.URL, map[string]string{
  9802  		"parent": c.parent,
  9803  	})
  9804  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9805  }
  9806  
  9807  // Do executes the "gkehub.projects.locations.memberships.bindings.create" call.
  9808  // Any non-2xx status code is an error. Response headers are in either
  9809  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  9810  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9811  // whether the returned error was because http.StatusNotModified was returned.
  9812  func (c *ProjectsLocationsMembershipsBindingsCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  9813  	gensupport.SetOptions(c.urlParams_, opts...)
  9814  	res, err := c.doRequest("json")
  9815  	if res != nil && res.StatusCode == http.StatusNotModified {
  9816  		if res.Body != nil {
  9817  			res.Body.Close()
  9818  		}
  9819  		return nil, gensupport.WrapError(&googleapi.Error{
  9820  			Code:   res.StatusCode,
  9821  			Header: res.Header,
  9822  		})
  9823  	}
  9824  	if err != nil {
  9825  		return nil, err
  9826  	}
  9827  	defer googleapi.CloseBody(res)
  9828  	if err := googleapi.CheckResponse(res); err != nil {
  9829  		return nil, gensupport.WrapError(err)
  9830  	}
  9831  	ret := &Operation{
  9832  		ServerResponse: googleapi.ServerResponse{
  9833  			Header:         res.Header,
  9834  			HTTPStatusCode: res.StatusCode,
  9835  		},
  9836  	}
  9837  	target := &ret
  9838  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9839  		return nil, err
  9840  	}
  9841  	return ret, nil
  9842  }
  9843  
  9844  type ProjectsLocationsMembershipsBindingsDeleteCall struct {
  9845  	s          *Service
  9846  	name       string
  9847  	urlParams_ gensupport.URLParams
  9848  	ctx_       context.Context
  9849  	header_    http.Header
  9850  }
  9851  
  9852  // Delete: Deletes a MembershipBinding.
  9853  //
  9854  //   - name: The MembershipBinding resource name in the format
  9855  //     `projects/*/locations/*/memberships/*/bindings/*`.
  9856  func (r *ProjectsLocationsMembershipsBindingsService) Delete(name string) *ProjectsLocationsMembershipsBindingsDeleteCall {
  9857  	c := &ProjectsLocationsMembershipsBindingsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9858  	c.name = name
  9859  	return c
  9860  }
  9861  
  9862  // Fields allows partial responses to be retrieved. See
  9863  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9864  // details.
  9865  func (c *ProjectsLocationsMembershipsBindingsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsMembershipsBindingsDeleteCall {
  9866  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9867  	return c
  9868  }
  9869  
  9870  // Context sets the context to be used in this call's Do method.
  9871  func (c *ProjectsLocationsMembershipsBindingsDeleteCall) Context(ctx context.Context) *ProjectsLocationsMembershipsBindingsDeleteCall {
  9872  	c.ctx_ = ctx
  9873  	return c
  9874  }
  9875  
  9876  // Header returns a http.Header that can be modified by the caller to add
  9877  // headers to the request.
  9878  func (c *ProjectsLocationsMembershipsBindingsDeleteCall) Header() http.Header {
  9879  	if c.header_ == nil {
  9880  		c.header_ = make(http.Header)
  9881  	}
  9882  	return c.header_
  9883  }
  9884  
  9885  func (c *ProjectsLocationsMembershipsBindingsDeleteCall) doRequest(alt string) (*http.Response, error) {
  9886  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9887  	var body io.Reader = nil
  9888  	c.urlParams_.Set("alt", alt)
  9889  	c.urlParams_.Set("prettyPrint", "false")
  9890  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}")
  9891  	urls += "?" + c.urlParams_.Encode()
  9892  	req, err := http.NewRequest("DELETE", urls, body)
  9893  	if err != nil {
  9894  		return nil, err
  9895  	}
  9896  	req.Header = reqHeaders
  9897  	googleapi.Expand(req.URL, map[string]string{
  9898  		"name": c.name,
  9899  	})
  9900  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9901  }
  9902  
  9903  // Do executes the "gkehub.projects.locations.memberships.bindings.delete" call.
  9904  // Any non-2xx status code is an error. Response headers are in either
  9905  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  9906  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9907  // whether the returned error was because http.StatusNotModified was returned.
  9908  func (c *ProjectsLocationsMembershipsBindingsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  9909  	gensupport.SetOptions(c.urlParams_, opts...)
  9910  	res, err := c.doRequest("json")
  9911  	if res != nil && res.StatusCode == http.StatusNotModified {
  9912  		if res.Body != nil {
  9913  			res.Body.Close()
  9914  		}
  9915  		return nil, gensupport.WrapError(&googleapi.Error{
  9916  			Code:   res.StatusCode,
  9917  			Header: res.Header,
  9918  		})
  9919  	}
  9920  	if err != nil {
  9921  		return nil, err
  9922  	}
  9923  	defer googleapi.CloseBody(res)
  9924  	if err := googleapi.CheckResponse(res); err != nil {
  9925  		return nil, gensupport.WrapError(err)
  9926  	}
  9927  	ret := &Operation{
  9928  		ServerResponse: googleapi.ServerResponse{
  9929  			Header:         res.Header,
  9930  			HTTPStatusCode: res.StatusCode,
  9931  		},
  9932  	}
  9933  	target := &ret
  9934  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9935  		return nil, err
  9936  	}
  9937  	return ret, nil
  9938  }
  9939  
  9940  type ProjectsLocationsMembershipsBindingsGetCall struct {
  9941  	s            *Service
  9942  	name         string
  9943  	urlParams_   gensupport.URLParams
  9944  	ifNoneMatch_ string
  9945  	ctx_         context.Context
  9946  	header_      http.Header
  9947  }
  9948  
  9949  // Get: Returns the details of a MembershipBinding.
  9950  //
  9951  //   - name: The MembershipBinding resource name in the format
  9952  //     `projects/*/locations/*/memberships/*/bindings/*`.
  9953  func (r *ProjectsLocationsMembershipsBindingsService) Get(name string) *ProjectsLocationsMembershipsBindingsGetCall {
  9954  	c := &ProjectsLocationsMembershipsBindingsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9955  	c.name = name
  9956  	return c
  9957  }
  9958  
  9959  // Fields allows partial responses to be retrieved. See
  9960  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9961  // details.
  9962  func (c *ProjectsLocationsMembershipsBindingsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsMembershipsBindingsGetCall {
  9963  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9964  	return c
  9965  }
  9966  
  9967  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  9968  // object's ETag matches the given value. This is useful for getting updates
  9969  // only after the object has changed since the last request.
  9970  func (c *ProjectsLocationsMembershipsBindingsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsMembershipsBindingsGetCall {
  9971  	c.ifNoneMatch_ = entityTag
  9972  	return c
  9973  }
  9974  
  9975  // Context sets the context to be used in this call's Do method.
  9976  func (c *ProjectsLocationsMembershipsBindingsGetCall) Context(ctx context.Context) *ProjectsLocationsMembershipsBindingsGetCall {
  9977  	c.ctx_ = ctx
  9978  	return c
  9979  }
  9980  
  9981  // Header returns a http.Header that can be modified by the caller to add
  9982  // headers to the request.
  9983  func (c *ProjectsLocationsMembershipsBindingsGetCall) Header() http.Header {
  9984  	if c.header_ == nil {
  9985  		c.header_ = make(http.Header)
  9986  	}
  9987  	return c.header_
  9988  }
  9989  
  9990  func (c *ProjectsLocationsMembershipsBindingsGetCall) doRequest(alt string) (*http.Response, error) {
  9991  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9992  	if c.ifNoneMatch_ != "" {
  9993  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  9994  	}
  9995  	var body io.Reader = nil
  9996  	c.urlParams_.Set("alt", alt)
  9997  	c.urlParams_.Set("prettyPrint", "false")
  9998  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}")
  9999  	urls += "?" + c.urlParams_.Encode()
 10000  	req, err := http.NewRequest("GET", urls, body)
 10001  	if err != nil {
 10002  		return nil, err
 10003  	}
 10004  	req.Header = reqHeaders
 10005  	googleapi.Expand(req.URL, map[string]string{
 10006  		"name": c.name,
 10007  	})
 10008  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10009  }
 10010  
 10011  // Do executes the "gkehub.projects.locations.memberships.bindings.get" call.
 10012  // Any non-2xx status code is an error. Response headers are in either
 10013  // *MembershipBinding.ServerResponse.Header or (if a response was returned at
 10014  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 10015  // check whether the returned error was because http.StatusNotModified was
 10016  // returned.
 10017  func (c *ProjectsLocationsMembershipsBindingsGetCall) Do(opts ...googleapi.CallOption) (*MembershipBinding, error) {
 10018  	gensupport.SetOptions(c.urlParams_, opts...)
 10019  	res, err := c.doRequest("json")
 10020  	if res != nil && res.StatusCode == http.StatusNotModified {
 10021  		if res.Body != nil {
 10022  			res.Body.Close()
 10023  		}
 10024  		return nil, gensupport.WrapError(&googleapi.Error{
 10025  			Code:   res.StatusCode,
 10026  			Header: res.Header,
 10027  		})
 10028  	}
 10029  	if err != nil {
 10030  		return nil, err
 10031  	}
 10032  	defer googleapi.CloseBody(res)
 10033  	if err := googleapi.CheckResponse(res); err != nil {
 10034  		return nil, gensupport.WrapError(err)
 10035  	}
 10036  	ret := &MembershipBinding{
 10037  		ServerResponse: googleapi.ServerResponse{
 10038  			Header:         res.Header,
 10039  			HTTPStatusCode: res.StatusCode,
 10040  		},
 10041  	}
 10042  	target := &ret
 10043  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10044  		return nil, err
 10045  	}
 10046  	return ret, nil
 10047  }
 10048  
 10049  type ProjectsLocationsMembershipsBindingsListCall struct {
 10050  	s            *Service
 10051  	parent       string
 10052  	urlParams_   gensupport.URLParams
 10053  	ifNoneMatch_ string
 10054  	ctx_         context.Context
 10055  	header_      http.Header
 10056  }
 10057  
 10058  // List: Lists MembershipBindings.
 10059  //
 10060  //   - parent: The parent Membership for which the MembershipBindings will be
 10061  //     listed. Specified in the format `projects/*/locations/*/memberships/*`.
 10062  func (r *ProjectsLocationsMembershipsBindingsService) List(parent string) *ProjectsLocationsMembershipsBindingsListCall {
 10063  	c := &ProjectsLocationsMembershipsBindingsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10064  	c.parent = parent
 10065  	return c
 10066  }
 10067  
 10068  // Filter sets the optional parameter "filter": Lists MembershipBindings that
 10069  // match the filter expression, following the syntax outlined in
 10070  // https://google.aip.dev/160.
 10071  func (c *ProjectsLocationsMembershipsBindingsListCall) Filter(filter string) *ProjectsLocationsMembershipsBindingsListCall {
 10072  	c.urlParams_.Set("filter", filter)
 10073  	return c
 10074  }
 10075  
 10076  // PageSize sets the optional parameter "pageSize": When requesting a 'page' of
 10077  // resources, `page_size` specifies number of resources to return. If
 10078  // unspecified or set to 0, all resources will be returned.
 10079  func (c *ProjectsLocationsMembershipsBindingsListCall) PageSize(pageSize int64) *ProjectsLocationsMembershipsBindingsListCall {
 10080  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 10081  	return c
 10082  }
 10083  
 10084  // PageToken sets the optional parameter "pageToken": Token returned by
 10085  // previous call to `ListMembershipBindings` which specifies the position in
 10086  // the list from where to continue listing the resources.
 10087  func (c *ProjectsLocationsMembershipsBindingsListCall) PageToken(pageToken string) *ProjectsLocationsMembershipsBindingsListCall {
 10088  	c.urlParams_.Set("pageToken", pageToken)
 10089  	return c
 10090  }
 10091  
 10092  // Fields allows partial responses to be retrieved. See
 10093  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10094  // details.
 10095  func (c *ProjectsLocationsMembershipsBindingsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsMembershipsBindingsListCall {
 10096  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10097  	return c
 10098  }
 10099  
 10100  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 10101  // object's ETag matches the given value. This is useful for getting updates
 10102  // only after the object has changed since the last request.
 10103  func (c *ProjectsLocationsMembershipsBindingsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsMembershipsBindingsListCall {
 10104  	c.ifNoneMatch_ = entityTag
 10105  	return c
 10106  }
 10107  
 10108  // Context sets the context to be used in this call's Do method.
 10109  func (c *ProjectsLocationsMembershipsBindingsListCall) Context(ctx context.Context) *ProjectsLocationsMembershipsBindingsListCall {
 10110  	c.ctx_ = ctx
 10111  	return c
 10112  }
 10113  
 10114  // Header returns a http.Header that can be modified by the caller to add
 10115  // headers to the request.
 10116  func (c *ProjectsLocationsMembershipsBindingsListCall) Header() http.Header {
 10117  	if c.header_ == nil {
 10118  		c.header_ = make(http.Header)
 10119  	}
 10120  	return c.header_
 10121  }
 10122  
 10123  func (c *ProjectsLocationsMembershipsBindingsListCall) doRequest(alt string) (*http.Response, error) {
 10124  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 10125  	if c.ifNoneMatch_ != "" {
 10126  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 10127  	}
 10128  	var body io.Reader = nil
 10129  	c.urlParams_.Set("alt", alt)
 10130  	c.urlParams_.Set("prettyPrint", "false")
 10131  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+parent}/bindings")
 10132  	urls += "?" + c.urlParams_.Encode()
 10133  	req, err := http.NewRequest("GET", urls, body)
 10134  	if err != nil {
 10135  		return nil, err
 10136  	}
 10137  	req.Header = reqHeaders
 10138  	googleapi.Expand(req.URL, map[string]string{
 10139  		"parent": c.parent,
 10140  	})
 10141  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10142  }
 10143  
 10144  // Do executes the "gkehub.projects.locations.memberships.bindings.list" call.
 10145  // Any non-2xx status code is an error. Response headers are in either
 10146  // *ListMembershipBindingsResponse.ServerResponse.Header or (if a response was
 10147  // returned at all) in error.(*googleapi.Error).Header. Use
 10148  // googleapi.IsNotModified to check whether the returned error was because
 10149  // http.StatusNotModified was returned.
 10150  func (c *ProjectsLocationsMembershipsBindingsListCall) Do(opts ...googleapi.CallOption) (*ListMembershipBindingsResponse, error) {
 10151  	gensupport.SetOptions(c.urlParams_, opts...)
 10152  	res, err := c.doRequest("json")
 10153  	if res != nil && res.StatusCode == http.StatusNotModified {
 10154  		if res.Body != nil {
 10155  			res.Body.Close()
 10156  		}
 10157  		return nil, gensupport.WrapError(&googleapi.Error{
 10158  			Code:   res.StatusCode,
 10159  			Header: res.Header,
 10160  		})
 10161  	}
 10162  	if err != nil {
 10163  		return nil, err
 10164  	}
 10165  	defer googleapi.CloseBody(res)
 10166  	if err := googleapi.CheckResponse(res); err != nil {
 10167  		return nil, gensupport.WrapError(err)
 10168  	}
 10169  	ret := &ListMembershipBindingsResponse{
 10170  		ServerResponse: googleapi.ServerResponse{
 10171  			Header:         res.Header,
 10172  			HTTPStatusCode: res.StatusCode,
 10173  		},
 10174  	}
 10175  	target := &ret
 10176  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10177  		return nil, err
 10178  	}
 10179  	return ret, nil
 10180  }
 10181  
 10182  // Pages invokes f for each page of results.
 10183  // A non-nil error returned from f will halt the iteration.
 10184  // The provided context supersedes any context provided to the Context method.
 10185  func (c *ProjectsLocationsMembershipsBindingsListCall) Pages(ctx context.Context, f func(*ListMembershipBindingsResponse) error) error {
 10186  	c.ctx_ = ctx
 10187  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 10188  	for {
 10189  		x, err := c.Do()
 10190  		if err != nil {
 10191  			return err
 10192  		}
 10193  		if err := f(x); err != nil {
 10194  			return err
 10195  		}
 10196  		if x.NextPageToken == "" {
 10197  			return nil
 10198  		}
 10199  		c.PageToken(x.NextPageToken)
 10200  	}
 10201  }
 10202  
 10203  type ProjectsLocationsMembershipsBindingsPatchCall struct {
 10204  	s                 *Service
 10205  	name              string
 10206  	membershipbinding *MembershipBinding
 10207  	urlParams_        gensupport.URLParams
 10208  	ctx_              context.Context
 10209  	header_           http.Header
 10210  }
 10211  
 10212  // Patch: Updates a MembershipBinding.
 10213  //
 10214  //   - name: The resource name for the membershipbinding itself
 10215  //     `projects/{project}/locations/{location}/memberships/{membership}/bindings/
 10216  //     {membershipbinding}`.
 10217  func (r *ProjectsLocationsMembershipsBindingsService) Patch(name string, membershipbinding *MembershipBinding) *ProjectsLocationsMembershipsBindingsPatchCall {
 10218  	c := &ProjectsLocationsMembershipsBindingsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10219  	c.name = name
 10220  	c.membershipbinding = membershipbinding
 10221  	return c
 10222  }
 10223  
 10224  // UpdateMask sets the optional parameter "updateMask": Required. The fields to
 10225  // be updated.
 10226  func (c *ProjectsLocationsMembershipsBindingsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsMembershipsBindingsPatchCall {
 10227  	c.urlParams_.Set("updateMask", updateMask)
 10228  	return c
 10229  }
 10230  
 10231  // Fields allows partial responses to be retrieved. See
 10232  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10233  // details.
 10234  func (c *ProjectsLocationsMembershipsBindingsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsMembershipsBindingsPatchCall {
 10235  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10236  	return c
 10237  }
 10238  
 10239  // Context sets the context to be used in this call's Do method.
 10240  func (c *ProjectsLocationsMembershipsBindingsPatchCall) Context(ctx context.Context) *ProjectsLocationsMembershipsBindingsPatchCall {
 10241  	c.ctx_ = ctx
 10242  	return c
 10243  }
 10244  
 10245  // Header returns a http.Header that can be modified by the caller to add
 10246  // headers to the request.
 10247  func (c *ProjectsLocationsMembershipsBindingsPatchCall) Header() http.Header {
 10248  	if c.header_ == nil {
 10249  		c.header_ = make(http.Header)
 10250  	}
 10251  	return c.header_
 10252  }
 10253  
 10254  func (c *ProjectsLocationsMembershipsBindingsPatchCall) doRequest(alt string) (*http.Response, error) {
 10255  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 10256  	var body io.Reader = nil
 10257  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.membershipbinding)
 10258  	if err != nil {
 10259  		return nil, err
 10260  	}
 10261  	c.urlParams_.Set("alt", alt)
 10262  	c.urlParams_.Set("prettyPrint", "false")
 10263  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}")
 10264  	urls += "?" + c.urlParams_.Encode()
 10265  	req, err := http.NewRequest("PATCH", urls, body)
 10266  	if err != nil {
 10267  		return nil, err
 10268  	}
 10269  	req.Header = reqHeaders
 10270  	googleapi.Expand(req.URL, map[string]string{
 10271  		"name": c.name,
 10272  	})
 10273  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10274  }
 10275  
 10276  // Do executes the "gkehub.projects.locations.memberships.bindings.patch" call.
 10277  // Any non-2xx status code is an error. Response headers are in either
 10278  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 10279  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 10280  // whether the returned error was because http.StatusNotModified was returned.
 10281  func (c *ProjectsLocationsMembershipsBindingsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 10282  	gensupport.SetOptions(c.urlParams_, opts...)
 10283  	res, err := c.doRequest("json")
 10284  	if res != nil && res.StatusCode == http.StatusNotModified {
 10285  		if res.Body != nil {
 10286  			res.Body.Close()
 10287  		}
 10288  		return nil, gensupport.WrapError(&googleapi.Error{
 10289  			Code:   res.StatusCode,
 10290  			Header: res.Header,
 10291  		})
 10292  	}
 10293  	if err != nil {
 10294  		return nil, err
 10295  	}
 10296  	defer googleapi.CloseBody(res)
 10297  	if err := googleapi.CheckResponse(res); err != nil {
 10298  		return nil, gensupport.WrapError(err)
 10299  	}
 10300  	ret := &Operation{
 10301  		ServerResponse: googleapi.ServerResponse{
 10302  			Header:         res.Header,
 10303  			HTTPStatusCode: res.StatusCode,
 10304  		},
 10305  	}
 10306  	target := &ret
 10307  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10308  		return nil, err
 10309  	}
 10310  	return ret, nil
 10311  }
 10312  
 10313  type ProjectsLocationsMembershipsRbacrolebindingsCreateCall struct {
 10314  	s               *Service
 10315  	parent          string
 10316  	rbacrolebinding *RBACRoleBinding
 10317  	urlParams_      gensupport.URLParams
 10318  	ctx_            context.Context
 10319  	header_         http.Header
 10320  }
 10321  
 10322  // Create: Creates a Membership RBACRoleBinding.
 10323  //
 10324  //   - parent: The parent (project and location) where the RBACRoleBinding will
 10325  //     be created. Specified in the format
 10326  //     `projects/*/locations/*/memberships/*`.
 10327  func (r *ProjectsLocationsMembershipsRbacrolebindingsService) Create(parent string, rbacrolebinding *RBACRoleBinding) *ProjectsLocationsMembershipsRbacrolebindingsCreateCall {
 10328  	c := &ProjectsLocationsMembershipsRbacrolebindingsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10329  	c.parent = parent
 10330  	c.rbacrolebinding = rbacrolebinding
 10331  	return c
 10332  }
 10333  
 10334  // RbacrolebindingId sets the optional parameter "rbacrolebindingId": Required.
 10335  // Client chosen ID for the RBACRoleBinding. `rbacrolebinding_id` must be a
 10336  // valid RFC 1123 compliant DNS label: 1. At most 63 characters in length 2. It
 10337  // must consist of lower case alphanumeric characters or `-` 3. It must start
 10338  // and end with an alphanumeric character Which can be expressed as the regex:
 10339  // `[a-z0-9]([-a-z0-9]*[a-z0-9])?`, with a maximum length of 63 characters.
 10340  func (c *ProjectsLocationsMembershipsRbacrolebindingsCreateCall) RbacrolebindingId(rbacrolebindingId string) *ProjectsLocationsMembershipsRbacrolebindingsCreateCall {
 10341  	c.urlParams_.Set("rbacrolebindingId", rbacrolebindingId)
 10342  	return c
 10343  }
 10344  
 10345  // Fields allows partial responses to be retrieved. See
 10346  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10347  // details.
 10348  func (c *ProjectsLocationsMembershipsRbacrolebindingsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsMembershipsRbacrolebindingsCreateCall {
 10349  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10350  	return c
 10351  }
 10352  
 10353  // Context sets the context to be used in this call's Do method.
 10354  func (c *ProjectsLocationsMembershipsRbacrolebindingsCreateCall) Context(ctx context.Context) *ProjectsLocationsMembershipsRbacrolebindingsCreateCall {
 10355  	c.ctx_ = ctx
 10356  	return c
 10357  }
 10358  
 10359  // Header returns a http.Header that can be modified by the caller to add
 10360  // headers to the request.
 10361  func (c *ProjectsLocationsMembershipsRbacrolebindingsCreateCall) Header() http.Header {
 10362  	if c.header_ == nil {
 10363  		c.header_ = make(http.Header)
 10364  	}
 10365  	return c.header_
 10366  }
 10367  
 10368  func (c *ProjectsLocationsMembershipsRbacrolebindingsCreateCall) doRequest(alt string) (*http.Response, error) {
 10369  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 10370  	var body io.Reader = nil
 10371  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.rbacrolebinding)
 10372  	if err != nil {
 10373  		return nil, err
 10374  	}
 10375  	c.urlParams_.Set("alt", alt)
 10376  	c.urlParams_.Set("prettyPrint", "false")
 10377  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+parent}/rbacrolebindings")
 10378  	urls += "?" + c.urlParams_.Encode()
 10379  	req, err := http.NewRequest("POST", urls, body)
 10380  	if err != nil {
 10381  		return nil, err
 10382  	}
 10383  	req.Header = reqHeaders
 10384  	googleapi.Expand(req.URL, map[string]string{
 10385  		"parent": c.parent,
 10386  	})
 10387  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10388  }
 10389  
 10390  // Do executes the "gkehub.projects.locations.memberships.rbacrolebindings.create" call.
 10391  // Any non-2xx status code is an error. Response headers are in either
 10392  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 10393  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 10394  // whether the returned error was because http.StatusNotModified was returned.
 10395  func (c *ProjectsLocationsMembershipsRbacrolebindingsCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 10396  	gensupport.SetOptions(c.urlParams_, opts...)
 10397  	res, err := c.doRequest("json")
 10398  	if res != nil && res.StatusCode == http.StatusNotModified {
 10399  		if res.Body != nil {
 10400  			res.Body.Close()
 10401  		}
 10402  		return nil, gensupport.WrapError(&googleapi.Error{
 10403  			Code:   res.StatusCode,
 10404  			Header: res.Header,
 10405  		})
 10406  	}
 10407  	if err != nil {
 10408  		return nil, err
 10409  	}
 10410  	defer googleapi.CloseBody(res)
 10411  	if err := googleapi.CheckResponse(res); err != nil {
 10412  		return nil, gensupport.WrapError(err)
 10413  	}
 10414  	ret := &Operation{
 10415  		ServerResponse: googleapi.ServerResponse{
 10416  			Header:         res.Header,
 10417  			HTTPStatusCode: res.StatusCode,
 10418  		},
 10419  	}
 10420  	target := &ret
 10421  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10422  		return nil, err
 10423  	}
 10424  	return ret, nil
 10425  }
 10426  
 10427  type ProjectsLocationsMembershipsRbacrolebindingsDeleteCall struct {
 10428  	s          *Service
 10429  	name       string
 10430  	urlParams_ gensupport.URLParams
 10431  	ctx_       context.Context
 10432  	header_    http.Header
 10433  }
 10434  
 10435  // Delete: Deletes a Membership RBACRoleBinding.
 10436  //
 10437  //   - name: The RBACRoleBinding resource name in the format
 10438  //     `projects/*/locations/*/memberships/*/rbacrolebindings/*`.
 10439  func (r *ProjectsLocationsMembershipsRbacrolebindingsService) Delete(name string) *ProjectsLocationsMembershipsRbacrolebindingsDeleteCall {
 10440  	c := &ProjectsLocationsMembershipsRbacrolebindingsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10441  	c.name = name
 10442  	return c
 10443  }
 10444  
 10445  // Fields allows partial responses to be retrieved. See
 10446  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10447  // details.
 10448  func (c *ProjectsLocationsMembershipsRbacrolebindingsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsMembershipsRbacrolebindingsDeleteCall {
 10449  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10450  	return c
 10451  }
 10452  
 10453  // Context sets the context to be used in this call's Do method.
 10454  func (c *ProjectsLocationsMembershipsRbacrolebindingsDeleteCall) Context(ctx context.Context) *ProjectsLocationsMembershipsRbacrolebindingsDeleteCall {
 10455  	c.ctx_ = ctx
 10456  	return c
 10457  }
 10458  
 10459  // Header returns a http.Header that can be modified by the caller to add
 10460  // headers to the request.
 10461  func (c *ProjectsLocationsMembershipsRbacrolebindingsDeleteCall) Header() http.Header {
 10462  	if c.header_ == nil {
 10463  		c.header_ = make(http.Header)
 10464  	}
 10465  	return c.header_
 10466  }
 10467  
 10468  func (c *ProjectsLocationsMembershipsRbacrolebindingsDeleteCall) doRequest(alt string) (*http.Response, error) {
 10469  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 10470  	var body io.Reader = nil
 10471  	c.urlParams_.Set("alt", alt)
 10472  	c.urlParams_.Set("prettyPrint", "false")
 10473  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}")
 10474  	urls += "?" + c.urlParams_.Encode()
 10475  	req, err := http.NewRequest("DELETE", urls, body)
 10476  	if err != nil {
 10477  		return nil, err
 10478  	}
 10479  	req.Header = reqHeaders
 10480  	googleapi.Expand(req.URL, map[string]string{
 10481  		"name": c.name,
 10482  	})
 10483  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10484  }
 10485  
 10486  // Do executes the "gkehub.projects.locations.memberships.rbacrolebindings.delete" call.
 10487  // Any non-2xx status code is an error. Response headers are in either
 10488  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 10489  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 10490  // whether the returned error was because http.StatusNotModified was returned.
 10491  func (c *ProjectsLocationsMembershipsRbacrolebindingsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 10492  	gensupport.SetOptions(c.urlParams_, opts...)
 10493  	res, err := c.doRequest("json")
 10494  	if res != nil && res.StatusCode == http.StatusNotModified {
 10495  		if res.Body != nil {
 10496  			res.Body.Close()
 10497  		}
 10498  		return nil, gensupport.WrapError(&googleapi.Error{
 10499  			Code:   res.StatusCode,
 10500  			Header: res.Header,
 10501  		})
 10502  	}
 10503  	if err != nil {
 10504  		return nil, err
 10505  	}
 10506  	defer googleapi.CloseBody(res)
 10507  	if err := googleapi.CheckResponse(res); err != nil {
 10508  		return nil, gensupport.WrapError(err)
 10509  	}
 10510  	ret := &Operation{
 10511  		ServerResponse: googleapi.ServerResponse{
 10512  			Header:         res.Header,
 10513  			HTTPStatusCode: res.StatusCode,
 10514  		},
 10515  	}
 10516  	target := &ret
 10517  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10518  		return nil, err
 10519  	}
 10520  	return ret, nil
 10521  }
 10522  
 10523  type ProjectsLocationsMembershipsRbacrolebindingsGenerateMembershipRBACRoleBindingYAMLCall struct {
 10524  	s               *Service
 10525  	parent          string
 10526  	rbacrolebinding *RBACRoleBinding
 10527  	urlParams_      gensupport.URLParams
 10528  	ctx_            context.Context
 10529  	header_         http.Header
 10530  }
 10531  
 10532  // GenerateMembershipRBACRoleBindingYAML: Generates a YAML of the RBAC policies
 10533  // for the specified RoleBinding and its associated impersonation resources.
 10534  //
 10535  //   - parent: The parent (project and location) where the RBACRoleBinding will
 10536  //     be created. Specified in the format
 10537  //     `projects/*/locations/*/memberships/*`.
 10538  func (r *ProjectsLocationsMembershipsRbacrolebindingsService) GenerateMembershipRBACRoleBindingYAML(parent string, rbacrolebinding *RBACRoleBinding) *ProjectsLocationsMembershipsRbacrolebindingsGenerateMembershipRBACRoleBindingYAMLCall {
 10539  	c := &ProjectsLocationsMembershipsRbacrolebindingsGenerateMembershipRBACRoleBindingYAMLCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10540  	c.parent = parent
 10541  	c.rbacrolebinding = rbacrolebinding
 10542  	return c
 10543  }
 10544  
 10545  // RbacrolebindingId sets the optional parameter "rbacrolebindingId": Required.
 10546  // Client chosen ID for the RBACRoleBinding. `rbacrolebinding_id` must be a
 10547  // valid RFC 1123 compliant DNS label: 1. At most 63 characters in length 2. It
 10548  // must consist of lower case alphanumeric characters or `-` 3. It must start
 10549  // and end with an alphanumeric character Which can be expressed as the regex:
 10550  // `[a-z0-9]([-a-z0-9]*[a-z0-9])?`, with a maximum length of 63 characters.
 10551  func (c *ProjectsLocationsMembershipsRbacrolebindingsGenerateMembershipRBACRoleBindingYAMLCall) RbacrolebindingId(rbacrolebindingId string) *ProjectsLocationsMembershipsRbacrolebindingsGenerateMembershipRBACRoleBindingYAMLCall {
 10552  	c.urlParams_.Set("rbacrolebindingId", rbacrolebindingId)
 10553  	return c
 10554  }
 10555  
 10556  // Fields allows partial responses to be retrieved. See
 10557  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10558  // details.
 10559  func (c *ProjectsLocationsMembershipsRbacrolebindingsGenerateMembershipRBACRoleBindingYAMLCall) Fields(s ...googleapi.Field) *ProjectsLocationsMembershipsRbacrolebindingsGenerateMembershipRBACRoleBindingYAMLCall {
 10560  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10561  	return c
 10562  }
 10563  
 10564  // Context sets the context to be used in this call's Do method.
 10565  func (c *ProjectsLocationsMembershipsRbacrolebindingsGenerateMembershipRBACRoleBindingYAMLCall) Context(ctx context.Context) *ProjectsLocationsMembershipsRbacrolebindingsGenerateMembershipRBACRoleBindingYAMLCall {
 10566  	c.ctx_ = ctx
 10567  	return c
 10568  }
 10569  
 10570  // Header returns a http.Header that can be modified by the caller to add
 10571  // headers to the request.
 10572  func (c *ProjectsLocationsMembershipsRbacrolebindingsGenerateMembershipRBACRoleBindingYAMLCall) Header() http.Header {
 10573  	if c.header_ == nil {
 10574  		c.header_ = make(http.Header)
 10575  	}
 10576  	return c.header_
 10577  }
 10578  
 10579  func (c *ProjectsLocationsMembershipsRbacrolebindingsGenerateMembershipRBACRoleBindingYAMLCall) doRequest(alt string) (*http.Response, error) {
 10580  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 10581  	var body io.Reader = nil
 10582  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.rbacrolebinding)
 10583  	if err != nil {
 10584  		return nil, err
 10585  	}
 10586  	c.urlParams_.Set("alt", alt)
 10587  	c.urlParams_.Set("prettyPrint", "false")
 10588  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+parent}/rbacrolebindings:generateMembershipRBACRoleBindingYAML")
 10589  	urls += "?" + c.urlParams_.Encode()
 10590  	req, err := http.NewRequest("POST", urls, body)
 10591  	if err != nil {
 10592  		return nil, err
 10593  	}
 10594  	req.Header = reqHeaders
 10595  	googleapi.Expand(req.URL, map[string]string{
 10596  		"parent": c.parent,
 10597  	})
 10598  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10599  }
 10600  
 10601  // Do executes the "gkehub.projects.locations.memberships.rbacrolebindings.generateMembershipRBACRoleBindingYAML" call.
 10602  // Any non-2xx status code is an error. Response headers are in either
 10603  // *GenerateMembershipRBACRoleBindingYAMLResponse.ServerResponse.Header or (if
 10604  // a response was returned at all) in error.(*googleapi.Error).Header. Use
 10605  // googleapi.IsNotModified to check whether the returned error was because
 10606  // http.StatusNotModified was returned.
 10607  func (c *ProjectsLocationsMembershipsRbacrolebindingsGenerateMembershipRBACRoleBindingYAMLCall) Do(opts ...googleapi.CallOption) (*GenerateMembershipRBACRoleBindingYAMLResponse, error) {
 10608  	gensupport.SetOptions(c.urlParams_, opts...)
 10609  	res, err := c.doRequest("json")
 10610  	if res != nil && res.StatusCode == http.StatusNotModified {
 10611  		if res.Body != nil {
 10612  			res.Body.Close()
 10613  		}
 10614  		return nil, gensupport.WrapError(&googleapi.Error{
 10615  			Code:   res.StatusCode,
 10616  			Header: res.Header,
 10617  		})
 10618  	}
 10619  	if err != nil {
 10620  		return nil, err
 10621  	}
 10622  	defer googleapi.CloseBody(res)
 10623  	if err := googleapi.CheckResponse(res); err != nil {
 10624  		return nil, gensupport.WrapError(err)
 10625  	}
 10626  	ret := &GenerateMembershipRBACRoleBindingYAMLResponse{
 10627  		ServerResponse: googleapi.ServerResponse{
 10628  			Header:         res.Header,
 10629  			HTTPStatusCode: res.StatusCode,
 10630  		},
 10631  	}
 10632  	target := &ret
 10633  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10634  		return nil, err
 10635  	}
 10636  	return ret, nil
 10637  }
 10638  
 10639  type ProjectsLocationsMembershipsRbacrolebindingsGetCall struct {
 10640  	s            *Service
 10641  	name         string
 10642  	urlParams_   gensupport.URLParams
 10643  	ifNoneMatch_ string
 10644  	ctx_         context.Context
 10645  	header_      http.Header
 10646  }
 10647  
 10648  // Get: Returns the details of a Membership RBACRoleBinding.
 10649  //
 10650  //   - name: The RBACRoleBinding resource name in the format
 10651  //     `projects/*/locations/*/memberships/*/rbacrolebindings/*`.
 10652  func (r *ProjectsLocationsMembershipsRbacrolebindingsService) Get(name string) *ProjectsLocationsMembershipsRbacrolebindingsGetCall {
 10653  	c := &ProjectsLocationsMembershipsRbacrolebindingsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10654  	c.name = name
 10655  	return c
 10656  }
 10657  
 10658  // Fields allows partial responses to be retrieved. See
 10659  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10660  // details.
 10661  func (c *ProjectsLocationsMembershipsRbacrolebindingsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsMembershipsRbacrolebindingsGetCall {
 10662  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10663  	return c
 10664  }
 10665  
 10666  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 10667  // object's ETag matches the given value. This is useful for getting updates
 10668  // only after the object has changed since the last request.
 10669  func (c *ProjectsLocationsMembershipsRbacrolebindingsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsMembershipsRbacrolebindingsGetCall {
 10670  	c.ifNoneMatch_ = entityTag
 10671  	return c
 10672  }
 10673  
 10674  // Context sets the context to be used in this call's Do method.
 10675  func (c *ProjectsLocationsMembershipsRbacrolebindingsGetCall) Context(ctx context.Context) *ProjectsLocationsMembershipsRbacrolebindingsGetCall {
 10676  	c.ctx_ = ctx
 10677  	return c
 10678  }
 10679  
 10680  // Header returns a http.Header that can be modified by the caller to add
 10681  // headers to the request.
 10682  func (c *ProjectsLocationsMembershipsRbacrolebindingsGetCall) Header() http.Header {
 10683  	if c.header_ == nil {
 10684  		c.header_ = make(http.Header)
 10685  	}
 10686  	return c.header_
 10687  }
 10688  
 10689  func (c *ProjectsLocationsMembershipsRbacrolebindingsGetCall) doRequest(alt string) (*http.Response, error) {
 10690  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 10691  	if c.ifNoneMatch_ != "" {
 10692  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 10693  	}
 10694  	var body io.Reader = nil
 10695  	c.urlParams_.Set("alt", alt)
 10696  	c.urlParams_.Set("prettyPrint", "false")
 10697  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}")
 10698  	urls += "?" + c.urlParams_.Encode()
 10699  	req, err := http.NewRequest("GET", urls, body)
 10700  	if err != nil {
 10701  		return nil, err
 10702  	}
 10703  	req.Header = reqHeaders
 10704  	googleapi.Expand(req.URL, map[string]string{
 10705  		"name": c.name,
 10706  	})
 10707  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10708  }
 10709  
 10710  // Do executes the "gkehub.projects.locations.memberships.rbacrolebindings.get" call.
 10711  // Any non-2xx status code is an error. Response headers are in either
 10712  // *RBACRoleBinding.ServerResponse.Header or (if a response was returned at
 10713  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 10714  // check whether the returned error was because http.StatusNotModified was
 10715  // returned.
 10716  func (c *ProjectsLocationsMembershipsRbacrolebindingsGetCall) Do(opts ...googleapi.CallOption) (*RBACRoleBinding, error) {
 10717  	gensupport.SetOptions(c.urlParams_, opts...)
 10718  	res, err := c.doRequest("json")
 10719  	if res != nil && res.StatusCode == http.StatusNotModified {
 10720  		if res.Body != nil {
 10721  			res.Body.Close()
 10722  		}
 10723  		return nil, gensupport.WrapError(&googleapi.Error{
 10724  			Code:   res.StatusCode,
 10725  			Header: res.Header,
 10726  		})
 10727  	}
 10728  	if err != nil {
 10729  		return nil, err
 10730  	}
 10731  	defer googleapi.CloseBody(res)
 10732  	if err := googleapi.CheckResponse(res); err != nil {
 10733  		return nil, gensupport.WrapError(err)
 10734  	}
 10735  	ret := &RBACRoleBinding{
 10736  		ServerResponse: googleapi.ServerResponse{
 10737  			Header:         res.Header,
 10738  			HTTPStatusCode: res.StatusCode,
 10739  		},
 10740  	}
 10741  	target := &ret
 10742  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10743  		return nil, err
 10744  	}
 10745  	return ret, nil
 10746  }
 10747  
 10748  type ProjectsLocationsMembershipsRbacrolebindingsListCall struct {
 10749  	s            *Service
 10750  	parent       string
 10751  	urlParams_   gensupport.URLParams
 10752  	ifNoneMatch_ string
 10753  	ctx_         context.Context
 10754  	header_      http.Header
 10755  }
 10756  
 10757  // List: Lists all Membership RBACRoleBindings.
 10758  //
 10759  //   - parent: The parent (project and location) where the Features will be
 10760  //     listed. Specified in the format `projects/*/locations/*/memberships/*`.
 10761  func (r *ProjectsLocationsMembershipsRbacrolebindingsService) List(parent string) *ProjectsLocationsMembershipsRbacrolebindingsListCall {
 10762  	c := &ProjectsLocationsMembershipsRbacrolebindingsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10763  	c.parent = parent
 10764  	return c
 10765  }
 10766  
 10767  // PageSize sets the optional parameter "pageSize": When requesting a 'page' of
 10768  // resources, `page_size` specifies number of resources to return. If
 10769  // unspecified or set to 0, all resources will be returned.
 10770  func (c *ProjectsLocationsMembershipsRbacrolebindingsListCall) PageSize(pageSize int64) *ProjectsLocationsMembershipsRbacrolebindingsListCall {
 10771  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 10772  	return c
 10773  }
 10774  
 10775  // PageToken sets the optional parameter "pageToken": Token returned by
 10776  // previous call to `ListMembershipRBACRoleBindings` which specifies the
 10777  // position in the list from where to continue listing the resources.
 10778  func (c *ProjectsLocationsMembershipsRbacrolebindingsListCall) PageToken(pageToken string) *ProjectsLocationsMembershipsRbacrolebindingsListCall {
 10779  	c.urlParams_.Set("pageToken", pageToken)
 10780  	return c
 10781  }
 10782  
 10783  // Fields allows partial responses to be retrieved. See
 10784  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10785  // details.
 10786  func (c *ProjectsLocationsMembershipsRbacrolebindingsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsMembershipsRbacrolebindingsListCall {
 10787  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10788  	return c
 10789  }
 10790  
 10791  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 10792  // object's ETag matches the given value. This is useful for getting updates
 10793  // only after the object has changed since the last request.
 10794  func (c *ProjectsLocationsMembershipsRbacrolebindingsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsMembershipsRbacrolebindingsListCall {
 10795  	c.ifNoneMatch_ = entityTag
 10796  	return c
 10797  }
 10798  
 10799  // Context sets the context to be used in this call's Do method.
 10800  func (c *ProjectsLocationsMembershipsRbacrolebindingsListCall) Context(ctx context.Context) *ProjectsLocationsMembershipsRbacrolebindingsListCall {
 10801  	c.ctx_ = ctx
 10802  	return c
 10803  }
 10804  
 10805  // Header returns a http.Header that can be modified by the caller to add
 10806  // headers to the request.
 10807  func (c *ProjectsLocationsMembershipsRbacrolebindingsListCall) Header() http.Header {
 10808  	if c.header_ == nil {
 10809  		c.header_ = make(http.Header)
 10810  	}
 10811  	return c.header_
 10812  }
 10813  
 10814  func (c *ProjectsLocationsMembershipsRbacrolebindingsListCall) doRequest(alt string) (*http.Response, error) {
 10815  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 10816  	if c.ifNoneMatch_ != "" {
 10817  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 10818  	}
 10819  	var body io.Reader = nil
 10820  	c.urlParams_.Set("alt", alt)
 10821  	c.urlParams_.Set("prettyPrint", "false")
 10822  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+parent}/rbacrolebindings")
 10823  	urls += "?" + c.urlParams_.Encode()
 10824  	req, err := http.NewRequest("GET", urls, body)
 10825  	if err != nil {
 10826  		return nil, err
 10827  	}
 10828  	req.Header = reqHeaders
 10829  	googleapi.Expand(req.URL, map[string]string{
 10830  		"parent": c.parent,
 10831  	})
 10832  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10833  }
 10834  
 10835  // Do executes the "gkehub.projects.locations.memberships.rbacrolebindings.list" call.
 10836  // Any non-2xx status code is an error. Response headers are in either
 10837  // *ListMembershipRBACRoleBindingsResponse.ServerResponse.Header or (if a
 10838  // response was returned at all) in error.(*googleapi.Error).Header. Use
 10839  // googleapi.IsNotModified to check whether the returned error was because
 10840  // http.StatusNotModified was returned.
 10841  func (c *ProjectsLocationsMembershipsRbacrolebindingsListCall) Do(opts ...googleapi.CallOption) (*ListMembershipRBACRoleBindingsResponse, error) {
 10842  	gensupport.SetOptions(c.urlParams_, opts...)
 10843  	res, err := c.doRequest("json")
 10844  	if res != nil && res.StatusCode == http.StatusNotModified {
 10845  		if res.Body != nil {
 10846  			res.Body.Close()
 10847  		}
 10848  		return nil, gensupport.WrapError(&googleapi.Error{
 10849  			Code:   res.StatusCode,
 10850  			Header: res.Header,
 10851  		})
 10852  	}
 10853  	if err != nil {
 10854  		return nil, err
 10855  	}
 10856  	defer googleapi.CloseBody(res)
 10857  	if err := googleapi.CheckResponse(res); err != nil {
 10858  		return nil, gensupport.WrapError(err)
 10859  	}
 10860  	ret := &ListMembershipRBACRoleBindingsResponse{
 10861  		ServerResponse: googleapi.ServerResponse{
 10862  			Header:         res.Header,
 10863  			HTTPStatusCode: res.StatusCode,
 10864  		},
 10865  	}
 10866  	target := &ret
 10867  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10868  		return nil, err
 10869  	}
 10870  	return ret, nil
 10871  }
 10872  
 10873  // Pages invokes f for each page of results.
 10874  // A non-nil error returned from f will halt the iteration.
 10875  // The provided context supersedes any context provided to the Context method.
 10876  func (c *ProjectsLocationsMembershipsRbacrolebindingsListCall) Pages(ctx context.Context, f func(*ListMembershipRBACRoleBindingsResponse) error) error {
 10877  	c.ctx_ = ctx
 10878  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 10879  	for {
 10880  		x, err := c.Do()
 10881  		if err != nil {
 10882  			return err
 10883  		}
 10884  		if err := f(x); err != nil {
 10885  			return err
 10886  		}
 10887  		if x.NextPageToken == "" {
 10888  			return nil
 10889  		}
 10890  		c.PageToken(x.NextPageToken)
 10891  	}
 10892  }
 10893  
 10894  type ProjectsLocationsMembershipsRbacrolebindingsPatchCall struct {
 10895  	s               *Service
 10896  	name            string
 10897  	rbacrolebinding *RBACRoleBinding
 10898  	urlParams_      gensupport.URLParams
 10899  	ctx_            context.Context
 10900  	header_         http.Header
 10901  }
 10902  
 10903  // Patch: Updates a Membership RBACRoleBinding.
 10904  //
 10905  //   - name: The resource name for the rbacrolebinding
 10906  //     `projects/{project}/locations/{location}/scopes/{scope}/rbacrolebindings/{r
 10907  //     bacrolebinding}` or
 10908  //     `projects/{project}/locations/{location}/memberships/{membership}/rbacroleb
 10909  //     indings/{rbacrolebinding}`.
 10910  func (r *ProjectsLocationsMembershipsRbacrolebindingsService) Patch(name string, rbacrolebinding *RBACRoleBinding) *ProjectsLocationsMembershipsRbacrolebindingsPatchCall {
 10911  	c := &ProjectsLocationsMembershipsRbacrolebindingsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10912  	c.name = name
 10913  	c.rbacrolebinding = rbacrolebinding
 10914  	return c
 10915  }
 10916  
 10917  // UpdateMask sets the optional parameter "updateMask": Required. The fields to
 10918  // be updated.
 10919  func (c *ProjectsLocationsMembershipsRbacrolebindingsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsMembershipsRbacrolebindingsPatchCall {
 10920  	c.urlParams_.Set("updateMask", updateMask)
 10921  	return c
 10922  }
 10923  
 10924  // Fields allows partial responses to be retrieved. See
 10925  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10926  // details.
 10927  func (c *ProjectsLocationsMembershipsRbacrolebindingsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsMembershipsRbacrolebindingsPatchCall {
 10928  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10929  	return c
 10930  }
 10931  
 10932  // Context sets the context to be used in this call's Do method.
 10933  func (c *ProjectsLocationsMembershipsRbacrolebindingsPatchCall) Context(ctx context.Context) *ProjectsLocationsMembershipsRbacrolebindingsPatchCall {
 10934  	c.ctx_ = ctx
 10935  	return c
 10936  }
 10937  
 10938  // Header returns a http.Header that can be modified by the caller to add
 10939  // headers to the request.
 10940  func (c *ProjectsLocationsMembershipsRbacrolebindingsPatchCall) Header() http.Header {
 10941  	if c.header_ == nil {
 10942  		c.header_ = make(http.Header)
 10943  	}
 10944  	return c.header_
 10945  }
 10946  
 10947  func (c *ProjectsLocationsMembershipsRbacrolebindingsPatchCall) doRequest(alt string) (*http.Response, error) {
 10948  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 10949  	var body io.Reader = nil
 10950  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.rbacrolebinding)
 10951  	if err != nil {
 10952  		return nil, err
 10953  	}
 10954  	c.urlParams_.Set("alt", alt)
 10955  	c.urlParams_.Set("prettyPrint", "false")
 10956  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}")
 10957  	urls += "?" + c.urlParams_.Encode()
 10958  	req, err := http.NewRequest("PATCH", urls, body)
 10959  	if err != nil {
 10960  		return nil, err
 10961  	}
 10962  	req.Header = reqHeaders
 10963  	googleapi.Expand(req.URL, map[string]string{
 10964  		"name": c.name,
 10965  	})
 10966  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10967  }
 10968  
 10969  // Do executes the "gkehub.projects.locations.memberships.rbacrolebindings.patch" call.
 10970  // Any non-2xx status code is an error. Response headers are in either
 10971  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 10972  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 10973  // whether the returned error was because http.StatusNotModified was returned.
 10974  func (c *ProjectsLocationsMembershipsRbacrolebindingsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 10975  	gensupport.SetOptions(c.urlParams_, opts...)
 10976  	res, err := c.doRequest("json")
 10977  	if res != nil && res.StatusCode == http.StatusNotModified {
 10978  		if res.Body != nil {
 10979  			res.Body.Close()
 10980  		}
 10981  		return nil, gensupport.WrapError(&googleapi.Error{
 10982  			Code:   res.StatusCode,
 10983  			Header: res.Header,
 10984  		})
 10985  	}
 10986  	if err != nil {
 10987  		return nil, err
 10988  	}
 10989  	defer googleapi.CloseBody(res)
 10990  	if err := googleapi.CheckResponse(res); err != nil {
 10991  		return nil, gensupport.WrapError(err)
 10992  	}
 10993  	ret := &Operation{
 10994  		ServerResponse: googleapi.ServerResponse{
 10995  			Header:         res.Header,
 10996  			HTTPStatusCode: res.StatusCode,
 10997  		},
 10998  	}
 10999  	target := &ret
 11000  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11001  		return nil, err
 11002  	}
 11003  	return ret, nil
 11004  }
 11005  
 11006  type ProjectsLocationsOperationsCancelCall struct {
 11007  	s                      *Service
 11008  	name                   string
 11009  	canceloperationrequest *CancelOperationRequest
 11010  	urlParams_             gensupport.URLParams
 11011  	ctx_                   context.Context
 11012  	header_                http.Header
 11013  }
 11014  
 11015  // Cancel: Starts asynchronous cancellation on a long-running operation. The
 11016  // server makes a best effort to cancel the operation, but success is not
 11017  // guaranteed. If the server doesn't support this method, it returns
 11018  // `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
 11019  // other methods to check whether the cancellation succeeded or whether the
 11020  // operation completed despite cancellation. On successful cancellation, the
 11021  // operation is not deleted; instead, it becomes an operation with an
 11022  // Operation.error value with a google.rpc.Status.code of 1, corresponding to
 11023  // `Code.CANCELLED`.
 11024  //
 11025  // - name: The name of the operation resource to be cancelled.
 11026  func (r *ProjectsLocationsOperationsService) Cancel(name string, canceloperationrequest *CancelOperationRequest) *ProjectsLocationsOperationsCancelCall {
 11027  	c := &ProjectsLocationsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11028  	c.name = name
 11029  	c.canceloperationrequest = canceloperationrequest
 11030  	return c
 11031  }
 11032  
 11033  // Fields allows partial responses to be retrieved. See
 11034  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11035  // details.
 11036  func (c *ProjectsLocationsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsCancelCall {
 11037  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11038  	return c
 11039  }
 11040  
 11041  // Context sets the context to be used in this call's Do method.
 11042  func (c *ProjectsLocationsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsOperationsCancelCall {
 11043  	c.ctx_ = ctx
 11044  	return c
 11045  }
 11046  
 11047  // Header returns a http.Header that can be modified by the caller to add
 11048  // headers to the request.
 11049  func (c *ProjectsLocationsOperationsCancelCall) Header() http.Header {
 11050  	if c.header_ == nil {
 11051  		c.header_ = make(http.Header)
 11052  	}
 11053  	return c.header_
 11054  }
 11055  
 11056  func (c *ProjectsLocationsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 11057  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 11058  	var body io.Reader = nil
 11059  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.canceloperationrequest)
 11060  	if err != nil {
 11061  		return nil, err
 11062  	}
 11063  	c.urlParams_.Set("alt", alt)
 11064  	c.urlParams_.Set("prettyPrint", "false")
 11065  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}:cancel")
 11066  	urls += "?" + c.urlParams_.Encode()
 11067  	req, err := http.NewRequest("POST", urls, body)
 11068  	if err != nil {
 11069  		return nil, err
 11070  	}
 11071  	req.Header = reqHeaders
 11072  	googleapi.Expand(req.URL, map[string]string{
 11073  		"name": c.name,
 11074  	})
 11075  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11076  }
 11077  
 11078  // Do executes the "gkehub.projects.locations.operations.cancel" call.
 11079  // Any non-2xx status code is an error. Response headers are in either
 11080  // *Empty.ServerResponse.Header or (if a response was returned at all) in
 11081  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 11082  // whether the returned error was because http.StatusNotModified was returned.
 11083  func (c *ProjectsLocationsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
 11084  	gensupport.SetOptions(c.urlParams_, opts...)
 11085  	res, err := c.doRequest("json")
 11086  	if res != nil && res.StatusCode == http.StatusNotModified {
 11087  		if res.Body != nil {
 11088  			res.Body.Close()
 11089  		}
 11090  		return nil, gensupport.WrapError(&googleapi.Error{
 11091  			Code:   res.StatusCode,
 11092  			Header: res.Header,
 11093  		})
 11094  	}
 11095  	if err != nil {
 11096  		return nil, err
 11097  	}
 11098  	defer googleapi.CloseBody(res)
 11099  	if err := googleapi.CheckResponse(res); err != nil {
 11100  		return nil, gensupport.WrapError(err)
 11101  	}
 11102  	ret := &Empty{
 11103  		ServerResponse: googleapi.ServerResponse{
 11104  			Header:         res.Header,
 11105  			HTTPStatusCode: res.StatusCode,
 11106  		},
 11107  	}
 11108  	target := &ret
 11109  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11110  		return nil, err
 11111  	}
 11112  	return ret, nil
 11113  }
 11114  
 11115  type ProjectsLocationsOperationsDeleteCall struct {
 11116  	s          *Service
 11117  	name       string
 11118  	urlParams_ gensupport.URLParams
 11119  	ctx_       context.Context
 11120  	header_    http.Header
 11121  }
 11122  
 11123  // Delete: Deletes a long-running operation. This method indicates that the
 11124  // client is no longer interested in the operation result. It does not cancel
 11125  // the operation. If the server doesn't support this method, it returns
 11126  // `google.rpc.Code.UNIMPLEMENTED`.
 11127  //
 11128  // - name: The name of the operation resource to be deleted.
 11129  func (r *ProjectsLocationsOperationsService) Delete(name string) *ProjectsLocationsOperationsDeleteCall {
 11130  	c := &ProjectsLocationsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11131  	c.name = name
 11132  	return c
 11133  }
 11134  
 11135  // Fields allows partial responses to be retrieved. See
 11136  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11137  // details.
 11138  func (c *ProjectsLocationsOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsDeleteCall {
 11139  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11140  	return c
 11141  }
 11142  
 11143  // Context sets the context to be used in this call's Do method.
 11144  func (c *ProjectsLocationsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsOperationsDeleteCall {
 11145  	c.ctx_ = ctx
 11146  	return c
 11147  }
 11148  
 11149  // Header returns a http.Header that can be modified by the caller to add
 11150  // headers to the request.
 11151  func (c *ProjectsLocationsOperationsDeleteCall) Header() http.Header {
 11152  	if c.header_ == nil {
 11153  		c.header_ = make(http.Header)
 11154  	}
 11155  	return c.header_
 11156  }
 11157  
 11158  func (c *ProjectsLocationsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 11159  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 11160  	var body io.Reader = nil
 11161  	c.urlParams_.Set("alt", alt)
 11162  	c.urlParams_.Set("prettyPrint", "false")
 11163  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}")
 11164  	urls += "?" + c.urlParams_.Encode()
 11165  	req, err := http.NewRequest("DELETE", urls, body)
 11166  	if err != nil {
 11167  		return nil, err
 11168  	}
 11169  	req.Header = reqHeaders
 11170  	googleapi.Expand(req.URL, map[string]string{
 11171  		"name": c.name,
 11172  	})
 11173  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11174  }
 11175  
 11176  // Do executes the "gkehub.projects.locations.operations.delete" call.
 11177  // Any non-2xx status code is an error. Response headers are in either
 11178  // *Empty.ServerResponse.Header or (if a response was returned at all) in
 11179  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 11180  // whether the returned error was because http.StatusNotModified was returned.
 11181  func (c *ProjectsLocationsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
 11182  	gensupport.SetOptions(c.urlParams_, opts...)
 11183  	res, err := c.doRequest("json")
 11184  	if res != nil && res.StatusCode == http.StatusNotModified {
 11185  		if res.Body != nil {
 11186  			res.Body.Close()
 11187  		}
 11188  		return nil, gensupport.WrapError(&googleapi.Error{
 11189  			Code:   res.StatusCode,
 11190  			Header: res.Header,
 11191  		})
 11192  	}
 11193  	if err != nil {
 11194  		return nil, err
 11195  	}
 11196  	defer googleapi.CloseBody(res)
 11197  	if err := googleapi.CheckResponse(res); err != nil {
 11198  		return nil, gensupport.WrapError(err)
 11199  	}
 11200  	ret := &Empty{
 11201  		ServerResponse: googleapi.ServerResponse{
 11202  			Header:         res.Header,
 11203  			HTTPStatusCode: res.StatusCode,
 11204  		},
 11205  	}
 11206  	target := &ret
 11207  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11208  		return nil, err
 11209  	}
 11210  	return ret, nil
 11211  }
 11212  
 11213  type ProjectsLocationsOperationsGetCall struct {
 11214  	s            *Service
 11215  	name         string
 11216  	urlParams_   gensupport.URLParams
 11217  	ifNoneMatch_ string
 11218  	ctx_         context.Context
 11219  	header_      http.Header
 11220  }
 11221  
 11222  // Get: Gets the latest state of a long-running operation. Clients can use this
 11223  // method to poll the operation result at intervals as recommended by the API
 11224  // service.
 11225  //
 11226  // - name: The name of the operation resource.
 11227  func (r *ProjectsLocationsOperationsService) Get(name string) *ProjectsLocationsOperationsGetCall {
 11228  	c := &ProjectsLocationsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11229  	c.name = name
 11230  	return c
 11231  }
 11232  
 11233  // Fields allows partial responses to be retrieved. See
 11234  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11235  // details.
 11236  func (c *ProjectsLocationsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsGetCall {
 11237  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11238  	return c
 11239  }
 11240  
 11241  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 11242  // object's ETag matches the given value. This is useful for getting updates
 11243  // only after the object has changed since the last request.
 11244  func (c *ProjectsLocationsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsOperationsGetCall {
 11245  	c.ifNoneMatch_ = entityTag
 11246  	return c
 11247  }
 11248  
 11249  // Context sets the context to be used in this call's Do method.
 11250  func (c *ProjectsLocationsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsOperationsGetCall {
 11251  	c.ctx_ = ctx
 11252  	return c
 11253  }
 11254  
 11255  // Header returns a http.Header that can be modified by the caller to add
 11256  // headers to the request.
 11257  func (c *ProjectsLocationsOperationsGetCall) Header() http.Header {
 11258  	if c.header_ == nil {
 11259  		c.header_ = make(http.Header)
 11260  	}
 11261  	return c.header_
 11262  }
 11263  
 11264  func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 11265  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 11266  	if c.ifNoneMatch_ != "" {
 11267  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 11268  	}
 11269  	var body io.Reader = nil
 11270  	c.urlParams_.Set("alt", alt)
 11271  	c.urlParams_.Set("prettyPrint", "false")
 11272  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}")
 11273  	urls += "?" + c.urlParams_.Encode()
 11274  	req, err := http.NewRequest("GET", urls, body)
 11275  	if err != nil {
 11276  		return nil, err
 11277  	}
 11278  	req.Header = reqHeaders
 11279  	googleapi.Expand(req.URL, map[string]string{
 11280  		"name": c.name,
 11281  	})
 11282  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11283  }
 11284  
 11285  // Do executes the "gkehub.projects.locations.operations.get" call.
 11286  // Any non-2xx status code is an error. Response headers are in either
 11287  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 11288  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 11289  // whether the returned error was because http.StatusNotModified was returned.
 11290  func (c *ProjectsLocationsOperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 11291  	gensupport.SetOptions(c.urlParams_, opts...)
 11292  	res, err := c.doRequest("json")
 11293  	if res != nil && res.StatusCode == http.StatusNotModified {
 11294  		if res.Body != nil {
 11295  			res.Body.Close()
 11296  		}
 11297  		return nil, gensupport.WrapError(&googleapi.Error{
 11298  			Code:   res.StatusCode,
 11299  			Header: res.Header,
 11300  		})
 11301  	}
 11302  	if err != nil {
 11303  		return nil, err
 11304  	}
 11305  	defer googleapi.CloseBody(res)
 11306  	if err := googleapi.CheckResponse(res); err != nil {
 11307  		return nil, gensupport.WrapError(err)
 11308  	}
 11309  	ret := &Operation{
 11310  		ServerResponse: googleapi.ServerResponse{
 11311  			Header:         res.Header,
 11312  			HTTPStatusCode: res.StatusCode,
 11313  		},
 11314  	}
 11315  	target := &ret
 11316  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11317  		return nil, err
 11318  	}
 11319  	return ret, nil
 11320  }
 11321  
 11322  type ProjectsLocationsOperationsListCall struct {
 11323  	s            *Service
 11324  	name         string
 11325  	urlParams_   gensupport.URLParams
 11326  	ifNoneMatch_ string
 11327  	ctx_         context.Context
 11328  	header_      http.Header
 11329  }
 11330  
 11331  // List: Lists operations that match the specified filter in the request. If
 11332  // the server doesn't support this method, it returns `UNIMPLEMENTED`.
 11333  //
 11334  // - name: The name of the operation's parent resource.
 11335  func (r *ProjectsLocationsOperationsService) List(name string) *ProjectsLocationsOperationsListCall {
 11336  	c := &ProjectsLocationsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11337  	c.name = name
 11338  	return c
 11339  }
 11340  
 11341  // Filter sets the optional parameter "filter": The standard list filter.
 11342  func (c *ProjectsLocationsOperationsListCall) Filter(filter string) *ProjectsLocationsOperationsListCall {
 11343  	c.urlParams_.Set("filter", filter)
 11344  	return c
 11345  }
 11346  
 11347  // PageSize sets the optional parameter "pageSize": The standard list page
 11348  // size.
 11349  func (c *ProjectsLocationsOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsOperationsListCall {
 11350  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 11351  	return c
 11352  }
 11353  
 11354  // PageToken sets the optional parameter "pageToken": The standard list page
 11355  // token.
 11356  func (c *ProjectsLocationsOperationsListCall) PageToken(pageToken string) *ProjectsLocationsOperationsListCall {
 11357  	c.urlParams_.Set("pageToken", pageToken)
 11358  	return c
 11359  }
 11360  
 11361  // Fields allows partial responses to be retrieved. See
 11362  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11363  // details.
 11364  func (c *ProjectsLocationsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsListCall {
 11365  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11366  	return c
 11367  }
 11368  
 11369  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 11370  // object's ETag matches the given value. This is useful for getting updates
 11371  // only after the object has changed since the last request.
 11372  func (c *ProjectsLocationsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsOperationsListCall {
 11373  	c.ifNoneMatch_ = entityTag
 11374  	return c
 11375  }
 11376  
 11377  // Context sets the context to be used in this call's Do method.
 11378  func (c *ProjectsLocationsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsOperationsListCall {
 11379  	c.ctx_ = ctx
 11380  	return c
 11381  }
 11382  
 11383  // Header returns a http.Header that can be modified by the caller to add
 11384  // headers to the request.
 11385  func (c *ProjectsLocationsOperationsListCall) Header() http.Header {
 11386  	if c.header_ == nil {
 11387  		c.header_ = make(http.Header)
 11388  	}
 11389  	return c.header_
 11390  }
 11391  
 11392  func (c *ProjectsLocationsOperationsListCall) doRequest(alt string) (*http.Response, error) {
 11393  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 11394  	if c.ifNoneMatch_ != "" {
 11395  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 11396  	}
 11397  	var body io.Reader = nil
 11398  	c.urlParams_.Set("alt", alt)
 11399  	c.urlParams_.Set("prettyPrint", "false")
 11400  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}/operations")
 11401  	urls += "?" + c.urlParams_.Encode()
 11402  	req, err := http.NewRequest("GET", urls, body)
 11403  	if err != nil {
 11404  		return nil, err
 11405  	}
 11406  	req.Header = reqHeaders
 11407  	googleapi.Expand(req.URL, map[string]string{
 11408  		"name": c.name,
 11409  	})
 11410  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11411  }
 11412  
 11413  // Do executes the "gkehub.projects.locations.operations.list" call.
 11414  // Any non-2xx status code is an error. Response headers are in either
 11415  // *ListOperationsResponse.ServerResponse.Header or (if a response was returned
 11416  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 11417  // check whether the returned error was because http.StatusNotModified was
 11418  // returned.
 11419  func (c *ProjectsLocationsOperationsListCall) Do(opts ...googleapi.CallOption) (*ListOperationsResponse, error) {
 11420  	gensupport.SetOptions(c.urlParams_, opts...)
 11421  	res, err := c.doRequest("json")
 11422  	if res != nil && res.StatusCode == http.StatusNotModified {
 11423  		if res.Body != nil {
 11424  			res.Body.Close()
 11425  		}
 11426  		return nil, gensupport.WrapError(&googleapi.Error{
 11427  			Code:   res.StatusCode,
 11428  			Header: res.Header,
 11429  		})
 11430  	}
 11431  	if err != nil {
 11432  		return nil, err
 11433  	}
 11434  	defer googleapi.CloseBody(res)
 11435  	if err := googleapi.CheckResponse(res); err != nil {
 11436  		return nil, gensupport.WrapError(err)
 11437  	}
 11438  	ret := &ListOperationsResponse{
 11439  		ServerResponse: googleapi.ServerResponse{
 11440  			Header:         res.Header,
 11441  			HTTPStatusCode: res.StatusCode,
 11442  		},
 11443  	}
 11444  	target := &ret
 11445  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11446  		return nil, err
 11447  	}
 11448  	return ret, nil
 11449  }
 11450  
 11451  // Pages invokes f for each page of results.
 11452  // A non-nil error returned from f will halt the iteration.
 11453  // The provided context supersedes any context provided to the Context method.
 11454  func (c *ProjectsLocationsOperationsListCall) Pages(ctx context.Context, f func(*ListOperationsResponse) error) error {
 11455  	c.ctx_ = ctx
 11456  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 11457  	for {
 11458  		x, err := c.Do()
 11459  		if err != nil {
 11460  			return err
 11461  		}
 11462  		if err := f(x); err != nil {
 11463  			return err
 11464  		}
 11465  		if x.NextPageToken == "" {
 11466  			return nil
 11467  		}
 11468  		c.PageToken(x.NextPageToken)
 11469  	}
 11470  }
 11471  
 11472  type ProjectsLocationsScopesCreateCall struct {
 11473  	s          *Service
 11474  	parent     string
 11475  	scope      *Scope
 11476  	urlParams_ gensupport.URLParams
 11477  	ctx_       context.Context
 11478  	header_    http.Header
 11479  }
 11480  
 11481  // Create: Creates a Scope.
 11482  //
 11483  //   - parent: The parent (project and location) where the Scope will be created.
 11484  //     Specified in the format `projects/*/locations/*`.
 11485  func (r *ProjectsLocationsScopesService) Create(parent string, scope *Scope) *ProjectsLocationsScopesCreateCall {
 11486  	c := &ProjectsLocationsScopesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11487  	c.parent = parent
 11488  	c.scope = scope
 11489  	return c
 11490  }
 11491  
 11492  // ScopeId sets the optional parameter "scopeId": Required. Client chosen ID
 11493  // for the Scope. `scope_id` must be a ????
 11494  func (c *ProjectsLocationsScopesCreateCall) ScopeId(scopeId string) *ProjectsLocationsScopesCreateCall {
 11495  	c.urlParams_.Set("scopeId", scopeId)
 11496  	return c
 11497  }
 11498  
 11499  // Fields allows partial responses to be retrieved. See
 11500  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11501  // details.
 11502  func (c *ProjectsLocationsScopesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsScopesCreateCall {
 11503  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11504  	return c
 11505  }
 11506  
 11507  // Context sets the context to be used in this call's Do method.
 11508  func (c *ProjectsLocationsScopesCreateCall) Context(ctx context.Context) *ProjectsLocationsScopesCreateCall {
 11509  	c.ctx_ = ctx
 11510  	return c
 11511  }
 11512  
 11513  // Header returns a http.Header that can be modified by the caller to add
 11514  // headers to the request.
 11515  func (c *ProjectsLocationsScopesCreateCall) Header() http.Header {
 11516  	if c.header_ == nil {
 11517  		c.header_ = make(http.Header)
 11518  	}
 11519  	return c.header_
 11520  }
 11521  
 11522  func (c *ProjectsLocationsScopesCreateCall) doRequest(alt string) (*http.Response, error) {
 11523  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 11524  	var body io.Reader = nil
 11525  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.scope)
 11526  	if err != nil {
 11527  		return nil, err
 11528  	}
 11529  	c.urlParams_.Set("alt", alt)
 11530  	c.urlParams_.Set("prettyPrint", "false")
 11531  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+parent}/scopes")
 11532  	urls += "?" + c.urlParams_.Encode()
 11533  	req, err := http.NewRequest("POST", urls, body)
 11534  	if err != nil {
 11535  		return nil, err
 11536  	}
 11537  	req.Header = reqHeaders
 11538  	googleapi.Expand(req.URL, map[string]string{
 11539  		"parent": c.parent,
 11540  	})
 11541  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11542  }
 11543  
 11544  // Do executes the "gkehub.projects.locations.scopes.create" call.
 11545  // Any non-2xx status code is an error. Response headers are in either
 11546  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 11547  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 11548  // whether the returned error was because http.StatusNotModified was returned.
 11549  func (c *ProjectsLocationsScopesCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 11550  	gensupport.SetOptions(c.urlParams_, opts...)
 11551  	res, err := c.doRequest("json")
 11552  	if res != nil && res.StatusCode == http.StatusNotModified {
 11553  		if res.Body != nil {
 11554  			res.Body.Close()
 11555  		}
 11556  		return nil, gensupport.WrapError(&googleapi.Error{
 11557  			Code:   res.StatusCode,
 11558  			Header: res.Header,
 11559  		})
 11560  	}
 11561  	if err != nil {
 11562  		return nil, err
 11563  	}
 11564  	defer googleapi.CloseBody(res)
 11565  	if err := googleapi.CheckResponse(res); err != nil {
 11566  		return nil, gensupport.WrapError(err)
 11567  	}
 11568  	ret := &Operation{
 11569  		ServerResponse: googleapi.ServerResponse{
 11570  			Header:         res.Header,
 11571  			HTTPStatusCode: res.StatusCode,
 11572  		},
 11573  	}
 11574  	target := &ret
 11575  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11576  		return nil, err
 11577  	}
 11578  	return ret, nil
 11579  }
 11580  
 11581  type ProjectsLocationsScopesDeleteCall struct {
 11582  	s          *Service
 11583  	name       string
 11584  	urlParams_ gensupport.URLParams
 11585  	ctx_       context.Context
 11586  	header_    http.Header
 11587  }
 11588  
 11589  // Delete: Deletes a Scope.
 11590  //
 11591  //   - name: The Scope resource name in the format
 11592  //     `projects/*/locations/*/scopes/*`.
 11593  func (r *ProjectsLocationsScopesService) Delete(name string) *ProjectsLocationsScopesDeleteCall {
 11594  	c := &ProjectsLocationsScopesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11595  	c.name = name
 11596  	return c
 11597  }
 11598  
 11599  // Fields allows partial responses to be retrieved. See
 11600  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11601  // details.
 11602  func (c *ProjectsLocationsScopesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsScopesDeleteCall {
 11603  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11604  	return c
 11605  }
 11606  
 11607  // Context sets the context to be used in this call's Do method.
 11608  func (c *ProjectsLocationsScopesDeleteCall) Context(ctx context.Context) *ProjectsLocationsScopesDeleteCall {
 11609  	c.ctx_ = ctx
 11610  	return c
 11611  }
 11612  
 11613  // Header returns a http.Header that can be modified by the caller to add
 11614  // headers to the request.
 11615  func (c *ProjectsLocationsScopesDeleteCall) Header() http.Header {
 11616  	if c.header_ == nil {
 11617  		c.header_ = make(http.Header)
 11618  	}
 11619  	return c.header_
 11620  }
 11621  
 11622  func (c *ProjectsLocationsScopesDeleteCall) doRequest(alt string) (*http.Response, error) {
 11623  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 11624  	var body io.Reader = nil
 11625  	c.urlParams_.Set("alt", alt)
 11626  	c.urlParams_.Set("prettyPrint", "false")
 11627  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}")
 11628  	urls += "?" + c.urlParams_.Encode()
 11629  	req, err := http.NewRequest("DELETE", urls, body)
 11630  	if err != nil {
 11631  		return nil, err
 11632  	}
 11633  	req.Header = reqHeaders
 11634  	googleapi.Expand(req.URL, map[string]string{
 11635  		"name": c.name,
 11636  	})
 11637  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11638  }
 11639  
 11640  // Do executes the "gkehub.projects.locations.scopes.delete" call.
 11641  // Any non-2xx status code is an error. Response headers are in either
 11642  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 11643  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 11644  // whether the returned error was because http.StatusNotModified was returned.
 11645  func (c *ProjectsLocationsScopesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 11646  	gensupport.SetOptions(c.urlParams_, opts...)
 11647  	res, err := c.doRequest("json")
 11648  	if res != nil && res.StatusCode == http.StatusNotModified {
 11649  		if res.Body != nil {
 11650  			res.Body.Close()
 11651  		}
 11652  		return nil, gensupport.WrapError(&googleapi.Error{
 11653  			Code:   res.StatusCode,
 11654  			Header: res.Header,
 11655  		})
 11656  	}
 11657  	if err != nil {
 11658  		return nil, err
 11659  	}
 11660  	defer googleapi.CloseBody(res)
 11661  	if err := googleapi.CheckResponse(res); err != nil {
 11662  		return nil, gensupport.WrapError(err)
 11663  	}
 11664  	ret := &Operation{
 11665  		ServerResponse: googleapi.ServerResponse{
 11666  			Header:         res.Header,
 11667  			HTTPStatusCode: res.StatusCode,
 11668  		},
 11669  	}
 11670  	target := &ret
 11671  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11672  		return nil, err
 11673  	}
 11674  	return ret, nil
 11675  }
 11676  
 11677  type ProjectsLocationsScopesGetCall struct {
 11678  	s            *Service
 11679  	name         string
 11680  	urlParams_   gensupport.URLParams
 11681  	ifNoneMatch_ string
 11682  	ctx_         context.Context
 11683  	header_      http.Header
 11684  }
 11685  
 11686  // Get: Returns the details of a Scope.
 11687  //
 11688  //   - name: The Scope resource name in the format
 11689  //     `projects/*/locations/*/scopes/*`.
 11690  func (r *ProjectsLocationsScopesService) Get(name string) *ProjectsLocationsScopesGetCall {
 11691  	c := &ProjectsLocationsScopesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11692  	c.name = name
 11693  	return c
 11694  }
 11695  
 11696  // Fields allows partial responses to be retrieved. See
 11697  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11698  // details.
 11699  func (c *ProjectsLocationsScopesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsScopesGetCall {
 11700  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11701  	return c
 11702  }
 11703  
 11704  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 11705  // object's ETag matches the given value. This is useful for getting updates
 11706  // only after the object has changed since the last request.
 11707  func (c *ProjectsLocationsScopesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsScopesGetCall {
 11708  	c.ifNoneMatch_ = entityTag
 11709  	return c
 11710  }
 11711  
 11712  // Context sets the context to be used in this call's Do method.
 11713  func (c *ProjectsLocationsScopesGetCall) Context(ctx context.Context) *ProjectsLocationsScopesGetCall {
 11714  	c.ctx_ = ctx
 11715  	return c
 11716  }
 11717  
 11718  // Header returns a http.Header that can be modified by the caller to add
 11719  // headers to the request.
 11720  func (c *ProjectsLocationsScopesGetCall) Header() http.Header {
 11721  	if c.header_ == nil {
 11722  		c.header_ = make(http.Header)
 11723  	}
 11724  	return c.header_
 11725  }
 11726  
 11727  func (c *ProjectsLocationsScopesGetCall) doRequest(alt string) (*http.Response, error) {
 11728  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 11729  	if c.ifNoneMatch_ != "" {
 11730  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 11731  	}
 11732  	var body io.Reader = nil
 11733  	c.urlParams_.Set("alt", alt)
 11734  	c.urlParams_.Set("prettyPrint", "false")
 11735  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}")
 11736  	urls += "?" + c.urlParams_.Encode()
 11737  	req, err := http.NewRequest("GET", urls, body)
 11738  	if err != nil {
 11739  		return nil, err
 11740  	}
 11741  	req.Header = reqHeaders
 11742  	googleapi.Expand(req.URL, map[string]string{
 11743  		"name": c.name,
 11744  	})
 11745  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11746  }
 11747  
 11748  // Do executes the "gkehub.projects.locations.scopes.get" call.
 11749  // Any non-2xx status code is an error. Response headers are in either
 11750  // *Scope.ServerResponse.Header or (if a response was returned at all) in
 11751  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 11752  // whether the returned error was because http.StatusNotModified was returned.
 11753  func (c *ProjectsLocationsScopesGetCall) Do(opts ...googleapi.CallOption) (*Scope, error) {
 11754  	gensupport.SetOptions(c.urlParams_, opts...)
 11755  	res, err := c.doRequest("json")
 11756  	if res != nil && res.StatusCode == http.StatusNotModified {
 11757  		if res.Body != nil {
 11758  			res.Body.Close()
 11759  		}
 11760  		return nil, gensupport.WrapError(&googleapi.Error{
 11761  			Code:   res.StatusCode,
 11762  			Header: res.Header,
 11763  		})
 11764  	}
 11765  	if err != nil {
 11766  		return nil, err
 11767  	}
 11768  	defer googleapi.CloseBody(res)
 11769  	if err := googleapi.CheckResponse(res); err != nil {
 11770  		return nil, gensupport.WrapError(err)
 11771  	}
 11772  	ret := &Scope{
 11773  		ServerResponse: googleapi.ServerResponse{
 11774  			Header:         res.Header,
 11775  			HTTPStatusCode: res.StatusCode,
 11776  		},
 11777  	}
 11778  	target := &ret
 11779  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11780  		return nil, err
 11781  	}
 11782  	return ret, nil
 11783  }
 11784  
 11785  type ProjectsLocationsScopesGetIamPolicyCall struct {
 11786  	s            *Service
 11787  	resource     string
 11788  	urlParams_   gensupport.URLParams
 11789  	ifNoneMatch_ string
 11790  	ctx_         context.Context
 11791  	header_      http.Header
 11792  }
 11793  
 11794  // GetIamPolicy: Gets the access control policy for a resource. Returns an
 11795  // empty policy if the resource exists and does not have a policy set.
 11796  //
 11797  //   - resource: REQUIRED: The resource for which the policy is being requested.
 11798  //     See Resource names (https://cloud.google.com/apis/design/resource_names)
 11799  //     for the appropriate value for this field.
 11800  func (r *ProjectsLocationsScopesService) GetIamPolicy(resource string) *ProjectsLocationsScopesGetIamPolicyCall {
 11801  	c := &ProjectsLocationsScopesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11802  	c.resource = resource
 11803  	return c
 11804  }
 11805  
 11806  // OptionsRequestedPolicyVersion sets the optional parameter
 11807  // "options.requestedPolicyVersion": The maximum policy version that will be
 11808  // used to format the policy. Valid values are 0, 1, and 3. Requests specifying
 11809  // an invalid value will be rejected. Requests for policies with any
 11810  // conditional role bindings must specify version 3. Policies with no
 11811  // conditional role bindings may specify any valid value or leave the field
 11812  // unset. The policy in the response might use the policy version that you
 11813  // specified, or it might use a lower policy version. For example, if you
 11814  // specify version 3, but the policy has no conditional role bindings, the
 11815  // response uses version 1. To learn which resources support conditions in
 11816  // their IAM policies, see the IAM documentation
 11817  // (https://cloud.google.com/iam/help/conditions/resource-policies).
 11818  func (c *ProjectsLocationsScopesGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsScopesGetIamPolicyCall {
 11819  	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
 11820  	return c
 11821  }
 11822  
 11823  // Fields allows partial responses to be retrieved. See
 11824  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11825  // details.
 11826  func (c *ProjectsLocationsScopesGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsScopesGetIamPolicyCall {
 11827  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11828  	return c
 11829  }
 11830  
 11831  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 11832  // object's ETag matches the given value. This is useful for getting updates
 11833  // only after the object has changed since the last request.
 11834  func (c *ProjectsLocationsScopesGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsLocationsScopesGetIamPolicyCall {
 11835  	c.ifNoneMatch_ = entityTag
 11836  	return c
 11837  }
 11838  
 11839  // Context sets the context to be used in this call's Do method.
 11840  func (c *ProjectsLocationsScopesGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsScopesGetIamPolicyCall {
 11841  	c.ctx_ = ctx
 11842  	return c
 11843  }
 11844  
 11845  // Header returns a http.Header that can be modified by the caller to add
 11846  // headers to the request.
 11847  func (c *ProjectsLocationsScopesGetIamPolicyCall) Header() http.Header {
 11848  	if c.header_ == nil {
 11849  		c.header_ = make(http.Header)
 11850  	}
 11851  	return c.header_
 11852  }
 11853  
 11854  func (c *ProjectsLocationsScopesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 11855  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 11856  	if c.ifNoneMatch_ != "" {
 11857  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 11858  	}
 11859  	var body io.Reader = nil
 11860  	c.urlParams_.Set("alt", alt)
 11861  	c.urlParams_.Set("prettyPrint", "false")
 11862  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+resource}:getIamPolicy")
 11863  	urls += "?" + c.urlParams_.Encode()
 11864  	req, err := http.NewRequest("GET", urls, body)
 11865  	if err != nil {
 11866  		return nil, err
 11867  	}
 11868  	req.Header = reqHeaders
 11869  	googleapi.Expand(req.URL, map[string]string{
 11870  		"resource": c.resource,
 11871  	})
 11872  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11873  }
 11874  
 11875  // Do executes the "gkehub.projects.locations.scopes.getIamPolicy" call.
 11876  // Any non-2xx status code is an error. Response headers are in either
 11877  // *Policy.ServerResponse.Header or (if a response was returned at all) in
 11878  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 11879  // whether the returned error was because http.StatusNotModified was returned.
 11880  func (c *ProjectsLocationsScopesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
 11881  	gensupport.SetOptions(c.urlParams_, opts...)
 11882  	res, err := c.doRequest("json")
 11883  	if res != nil && res.StatusCode == http.StatusNotModified {
 11884  		if res.Body != nil {
 11885  			res.Body.Close()
 11886  		}
 11887  		return nil, gensupport.WrapError(&googleapi.Error{
 11888  			Code:   res.StatusCode,
 11889  			Header: res.Header,
 11890  		})
 11891  	}
 11892  	if err != nil {
 11893  		return nil, err
 11894  	}
 11895  	defer googleapi.CloseBody(res)
 11896  	if err := googleapi.CheckResponse(res); err != nil {
 11897  		return nil, gensupport.WrapError(err)
 11898  	}
 11899  	ret := &Policy{
 11900  		ServerResponse: googleapi.ServerResponse{
 11901  			Header:         res.Header,
 11902  			HTTPStatusCode: res.StatusCode,
 11903  		},
 11904  	}
 11905  	target := &ret
 11906  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11907  		return nil, err
 11908  	}
 11909  	return ret, nil
 11910  }
 11911  
 11912  type ProjectsLocationsScopesListCall struct {
 11913  	s            *Service
 11914  	parent       string
 11915  	urlParams_   gensupport.URLParams
 11916  	ifNoneMatch_ string
 11917  	ctx_         context.Context
 11918  	header_      http.Header
 11919  }
 11920  
 11921  // List: Lists Scopes.
 11922  //
 11923  //   - parent: The parent (project and location) where the Scope will be listed.
 11924  //     Specified in the format `projects/*/locations/*`.
 11925  func (r *ProjectsLocationsScopesService) List(parent string) *ProjectsLocationsScopesListCall {
 11926  	c := &ProjectsLocationsScopesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11927  	c.parent = parent
 11928  	return c
 11929  }
 11930  
 11931  // PageSize sets the optional parameter "pageSize": When requesting a 'page' of
 11932  // resources, `page_size` specifies number of resources to return. If
 11933  // unspecified or set to 0, all resources will be returned.
 11934  func (c *ProjectsLocationsScopesListCall) PageSize(pageSize int64) *ProjectsLocationsScopesListCall {
 11935  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 11936  	return c
 11937  }
 11938  
 11939  // PageToken sets the optional parameter "pageToken": Token returned by
 11940  // previous call to `ListScopes` which specifies the position in the list from
 11941  // where to continue listing the resources.
 11942  func (c *ProjectsLocationsScopesListCall) PageToken(pageToken string) *ProjectsLocationsScopesListCall {
 11943  	c.urlParams_.Set("pageToken", pageToken)
 11944  	return c
 11945  }
 11946  
 11947  // Fields allows partial responses to be retrieved. See
 11948  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11949  // details.
 11950  func (c *ProjectsLocationsScopesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsScopesListCall {
 11951  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11952  	return c
 11953  }
 11954  
 11955  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 11956  // object's ETag matches the given value. This is useful for getting updates
 11957  // only after the object has changed since the last request.
 11958  func (c *ProjectsLocationsScopesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsScopesListCall {
 11959  	c.ifNoneMatch_ = entityTag
 11960  	return c
 11961  }
 11962  
 11963  // Context sets the context to be used in this call's Do method.
 11964  func (c *ProjectsLocationsScopesListCall) Context(ctx context.Context) *ProjectsLocationsScopesListCall {
 11965  	c.ctx_ = ctx
 11966  	return c
 11967  }
 11968  
 11969  // Header returns a http.Header that can be modified by the caller to add
 11970  // headers to the request.
 11971  func (c *ProjectsLocationsScopesListCall) Header() http.Header {
 11972  	if c.header_ == nil {
 11973  		c.header_ = make(http.Header)
 11974  	}
 11975  	return c.header_
 11976  }
 11977  
 11978  func (c *ProjectsLocationsScopesListCall) doRequest(alt string) (*http.Response, error) {
 11979  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 11980  	if c.ifNoneMatch_ != "" {
 11981  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 11982  	}
 11983  	var body io.Reader = nil
 11984  	c.urlParams_.Set("alt", alt)
 11985  	c.urlParams_.Set("prettyPrint", "false")
 11986  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+parent}/scopes")
 11987  	urls += "?" + c.urlParams_.Encode()
 11988  	req, err := http.NewRequest("GET", urls, body)
 11989  	if err != nil {
 11990  		return nil, err
 11991  	}
 11992  	req.Header = reqHeaders
 11993  	googleapi.Expand(req.URL, map[string]string{
 11994  		"parent": c.parent,
 11995  	})
 11996  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11997  }
 11998  
 11999  // Do executes the "gkehub.projects.locations.scopes.list" call.
 12000  // Any non-2xx status code is an error. Response headers are in either
 12001  // *ListScopesResponse.ServerResponse.Header or (if a response was returned at
 12002  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 12003  // check whether the returned error was because http.StatusNotModified was
 12004  // returned.
 12005  func (c *ProjectsLocationsScopesListCall) Do(opts ...googleapi.CallOption) (*ListScopesResponse, error) {
 12006  	gensupport.SetOptions(c.urlParams_, opts...)
 12007  	res, err := c.doRequest("json")
 12008  	if res != nil && res.StatusCode == http.StatusNotModified {
 12009  		if res.Body != nil {
 12010  			res.Body.Close()
 12011  		}
 12012  		return nil, gensupport.WrapError(&googleapi.Error{
 12013  			Code:   res.StatusCode,
 12014  			Header: res.Header,
 12015  		})
 12016  	}
 12017  	if err != nil {
 12018  		return nil, err
 12019  	}
 12020  	defer googleapi.CloseBody(res)
 12021  	if err := googleapi.CheckResponse(res); err != nil {
 12022  		return nil, gensupport.WrapError(err)
 12023  	}
 12024  	ret := &ListScopesResponse{
 12025  		ServerResponse: googleapi.ServerResponse{
 12026  			Header:         res.Header,
 12027  			HTTPStatusCode: res.StatusCode,
 12028  		},
 12029  	}
 12030  	target := &ret
 12031  	if err := gensupport.DecodeResponse(target, res); err != nil {
 12032  		return nil, err
 12033  	}
 12034  	return ret, nil
 12035  }
 12036  
 12037  // Pages invokes f for each page of results.
 12038  // A non-nil error returned from f will halt the iteration.
 12039  // The provided context supersedes any context provided to the Context method.
 12040  func (c *ProjectsLocationsScopesListCall) Pages(ctx context.Context, f func(*ListScopesResponse) error) error {
 12041  	c.ctx_ = ctx
 12042  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 12043  	for {
 12044  		x, err := c.Do()
 12045  		if err != nil {
 12046  			return err
 12047  		}
 12048  		if err := f(x); err != nil {
 12049  			return err
 12050  		}
 12051  		if x.NextPageToken == "" {
 12052  			return nil
 12053  		}
 12054  		c.PageToken(x.NextPageToken)
 12055  	}
 12056  }
 12057  
 12058  type ProjectsLocationsScopesListMembershipsCall struct {
 12059  	s            *Service
 12060  	scopeName    string
 12061  	urlParams_   gensupport.URLParams
 12062  	ifNoneMatch_ string
 12063  	ctx_         context.Context
 12064  	header_      http.Header
 12065  }
 12066  
 12067  // ListMemberships: Lists Memberships bound to a Scope. The response includes
 12068  // relevant Memberships from all regions.
 12069  //
 12070  //   - scopeName: Name of the Scope, in the format
 12071  //     `projects/*/locations/global/scopes/*`, to which the Memberships are
 12072  //     bound.
 12073  func (r *ProjectsLocationsScopesService) ListMemberships(scopeName string) *ProjectsLocationsScopesListMembershipsCall {
 12074  	c := &ProjectsLocationsScopesListMembershipsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 12075  	c.scopeName = scopeName
 12076  	return c
 12077  }
 12078  
 12079  // Filter sets the optional parameter "filter": Lists Memberships that match
 12080  // the filter expression, following the syntax outlined in
 12081  // https://google.aip.dev/160. Currently, filtering can be done only based on
 12082  // Memberships's `name`, `labels`, `create_time`, `update_time`, and
 12083  // `unique_id`.
 12084  func (c *ProjectsLocationsScopesListMembershipsCall) Filter(filter string) *ProjectsLocationsScopesListMembershipsCall {
 12085  	c.urlParams_.Set("filter", filter)
 12086  	return c
 12087  }
 12088  
 12089  // PageSize sets the optional parameter "pageSize": When requesting a 'page' of
 12090  // resources, `page_size` specifies number of resources to return. If
 12091  // unspecified or set to 0, all resources will be returned. Pagination is
 12092  // currently not supported; therefore, setting this field does not have any
 12093  // impact for now.
 12094  func (c *ProjectsLocationsScopesListMembershipsCall) PageSize(pageSize int64) *ProjectsLocationsScopesListMembershipsCall {
 12095  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 12096  	return c
 12097  }
 12098  
 12099  // PageToken sets the optional parameter "pageToken": Token returned by
 12100  // previous call to `ListBoundMemberships` which specifies the position in the
 12101  // list from where to continue listing the resources.
 12102  func (c *ProjectsLocationsScopesListMembershipsCall) PageToken(pageToken string) *ProjectsLocationsScopesListMembershipsCall {
 12103  	c.urlParams_.Set("pageToken", pageToken)
 12104  	return c
 12105  }
 12106  
 12107  // Fields allows partial responses to be retrieved. See
 12108  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 12109  // details.
 12110  func (c *ProjectsLocationsScopesListMembershipsCall) Fields(s ...googleapi.Field) *ProjectsLocationsScopesListMembershipsCall {
 12111  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 12112  	return c
 12113  }
 12114  
 12115  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 12116  // object's ETag matches the given value. This is useful for getting updates
 12117  // only after the object has changed since the last request.
 12118  func (c *ProjectsLocationsScopesListMembershipsCall) IfNoneMatch(entityTag string) *ProjectsLocationsScopesListMembershipsCall {
 12119  	c.ifNoneMatch_ = entityTag
 12120  	return c
 12121  }
 12122  
 12123  // Context sets the context to be used in this call's Do method.
 12124  func (c *ProjectsLocationsScopesListMembershipsCall) Context(ctx context.Context) *ProjectsLocationsScopesListMembershipsCall {
 12125  	c.ctx_ = ctx
 12126  	return c
 12127  }
 12128  
 12129  // Header returns a http.Header that can be modified by the caller to add
 12130  // headers to the request.
 12131  func (c *ProjectsLocationsScopesListMembershipsCall) Header() http.Header {
 12132  	if c.header_ == nil {
 12133  		c.header_ = make(http.Header)
 12134  	}
 12135  	return c.header_
 12136  }
 12137  
 12138  func (c *ProjectsLocationsScopesListMembershipsCall) doRequest(alt string) (*http.Response, error) {
 12139  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 12140  	if c.ifNoneMatch_ != "" {
 12141  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 12142  	}
 12143  	var body io.Reader = nil
 12144  	c.urlParams_.Set("alt", alt)
 12145  	c.urlParams_.Set("prettyPrint", "false")
 12146  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+scopeName}:listMemberships")
 12147  	urls += "?" + c.urlParams_.Encode()
 12148  	req, err := http.NewRequest("GET", urls, body)
 12149  	if err != nil {
 12150  		return nil, err
 12151  	}
 12152  	req.Header = reqHeaders
 12153  	googleapi.Expand(req.URL, map[string]string{
 12154  		"scopeName": c.scopeName,
 12155  	})
 12156  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 12157  }
 12158  
 12159  // Do executes the "gkehub.projects.locations.scopes.listMemberships" call.
 12160  // Any non-2xx status code is an error. Response headers are in either
 12161  // *ListBoundMembershipsResponse.ServerResponse.Header or (if a response was
 12162  // returned at all) in error.(*googleapi.Error).Header. Use
 12163  // googleapi.IsNotModified to check whether the returned error was because
 12164  // http.StatusNotModified was returned.
 12165  func (c *ProjectsLocationsScopesListMembershipsCall) Do(opts ...googleapi.CallOption) (*ListBoundMembershipsResponse, error) {
 12166  	gensupport.SetOptions(c.urlParams_, opts...)
 12167  	res, err := c.doRequest("json")
 12168  	if res != nil && res.StatusCode == http.StatusNotModified {
 12169  		if res.Body != nil {
 12170  			res.Body.Close()
 12171  		}
 12172  		return nil, gensupport.WrapError(&googleapi.Error{
 12173  			Code:   res.StatusCode,
 12174  			Header: res.Header,
 12175  		})
 12176  	}
 12177  	if err != nil {
 12178  		return nil, err
 12179  	}
 12180  	defer googleapi.CloseBody(res)
 12181  	if err := googleapi.CheckResponse(res); err != nil {
 12182  		return nil, gensupport.WrapError(err)
 12183  	}
 12184  	ret := &ListBoundMembershipsResponse{
 12185  		ServerResponse: googleapi.ServerResponse{
 12186  			Header:         res.Header,
 12187  			HTTPStatusCode: res.StatusCode,
 12188  		},
 12189  	}
 12190  	target := &ret
 12191  	if err := gensupport.DecodeResponse(target, res); err != nil {
 12192  		return nil, err
 12193  	}
 12194  	return ret, nil
 12195  }
 12196  
 12197  // Pages invokes f for each page of results.
 12198  // A non-nil error returned from f will halt the iteration.
 12199  // The provided context supersedes any context provided to the Context method.
 12200  func (c *ProjectsLocationsScopesListMembershipsCall) Pages(ctx context.Context, f func(*ListBoundMembershipsResponse) error) error {
 12201  	c.ctx_ = ctx
 12202  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 12203  	for {
 12204  		x, err := c.Do()
 12205  		if err != nil {
 12206  			return err
 12207  		}
 12208  		if err := f(x); err != nil {
 12209  			return err
 12210  		}
 12211  		if x.NextPageToken == "" {
 12212  			return nil
 12213  		}
 12214  		c.PageToken(x.NextPageToken)
 12215  	}
 12216  }
 12217  
 12218  type ProjectsLocationsScopesListPermittedCall struct {
 12219  	s            *Service
 12220  	parent       string
 12221  	urlParams_   gensupport.URLParams
 12222  	ifNoneMatch_ string
 12223  	ctx_         context.Context
 12224  	header_      http.Header
 12225  }
 12226  
 12227  // ListPermitted: Lists permitted Scopes.
 12228  //
 12229  //   - parent: The parent (project and location) where the Scope will be listed.
 12230  //     Specified in the format `projects/*/locations/*`.
 12231  func (r *ProjectsLocationsScopesService) ListPermitted(parent string) *ProjectsLocationsScopesListPermittedCall {
 12232  	c := &ProjectsLocationsScopesListPermittedCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 12233  	c.parent = parent
 12234  	return c
 12235  }
 12236  
 12237  // PageSize sets the optional parameter "pageSize": When requesting a 'page' of
 12238  // resources, `page_size` specifies number of resources to return. If
 12239  // unspecified or set to 0, all resources will be returned.
 12240  func (c *ProjectsLocationsScopesListPermittedCall) PageSize(pageSize int64) *ProjectsLocationsScopesListPermittedCall {
 12241  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 12242  	return c
 12243  }
 12244  
 12245  // PageToken sets the optional parameter "pageToken": Token returned by
 12246  // previous call to `ListPermittedScopes` which specifies the position in the
 12247  // list from where to continue listing the resources.
 12248  func (c *ProjectsLocationsScopesListPermittedCall) PageToken(pageToken string) *ProjectsLocationsScopesListPermittedCall {
 12249  	c.urlParams_.Set("pageToken", pageToken)
 12250  	return c
 12251  }
 12252  
 12253  // Fields allows partial responses to be retrieved. See
 12254  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 12255  // details.
 12256  func (c *ProjectsLocationsScopesListPermittedCall) Fields(s ...googleapi.Field) *ProjectsLocationsScopesListPermittedCall {
 12257  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 12258  	return c
 12259  }
 12260  
 12261  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 12262  // object's ETag matches the given value. This is useful for getting updates
 12263  // only after the object has changed since the last request.
 12264  func (c *ProjectsLocationsScopesListPermittedCall) IfNoneMatch(entityTag string) *ProjectsLocationsScopesListPermittedCall {
 12265  	c.ifNoneMatch_ = entityTag
 12266  	return c
 12267  }
 12268  
 12269  // Context sets the context to be used in this call's Do method.
 12270  func (c *ProjectsLocationsScopesListPermittedCall) Context(ctx context.Context) *ProjectsLocationsScopesListPermittedCall {
 12271  	c.ctx_ = ctx
 12272  	return c
 12273  }
 12274  
 12275  // Header returns a http.Header that can be modified by the caller to add
 12276  // headers to the request.
 12277  func (c *ProjectsLocationsScopesListPermittedCall) Header() http.Header {
 12278  	if c.header_ == nil {
 12279  		c.header_ = make(http.Header)
 12280  	}
 12281  	return c.header_
 12282  }
 12283  
 12284  func (c *ProjectsLocationsScopesListPermittedCall) doRequest(alt string) (*http.Response, error) {
 12285  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 12286  	if c.ifNoneMatch_ != "" {
 12287  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 12288  	}
 12289  	var body io.Reader = nil
 12290  	c.urlParams_.Set("alt", alt)
 12291  	c.urlParams_.Set("prettyPrint", "false")
 12292  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+parent}/scopes:listPermitted")
 12293  	urls += "?" + c.urlParams_.Encode()
 12294  	req, err := http.NewRequest("GET", urls, body)
 12295  	if err != nil {
 12296  		return nil, err
 12297  	}
 12298  	req.Header = reqHeaders
 12299  	googleapi.Expand(req.URL, map[string]string{
 12300  		"parent": c.parent,
 12301  	})
 12302  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 12303  }
 12304  
 12305  // Do executes the "gkehub.projects.locations.scopes.listPermitted" call.
 12306  // Any non-2xx status code is an error. Response headers are in either
 12307  // *ListPermittedScopesResponse.ServerResponse.Header or (if a response was
 12308  // returned at all) in error.(*googleapi.Error).Header. Use
 12309  // googleapi.IsNotModified to check whether the returned error was because
 12310  // http.StatusNotModified was returned.
 12311  func (c *ProjectsLocationsScopesListPermittedCall) Do(opts ...googleapi.CallOption) (*ListPermittedScopesResponse, error) {
 12312  	gensupport.SetOptions(c.urlParams_, opts...)
 12313  	res, err := c.doRequest("json")
 12314  	if res != nil && res.StatusCode == http.StatusNotModified {
 12315  		if res.Body != nil {
 12316  			res.Body.Close()
 12317  		}
 12318  		return nil, gensupport.WrapError(&googleapi.Error{
 12319  			Code:   res.StatusCode,
 12320  			Header: res.Header,
 12321  		})
 12322  	}
 12323  	if err != nil {
 12324  		return nil, err
 12325  	}
 12326  	defer googleapi.CloseBody(res)
 12327  	if err := googleapi.CheckResponse(res); err != nil {
 12328  		return nil, gensupport.WrapError(err)
 12329  	}
 12330  	ret := &ListPermittedScopesResponse{
 12331  		ServerResponse: googleapi.ServerResponse{
 12332  			Header:         res.Header,
 12333  			HTTPStatusCode: res.StatusCode,
 12334  		},
 12335  	}
 12336  	target := &ret
 12337  	if err := gensupport.DecodeResponse(target, res); err != nil {
 12338  		return nil, err
 12339  	}
 12340  	return ret, nil
 12341  }
 12342  
 12343  // Pages invokes f for each page of results.
 12344  // A non-nil error returned from f will halt the iteration.
 12345  // The provided context supersedes any context provided to the Context method.
 12346  func (c *ProjectsLocationsScopesListPermittedCall) Pages(ctx context.Context, f func(*ListPermittedScopesResponse) error) error {
 12347  	c.ctx_ = ctx
 12348  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 12349  	for {
 12350  		x, err := c.Do()
 12351  		if err != nil {
 12352  			return err
 12353  		}
 12354  		if err := f(x); err != nil {
 12355  			return err
 12356  		}
 12357  		if x.NextPageToken == "" {
 12358  			return nil
 12359  		}
 12360  		c.PageToken(x.NextPageToken)
 12361  	}
 12362  }
 12363  
 12364  type ProjectsLocationsScopesPatchCall struct {
 12365  	s          *Service
 12366  	name       string
 12367  	scope      *Scope
 12368  	urlParams_ gensupport.URLParams
 12369  	ctx_       context.Context
 12370  	header_    http.Header
 12371  }
 12372  
 12373  // Patch: Updates a scopes.
 12374  //
 12375  //   - name: The resource name for the scope
 12376  //     `projects/{project}/locations/{location}/scopes/{scope}`.
 12377  func (r *ProjectsLocationsScopesService) Patch(name string, scope *Scope) *ProjectsLocationsScopesPatchCall {
 12378  	c := &ProjectsLocationsScopesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 12379  	c.name = name
 12380  	c.scope = scope
 12381  	return c
 12382  }
 12383  
 12384  // UpdateMask sets the optional parameter "updateMask": Required. The fields to
 12385  // be updated.
 12386  func (c *ProjectsLocationsScopesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsScopesPatchCall {
 12387  	c.urlParams_.Set("updateMask", updateMask)
 12388  	return c
 12389  }
 12390  
 12391  // Fields allows partial responses to be retrieved. See
 12392  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 12393  // details.
 12394  func (c *ProjectsLocationsScopesPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsScopesPatchCall {
 12395  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 12396  	return c
 12397  }
 12398  
 12399  // Context sets the context to be used in this call's Do method.
 12400  func (c *ProjectsLocationsScopesPatchCall) Context(ctx context.Context) *ProjectsLocationsScopesPatchCall {
 12401  	c.ctx_ = ctx
 12402  	return c
 12403  }
 12404  
 12405  // Header returns a http.Header that can be modified by the caller to add
 12406  // headers to the request.
 12407  func (c *ProjectsLocationsScopesPatchCall) Header() http.Header {
 12408  	if c.header_ == nil {
 12409  		c.header_ = make(http.Header)
 12410  	}
 12411  	return c.header_
 12412  }
 12413  
 12414  func (c *ProjectsLocationsScopesPatchCall) doRequest(alt string) (*http.Response, error) {
 12415  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 12416  	var body io.Reader = nil
 12417  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.scope)
 12418  	if err != nil {
 12419  		return nil, err
 12420  	}
 12421  	c.urlParams_.Set("alt", alt)
 12422  	c.urlParams_.Set("prettyPrint", "false")
 12423  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}")
 12424  	urls += "?" + c.urlParams_.Encode()
 12425  	req, err := http.NewRequest("PATCH", urls, body)
 12426  	if err != nil {
 12427  		return nil, err
 12428  	}
 12429  	req.Header = reqHeaders
 12430  	googleapi.Expand(req.URL, map[string]string{
 12431  		"name": c.name,
 12432  	})
 12433  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 12434  }
 12435  
 12436  // Do executes the "gkehub.projects.locations.scopes.patch" call.
 12437  // Any non-2xx status code is an error. Response headers are in either
 12438  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 12439  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 12440  // whether the returned error was because http.StatusNotModified was returned.
 12441  func (c *ProjectsLocationsScopesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 12442  	gensupport.SetOptions(c.urlParams_, opts...)
 12443  	res, err := c.doRequest("json")
 12444  	if res != nil && res.StatusCode == http.StatusNotModified {
 12445  		if res.Body != nil {
 12446  			res.Body.Close()
 12447  		}
 12448  		return nil, gensupport.WrapError(&googleapi.Error{
 12449  			Code:   res.StatusCode,
 12450  			Header: res.Header,
 12451  		})
 12452  	}
 12453  	if err != nil {
 12454  		return nil, err
 12455  	}
 12456  	defer googleapi.CloseBody(res)
 12457  	if err := googleapi.CheckResponse(res); err != nil {
 12458  		return nil, gensupport.WrapError(err)
 12459  	}
 12460  	ret := &Operation{
 12461  		ServerResponse: googleapi.ServerResponse{
 12462  			Header:         res.Header,
 12463  			HTTPStatusCode: res.StatusCode,
 12464  		},
 12465  	}
 12466  	target := &ret
 12467  	if err := gensupport.DecodeResponse(target, res); err != nil {
 12468  		return nil, err
 12469  	}
 12470  	return ret, nil
 12471  }
 12472  
 12473  type ProjectsLocationsScopesSetIamPolicyCall struct {
 12474  	s                   *Service
 12475  	resource            string
 12476  	setiampolicyrequest *SetIamPolicyRequest
 12477  	urlParams_          gensupport.URLParams
 12478  	ctx_                context.Context
 12479  	header_             http.Header
 12480  }
 12481  
 12482  // SetIamPolicy: Sets the access control policy on the specified resource.
 12483  // Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`,
 12484  // and `PERMISSION_DENIED` errors.
 12485  //
 12486  //   - resource: REQUIRED: The resource for which the policy is being specified.
 12487  //     See Resource names (https://cloud.google.com/apis/design/resource_names)
 12488  //     for the appropriate value for this field.
 12489  func (r *ProjectsLocationsScopesService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsScopesSetIamPolicyCall {
 12490  	c := &ProjectsLocationsScopesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 12491  	c.resource = resource
 12492  	c.setiampolicyrequest = setiampolicyrequest
 12493  	return c
 12494  }
 12495  
 12496  // Fields allows partial responses to be retrieved. See
 12497  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 12498  // details.
 12499  func (c *ProjectsLocationsScopesSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsScopesSetIamPolicyCall {
 12500  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 12501  	return c
 12502  }
 12503  
 12504  // Context sets the context to be used in this call's Do method.
 12505  func (c *ProjectsLocationsScopesSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsScopesSetIamPolicyCall {
 12506  	c.ctx_ = ctx
 12507  	return c
 12508  }
 12509  
 12510  // Header returns a http.Header that can be modified by the caller to add
 12511  // headers to the request.
 12512  func (c *ProjectsLocationsScopesSetIamPolicyCall) Header() http.Header {
 12513  	if c.header_ == nil {
 12514  		c.header_ = make(http.Header)
 12515  	}
 12516  	return c.header_
 12517  }
 12518  
 12519  func (c *ProjectsLocationsScopesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 12520  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 12521  	var body io.Reader = nil
 12522  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
 12523  	if err != nil {
 12524  		return nil, err
 12525  	}
 12526  	c.urlParams_.Set("alt", alt)
 12527  	c.urlParams_.Set("prettyPrint", "false")
 12528  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+resource}:setIamPolicy")
 12529  	urls += "?" + c.urlParams_.Encode()
 12530  	req, err := http.NewRequest("POST", urls, body)
 12531  	if err != nil {
 12532  		return nil, err
 12533  	}
 12534  	req.Header = reqHeaders
 12535  	googleapi.Expand(req.URL, map[string]string{
 12536  		"resource": c.resource,
 12537  	})
 12538  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 12539  }
 12540  
 12541  // Do executes the "gkehub.projects.locations.scopes.setIamPolicy" call.
 12542  // Any non-2xx status code is an error. Response headers are in either
 12543  // *Policy.ServerResponse.Header or (if a response was returned at all) in
 12544  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 12545  // whether the returned error was because http.StatusNotModified was returned.
 12546  func (c *ProjectsLocationsScopesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
 12547  	gensupport.SetOptions(c.urlParams_, opts...)
 12548  	res, err := c.doRequest("json")
 12549  	if res != nil && res.StatusCode == http.StatusNotModified {
 12550  		if res.Body != nil {
 12551  			res.Body.Close()
 12552  		}
 12553  		return nil, gensupport.WrapError(&googleapi.Error{
 12554  			Code:   res.StatusCode,
 12555  			Header: res.Header,
 12556  		})
 12557  	}
 12558  	if err != nil {
 12559  		return nil, err
 12560  	}
 12561  	defer googleapi.CloseBody(res)
 12562  	if err := googleapi.CheckResponse(res); err != nil {
 12563  		return nil, gensupport.WrapError(err)
 12564  	}
 12565  	ret := &Policy{
 12566  		ServerResponse: googleapi.ServerResponse{
 12567  			Header:         res.Header,
 12568  			HTTPStatusCode: res.StatusCode,
 12569  		},
 12570  	}
 12571  	target := &ret
 12572  	if err := gensupport.DecodeResponse(target, res); err != nil {
 12573  		return nil, err
 12574  	}
 12575  	return ret, nil
 12576  }
 12577  
 12578  type ProjectsLocationsScopesTestIamPermissionsCall struct {
 12579  	s                         *Service
 12580  	resource                  string
 12581  	testiampermissionsrequest *TestIamPermissionsRequest
 12582  	urlParams_                gensupport.URLParams
 12583  	ctx_                      context.Context
 12584  	header_                   http.Header
 12585  }
 12586  
 12587  // TestIamPermissions: Returns permissions that a caller has on the specified
 12588  // resource. If the resource does not exist, this will return an empty set of
 12589  // permissions, not a `NOT_FOUND` error. Note: This operation is designed to be
 12590  // used for building permission-aware UIs and command-line tools, not for
 12591  // authorization checking. This operation may "fail open" without warning.
 12592  //
 12593  //   - resource: REQUIRED: The resource for which the policy detail is being
 12594  //     requested. See Resource names
 12595  //     (https://cloud.google.com/apis/design/resource_names) for the appropriate
 12596  //     value for this field.
 12597  func (r *ProjectsLocationsScopesService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsScopesTestIamPermissionsCall {
 12598  	c := &ProjectsLocationsScopesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 12599  	c.resource = resource
 12600  	c.testiampermissionsrequest = testiampermissionsrequest
 12601  	return c
 12602  }
 12603  
 12604  // Fields allows partial responses to be retrieved. See
 12605  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 12606  // details.
 12607  func (c *ProjectsLocationsScopesTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsScopesTestIamPermissionsCall {
 12608  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 12609  	return c
 12610  }
 12611  
 12612  // Context sets the context to be used in this call's Do method.
 12613  func (c *ProjectsLocationsScopesTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsScopesTestIamPermissionsCall {
 12614  	c.ctx_ = ctx
 12615  	return c
 12616  }
 12617  
 12618  // Header returns a http.Header that can be modified by the caller to add
 12619  // headers to the request.
 12620  func (c *ProjectsLocationsScopesTestIamPermissionsCall) Header() http.Header {
 12621  	if c.header_ == nil {
 12622  		c.header_ = make(http.Header)
 12623  	}
 12624  	return c.header_
 12625  }
 12626  
 12627  func (c *ProjectsLocationsScopesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 12628  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 12629  	var body io.Reader = nil
 12630  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
 12631  	if err != nil {
 12632  		return nil, err
 12633  	}
 12634  	c.urlParams_.Set("alt", alt)
 12635  	c.urlParams_.Set("prettyPrint", "false")
 12636  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+resource}:testIamPermissions")
 12637  	urls += "?" + c.urlParams_.Encode()
 12638  	req, err := http.NewRequest("POST", urls, body)
 12639  	if err != nil {
 12640  		return nil, err
 12641  	}
 12642  	req.Header = reqHeaders
 12643  	googleapi.Expand(req.URL, map[string]string{
 12644  		"resource": c.resource,
 12645  	})
 12646  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 12647  }
 12648  
 12649  // Do executes the "gkehub.projects.locations.scopes.testIamPermissions" call.
 12650  // Any non-2xx status code is an error. Response headers are in either
 12651  // *TestIamPermissionsResponse.ServerResponse.Header or (if a response was
 12652  // returned at all) in error.(*googleapi.Error).Header. Use
 12653  // googleapi.IsNotModified to check whether the returned error was because
 12654  // http.StatusNotModified was returned.
 12655  func (c *ProjectsLocationsScopesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
 12656  	gensupport.SetOptions(c.urlParams_, opts...)
 12657  	res, err := c.doRequest("json")
 12658  	if res != nil && res.StatusCode == http.StatusNotModified {
 12659  		if res.Body != nil {
 12660  			res.Body.Close()
 12661  		}
 12662  		return nil, gensupport.WrapError(&googleapi.Error{
 12663  			Code:   res.StatusCode,
 12664  			Header: res.Header,
 12665  		})
 12666  	}
 12667  	if err != nil {
 12668  		return nil, err
 12669  	}
 12670  	defer googleapi.CloseBody(res)
 12671  	if err := googleapi.CheckResponse(res); err != nil {
 12672  		return nil, gensupport.WrapError(err)
 12673  	}
 12674  	ret := &TestIamPermissionsResponse{
 12675  		ServerResponse: googleapi.ServerResponse{
 12676  			Header:         res.Header,
 12677  			HTTPStatusCode: res.StatusCode,
 12678  		},
 12679  	}
 12680  	target := &ret
 12681  	if err := gensupport.DecodeResponse(target, res); err != nil {
 12682  		return nil, err
 12683  	}
 12684  	return ret, nil
 12685  }
 12686  
 12687  type ProjectsLocationsScopesNamespacesCreateCall struct {
 12688  	s          *Service
 12689  	parent     string
 12690  	namespace  *Namespace
 12691  	urlParams_ gensupport.URLParams
 12692  	ctx_       context.Context
 12693  	header_    http.Header
 12694  }
 12695  
 12696  // Create: Creates a fleet namespace.
 12697  //
 12698  //   - parent: The parent (project and location) where the Namespace will be
 12699  //     created. Specified in the format `projects/*/locations/*/scopes/*`.
 12700  func (r *ProjectsLocationsScopesNamespacesService) Create(parent string, namespace *Namespace) *ProjectsLocationsScopesNamespacesCreateCall {
 12701  	c := &ProjectsLocationsScopesNamespacesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 12702  	c.parent = parent
 12703  	c.namespace = namespace
 12704  	return c
 12705  }
 12706  
 12707  // ScopeNamespaceId sets the optional parameter "scopeNamespaceId": Required.
 12708  // Client chosen ID for the Namespace. `namespace_id` must be a valid RFC 1123
 12709  // compliant DNS label: 1. At most 63 characters in length 2. It must consist
 12710  // of lower case alphanumeric characters or `-` 3. It must start and end with
 12711  // an alphanumeric character Which can be expressed as the regex:
 12712  // `[a-z0-9]([-a-z0-9]*[a-z0-9])?`, with a maximum length of 63 characters.
 12713  func (c *ProjectsLocationsScopesNamespacesCreateCall) ScopeNamespaceId(scopeNamespaceId string) *ProjectsLocationsScopesNamespacesCreateCall {
 12714  	c.urlParams_.Set("scopeNamespaceId", scopeNamespaceId)
 12715  	return c
 12716  }
 12717  
 12718  // Fields allows partial responses to be retrieved. See
 12719  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 12720  // details.
 12721  func (c *ProjectsLocationsScopesNamespacesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsScopesNamespacesCreateCall {
 12722  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 12723  	return c
 12724  }
 12725  
 12726  // Context sets the context to be used in this call's Do method.
 12727  func (c *ProjectsLocationsScopesNamespacesCreateCall) Context(ctx context.Context) *ProjectsLocationsScopesNamespacesCreateCall {
 12728  	c.ctx_ = ctx
 12729  	return c
 12730  }
 12731  
 12732  // Header returns a http.Header that can be modified by the caller to add
 12733  // headers to the request.
 12734  func (c *ProjectsLocationsScopesNamespacesCreateCall) Header() http.Header {
 12735  	if c.header_ == nil {
 12736  		c.header_ = make(http.Header)
 12737  	}
 12738  	return c.header_
 12739  }
 12740  
 12741  func (c *ProjectsLocationsScopesNamespacesCreateCall) doRequest(alt string) (*http.Response, error) {
 12742  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 12743  	var body io.Reader = nil
 12744  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.namespace)
 12745  	if err != nil {
 12746  		return nil, err
 12747  	}
 12748  	c.urlParams_.Set("alt", alt)
 12749  	c.urlParams_.Set("prettyPrint", "false")
 12750  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+parent}/namespaces")
 12751  	urls += "?" + c.urlParams_.Encode()
 12752  	req, err := http.NewRequest("POST", urls, body)
 12753  	if err != nil {
 12754  		return nil, err
 12755  	}
 12756  	req.Header = reqHeaders
 12757  	googleapi.Expand(req.URL, map[string]string{
 12758  		"parent": c.parent,
 12759  	})
 12760  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 12761  }
 12762  
 12763  // Do executes the "gkehub.projects.locations.scopes.namespaces.create" call.
 12764  // Any non-2xx status code is an error. Response headers are in either
 12765  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 12766  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 12767  // whether the returned error was because http.StatusNotModified was returned.
 12768  func (c *ProjectsLocationsScopesNamespacesCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 12769  	gensupport.SetOptions(c.urlParams_, opts...)
 12770  	res, err := c.doRequest("json")
 12771  	if res != nil && res.StatusCode == http.StatusNotModified {
 12772  		if res.Body != nil {
 12773  			res.Body.Close()
 12774  		}
 12775  		return nil, gensupport.WrapError(&googleapi.Error{
 12776  			Code:   res.StatusCode,
 12777  			Header: res.Header,
 12778  		})
 12779  	}
 12780  	if err != nil {
 12781  		return nil, err
 12782  	}
 12783  	defer googleapi.CloseBody(res)
 12784  	if err := googleapi.CheckResponse(res); err != nil {
 12785  		return nil, gensupport.WrapError(err)
 12786  	}
 12787  	ret := &Operation{
 12788  		ServerResponse: googleapi.ServerResponse{
 12789  			Header:         res.Header,
 12790  			HTTPStatusCode: res.StatusCode,
 12791  		},
 12792  	}
 12793  	target := &ret
 12794  	if err := gensupport.DecodeResponse(target, res); err != nil {
 12795  		return nil, err
 12796  	}
 12797  	return ret, nil
 12798  }
 12799  
 12800  type ProjectsLocationsScopesNamespacesDeleteCall struct {
 12801  	s          *Service
 12802  	name       string
 12803  	urlParams_ gensupport.URLParams
 12804  	ctx_       context.Context
 12805  	header_    http.Header
 12806  }
 12807  
 12808  // Delete: Deletes a fleet namespace.
 12809  //
 12810  //   - name: The Namespace resource name in the format
 12811  //     `projects/*/locations/*/scopes/*/namespaces/*`.
 12812  func (r *ProjectsLocationsScopesNamespacesService) Delete(name string) *ProjectsLocationsScopesNamespacesDeleteCall {
 12813  	c := &ProjectsLocationsScopesNamespacesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 12814  	c.name = name
 12815  	return c
 12816  }
 12817  
 12818  // Fields allows partial responses to be retrieved. See
 12819  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 12820  // details.
 12821  func (c *ProjectsLocationsScopesNamespacesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsScopesNamespacesDeleteCall {
 12822  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 12823  	return c
 12824  }
 12825  
 12826  // Context sets the context to be used in this call's Do method.
 12827  func (c *ProjectsLocationsScopesNamespacesDeleteCall) Context(ctx context.Context) *ProjectsLocationsScopesNamespacesDeleteCall {
 12828  	c.ctx_ = ctx
 12829  	return c
 12830  }
 12831  
 12832  // Header returns a http.Header that can be modified by the caller to add
 12833  // headers to the request.
 12834  func (c *ProjectsLocationsScopesNamespacesDeleteCall) Header() http.Header {
 12835  	if c.header_ == nil {
 12836  		c.header_ = make(http.Header)
 12837  	}
 12838  	return c.header_
 12839  }
 12840  
 12841  func (c *ProjectsLocationsScopesNamespacesDeleteCall) doRequest(alt string) (*http.Response, error) {
 12842  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 12843  	var body io.Reader = nil
 12844  	c.urlParams_.Set("alt", alt)
 12845  	c.urlParams_.Set("prettyPrint", "false")
 12846  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}")
 12847  	urls += "?" + c.urlParams_.Encode()
 12848  	req, err := http.NewRequest("DELETE", urls, body)
 12849  	if err != nil {
 12850  		return nil, err
 12851  	}
 12852  	req.Header = reqHeaders
 12853  	googleapi.Expand(req.URL, map[string]string{
 12854  		"name": c.name,
 12855  	})
 12856  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 12857  }
 12858  
 12859  // Do executes the "gkehub.projects.locations.scopes.namespaces.delete" call.
 12860  // Any non-2xx status code is an error. Response headers are in either
 12861  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 12862  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 12863  // whether the returned error was because http.StatusNotModified was returned.
 12864  func (c *ProjectsLocationsScopesNamespacesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 12865  	gensupport.SetOptions(c.urlParams_, opts...)
 12866  	res, err := c.doRequest("json")
 12867  	if res != nil && res.StatusCode == http.StatusNotModified {
 12868  		if res.Body != nil {
 12869  			res.Body.Close()
 12870  		}
 12871  		return nil, gensupport.WrapError(&googleapi.Error{
 12872  			Code:   res.StatusCode,
 12873  			Header: res.Header,
 12874  		})
 12875  	}
 12876  	if err != nil {
 12877  		return nil, err
 12878  	}
 12879  	defer googleapi.CloseBody(res)
 12880  	if err := googleapi.CheckResponse(res); err != nil {
 12881  		return nil, gensupport.WrapError(err)
 12882  	}
 12883  	ret := &Operation{
 12884  		ServerResponse: googleapi.ServerResponse{
 12885  			Header:         res.Header,
 12886  			HTTPStatusCode: res.StatusCode,
 12887  		},
 12888  	}
 12889  	target := &ret
 12890  	if err := gensupport.DecodeResponse(target, res); err != nil {
 12891  		return nil, err
 12892  	}
 12893  	return ret, nil
 12894  }
 12895  
 12896  type ProjectsLocationsScopesNamespacesGetCall struct {
 12897  	s            *Service
 12898  	name         string
 12899  	urlParams_   gensupport.URLParams
 12900  	ifNoneMatch_ string
 12901  	ctx_         context.Context
 12902  	header_      http.Header
 12903  }
 12904  
 12905  // Get: Returns the details of a fleet namespace.
 12906  //
 12907  //   - name: The Namespace resource name in the format
 12908  //     `projects/*/locations/*/scopes/*/namespaces/*`.
 12909  func (r *ProjectsLocationsScopesNamespacesService) Get(name string) *ProjectsLocationsScopesNamespacesGetCall {
 12910  	c := &ProjectsLocationsScopesNamespacesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 12911  	c.name = name
 12912  	return c
 12913  }
 12914  
 12915  // Fields allows partial responses to be retrieved. See
 12916  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 12917  // details.
 12918  func (c *ProjectsLocationsScopesNamespacesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsScopesNamespacesGetCall {
 12919  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 12920  	return c
 12921  }
 12922  
 12923  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 12924  // object's ETag matches the given value. This is useful for getting updates
 12925  // only after the object has changed since the last request.
 12926  func (c *ProjectsLocationsScopesNamespacesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsScopesNamespacesGetCall {
 12927  	c.ifNoneMatch_ = entityTag
 12928  	return c
 12929  }
 12930  
 12931  // Context sets the context to be used in this call's Do method.
 12932  func (c *ProjectsLocationsScopesNamespacesGetCall) Context(ctx context.Context) *ProjectsLocationsScopesNamespacesGetCall {
 12933  	c.ctx_ = ctx
 12934  	return c
 12935  }
 12936  
 12937  // Header returns a http.Header that can be modified by the caller to add
 12938  // headers to the request.
 12939  func (c *ProjectsLocationsScopesNamespacesGetCall) Header() http.Header {
 12940  	if c.header_ == nil {
 12941  		c.header_ = make(http.Header)
 12942  	}
 12943  	return c.header_
 12944  }
 12945  
 12946  func (c *ProjectsLocationsScopesNamespacesGetCall) doRequest(alt string) (*http.Response, error) {
 12947  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 12948  	if c.ifNoneMatch_ != "" {
 12949  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 12950  	}
 12951  	var body io.Reader = nil
 12952  	c.urlParams_.Set("alt", alt)
 12953  	c.urlParams_.Set("prettyPrint", "false")
 12954  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}")
 12955  	urls += "?" + c.urlParams_.Encode()
 12956  	req, err := http.NewRequest("GET", urls, body)
 12957  	if err != nil {
 12958  		return nil, err
 12959  	}
 12960  	req.Header = reqHeaders
 12961  	googleapi.Expand(req.URL, map[string]string{
 12962  		"name": c.name,
 12963  	})
 12964  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 12965  }
 12966  
 12967  // Do executes the "gkehub.projects.locations.scopes.namespaces.get" call.
 12968  // Any non-2xx status code is an error. Response headers are in either
 12969  // *Namespace.ServerResponse.Header or (if a response was returned at all) in
 12970  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 12971  // whether the returned error was because http.StatusNotModified was returned.
 12972  func (c *ProjectsLocationsScopesNamespacesGetCall) Do(opts ...googleapi.CallOption) (*Namespace, error) {
 12973  	gensupport.SetOptions(c.urlParams_, opts...)
 12974  	res, err := c.doRequest("json")
 12975  	if res != nil && res.StatusCode == http.StatusNotModified {
 12976  		if res.Body != nil {
 12977  			res.Body.Close()
 12978  		}
 12979  		return nil, gensupport.WrapError(&googleapi.Error{
 12980  			Code:   res.StatusCode,
 12981  			Header: res.Header,
 12982  		})
 12983  	}
 12984  	if err != nil {
 12985  		return nil, err
 12986  	}
 12987  	defer googleapi.CloseBody(res)
 12988  	if err := googleapi.CheckResponse(res); err != nil {
 12989  		return nil, gensupport.WrapError(err)
 12990  	}
 12991  	ret := &Namespace{
 12992  		ServerResponse: googleapi.ServerResponse{
 12993  			Header:         res.Header,
 12994  			HTTPStatusCode: res.StatusCode,
 12995  		},
 12996  	}
 12997  	target := &ret
 12998  	if err := gensupport.DecodeResponse(target, res); err != nil {
 12999  		return nil, err
 13000  	}
 13001  	return ret, nil
 13002  }
 13003  
 13004  type ProjectsLocationsScopesNamespacesListCall struct {
 13005  	s            *Service
 13006  	parent       string
 13007  	urlParams_   gensupport.URLParams
 13008  	ifNoneMatch_ string
 13009  	ctx_         context.Context
 13010  	header_      http.Header
 13011  }
 13012  
 13013  // List: Lists fleet namespaces.
 13014  //
 13015  //   - parent: The parent (project and location) where the Features will be
 13016  //     listed. Specified in the format `projects/*/locations/*/scopes/*`.
 13017  func (r *ProjectsLocationsScopesNamespacesService) List(parent string) *ProjectsLocationsScopesNamespacesListCall {
 13018  	c := &ProjectsLocationsScopesNamespacesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 13019  	c.parent = parent
 13020  	return c
 13021  }
 13022  
 13023  // PageSize sets the optional parameter "pageSize": When requesting a 'page' of
 13024  // resources, `page_size` specifies number of resources to return. If
 13025  // unspecified or set to 0, all resources will be returned.
 13026  func (c *ProjectsLocationsScopesNamespacesListCall) PageSize(pageSize int64) *ProjectsLocationsScopesNamespacesListCall {
 13027  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 13028  	return c
 13029  }
 13030  
 13031  // PageToken sets the optional parameter "pageToken": Token returned by
 13032  // previous call to `ListFeatures` which specifies the position in the list
 13033  // from where to continue listing the resources.
 13034  func (c *ProjectsLocationsScopesNamespacesListCall) PageToken(pageToken string) *ProjectsLocationsScopesNamespacesListCall {
 13035  	c.urlParams_.Set("pageToken", pageToken)
 13036  	return c
 13037  }
 13038  
 13039  // Fields allows partial responses to be retrieved. See
 13040  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 13041  // details.
 13042  func (c *ProjectsLocationsScopesNamespacesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsScopesNamespacesListCall {
 13043  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 13044  	return c
 13045  }
 13046  
 13047  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 13048  // object's ETag matches the given value. This is useful for getting updates
 13049  // only after the object has changed since the last request.
 13050  func (c *ProjectsLocationsScopesNamespacesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsScopesNamespacesListCall {
 13051  	c.ifNoneMatch_ = entityTag
 13052  	return c
 13053  }
 13054  
 13055  // Context sets the context to be used in this call's Do method.
 13056  func (c *ProjectsLocationsScopesNamespacesListCall) Context(ctx context.Context) *ProjectsLocationsScopesNamespacesListCall {
 13057  	c.ctx_ = ctx
 13058  	return c
 13059  }
 13060  
 13061  // Header returns a http.Header that can be modified by the caller to add
 13062  // headers to the request.
 13063  func (c *ProjectsLocationsScopesNamespacesListCall) Header() http.Header {
 13064  	if c.header_ == nil {
 13065  		c.header_ = make(http.Header)
 13066  	}
 13067  	return c.header_
 13068  }
 13069  
 13070  func (c *ProjectsLocationsScopesNamespacesListCall) doRequest(alt string) (*http.Response, error) {
 13071  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 13072  	if c.ifNoneMatch_ != "" {
 13073  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 13074  	}
 13075  	var body io.Reader = nil
 13076  	c.urlParams_.Set("alt", alt)
 13077  	c.urlParams_.Set("prettyPrint", "false")
 13078  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+parent}/namespaces")
 13079  	urls += "?" + c.urlParams_.Encode()
 13080  	req, err := http.NewRequest("GET", urls, body)
 13081  	if err != nil {
 13082  		return nil, err
 13083  	}
 13084  	req.Header = reqHeaders
 13085  	googleapi.Expand(req.URL, map[string]string{
 13086  		"parent": c.parent,
 13087  	})
 13088  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 13089  }
 13090  
 13091  // Do executes the "gkehub.projects.locations.scopes.namespaces.list" call.
 13092  // Any non-2xx status code is an error. Response headers are in either
 13093  // *ListScopeNamespacesResponse.ServerResponse.Header or (if a response was
 13094  // returned at all) in error.(*googleapi.Error).Header. Use
 13095  // googleapi.IsNotModified to check whether the returned error was because
 13096  // http.StatusNotModified was returned.
 13097  func (c *ProjectsLocationsScopesNamespacesListCall) Do(opts ...googleapi.CallOption) (*ListScopeNamespacesResponse, error) {
 13098  	gensupport.SetOptions(c.urlParams_, opts...)
 13099  	res, err := c.doRequest("json")
 13100  	if res != nil && res.StatusCode == http.StatusNotModified {
 13101  		if res.Body != nil {
 13102  			res.Body.Close()
 13103  		}
 13104  		return nil, gensupport.WrapError(&googleapi.Error{
 13105  			Code:   res.StatusCode,
 13106  			Header: res.Header,
 13107  		})
 13108  	}
 13109  	if err != nil {
 13110  		return nil, err
 13111  	}
 13112  	defer googleapi.CloseBody(res)
 13113  	if err := googleapi.CheckResponse(res); err != nil {
 13114  		return nil, gensupport.WrapError(err)
 13115  	}
 13116  	ret := &ListScopeNamespacesResponse{
 13117  		ServerResponse: googleapi.ServerResponse{
 13118  			Header:         res.Header,
 13119  			HTTPStatusCode: res.StatusCode,
 13120  		},
 13121  	}
 13122  	target := &ret
 13123  	if err := gensupport.DecodeResponse(target, res); err != nil {
 13124  		return nil, err
 13125  	}
 13126  	return ret, nil
 13127  }
 13128  
 13129  // Pages invokes f for each page of results.
 13130  // A non-nil error returned from f will halt the iteration.
 13131  // The provided context supersedes any context provided to the Context method.
 13132  func (c *ProjectsLocationsScopesNamespacesListCall) Pages(ctx context.Context, f func(*ListScopeNamespacesResponse) error) error {
 13133  	c.ctx_ = ctx
 13134  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 13135  	for {
 13136  		x, err := c.Do()
 13137  		if err != nil {
 13138  			return err
 13139  		}
 13140  		if err := f(x); err != nil {
 13141  			return err
 13142  		}
 13143  		if x.NextPageToken == "" {
 13144  			return nil
 13145  		}
 13146  		c.PageToken(x.NextPageToken)
 13147  	}
 13148  }
 13149  
 13150  type ProjectsLocationsScopesNamespacesPatchCall struct {
 13151  	s          *Service
 13152  	name       string
 13153  	namespace  *Namespace
 13154  	urlParams_ gensupport.URLParams
 13155  	ctx_       context.Context
 13156  	header_    http.Header
 13157  }
 13158  
 13159  // Patch: Updates a fleet namespace.
 13160  //
 13161  //   - name: The resource name for the namespace
 13162  //     `projects/{project}/locations/{location}/namespaces/{namespace}`.
 13163  func (r *ProjectsLocationsScopesNamespacesService) Patch(name string, namespace *Namespace) *ProjectsLocationsScopesNamespacesPatchCall {
 13164  	c := &ProjectsLocationsScopesNamespacesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 13165  	c.name = name
 13166  	c.namespace = namespace
 13167  	return c
 13168  }
 13169  
 13170  // UpdateMask sets the optional parameter "updateMask": Required. The fields to
 13171  // be updated.
 13172  func (c *ProjectsLocationsScopesNamespacesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsScopesNamespacesPatchCall {
 13173  	c.urlParams_.Set("updateMask", updateMask)
 13174  	return c
 13175  }
 13176  
 13177  // Fields allows partial responses to be retrieved. See
 13178  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 13179  // details.
 13180  func (c *ProjectsLocationsScopesNamespacesPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsScopesNamespacesPatchCall {
 13181  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 13182  	return c
 13183  }
 13184  
 13185  // Context sets the context to be used in this call's Do method.
 13186  func (c *ProjectsLocationsScopesNamespacesPatchCall) Context(ctx context.Context) *ProjectsLocationsScopesNamespacesPatchCall {
 13187  	c.ctx_ = ctx
 13188  	return c
 13189  }
 13190  
 13191  // Header returns a http.Header that can be modified by the caller to add
 13192  // headers to the request.
 13193  func (c *ProjectsLocationsScopesNamespacesPatchCall) Header() http.Header {
 13194  	if c.header_ == nil {
 13195  		c.header_ = make(http.Header)
 13196  	}
 13197  	return c.header_
 13198  }
 13199  
 13200  func (c *ProjectsLocationsScopesNamespacesPatchCall) doRequest(alt string) (*http.Response, error) {
 13201  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 13202  	var body io.Reader = nil
 13203  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.namespace)
 13204  	if err != nil {
 13205  		return nil, err
 13206  	}
 13207  	c.urlParams_.Set("alt", alt)
 13208  	c.urlParams_.Set("prettyPrint", "false")
 13209  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}")
 13210  	urls += "?" + c.urlParams_.Encode()
 13211  	req, err := http.NewRequest("PATCH", urls, body)
 13212  	if err != nil {
 13213  		return nil, err
 13214  	}
 13215  	req.Header = reqHeaders
 13216  	googleapi.Expand(req.URL, map[string]string{
 13217  		"name": c.name,
 13218  	})
 13219  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 13220  }
 13221  
 13222  // Do executes the "gkehub.projects.locations.scopes.namespaces.patch" call.
 13223  // Any non-2xx status code is an error. Response headers are in either
 13224  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 13225  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 13226  // whether the returned error was because http.StatusNotModified was returned.
 13227  func (c *ProjectsLocationsScopesNamespacesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 13228  	gensupport.SetOptions(c.urlParams_, opts...)
 13229  	res, err := c.doRequest("json")
 13230  	if res != nil && res.StatusCode == http.StatusNotModified {
 13231  		if res.Body != nil {
 13232  			res.Body.Close()
 13233  		}
 13234  		return nil, gensupport.WrapError(&googleapi.Error{
 13235  			Code:   res.StatusCode,
 13236  			Header: res.Header,
 13237  		})
 13238  	}
 13239  	if err != nil {
 13240  		return nil, err
 13241  	}
 13242  	defer googleapi.CloseBody(res)
 13243  	if err := googleapi.CheckResponse(res); err != nil {
 13244  		return nil, gensupport.WrapError(err)
 13245  	}
 13246  	ret := &Operation{
 13247  		ServerResponse: googleapi.ServerResponse{
 13248  			Header:         res.Header,
 13249  			HTTPStatusCode: res.StatusCode,
 13250  		},
 13251  	}
 13252  	target := &ret
 13253  	if err := gensupport.DecodeResponse(target, res); err != nil {
 13254  		return nil, err
 13255  	}
 13256  	return ret, nil
 13257  }
 13258  
 13259  type ProjectsLocationsScopesRbacrolebindingsCreateCall struct {
 13260  	s               *Service
 13261  	parent          string
 13262  	rbacrolebinding *RBACRoleBinding
 13263  	urlParams_      gensupport.URLParams
 13264  	ctx_            context.Context
 13265  	header_         http.Header
 13266  }
 13267  
 13268  // Create: Creates a Scope RBACRoleBinding.
 13269  //
 13270  //   - parent: The parent (project and location) where the RBACRoleBinding will
 13271  //     be created. Specified in the format `projects/*/locations/*/scopes/*`.
 13272  func (r *ProjectsLocationsScopesRbacrolebindingsService) Create(parent string, rbacrolebinding *RBACRoleBinding) *ProjectsLocationsScopesRbacrolebindingsCreateCall {
 13273  	c := &ProjectsLocationsScopesRbacrolebindingsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 13274  	c.parent = parent
 13275  	c.rbacrolebinding = rbacrolebinding
 13276  	return c
 13277  }
 13278  
 13279  // RbacrolebindingId sets the optional parameter "rbacrolebindingId": Required.
 13280  // Client chosen ID for the RBACRoleBinding. `rbacrolebinding_id` must be a
 13281  // valid RFC 1123 compliant DNS label: 1. At most 63 characters in length 2. It
 13282  // must consist of lower case alphanumeric characters or `-` 3. It must start
 13283  // and end with an alphanumeric character Which can be expressed as the regex:
 13284  // `[a-z0-9]([-a-z0-9]*[a-z0-9])?`, with a maximum length of 63 characters.
 13285  func (c *ProjectsLocationsScopesRbacrolebindingsCreateCall) RbacrolebindingId(rbacrolebindingId string) *ProjectsLocationsScopesRbacrolebindingsCreateCall {
 13286  	c.urlParams_.Set("rbacrolebindingId", rbacrolebindingId)
 13287  	return c
 13288  }
 13289  
 13290  // Fields allows partial responses to be retrieved. See
 13291  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 13292  // details.
 13293  func (c *ProjectsLocationsScopesRbacrolebindingsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsScopesRbacrolebindingsCreateCall {
 13294  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 13295  	return c
 13296  }
 13297  
 13298  // Context sets the context to be used in this call's Do method.
 13299  func (c *ProjectsLocationsScopesRbacrolebindingsCreateCall) Context(ctx context.Context) *ProjectsLocationsScopesRbacrolebindingsCreateCall {
 13300  	c.ctx_ = ctx
 13301  	return c
 13302  }
 13303  
 13304  // Header returns a http.Header that can be modified by the caller to add
 13305  // headers to the request.
 13306  func (c *ProjectsLocationsScopesRbacrolebindingsCreateCall) Header() http.Header {
 13307  	if c.header_ == nil {
 13308  		c.header_ = make(http.Header)
 13309  	}
 13310  	return c.header_
 13311  }
 13312  
 13313  func (c *ProjectsLocationsScopesRbacrolebindingsCreateCall) doRequest(alt string) (*http.Response, error) {
 13314  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 13315  	var body io.Reader = nil
 13316  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.rbacrolebinding)
 13317  	if err != nil {
 13318  		return nil, err
 13319  	}
 13320  	c.urlParams_.Set("alt", alt)
 13321  	c.urlParams_.Set("prettyPrint", "false")
 13322  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+parent}/rbacrolebindings")
 13323  	urls += "?" + c.urlParams_.Encode()
 13324  	req, err := http.NewRequest("POST", urls, body)
 13325  	if err != nil {
 13326  		return nil, err
 13327  	}
 13328  	req.Header = reqHeaders
 13329  	googleapi.Expand(req.URL, map[string]string{
 13330  		"parent": c.parent,
 13331  	})
 13332  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 13333  }
 13334  
 13335  // Do executes the "gkehub.projects.locations.scopes.rbacrolebindings.create" call.
 13336  // Any non-2xx status code is an error. Response headers are in either
 13337  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 13338  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 13339  // whether the returned error was because http.StatusNotModified was returned.
 13340  func (c *ProjectsLocationsScopesRbacrolebindingsCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 13341  	gensupport.SetOptions(c.urlParams_, opts...)
 13342  	res, err := c.doRequest("json")
 13343  	if res != nil && res.StatusCode == http.StatusNotModified {
 13344  		if res.Body != nil {
 13345  			res.Body.Close()
 13346  		}
 13347  		return nil, gensupport.WrapError(&googleapi.Error{
 13348  			Code:   res.StatusCode,
 13349  			Header: res.Header,
 13350  		})
 13351  	}
 13352  	if err != nil {
 13353  		return nil, err
 13354  	}
 13355  	defer googleapi.CloseBody(res)
 13356  	if err := googleapi.CheckResponse(res); err != nil {
 13357  		return nil, gensupport.WrapError(err)
 13358  	}
 13359  	ret := &Operation{
 13360  		ServerResponse: googleapi.ServerResponse{
 13361  			Header:         res.Header,
 13362  			HTTPStatusCode: res.StatusCode,
 13363  		},
 13364  	}
 13365  	target := &ret
 13366  	if err := gensupport.DecodeResponse(target, res); err != nil {
 13367  		return nil, err
 13368  	}
 13369  	return ret, nil
 13370  }
 13371  
 13372  type ProjectsLocationsScopesRbacrolebindingsDeleteCall struct {
 13373  	s          *Service
 13374  	name       string
 13375  	urlParams_ gensupport.URLParams
 13376  	ctx_       context.Context
 13377  	header_    http.Header
 13378  }
 13379  
 13380  // Delete: Deletes a Scope RBACRoleBinding.
 13381  //
 13382  //   - name: The RBACRoleBinding resource name in the format
 13383  //     `projects/*/locations/*/scopes/*/rbacrolebindings/*`.
 13384  func (r *ProjectsLocationsScopesRbacrolebindingsService) Delete(name string) *ProjectsLocationsScopesRbacrolebindingsDeleteCall {
 13385  	c := &ProjectsLocationsScopesRbacrolebindingsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 13386  	c.name = name
 13387  	return c
 13388  }
 13389  
 13390  // Fields allows partial responses to be retrieved. See
 13391  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 13392  // details.
 13393  func (c *ProjectsLocationsScopesRbacrolebindingsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsScopesRbacrolebindingsDeleteCall {
 13394  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 13395  	return c
 13396  }
 13397  
 13398  // Context sets the context to be used in this call's Do method.
 13399  func (c *ProjectsLocationsScopesRbacrolebindingsDeleteCall) Context(ctx context.Context) *ProjectsLocationsScopesRbacrolebindingsDeleteCall {
 13400  	c.ctx_ = ctx
 13401  	return c
 13402  }
 13403  
 13404  // Header returns a http.Header that can be modified by the caller to add
 13405  // headers to the request.
 13406  func (c *ProjectsLocationsScopesRbacrolebindingsDeleteCall) Header() http.Header {
 13407  	if c.header_ == nil {
 13408  		c.header_ = make(http.Header)
 13409  	}
 13410  	return c.header_
 13411  }
 13412  
 13413  func (c *ProjectsLocationsScopesRbacrolebindingsDeleteCall) doRequest(alt string) (*http.Response, error) {
 13414  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 13415  	var body io.Reader = nil
 13416  	c.urlParams_.Set("alt", alt)
 13417  	c.urlParams_.Set("prettyPrint", "false")
 13418  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}")
 13419  	urls += "?" + c.urlParams_.Encode()
 13420  	req, err := http.NewRequest("DELETE", urls, body)
 13421  	if err != nil {
 13422  		return nil, err
 13423  	}
 13424  	req.Header = reqHeaders
 13425  	googleapi.Expand(req.URL, map[string]string{
 13426  		"name": c.name,
 13427  	})
 13428  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 13429  }
 13430  
 13431  // Do executes the "gkehub.projects.locations.scopes.rbacrolebindings.delete" call.
 13432  // Any non-2xx status code is an error. Response headers are in either
 13433  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 13434  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 13435  // whether the returned error was because http.StatusNotModified was returned.
 13436  func (c *ProjectsLocationsScopesRbacrolebindingsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 13437  	gensupport.SetOptions(c.urlParams_, opts...)
 13438  	res, err := c.doRequest("json")
 13439  	if res != nil && res.StatusCode == http.StatusNotModified {
 13440  		if res.Body != nil {
 13441  			res.Body.Close()
 13442  		}
 13443  		return nil, gensupport.WrapError(&googleapi.Error{
 13444  			Code:   res.StatusCode,
 13445  			Header: res.Header,
 13446  		})
 13447  	}
 13448  	if err != nil {
 13449  		return nil, err
 13450  	}
 13451  	defer googleapi.CloseBody(res)
 13452  	if err := googleapi.CheckResponse(res); err != nil {
 13453  		return nil, gensupport.WrapError(err)
 13454  	}
 13455  	ret := &Operation{
 13456  		ServerResponse: googleapi.ServerResponse{
 13457  			Header:         res.Header,
 13458  			HTTPStatusCode: res.StatusCode,
 13459  		},
 13460  	}
 13461  	target := &ret
 13462  	if err := gensupport.DecodeResponse(target, res); err != nil {
 13463  		return nil, err
 13464  	}
 13465  	return ret, nil
 13466  }
 13467  
 13468  type ProjectsLocationsScopesRbacrolebindingsGetCall struct {
 13469  	s            *Service
 13470  	name         string
 13471  	urlParams_   gensupport.URLParams
 13472  	ifNoneMatch_ string
 13473  	ctx_         context.Context
 13474  	header_      http.Header
 13475  }
 13476  
 13477  // Get: Returns the details of a Scope RBACRoleBinding.
 13478  //
 13479  //   - name: The RBACRoleBinding resource name in the format
 13480  //     `projects/*/locations/*/scopes/*/rbacrolebindings/*`.
 13481  func (r *ProjectsLocationsScopesRbacrolebindingsService) Get(name string) *ProjectsLocationsScopesRbacrolebindingsGetCall {
 13482  	c := &ProjectsLocationsScopesRbacrolebindingsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 13483  	c.name = name
 13484  	return c
 13485  }
 13486  
 13487  // Fields allows partial responses to be retrieved. See
 13488  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 13489  // details.
 13490  func (c *ProjectsLocationsScopesRbacrolebindingsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsScopesRbacrolebindingsGetCall {
 13491  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 13492  	return c
 13493  }
 13494  
 13495  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 13496  // object's ETag matches the given value. This is useful for getting updates
 13497  // only after the object has changed since the last request.
 13498  func (c *ProjectsLocationsScopesRbacrolebindingsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsScopesRbacrolebindingsGetCall {
 13499  	c.ifNoneMatch_ = entityTag
 13500  	return c
 13501  }
 13502  
 13503  // Context sets the context to be used in this call's Do method.
 13504  func (c *ProjectsLocationsScopesRbacrolebindingsGetCall) Context(ctx context.Context) *ProjectsLocationsScopesRbacrolebindingsGetCall {
 13505  	c.ctx_ = ctx
 13506  	return c
 13507  }
 13508  
 13509  // Header returns a http.Header that can be modified by the caller to add
 13510  // headers to the request.
 13511  func (c *ProjectsLocationsScopesRbacrolebindingsGetCall) Header() http.Header {
 13512  	if c.header_ == nil {
 13513  		c.header_ = make(http.Header)
 13514  	}
 13515  	return c.header_
 13516  }
 13517  
 13518  func (c *ProjectsLocationsScopesRbacrolebindingsGetCall) doRequest(alt string) (*http.Response, error) {
 13519  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 13520  	if c.ifNoneMatch_ != "" {
 13521  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 13522  	}
 13523  	var body io.Reader = nil
 13524  	c.urlParams_.Set("alt", alt)
 13525  	c.urlParams_.Set("prettyPrint", "false")
 13526  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}")
 13527  	urls += "?" + c.urlParams_.Encode()
 13528  	req, err := http.NewRequest("GET", urls, body)
 13529  	if err != nil {
 13530  		return nil, err
 13531  	}
 13532  	req.Header = reqHeaders
 13533  	googleapi.Expand(req.URL, map[string]string{
 13534  		"name": c.name,
 13535  	})
 13536  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 13537  }
 13538  
 13539  // Do executes the "gkehub.projects.locations.scopes.rbacrolebindings.get" call.
 13540  // Any non-2xx status code is an error. Response headers are in either
 13541  // *RBACRoleBinding.ServerResponse.Header or (if a response was returned at
 13542  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 13543  // check whether the returned error was because http.StatusNotModified was
 13544  // returned.
 13545  func (c *ProjectsLocationsScopesRbacrolebindingsGetCall) Do(opts ...googleapi.CallOption) (*RBACRoleBinding, error) {
 13546  	gensupport.SetOptions(c.urlParams_, opts...)
 13547  	res, err := c.doRequest("json")
 13548  	if res != nil && res.StatusCode == http.StatusNotModified {
 13549  		if res.Body != nil {
 13550  			res.Body.Close()
 13551  		}
 13552  		return nil, gensupport.WrapError(&googleapi.Error{
 13553  			Code:   res.StatusCode,
 13554  			Header: res.Header,
 13555  		})
 13556  	}
 13557  	if err != nil {
 13558  		return nil, err
 13559  	}
 13560  	defer googleapi.CloseBody(res)
 13561  	if err := googleapi.CheckResponse(res); err != nil {
 13562  		return nil, gensupport.WrapError(err)
 13563  	}
 13564  	ret := &RBACRoleBinding{
 13565  		ServerResponse: googleapi.ServerResponse{
 13566  			Header:         res.Header,
 13567  			HTTPStatusCode: res.StatusCode,
 13568  		},
 13569  	}
 13570  	target := &ret
 13571  	if err := gensupport.DecodeResponse(target, res); err != nil {
 13572  		return nil, err
 13573  	}
 13574  	return ret, nil
 13575  }
 13576  
 13577  type ProjectsLocationsScopesRbacrolebindingsListCall struct {
 13578  	s            *Service
 13579  	parent       string
 13580  	urlParams_   gensupport.URLParams
 13581  	ifNoneMatch_ string
 13582  	ctx_         context.Context
 13583  	header_      http.Header
 13584  }
 13585  
 13586  // List: Lists all Scope RBACRoleBindings.
 13587  //
 13588  //   - parent: The parent (project and location) where the Features will be
 13589  //     listed. Specified in the format `projects/*/locations/*/scopes/*`.
 13590  func (r *ProjectsLocationsScopesRbacrolebindingsService) List(parent string) *ProjectsLocationsScopesRbacrolebindingsListCall {
 13591  	c := &ProjectsLocationsScopesRbacrolebindingsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 13592  	c.parent = parent
 13593  	return c
 13594  }
 13595  
 13596  // PageSize sets the optional parameter "pageSize": When requesting a 'page' of
 13597  // resources, `page_size` specifies number of resources to return. If
 13598  // unspecified or set to 0, all resources will be returned.
 13599  func (c *ProjectsLocationsScopesRbacrolebindingsListCall) PageSize(pageSize int64) *ProjectsLocationsScopesRbacrolebindingsListCall {
 13600  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 13601  	return c
 13602  }
 13603  
 13604  // PageToken sets the optional parameter "pageToken": Token returned by
 13605  // previous call to `ListScopeRBACRoleBindings` which specifies the position in
 13606  // the list from where to continue listing the resources.
 13607  func (c *ProjectsLocationsScopesRbacrolebindingsListCall) PageToken(pageToken string) *ProjectsLocationsScopesRbacrolebindingsListCall {
 13608  	c.urlParams_.Set("pageToken", pageToken)
 13609  	return c
 13610  }
 13611  
 13612  // Fields allows partial responses to be retrieved. See
 13613  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 13614  // details.
 13615  func (c *ProjectsLocationsScopesRbacrolebindingsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsScopesRbacrolebindingsListCall {
 13616  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 13617  	return c
 13618  }
 13619  
 13620  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 13621  // object's ETag matches the given value. This is useful for getting updates
 13622  // only after the object has changed since the last request.
 13623  func (c *ProjectsLocationsScopesRbacrolebindingsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsScopesRbacrolebindingsListCall {
 13624  	c.ifNoneMatch_ = entityTag
 13625  	return c
 13626  }
 13627  
 13628  // Context sets the context to be used in this call's Do method.
 13629  func (c *ProjectsLocationsScopesRbacrolebindingsListCall) Context(ctx context.Context) *ProjectsLocationsScopesRbacrolebindingsListCall {
 13630  	c.ctx_ = ctx
 13631  	return c
 13632  }
 13633  
 13634  // Header returns a http.Header that can be modified by the caller to add
 13635  // headers to the request.
 13636  func (c *ProjectsLocationsScopesRbacrolebindingsListCall) Header() http.Header {
 13637  	if c.header_ == nil {
 13638  		c.header_ = make(http.Header)
 13639  	}
 13640  	return c.header_
 13641  }
 13642  
 13643  func (c *ProjectsLocationsScopesRbacrolebindingsListCall) doRequest(alt string) (*http.Response, error) {
 13644  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 13645  	if c.ifNoneMatch_ != "" {
 13646  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 13647  	}
 13648  	var body io.Reader = nil
 13649  	c.urlParams_.Set("alt", alt)
 13650  	c.urlParams_.Set("prettyPrint", "false")
 13651  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+parent}/rbacrolebindings")
 13652  	urls += "?" + c.urlParams_.Encode()
 13653  	req, err := http.NewRequest("GET", urls, body)
 13654  	if err != nil {
 13655  		return nil, err
 13656  	}
 13657  	req.Header = reqHeaders
 13658  	googleapi.Expand(req.URL, map[string]string{
 13659  		"parent": c.parent,
 13660  	})
 13661  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 13662  }
 13663  
 13664  // Do executes the "gkehub.projects.locations.scopes.rbacrolebindings.list" call.
 13665  // Any non-2xx status code is an error. Response headers are in either
 13666  // *ListScopeRBACRoleBindingsResponse.ServerResponse.Header or (if a response
 13667  // was returned at all) in error.(*googleapi.Error).Header. Use
 13668  // googleapi.IsNotModified to check whether the returned error was because
 13669  // http.StatusNotModified was returned.
 13670  func (c *ProjectsLocationsScopesRbacrolebindingsListCall) Do(opts ...googleapi.CallOption) (*ListScopeRBACRoleBindingsResponse, error) {
 13671  	gensupport.SetOptions(c.urlParams_, opts...)
 13672  	res, err := c.doRequest("json")
 13673  	if res != nil && res.StatusCode == http.StatusNotModified {
 13674  		if res.Body != nil {
 13675  			res.Body.Close()
 13676  		}
 13677  		return nil, gensupport.WrapError(&googleapi.Error{
 13678  			Code:   res.StatusCode,
 13679  			Header: res.Header,
 13680  		})
 13681  	}
 13682  	if err != nil {
 13683  		return nil, err
 13684  	}
 13685  	defer googleapi.CloseBody(res)
 13686  	if err := googleapi.CheckResponse(res); err != nil {
 13687  		return nil, gensupport.WrapError(err)
 13688  	}
 13689  	ret := &ListScopeRBACRoleBindingsResponse{
 13690  		ServerResponse: googleapi.ServerResponse{
 13691  			Header:         res.Header,
 13692  			HTTPStatusCode: res.StatusCode,
 13693  		},
 13694  	}
 13695  	target := &ret
 13696  	if err := gensupport.DecodeResponse(target, res); err != nil {
 13697  		return nil, err
 13698  	}
 13699  	return ret, nil
 13700  }
 13701  
 13702  // Pages invokes f for each page of results.
 13703  // A non-nil error returned from f will halt the iteration.
 13704  // The provided context supersedes any context provided to the Context method.
 13705  func (c *ProjectsLocationsScopesRbacrolebindingsListCall) Pages(ctx context.Context, f func(*ListScopeRBACRoleBindingsResponse) error) error {
 13706  	c.ctx_ = ctx
 13707  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 13708  	for {
 13709  		x, err := c.Do()
 13710  		if err != nil {
 13711  			return err
 13712  		}
 13713  		if err := f(x); err != nil {
 13714  			return err
 13715  		}
 13716  		if x.NextPageToken == "" {
 13717  			return nil
 13718  		}
 13719  		c.PageToken(x.NextPageToken)
 13720  	}
 13721  }
 13722  
 13723  type ProjectsLocationsScopesRbacrolebindingsPatchCall struct {
 13724  	s               *Service
 13725  	name            string
 13726  	rbacrolebinding *RBACRoleBinding
 13727  	urlParams_      gensupport.URLParams
 13728  	ctx_            context.Context
 13729  	header_         http.Header
 13730  }
 13731  
 13732  // Patch: Updates a Scope RBACRoleBinding.
 13733  //
 13734  //   - name: The resource name for the rbacrolebinding
 13735  //     `projects/{project}/locations/{location}/scopes/{scope}/rbacrolebindings/{r
 13736  //     bacrolebinding}` or
 13737  //     `projects/{project}/locations/{location}/memberships/{membership}/rbacroleb
 13738  //     indings/{rbacrolebinding}`.
 13739  func (r *ProjectsLocationsScopesRbacrolebindingsService) Patch(name string, rbacrolebinding *RBACRoleBinding) *ProjectsLocationsScopesRbacrolebindingsPatchCall {
 13740  	c := &ProjectsLocationsScopesRbacrolebindingsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 13741  	c.name = name
 13742  	c.rbacrolebinding = rbacrolebinding
 13743  	return c
 13744  }
 13745  
 13746  // UpdateMask sets the optional parameter "updateMask": Required. The fields to
 13747  // be updated.
 13748  func (c *ProjectsLocationsScopesRbacrolebindingsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsScopesRbacrolebindingsPatchCall {
 13749  	c.urlParams_.Set("updateMask", updateMask)
 13750  	return c
 13751  }
 13752  
 13753  // Fields allows partial responses to be retrieved. See
 13754  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 13755  // details.
 13756  func (c *ProjectsLocationsScopesRbacrolebindingsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsScopesRbacrolebindingsPatchCall {
 13757  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 13758  	return c
 13759  }
 13760  
 13761  // Context sets the context to be used in this call's Do method.
 13762  func (c *ProjectsLocationsScopesRbacrolebindingsPatchCall) Context(ctx context.Context) *ProjectsLocationsScopesRbacrolebindingsPatchCall {
 13763  	c.ctx_ = ctx
 13764  	return c
 13765  }
 13766  
 13767  // Header returns a http.Header that can be modified by the caller to add
 13768  // headers to the request.
 13769  func (c *ProjectsLocationsScopesRbacrolebindingsPatchCall) Header() http.Header {
 13770  	if c.header_ == nil {
 13771  		c.header_ = make(http.Header)
 13772  	}
 13773  	return c.header_
 13774  }
 13775  
 13776  func (c *ProjectsLocationsScopesRbacrolebindingsPatchCall) doRequest(alt string) (*http.Response, error) {
 13777  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 13778  	var body io.Reader = nil
 13779  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.rbacrolebinding)
 13780  	if err != nil {
 13781  		return nil, err
 13782  	}
 13783  	c.urlParams_.Set("alt", alt)
 13784  	c.urlParams_.Set("prettyPrint", "false")
 13785  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}")
 13786  	urls += "?" + c.urlParams_.Encode()
 13787  	req, err := http.NewRequest("PATCH", urls, body)
 13788  	if err != nil {
 13789  		return nil, err
 13790  	}
 13791  	req.Header = reqHeaders
 13792  	googleapi.Expand(req.URL, map[string]string{
 13793  		"name": c.name,
 13794  	})
 13795  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 13796  }
 13797  
 13798  // Do executes the "gkehub.projects.locations.scopes.rbacrolebindings.patch" call.
 13799  // Any non-2xx status code is an error. Response headers are in either
 13800  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 13801  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 13802  // whether the returned error was because http.StatusNotModified was returned.
 13803  func (c *ProjectsLocationsScopesRbacrolebindingsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 13804  	gensupport.SetOptions(c.urlParams_, opts...)
 13805  	res, err := c.doRequest("json")
 13806  	if res != nil && res.StatusCode == http.StatusNotModified {
 13807  		if res.Body != nil {
 13808  			res.Body.Close()
 13809  		}
 13810  		return nil, gensupport.WrapError(&googleapi.Error{
 13811  			Code:   res.StatusCode,
 13812  			Header: res.Header,
 13813  		})
 13814  	}
 13815  	if err != nil {
 13816  		return nil, err
 13817  	}
 13818  	defer googleapi.CloseBody(res)
 13819  	if err := googleapi.CheckResponse(res); err != nil {
 13820  		return nil, gensupport.WrapError(err)
 13821  	}
 13822  	ret := &Operation{
 13823  		ServerResponse: googleapi.ServerResponse{
 13824  			Header:         res.Header,
 13825  			HTTPStatusCode: res.StatusCode,
 13826  		},
 13827  	}
 13828  	target := &ret
 13829  	if err := gensupport.DecodeResponse(target, res); err != nil {
 13830  		return nil, err
 13831  	}
 13832  	return ret, nil
 13833  }
 13834  

View as plain text