...

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

Documentation: google.golang.org/api/alloydb/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 alloydb provides access to the AlloyDB API.
     8  //
     9  // For product documentation, see: https://cloud.google.com/alloydb/
    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/alloydb/v1alpha"
    27  //	...
    28  //	ctx := context.Background()
    29  //	alloydbService, err := alloydb.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  //	alloydbService, err := alloydb.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  //	alloydbService, err := alloydb.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
    49  //
    50  // See [google.golang.org/api/option.ClientOption] for details on options.
    51  package alloydb // import "google.golang.org/api/alloydb/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 = "alloydb:v1alpha"
    90  const apiName = "alloydb"
    91  const apiVersion = "v1alpha"
    92  const basePath = "https://alloydb.googleapis.com/"
    93  const basePathTemplate = "https://alloydb.UNIVERSE_DOMAIN/"
    94  const mtlsBasePath = "https://alloydb.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.Projects = NewProjectsService(s)
   139  	return s, nil
   140  }
   141  
   142  type Service struct {
   143  	client    *http.Client
   144  	BasePath  string // API endpoint base URL
   145  	UserAgent string // optional additional User-Agent fragment
   146  
   147  	Projects *ProjectsService
   148  }
   149  
   150  func (s *Service) userAgent() string {
   151  	if s.UserAgent == "" {
   152  		return googleapi.UserAgent
   153  	}
   154  	return googleapi.UserAgent + " " + s.UserAgent
   155  }
   156  
   157  func NewProjectsService(s *Service) *ProjectsService {
   158  	rs := &ProjectsService{s: s}
   159  	rs.Locations = NewProjectsLocationsService(s)
   160  	return rs
   161  }
   162  
   163  type ProjectsService struct {
   164  	s *Service
   165  
   166  	Locations *ProjectsLocationsService
   167  }
   168  
   169  func NewProjectsLocationsService(s *Service) *ProjectsLocationsService {
   170  	rs := &ProjectsLocationsService{s: s}
   171  	rs.Backups = NewProjectsLocationsBackupsService(s)
   172  	rs.Clusters = NewProjectsLocationsClustersService(s)
   173  	rs.Operations = NewProjectsLocationsOperationsService(s)
   174  	rs.SupportedDatabaseFlags = NewProjectsLocationsSupportedDatabaseFlagsService(s)
   175  	return rs
   176  }
   177  
   178  type ProjectsLocationsService struct {
   179  	s *Service
   180  
   181  	Backups *ProjectsLocationsBackupsService
   182  
   183  	Clusters *ProjectsLocationsClustersService
   184  
   185  	Operations *ProjectsLocationsOperationsService
   186  
   187  	SupportedDatabaseFlags *ProjectsLocationsSupportedDatabaseFlagsService
   188  }
   189  
   190  func NewProjectsLocationsBackupsService(s *Service) *ProjectsLocationsBackupsService {
   191  	rs := &ProjectsLocationsBackupsService{s: s}
   192  	return rs
   193  }
   194  
   195  type ProjectsLocationsBackupsService struct {
   196  	s *Service
   197  }
   198  
   199  func NewProjectsLocationsClustersService(s *Service) *ProjectsLocationsClustersService {
   200  	rs := &ProjectsLocationsClustersService{s: s}
   201  	rs.Instances = NewProjectsLocationsClustersInstancesService(s)
   202  	rs.Users = NewProjectsLocationsClustersUsersService(s)
   203  	return rs
   204  }
   205  
   206  type ProjectsLocationsClustersService struct {
   207  	s *Service
   208  
   209  	Instances *ProjectsLocationsClustersInstancesService
   210  
   211  	Users *ProjectsLocationsClustersUsersService
   212  }
   213  
   214  func NewProjectsLocationsClustersInstancesService(s *Service) *ProjectsLocationsClustersInstancesService {
   215  	rs := &ProjectsLocationsClustersInstancesService{s: s}
   216  	return rs
   217  }
   218  
   219  type ProjectsLocationsClustersInstancesService struct {
   220  	s *Service
   221  }
   222  
   223  func NewProjectsLocationsClustersUsersService(s *Service) *ProjectsLocationsClustersUsersService {
   224  	rs := &ProjectsLocationsClustersUsersService{s: s}
   225  	return rs
   226  }
   227  
   228  type ProjectsLocationsClustersUsersService struct {
   229  	s *Service
   230  }
   231  
   232  func NewProjectsLocationsOperationsService(s *Service) *ProjectsLocationsOperationsService {
   233  	rs := &ProjectsLocationsOperationsService{s: s}
   234  	return rs
   235  }
   236  
   237  type ProjectsLocationsOperationsService struct {
   238  	s *Service
   239  }
   240  
   241  func NewProjectsLocationsSupportedDatabaseFlagsService(s *Service) *ProjectsLocationsSupportedDatabaseFlagsService {
   242  	rs := &ProjectsLocationsSupportedDatabaseFlagsService{s: s}
   243  	return rs
   244  }
   245  
   246  type ProjectsLocationsSupportedDatabaseFlagsService struct {
   247  	s *Service
   248  }
   249  
   250  // AuthorizedNetwork: AuthorizedNetwork contains metadata for an authorized
   251  // network.
   252  type AuthorizedNetwork struct {
   253  	// CidrRange: CIDR range for one authorzied network of the instance.
   254  	CidrRange string `json:"cidrRange,omitempty"`
   255  	// ForceSendFields is a list of field names (e.g. "CidrRange") to
   256  	// unconditionally include in API requests. By default, fields with empty or
   257  	// default values are omitted from API requests. See
   258  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   259  	// details.
   260  	ForceSendFields []string `json:"-"`
   261  	// NullFields is a list of field names (e.g. "CidrRange") to include in API
   262  	// requests with the JSON null value. By default, fields with empty values are
   263  	// omitted from API requests. See
   264  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   265  	NullFields []string `json:"-"`
   266  }
   267  
   268  func (s *AuthorizedNetwork) MarshalJSON() ([]byte, error) {
   269  	type NoMethod AuthorizedNetwork
   270  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   271  }
   272  
   273  // AutomatedBackupPolicy: Message describing the user-specified automated
   274  // backup policy. All fields in the automated backup policy are optional.
   275  // Defaults for each field are provided if they are not set.
   276  type AutomatedBackupPolicy struct {
   277  	// BackupWindow: The length of the time window during which a backup can be
   278  	// taken. If a backup does not succeed within this time window, it will be
   279  	// canceled and considered failed. The backup window must be at least 5 minutes
   280  	// long. There is no upper bound on the window. If not set, it defaults to 1
   281  	// hour.
   282  	BackupWindow string `json:"backupWindow,omitempty"`
   283  	// Enabled: Whether automated automated backups are enabled. If not set,
   284  	// defaults to true.
   285  	Enabled bool `json:"enabled,omitempty"`
   286  	// EncryptionConfig: Optional. The encryption config can be specified to
   287  	// encrypt the backups with a customer-managed encryption key (CMEK). When this
   288  	// field is not specified, the backup will then use default encryption scheme
   289  	// to protect the user data.
   290  	EncryptionConfig *EncryptionConfig `json:"encryptionConfig,omitempty"`
   291  	// Labels: Labels to apply to backups created using this configuration.
   292  	Labels map[string]string `json:"labels,omitempty"`
   293  	// Location: The location where the backup will be stored. Currently, the only
   294  	// supported option is to store the backup in the same region as the cluster.
   295  	// If empty, defaults to the region of the cluster.
   296  	Location string `json:"location,omitempty"`
   297  	// QuantityBasedRetention: Quantity-based Backup retention policy to retain
   298  	// recent backups.
   299  	QuantityBasedRetention *QuantityBasedRetention `json:"quantityBasedRetention,omitempty"`
   300  	// TimeBasedRetention: Time-based Backup retention policy.
   301  	TimeBasedRetention *TimeBasedRetention `json:"timeBasedRetention,omitempty"`
   302  	// WeeklySchedule: Weekly schedule for the Backup.
   303  	WeeklySchedule *WeeklySchedule `json:"weeklySchedule,omitempty"`
   304  	// ForceSendFields is a list of field names (e.g. "BackupWindow") to
   305  	// unconditionally include in API requests. By default, fields with empty or
   306  	// default values are omitted from API requests. See
   307  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   308  	// details.
   309  	ForceSendFields []string `json:"-"`
   310  	// NullFields is a list of field names (e.g. "BackupWindow") to include in API
   311  	// requests with the JSON null value. By default, fields with empty values are
   312  	// omitted from API requests. See
   313  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   314  	NullFields []string `json:"-"`
   315  }
   316  
   317  func (s *AutomatedBackupPolicy) MarshalJSON() ([]byte, error) {
   318  	type NoMethod AutomatedBackupPolicy
   319  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   320  }
   321  
   322  // Backup: Message describing Backup object
   323  type Backup struct {
   324  	// Annotations: Annotations to allow client tools to store small amount of
   325  	// arbitrary data. This is distinct from labels. https://google.aip.dev/128
   326  	Annotations map[string]string `json:"annotations,omitempty"`
   327  	// ClusterName: Required. The full resource name of the backup source cluster
   328  	// (e.g., projects/{project}/locations/{region}/clusters/{cluster_id}).
   329  	ClusterName string `json:"clusterName,omitempty"`
   330  	// ClusterUid: Output only. The system-generated UID of the cluster which was
   331  	// used to create this resource.
   332  	ClusterUid string `json:"clusterUid,omitempty"`
   333  	// CreateTime: Output only. Create time stamp
   334  	CreateTime string `json:"createTime,omitempty"`
   335  	// DatabaseVersion: Output only. The database engine major version of the
   336  	// cluster this backup was created from. Any restored cluster created from this
   337  	// backup will have the same database version.
   338  	//
   339  	// Possible values:
   340  	//   "DATABASE_VERSION_UNSPECIFIED" - This is an unknown database version.
   341  	//   "POSTGRES_13" - DEPRECATED - The database version is Postgres 13.
   342  	//   "POSTGRES_14" - The database version is Postgres 14.
   343  	//   "POSTGRES_15" - The database version is Postgres 15.
   344  	DatabaseVersion string `json:"databaseVersion,omitempty"`
   345  	// DeleteTime: Output only. Delete time stamp
   346  	DeleteTime string `json:"deleteTime,omitempty"`
   347  	// Description: User-provided description of the backup.
   348  	Description string `json:"description,omitempty"`
   349  	// DisplayName: User-settable and human-readable display name for the Backup.
   350  	DisplayName string `json:"displayName,omitempty"`
   351  	// EncryptionConfig: Optional. The encryption config can be specified to
   352  	// encrypt the backup with a customer-managed encryption key (CMEK). When this
   353  	// field is not specified, the backup will then use default encryption scheme
   354  	// to protect the user data.
   355  	EncryptionConfig *EncryptionConfig `json:"encryptionConfig,omitempty"`
   356  	// EncryptionInfo: Output only. The encryption information for the backup.
   357  	EncryptionInfo *EncryptionInfo `json:"encryptionInfo,omitempty"`
   358  	// Etag: For Resource freshness validation (https://google.aip.dev/154)
   359  	Etag string `json:"etag,omitempty"`
   360  	// ExpiryQuantity: Output only. The QuantityBasedExpiry of the backup,
   361  	// specified by the backup's retention policy. Once the expiry quantity is over
   362  	// retention, the backup is eligible to be garbage collected.
   363  	ExpiryQuantity *QuantityBasedExpiry `json:"expiryQuantity,omitempty"`
   364  	// ExpiryTime: Output only. The time at which after the backup is eligible to
   365  	// be garbage collected. It is the duration specified by the backup's retention
   366  	// policy, added to the backup's create_time.
   367  	ExpiryTime string `json:"expiryTime,omitempty"`
   368  	// Labels: Labels as key value pairs
   369  	Labels map[string]string `json:"labels,omitempty"`
   370  	// Name: Output only. The name of the backup resource with the format: *
   371  	// projects/{project}/locations/{region}/backups/{backup_id} where the cluster
   372  	// and backup ID segments should satisfy the regex expression
   373  	// `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`, e.g. 1-63 characters of lowercase
   374  	// letters, numbers, and dashes, starting with a letter, and ending with a
   375  	// letter or number. For more details see https://google.aip.dev/122. The
   376  	// prefix of the backup resource name is the name of the parent resource: *
   377  	// projects/{project}/locations/{region}
   378  	Name string `json:"name,omitempty"`
   379  	// Reconciling: Output only. Reconciling
   380  	// (https://google.aip.dev/128#reconciliation), if true, indicates that the
   381  	// service is actively updating the resource. This can happen due to
   382  	// user-triggered updates or system actions like failover or maintenance.
   383  	Reconciling bool `json:"reconciling,omitempty"`
   384  	// SatisfiesPzi: Output only. Reserved for future use.
   385  	SatisfiesPzi bool `json:"satisfiesPzi,omitempty"`
   386  	// SatisfiesPzs: Output only. Reserved for future use.
   387  	SatisfiesPzs bool `json:"satisfiesPzs,omitempty"`
   388  	// SizeBytes: Output only. The size of the backup in bytes.
   389  	SizeBytes int64 `json:"sizeBytes,omitempty,string"`
   390  	// State: Output only. The current state of the backup.
   391  	//
   392  	// Possible values:
   393  	//   "STATE_UNSPECIFIED" - The state of the backup is unknown.
   394  	//   "READY" - The backup is ready.
   395  	//   "CREATING" - The backup is creating.
   396  	//   "FAILED" - The backup failed.
   397  	//   "DELETING" - The backup is being deleted.
   398  	State string `json:"state,omitempty"`
   399  	// Type: The backup type, which suggests the trigger for the backup.
   400  	//
   401  	// Possible values:
   402  	//   "TYPE_UNSPECIFIED" - Backup Type is unknown.
   403  	//   "ON_DEMAND" - ON_DEMAND backups that were triggered by the customer (e.g.,
   404  	// not AUTOMATED).
   405  	//   "AUTOMATED" - AUTOMATED backups triggered by the automated backups
   406  	// scheduler pursuant to an automated backup policy.
   407  	//   "CONTINUOUS" - CONTINUOUS backups triggered by the automated backups
   408  	// scheduler due to a continuous backup policy.
   409  	Type string `json:"type,omitempty"`
   410  	// Uid: Output only. The system-generated UID of the resource. The UID is
   411  	// assigned when the resource is created, and it is retained until it is
   412  	// deleted.
   413  	Uid string `json:"uid,omitempty"`
   414  	// UpdateTime: Output only. Update time stamp
   415  	UpdateTime string `json:"updateTime,omitempty"`
   416  
   417  	// ServerResponse contains the HTTP response code and headers from the server.
   418  	googleapi.ServerResponse `json:"-"`
   419  	// ForceSendFields is a list of field names (e.g. "Annotations") to
   420  	// unconditionally include in API requests. By default, fields with empty or
   421  	// default values are omitted from API requests. See
   422  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   423  	// details.
   424  	ForceSendFields []string `json:"-"`
   425  	// NullFields is a list of field names (e.g. "Annotations") to include in API
   426  	// requests with the JSON null value. By default, fields with empty values are
   427  	// omitted from API requests. See
   428  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   429  	NullFields []string `json:"-"`
   430  }
   431  
   432  func (s *Backup) MarshalJSON() ([]byte, error) {
   433  	type NoMethod Backup
   434  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   435  }
   436  
   437  // BackupSource: Message describing a BackupSource.
   438  type BackupSource struct {
   439  	// BackupName: Required. The name of the backup resource with the format: *
   440  	// projects/{project}/locations/{region}/backups/{backup_id}
   441  	BackupName string `json:"backupName,omitempty"`
   442  	// BackupUid: Output only. The system-generated UID of the backup which was
   443  	// used to create this resource. The UID is generated when the backup is
   444  	// created, and it is retained until the backup is deleted.
   445  	BackupUid string `json:"backupUid,omitempty"`
   446  	// ForceSendFields is a list of field names (e.g. "BackupName") to
   447  	// unconditionally include in API requests. By default, fields with empty or
   448  	// default values are omitted from API requests. See
   449  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   450  	// details.
   451  	ForceSendFields []string `json:"-"`
   452  	// NullFields is a list of field names (e.g. "BackupName") to include in API
   453  	// requests with the JSON null value. By default, fields with empty values are
   454  	// omitted from API requests. See
   455  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   456  	NullFields []string `json:"-"`
   457  }
   458  
   459  func (s *BackupSource) MarshalJSON() ([]byte, error) {
   460  	type NoMethod BackupSource
   461  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   462  }
   463  
   464  // CancelOperationRequest: The request message for Operations.CancelOperation.
   465  type CancelOperationRequest struct {
   466  }
   467  
   468  // ClientConnectionConfig: Client connection configuration
   469  type ClientConnectionConfig struct {
   470  	// RequireConnectors: Optional. Configuration to enforce connectors only (ex:
   471  	// AuthProxy) connections to the database.
   472  	RequireConnectors bool `json:"requireConnectors,omitempty"`
   473  	// SslConfig: Optional. SSL config option for this instance.
   474  	SslConfig *SslConfig `json:"sslConfig,omitempty"`
   475  	// ForceSendFields is a list of field names (e.g. "RequireConnectors") to
   476  	// unconditionally include in API requests. By default, fields with empty or
   477  	// default values are omitted from API requests. See
   478  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   479  	// details.
   480  	ForceSendFields []string `json:"-"`
   481  	// NullFields is a list of field names (e.g. "RequireConnectors") to include in
   482  	// API requests with the JSON null value. By default, fields with empty values
   483  	// are omitted from API requests. See
   484  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   485  	NullFields []string `json:"-"`
   486  }
   487  
   488  func (s *ClientConnectionConfig) MarshalJSON() ([]byte, error) {
   489  	type NoMethod ClientConnectionConfig
   490  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   491  }
   492  
   493  // CloudControl2SharedOperationsReconciliationOperationMetadata: Operation
   494  // metadata returned by the CLH during resource state reconciliation.
   495  type CloudControl2SharedOperationsReconciliationOperationMetadata struct {
   496  	// DeleteResource: DEPRECATED. Use exclusive_action instead.
   497  	DeleteResource bool `json:"deleteResource,omitempty"`
   498  	// ExclusiveAction: Excluisive action returned by the CLH.
   499  	//
   500  	// Possible values:
   501  	//   "UNKNOWN_REPAIR_ACTION" - Unknown repair action.
   502  	//   "DELETE" - The resource has to be deleted. When using this bit, the CLH
   503  	// should fail the operation. DEPRECATED. Instead use DELETE_RESOURCE
   504  	// OperationSignal in SideChannel.
   505  	//   "RETRY" - This resource could not be repaired but the repair should be
   506  	// tried again at a later time. This can happen if there is a dependency that
   507  	// needs to be resolved first- e.g. if a parent resource must be repaired
   508  	// before a child resource.
   509  	ExclusiveAction string `json:"exclusiveAction,omitempty"`
   510  	// ForceSendFields is a list of field names (e.g. "DeleteResource") to
   511  	// unconditionally include in API requests. By default, fields with empty or
   512  	// default values are omitted from API requests. See
   513  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   514  	// details.
   515  	ForceSendFields []string `json:"-"`
   516  	// NullFields is a list of field names (e.g. "DeleteResource") to include in
   517  	// API requests with the JSON null value. By default, fields with empty values
   518  	// are omitted from API requests. See
   519  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   520  	NullFields []string `json:"-"`
   521  }
   522  
   523  func (s *CloudControl2SharedOperationsReconciliationOperationMetadata) MarshalJSON() ([]byte, error) {
   524  	type NoMethod CloudControl2SharedOperationsReconciliationOperationMetadata
   525  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   526  }
   527  
   528  // Cluster: A cluster is a collection of regional AlloyDB resources. It can
   529  // include a primary instance and one or more read pool instances. All cluster
   530  // resources share a storage layer, which scales as needed.
   531  type Cluster struct {
   532  	// Annotations: Annotations to allow client tools to store small amount of
   533  	// arbitrary data. This is distinct from labels. https://google.aip.dev/128
   534  	Annotations map[string]string `json:"annotations,omitempty"`
   535  	// AutomatedBackupPolicy: The automated backup policy for this cluster. If no
   536  	// policy is provided then the default policy will be used. If backups are
   537  	// supported for the cluster, the default policy takes one backup a day, has a
   538  	// backup window of 1 hour, and retains backups for 14 days. For more
   539  	// information on the defaults, consult the documentation for the message type.
   540  	AutomatedBackupPolicy *AutomatedBackupPolicy `json:"automatedBackupPolicy,omitempty"`
   541  	// BackupSource: Output only. Cluster created from backup.
   542  	BackupSource *BackupSource `json:"backupSource,omitempty"`
   543  	// ClusterType: Output only. The type of the cluster. This is an output-only
   544  	// field and it's populated at the Cluster creation time or the Cluster
   545  	// promotion time. The cluster type is determined by which RPC was used to
   546  	// create the cluster (i.e. `CreateCluster` vs. `CreateSecondaryCluster`
   547  	//
   548  	// Possible values:
   549  	//   "CLUSTER_TYPE_UNSPECIFIED" - The type of the cluster is unknown.
   550  	//   "PRIMARY" - Primary cluster that support read and write operations.
   551  	//   "SECONDARY" - Secondary cluster that is replicating from another region.
   552  	// This only supports read.
   553  	ClusterType string `json:"clusterType,omitempty"`
   554  	// ContinuousBackupConfig: Optional. Continuous backup configuration for this
   555  	// cluster.
   556  	ContinuousBackupConfig *ContinuousBackupConfig `json:"continuousBackupConfig,omitempty"`
   557  	// ContinuousBackupInfo: Output only. Continuous backup properties for this
   558  	// cluster.
   559  	ContinuousBackupInfo *ContinuousBackupInfo `json:"continuousBackupInfo,omitempty"`
   560  	// CreateTime: Output only. Create time stamp
   561  	CreateTime string `json:"createTime,omitempty"`
   562  	// DatabaseVersion: Optional. The database engine major version. This is an
   563  	// optional field and it is populated at the Cluster creation time. If a
   564  	// database version is not supplied at cluster creation time, then a default
   565  	// database version will be used.
   566  	//
   567  	// Possible values:
   568  	//   "DATABASE_VERSION_UNSPECIFIED" - This is an unknown database version.
   569  	//   "POSTGRES_13" - DEPRECATED - The database version is Postgres 13.
   570  	//   "POSTGRES_14" - The database version is Postgres 14.
   571  	//   "POSTGRES_15" - The database version is Postgres 15.
   572  	DatabaseVersion string `json:"databaseVersion,omitempty"`
   573  	// DeleteTime: Output only. Delete time stamp
   574  	DeleteTime string `json:"deleteTime,omitempty"`
   575  	// DisplayName: User-settable and human-readable display name for the Cluster.
   576  	DisplayName string `json:"displayName,omitempty"`
   577  	// EncryptionConfig: Optional. The encryption config can be specified to
   578  	// encrypt the data disks and other persistent data resources of a cluster with
   579  	// a customer-managed encryption key (CMEK). When this field is not specified,
   580  	// the cluster will then use default encryption scheme to protect the user
   581  	// data.
   582  	EncryptionConfig *EncryptionConfig `json:"encryptionConfig,omitempty"`
   583  	// EncryptionInfo: Output only. The encryption information for the cluster.
   584  	EncryptionInfo *EncryptionInfo `json:"encryptionInfo,omitempty"`
   585  	// Etag: For Resource freshness validation (https://google.aip.dev/154)
   586  	Etag string `json:"etag,omitempty"`
   587  	// GeminiConfig: Optional. Configuration parameters related to the Gemini in
   588  	// Databases add-on.
   589  	GeminiConfig *GeminiClusterConfig `json:"geminiConfig,omitempty"`
   590  	// InitialUser: Input only. Initial user to setup during cluster creation.
   591  	// Required. If used in `RestoreCluster` this is ignored.
   592  	InitialUser *UserPassword `json:"initialUser,omitempty"`
   593  	// Labels: Labels as key value pairs
   594  	Labels map[string]string `json:"labels,omitempty"`
   595  	// MaintenanceSchedule: Output only. The maintenance schedule for the cluster,
   596  	// generated for a specific rollout if a maintenance window is set.
   597  	MaintenanceSchedule *MaintenanceSchedule `json:"maintenanceSchedule,omitempty"`
   598  	// MaintenanceUpdatePolicy: Optional. The maintenance update policy determines
   599  	// when to allow or deny updates.
   600  	MaintenanceUpdatePolicy *MaintenanceUpdatePolicy `json:"maintenanceUpdatePolicy,omitempty"`
   601  	// MigrationSource: Output only. Cluster created via DMS migration.
   602  	MigrationSource *MigrationSource `json:"migrationSource,omitempty"`
   603  	// Name: Output only. The name of the cluster resource with the format: *
   604  	// projects/{project}/locations/{region}/clusters/{cluster_id} where the
   605  	// cluster ID segment should satisfy the regex expression `[a-z0-9-]+`. For
   606  	// more details see https://google.aip.dev/122. The prefix of the cluster
   607  	// resource name is the name of the parent resource: *
   608  	// projects/{project}/locations/{region}
   609  	Name string `json:"name,omitempty"`
   610  	// Network: Required. The resource link for the VPC network in which cluster
   611  	// resources are created and from which they are accessible via Private IP. The
   612  	// network must belong to the same project as the cluster. It is specified in
   613  	// the form: `projects/{project}/global/networks/{network_id}`. This is
   614  	// required to create a cluster. Deprecated, use network_config.network
   615  	// instead.
   616  	Network       string         `json:"network,omitempty"`
   617  	NetworkConfig *NetworkConfig `json:"networkConfig,omitempty"`
   618  	// PrimaryConfig: Output only. Cross Region replication config specific to
   619  	// PRIMARY cluster.
   620  	PrimaryConfig *PrimaryConfig `json:"primaryConfig,omitempty"`
   621  	// PscConfig: Optional. The configuration for Private Service Connect (PSC) for
   622  	// the cluster.
   623  	PscConfig *PscConfig `json:"pscConfig,omitempty"`
   624  	// Reconciling: Output only. Reconciling
   625  	// (https://google.aip.dev/128#reconciliation). Set to true if the current
   626  	// state of Cluster does not match the user's intended state, and the service
   627  	// is actively updating the resource to reconcile them. This can happen due to
   628  	// user-triggered updates or system actions like failover or maintenance.
   629  	Reconciling bool `json:"reconciling,omitempty"`
   630  	// SatisfiesPzi: Output only. Reserved for future use.
   631  	SatisfiesPzi bool `json:"satisfiesPzi,omitempty"`
   632  	// SatisfiesPzs: Output only. Reserved for future use.
   633  	SatisfiesPzs bool `json:"satisfiesPzs,omitempty"`
   634  	// SecondaryConfig: Cross Region replication config specific to SECONDARY
   635  	// cluster.
   636  	SecondaryConfig *SecondaryConfig `json:"secondaryConfig,omitempty"`
   637  	// SslConfig: SSL configuration for this AlloyDB cluster.
   638  	SslConfig *SslConfig `json:"sslConfig,omitempty"`
   639  	// State: Output only. The current serving state of the cluster.
   640  	//
   641  	// Possible values:
   642  	//   "STATE_UNSPECIFIED" - The state of the cluster is unknown.
   643  	//   "READY" - The cluster is active and running.
   644  	//   "STOPPED" - The cluster is stopped. All instances in the cluster are
   645  	// stopped. Customers can start a stopped cluster at any point and all their
   646  	// instances will come back to life with same names and IP resources. In this
   647  	// state, customer pays for storage. Associated backups could also be present
   648  	// in a stopped cluster.
   649  	//   "EMPTY" - The cluster is empty and has no associated resources. All
   650  	// instances, associated storage and backups have been deleted.
   651  	//   "CREATING" - The cluster is being created.
   652  	//   "DELETING" - The cluster is being deleted.
   653  	//   "FAILED" - The creation of the cluster failed.
   654  	//   "BOOTSTRAPPING" - The cluster is bootstrapping with data from some other
   655  	// source. Direct mutations to the cluster (e.g. adding read pool) are not
   656  	// allowed.
   657  	//   "MAINTENANCE" - The cluster is under maintenance. AlloyDB regularly
   658  	// performs maintenance and upgrades on customer clusters. Updates on the
   659  	// cluster are not allowed while the cluster is in this state.
   660  	//   "PROMOTING" - The cluster is being promoted.
   661  	State string `json:"state,omitempty"`
   662  	// Uid: Output only. The system-generated UID of the resource. The UID is
   663  	// assigned when the resource is created, and it is retained until it is
   664  	// deleted.
   665  	Uid string `json:"uid,omitempty"`
   666  	// UpdateTime: Output only. Update time stamp
   667  	UpdateTime string `json:"updateTime,omitempty"`
   668  
   669  	// ServerResponse contains the HTTP response code and headers from the server.
   670  	googleapi.ServerResponse `json:"-"`
   671  	// ForceSendFields is a list of field names (e.g. "Annotations") to
   672  	// unconditionally include in API requests. By default, fields with empty or
   673  	// default values are omitted from API requests. See
   674  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   675  	// details.
   676  	ForceSendFields []string `json:"-"`
   677  	// NullFields is a list of field names (e.g. "Annotations") to include in API
   678  	// requests with the JSON null value. By default, fields with empty values are
   679  	// omitted from API requests. See
   680  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   681  	NullFields []string `json:"-"`
   682  }
   683  
   684  func (s *Cluster) MarshalJSON() ([]byte, error) {
   685  	type NoMethod Cluster
   686  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   687  }
   688  
   689  // ConnectionInfo: ConnectionInfo singleton resource.
   690  // https://google.aip.dev/156
   691  type ConnectionInfo struct {
   692  	// InstanceUid: Output only. The unique ID of the Instance.
   693  	InstanceUid string `json:"instanceUid,omitempty"`
   694  	// IpAddress: Output only. The private network IP address for the Instance.
   695  	// This is the default IP for the instance and is always created (even if
   696  	// enable_public_ip is set). This is the connection endpoint for an end-user
   697  	// application.
   698  	IpAddress string `json:"ipAddress,omitempty"`
   699  	// Name: The name of the ConnectionInfo singleton resource, e.g.:
   700  	// projects/{project}/locations/{location}/clusters/*/instances/*/connectionInfo
   701  	//  This field currently has no semantic meaning.
   702  	Name string `json:"name,omitempty"`
   703  	// PemCertificateChain: Output only. The pem-encoded chain that may be used to
   704  	// verify the X.509 certificate. Expected to be in issuer-to-root order
   705  	// according to RFC 5246.
   706  	PemCertificateChain []string `json:"pemCertificateChain,omitempty"`
   707  	// PscDnsName: Output only. The DNS name to use with PSC for the Instance.
   708  	PscDnsName string `json:"pscDnsName,omitempty"`
   709  	// PublicIpAddress: Output only. The public IP addresses for the Instance. This
   710  	// is available ONLY when enable_public_ip is set. This is the connection
   711  	// endpoint for an end-user application.
   712  	PublicIpAddress string `json:"publicIpAddress,omitempty"`
   713  
   714  	// ServerResponse contains the HTTP response code and headers from the server.
   715  	googleapi.ServerResponse `json:"-"`
   716  	// ForceSendFields is a list of field names (e.g. "InstanceUid") to
   717  	// unconditionally include in API requests. By default, fields with empty or
   718  	// default values are omitted from API requests. See
   719  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   720  	// details.
   721  	ForceSendFields []string `json:"-"`
   722  	// NullFields is a list of field names (e.g. "InstanceUid") to include in API
   723  	// requests with the JSON null value. By default, fields with empty values are
   724  	// omitted from API requests. See
   725  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   726  	NullFields []string `json:"-"`
   727  }
   728  
   729  func (s *ConnectionInfo) MarshalJSON() ([]byte, error) {
   730  	type NoMethod ConnectionInfo
   731  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   732  }
   733  
   734  // ContinuousBackupConfig: ContinuousBackupConfig describes the continuous
   735  // backups recovery configurations of a cluster.
   736  type ContinuousBackupConfig struct {
   737  	// Enabled: Whether ContinuousBackup is enabled.
   738  	Enabled bool `json:"enabled,omitempty"`
   739  	// EncryptionConfig: The encryption config can be specified to encrypt the
   740  	// backups with a customer-managed encryption key (CMEK). When this field is
   741  	// not specified, the backup will then use default encryption scheme to protect
   742  	// the user data.
   743  	EncryptionConfig *EncryptionConfig `json:"encryptionConfig,omitempty"`
   744  	// RecoveryWindowDays: The number of days that are eligible to restore from
   745  	// using PITR. To support the entire recovery window, backups and logs are
   746  	// retained for one day more than the recovery window. If not set, defaults to
   747  	// 14 days.
   748  	RecoveryWindowDays int64 `json:"recoveryWindowDays,omitempty"`
   749  	// ForceSendFields is a list of field names (e.g. "Enabled") to unconditionally
   750  	// include in API requests. By default, fields with empty or default values are
   751  	// omitted from API requests. See
   752  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   753  	// details.
   754  	ForceSendFields []string `json:"-"`
   755  	// NullFields is a list of field names (e.g. "Enabled") to include in API
   756  	// requests with the JSON null value. By default, fields with empty values are
   757  	// omitted from API requests. See
   758  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   759  	NullFields []string `json:"-"`
   760  }
   761  
   762  func (s *ContinuousBackupConfig) MarshalJSON() ([]byte, error) {
   763  	type NoMethod ContinuousBackupConfig
   764  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   765  }
   766  
   767  // ContinuousBackupInfo: ContinuousBackupInfo describes the continuous backup
   768  // properties of a cluster.
   769  type ContinuousBackupInfo struct {
   770  	// EarliestRestorableTime: Output only. The earliest restorable time that can
   771  	// be restored to. Output only field.
   772  	EarliestRestorableTime string `json:"earliestRestorableTime,omitempty"`
   773  	// EnabledTime: Output only. When ContinuousBackup was most recently enabled.
   774  	// Set to null if ContinuousBackup is not enabled.
   775  	EnabledTime string `json:"enabledTime,omitempty"`
   776  	// EncryptionInfo: Output only. The encryption information for the WALs and
   777  	// backups required for ContinuousBackup.
   778  	EncryptionInfo *EncryptionInfo `json:"encryptionInfo,omitempty"`
   779  	// Schedule: Output only. Days of the week on which a continuous backup is
   780  	// taken. Output only field. Ignored if passed into the request.
   781  	//
   782  	// Possible values:
   783  	//   "DAY_OF_WEEK_UNSPECIFIED" - The day of the week is unspecified.
   784  	//   "MONDAY" - Monday
   785  	//   "TUESDAY" - Tuesday
   786  	//   "WEDNESDAY" - Wednesday
   787  	//   "THURSDAY" - Thursday
   788  	//   "FRIDAY" - Friday
   789  	//   "SATURDAY" - Saturday
   790  	//   "SUNDAY" - Sunday
   791  	Schedule []string `json:"schedule,omitempty"`
   792  	// ForceSendFields is a list of field names (e.g. "EarliestRestorableTime") to
   793  	// unconditionally include in API requests. By default, fields with empty or
   794  	// default values are omitted from API requests. See
   795  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   796  	// details.
   797  	ForceSendFields []string `json:"-"`
   798  	// NullFields is a list of field names (e.g. "EarliestRestorableTime") to
   799  	// include in API requests with the JSON null value. By default, fields with
   800  	// empty values are omitted from API requests. See
   801  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   802  	NullFields []string `json:"-"`
   803  }
   804  
   805  func (s *ContinuousBackupInfo) MarshalJSON() ([]byte, error) {
   806  	type NoMethod ContinuousBackupInfo
   807  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   808  }
   809  
   810  // ContinuousBackupSource: Message describing a ContinuousBackupSource.
   811  type ContinuousBackupSource struct {
   812  	// Cluster: Required. The source cluster from which to restore. This cluster
   813  	// must have continuous backup enabled for this operation to succeed. For the
   814  	// required format, see the comment on the Cluster.name field.
   815  	Cluster string `json:"cluster,omitempty"`
   816  	// PointInTime: Required. The point in time to restore to.
   817  	PointInTime string `json:"pointInTime,omitempty"`
   818  	// ForceSendFields is a list of field names (e.g. "Cluster") to unconditionally
   819  	// include in API requests. By default, fields with empty or default values are
   820  	// omitted from API requests. See
   821  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   822  	// details.
   823  	ForceSendFields []string `json:"-"`
   824  	// NullFields is a list of field names (e.g. "Cluster") to include in API
   825  	// requests with the JSON null value. By default, fields with empty values are
   826  	// omitted from API requests. See
   827  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   828  	NullFields []string `json:"-"`
   829  }
   830  
   831  func (s *ContinuousBackupSource) MarshalJSON() ([]byte, error) {
   832  	type NoMethod ContinuousBackupSource
   833  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   834  }
   835  
   836  // Empty: A generic empty message that you can re-use to avoid defining
   837  // duplicated empty messages in your APIs. A typical example is to use it as
   838  // the request or the response type of an API method. For instance: service Foo
   839  // { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
   840  type Empty struct {
   841  	// ServerResponse contains the HTTP response code and headers from the server.
   842  	googleapi.ServerResponse `json:"-"`
   843  }
   844  
   845  // EncryptionConfig: EncryptionConfig describes the encryption config of a
   846  // cluster or a backup that is encrypted with a CMEK (customer-managed
   847  // encryption key).
   848  type EncryptionConfig struct {
   849  	// KmsKeyName: The fully-qualified resource name of the KMS key. Each Cloud KMS
   850  	// key is regionalized and has the following format:
   851  	// projects/[PROJECT]/locations/[REGION]/keyRings/[RING]/cryptoKeys/[KEY_NAME]
   852  	KmsKeyName string `json:"kmsKeyName,omitempty"`
   853  	// ForceSendFields is a list of field names (e.g. "KmsKeyName") to
   854  	// unconditionally include in API requests. By default, fields with empty or
   855  	// default values are omitted from API requests. See
   856  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   857  	// details.
   858  	ForceSendFields []string `json:"-"`
   859  	// NullFields is a list of field names (e.g. "KmsKeyName") to include in API
   860  	// requests with the JSON null value. By default, fields with empty values are
   861  	// omitted from API requests. See
   862  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   863  	NullFields []string `json:"-"`
   864  }
   865  
   866  func (s *EncryptionConfig) MarshalJSON() ([]byte, error) {
   867  	type NoMethod EncryptionConfig
   868  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   869  }
   870  
   871  // EncryptionInfo: EncryptionInfo describes the encryption information of a
   872  // cluster or a backup.
   873  type EncryptionInfo struct {
   874  	// EncryptionType: Output only. Type of encryption.
   875  	//
   876  	// Possible values:
   877  	//   "TYPE_UNSPECIFIED" - Encryption type not specified. Defaults to
   878  	// GOOGLE_DEFAULT_ENCRYPTION.
   879  	//   "GOOGLE_DEFAULT_ENCRYPTION" - The data is encrypted at rest with a key
   880  	// that is fully managed by Google. No key version will be populated. This is
   881  	// the default state.
   882  	//   "CUSTOMER_MANAGED_ENCRYPTION" - The data is encrypted at rest with a key
   883  	// that is managed by the customer. KMS key versions will be populated.
   884  	EncryptionType string `json:"encryptionType,omitempty"`
   885  	// KmsKeyVersions: Output only. Cloud KMS key versions that are being used to
   886  	// protect the database or the backup.
   887  	KmsKeyVersions []string `json:"kmsKeyVersions,omitempty"`
   888  	// ForceSendFields is a list of field names (e.g. "EncryptionType") to
   889  	// unconditionally include in API requests. By default, fields with empty or
   890  	// default values are omitted from API requests. See
   891  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   892  	// details.
   893  	ForceSendFields []string `json:"-"`
   894  	// NullFields is a list of field names (e.g. "EncryptionType") to include in
   895  	// API requests with the JSON null value. By default, fields with empty values
   896  	// are omitted from API requests. See
   897  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   898  	NullFields []string `json:"-"`
   899  }
   900  
   901  func (s *EncryptionInfo) MarshalJSON() ([]byte, error) {
   902  	type NoMethod EncryptionInfo
   903  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   904  }
   905  
   906  // FailoverInstanceRequest: Message for triggering failover on an Instance
   907  type FailoverInstanceRequest struct {
   908  	// RequestId: Optional. An optional request ID to identify requests. Specify a
   909  	// unique request ID so that if you must retry your request, the server will
   910  	// know to ignore the request if it has already been completed. The server will
   911  	// guarantee that for at least 60 minutes after the first request. For example,
   912  	// consider a situation where you make an initial request and the request times
   913  	// out. If you make the request again with the same request ID, the server can
   914  	// check if original operation with the same request ID was received, and if
   915  	// so, will ignore the second request. This prevents clients from accidentally
   916  	// creating duplicate commitments. The request ID must be a valid UUID with the
   917  	// exception that zero UUID is not supported
   918  	// (00000000-0000-0000-0000-000000000000).
   919  	RequestId string `json:"requestId,omitempty"`
   920  	// ValidateOnly: Optional. If set, performs request validation (e.g. permission
   921  	// checks and any other type of validation), but do not actually execute the
   922  	// failover.
   923  	ValidateOnly bool `json:"validateOnly,omitempty"`
   924  	// ForceSendFields is a list of field names (e.g. "RequestId") to
   925  	// unconditionally include in API requests. By default, fields with empty or
   926  	// default values are 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. "RequestId") 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 *FailoverInstanceRequest) MarshalJSON() ([]byte, error) {
   938  	type NoMethod FailoverInstanceRequest
   939  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   940  }
   941  
   942  // GeminiClusterConfig: Cluster level configuration parameters related to the
   943  // Gemini in Databases add-on.
   944  type GeminiClusterConfig struct {
   945  	// Entitled: Output only. Whether the Gemini in Databases add-on is enabled for
   946  	// the cluster. It will be true only if the add-on has been enabled for the
   947  	// billing account corresponding to the cluster. Its status is toggled from the
   948  	// Admin Control Center (ACC) and cannot be toggled using AlloyDB's APIs.
   949  	Entitled bool `json:"entitled,omitempty"`
   950  	// ForceSendFields is a list of field names (e.g. "Entitled") 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. "Entitled") 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 *GeminiClusterConfig) MarshalJSON() ([]byte, error) {
   964  	type NoMethod GeminiClusterConfig
   965  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   966  }
   967  
   968  // GeminiInstanceConfig: Instance level configuration parameters related to the
   969  // Gemini in Databases add-on.
   970  type GeminiInstanceConfig struct {
   971  	// Entitled: Output only. Whether the Gemini in Databases add-on is enabled for
   972  	// the instance. It will be true only if the add-on has been enabled for the
   973  	// billing account corresponding to the instance. Its status is toggled from
   974  	// the Admin Control Center (ACC) and cannot be toggled using AlloyDB's APIs.
   975  	Entitled bool `json:"entitled,omitempty"`
   976  	// ForceSendFields is a list of field names (e.g. "Entitled") to
   977  	// unconditionally include in API requests. By default, fields with empty or
   978  	// default values are omitted from API requests. See
   979  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   980  	// details.
   981  	ForceSendFields []string `json:"-"`
   982  	// NullFields is a list of field names (e.g. "Entitled") to include in API
   983  	// requests with the JSON null value. By default, fields with empty values are
   984  	// omitted from API requests. See
   985  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   986  	NullFields []string `json:"-"`
   987  }
   988  
   989  func (s *GeminiInstanceConfig) MarshalJSON() ([]byte, error) {
   990  	type NoMethod GeminiInstanceConfig
   991  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   992  }
   993  
   994  // GoogleCloudLocationListLocationsResponse: The response message for
   995  // Locations.ListLocations.
   996  type GoogleCloudLocationListLocationsResponse struct {
   997  	// Locations: A list of locations that matches the specified filter in the
   998  	// request.
   999  	Locations []*GoogleCloudLocationLocation `json:"locations,omitempty"`
  1000  	// NextPageToken: The standard List next-page token.
  1001  	NextPageToken string `json:"nextPageToken,omitempty"`
  1002  
  1003  	// ServerResponse contains the HTTP response code and headers from the server.
  1004  	googleapi.ServerResponse `json:"-"`
  1005  	// ForceSendFields is a list of field names (e.g. "Locations") to
  1006  	// unconditionally include in API requests. By default, fields with empty or
  1007  	// default values are omitted from API requests. See
  1008  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1009  	// details.
  1010  	ForceSendFields []string `json:"-"`
  1011  	// NullFields is a list of field names (e.g. "Locations") to include in API
  1012  	// requests with the JSON null value. By default, fields with empty values are
  1013  	// omitted from API requests. See
  1014  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1015  	NullFields []string `json:"-"`
  1016  }
  1017  
  1018  func (s *GoogleCloudLocationListLocationsResponse) MarshalJSON() ([]byte, error) {
  1019  	type NoMethod GoogleCloudLocationListLocationsResponse
  1020  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1021  }
  1022  
  1023  // GoogleCloudLocationLocation: A resource that represents a Google Cloud
  1024  // location.
  1025  type GoogleCloudLocationLocation struct {
  1026  	// DisplayName: The friendly name for this location, typically a nearby city
  1027  	// name. For example, "Tokyo".
  1028  	DisplayName string `json:"displayName,omitempty"`
  1029  	// Labels: Cross-service attributes for the location. For example
  1030  	// {"cloud.googleapis.com/region": "us-east1"}
  1031  	Labels map[string]string `json:"labels,omitempty"`
  1032  	// LocationId: The canonical id for this location. For example: "us-east1".
  1033  	LocationId string `json:"locationId,omitempty"`
  1034  	// Metadata: Service-specific metadata. For example the available capacity at
  1035  	// the given location.
  1036  	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
  1037  	// Name: Resource name for the location, which may vary between
  1038  	// implementations. For example:
  1039  	// "projects/example-project/locations/us-east1"
  1040  	Name string `json:"name,omitempty"`
  1041  
  1042  	// ServerResponse contains the HTTP response code and headers from the server.
  1043  	googleapi.ServerResponse `json:"-"`
  1044  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
  1045  	// unconditionally include in API requests. By default, fields with empty or
  1046  	// default values are omitted from API requests. See
  1047  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1048  	// details.
  1049  	ForceSendFields []string `json:"-"`
  1050  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
  1051  	// requests with the JSON null value. By default, fields with empty values are
  1052  	// omitted from API requests. See
  1053  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1054  	NullFields []string `json:"-"`
  1055  }
  1056  
  1057  func (s *GoogleCloudLocationLocation) MarshalJSON() ([]byte, error) {
  1058  	type NoMethod GoogleCloudLocationLocation
  1059  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1060  }
  1061  
  1062  // GoogleTypeTimeOfDay: Represents a time of day. The date and time zone are
  1063  // either not significant or are specified elsewhere. An API may choose to
  1064  // allow leap seconds. Related types are google.type.Date and
  1065  // `google.protobuf.Timestamp`.
  1066  type GoogleTypeTimeOfDay struct {
  1067  	// Hours: Hours of day in 24 hour format. Should be from 0 to 23. An API may
  1068  	// choose to allow the value "24:00:00" for scenarios like business closing
  1069  	// time.
  1070  	Hours int64 `json:"hours,omitempty"`
  1071  	// Minutes: Minutes of hour of day. Must be from 0 to 59.
  1072  	Minutes int64 `json:"minutes,omitempty"`
  1073  	// Nanos: Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
  1074  	Nanos int64 `json:"nanos,omitempty"`
  1075  	// Seconds: Seconds of minutes of the time. Must normally be from 0 to 59. An
  1076  	// API may allow the value 60 if it allows leap-seconds.
  1077  	Seconds int64 `json:"seconds,omitempty"`
  1078  	// ForceSendFields is a list of field names (e.g. "Hours") to unconditionally
  1079  	// include in API requests. By default, fields with empty or default values are
  1080  	// omitted from API requests. See
  1081  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1082  	// details.
  1083  	ForceSendFields []string `json:"-"`
  1084  	// NullFields is a list of field names (e.g. "Hours") to include in API
  1085  	// requests with the JSON null value. By default, fields with empty values are
  1086  	// omitted from API requests. See
  1087  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1088  	NullFields []string `json:"-"`
  1089  }
  1090  
  1091  func (s *GoogleTypeTimeOfDay) MarshalJSON() ([]byte, error) {
  1092  	type NoMethod GoogleTypeTimeOfDay
  1093  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1094  }
  1095  
  1096  // InjectFaultRequest: Message for triggering fault injection on an instance
  1097  type InjectFaultRequest struct {
  1098  	// FaultType: Required. The type of fault to be injected in an instance.
  1099  	//
  1100  	// Possible values:
  1101  	//   "FAULT_TYPE_UNSPECIFIED" - The fault type is unknown.
  1102  	//   "STOP_VM" - Stop the VM
  1103  	FaultType string `json:"faultType,omitempty"`
  1104  	// RequestId: Optional. An optional request ID to identify requests. Specify a
  1105  	// unique request ID so that if you must retry your request, the server will
  1106  	// know to ignore the request if it has already been completed. The server will
  1107  	// guarantee that for at least 60 minutes after the first request. For example,
  1108  	// consider a situation where you make an initial request and the request times
  1109  	// out. If you make the request again with the same request ID, the server can
  1110  	// check if original operation with the same request ID was received, and if
  1111  	// so, will ignore the second request. This prevents clients from accidentally
  1112  	// creating duplicate commitments. The request ID must be a valid UUID with the
  1113  	// exception that zero UUID is not supported
  1114  	// (00000000-0000-0000-0000-000000000000).
  1115  	RequestId string `json:"requestId,omitempty"`
  1116  	// ValidateOnly: Optional. If set, performs request validation (e.g. permission
  1117  	// checks and any other type of validation), but do not actually execute the
  1118  	// fault injection.
  1119  	ValidateOnly bool `json:"validateOnly,omitempty"`
  1120  	// ForceSendFields is a list of field names (e.g. "FaultType") to
  1121  	// unconditionally include in API requests. By default, fields with empty or
  1122  	// default values are omitted from API requests. See
  1123  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1124  	// details.
  1125  	ForceSendFields []string `json:"-"`
  1126  	// NullFields is a list of field names (e.g. "FaultType") to include in API
  1127  	// requests with the JSON null value. By default, fields with empty values are
  1128  	// omitted from API requests. See
  1129  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1130  	NullFields []string `json:"-"`
  1131  }
  1132  
  1133  func (s *InjectFaultRequest) MarshalJSON() ([]byte, error) {
  1134  	type NoMethod InjectFaultRequest
  1135  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1136  }
  1137  
  1138  // Instance: An Instance is a computing unit that an end customer can connect
  1139  // to. It's the main unit of computing resources in AlloyDB.
  1140  type Instance struct {
  1141  	// Annotations: Annotations to allow client tools to store small amount of
  1142  	// arbitrary data. This is distinct from labels. https://google.aip.dev/128
  1143  	Annotations map[string]string `json:"annotations,omitempty"`
  1144  	// AvailabilityType: Availability type of an Instance. If empty, defaults to
  1145  	// REGIONAL for primary instances. For read pools, availability_type is always
  1146  	// UNSPECIFIED. Instances in the read pools are evenly distributed across
  1147  	// available zones within the region (i.e. read pools with more than one node
  1148  	// will have a node in at least two zones).
  1149  	//
  1150  	// Possible values:
  1151  	//   "AVAILABILITY_TYPE_UNSPECIFIED" - This is an unknown Availability type.
  1152  	//   "ZONAL" - Zonal available instance.
  1153  	//   "REGIONAL" - Regional (or Highly) available instance.
  1154  	AvailabilityType string `json:"availabilityType,omitempty"`
  1155  	// ClientConnectionConfig: Optional. Client connection specific configurations
  1156  	ClientConnectionConfig *ClientConnectionConfig `json:"clientConnectionConfig,omitempty"`
  1157  	// CreateTime: Output only. Create time stamp
  1158  	CreateTime string `json:"createTime,omitempty"`
  1159  	// DatabaseFlags: Database flags. Set at instance level. * They are copied from
  1160  	// primary instance on read instance creation. * Read instances can set new or
  1161  	// override existing flags that are relevant for reads, e.g. for enabling
  1162  	// columnar cache on a read instance. Flags set on read instance may or may not
  1163  	// be present on primary. This is a list of "key": "value" pairs. "key": The
  1164  	// name of the flag. These flags are passed at instance setup time, so include
  1165  	// both server options and system variables for Postgres. Flags are specified
  1166  	// with underscores, not hyphens. "value": The value of the flag. Booleans are
  1167  	// set to **on** for true and **off** for false. This field must be omitted if
  1168  	// the flag doesn't take a value.
  1169  	DatabaseFlags map[string]string `json:"databaseFlags,omitempty"`
  1170  	// DeleteTime: Output only. Delete time stamp
  1171  	DeleteTime string `json:"deleteTime,omitempty"`
  1172  	// DisplayName: User-settable and human-readable display name for the Instance.
  1173  	DisplayName string `json:"displayName,omitempty"`
  1174  	// Etag: For Resource freshness validation (https://google.aip.dev/154)
  1175  	Etag string `json:"etag,omitempty"`
  1176  	// GceZone: The Compute Engine zone that the instance should serve from, per
  1177  	// https://cloud.google.com/compute/docs/regions-zones This can ONLY be
  1178  	// specified for ZONAL instances. If present for a REGIONAL instance, an error
  1179  	// will be thrown. If this is absent for a ZONAL instance, instance is created
  1180  	// in a random zone with available capacity.
  1181  	GceZone string `json:"gceZone,omitempty"`
  1182  	// GeminiConfig: Optional. Configuration parameters related to the Gemini in
  1183  	// Databases add-on.
  1184  	GeminiConfig *GeminiInstanceConfig `json:"geminiConfig,omitempty"`
  1185  	// InstanceType: Required. The type of the instance. Specified at creation
  1186  	// time.
  1187  	//
  1188  	// Possible values:
  1189  	//   "INSTANCE_TYPE_UNSPECIFIED" - The type of the instance is unknown.
  1190  	//   "PRIMARY" - PRIMARY instances support read and write operations.
  1191  	//   "READ_POOL" - READ POOL instances support read operations only. Each read
  1192  	// pool instance consists of one or more homogeneous nodes. * Read pool of size
  1193  	// 1 can only have zonal availability. * Read pools with node count of 2 or
  1194  	// more can have regional availability (nodes are present in 2 or more zones in
  1195  	// a region).
  1196  	//   "SECONDARY" - SECONDARY instances support read operations only. SECONDARY
  1197  	// instance is a cross-region read replica
  1198  	InstanceType string `json:"instanceType,omitempty"`
  1199  	// IpAddress: Output only. The IP address for the Instance. This is the
  1200  	// connection endpoint for an end-user application.
  1201  	IpAddress string `json:"ipAddress,omitempty"`
  1202  	// Labels: Labels as key value pairs
  1203  	Labels map[string]string `json:"labels,omitempty"`
  1204  	// MachineConfig: Configurations for the machines that host the underlying
  1205  	// database engine.
  1206  	MachineConfig *MachineConfig `json:"machineConfig,omitempty"`
  1207  	// Name: Output only. The name of the instance resource with the format: *
  1208  	// projects/{project}/locations/{region}/clusters/{cluster_id}/instances/{instan
  1209  	// ce_id} where the cluster and instance ID segments should satisfy the regex
  1210  	// expression `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`, e.g. 1-63 characters of
  1211  	// lowercase letters, numbers, and dashes, starting with a letter, and ending
  1212  	// with a letter or number. For more details see https://google.aip.dev/122.
  1213  	// The prefix of the instance resource name is the name of the parent resource:
  1214  	// * projects/{project}/locations/{region}/clusters/{cluster_id}
  1215  	Name string `json:"name,omitempty"`
  1216  	// NetworkConfig: Optional. Instance level network configuration.
  1217  	NetworkConfig *InstanceNetworkConfig `json:"networkConfig,omitempty"`
  1218  	// Nodes: Output only. List of available read-only VMs in this instance,
  1219  	// including the standby for a PRIMARY instance.
  1220  	Nodes []*Node `json:"nodes,omitempty"`
  1221  	// ObservabilityConfig: Configuration for observability.
  1222  	ObservabilityConfig *ObservabilityInstanceConfig `json:"observabilityConfig,omitempty"`
  1223  	// PscInstanceConfig: Optional. The configuration for Private Service Connect
  1224  	// (PSC) for the instance.
  1225  	PscInstanceConfig *PscInstanceConfig `json:"pscInstanceConfig,omitempty"`
  1226  	// PublicIpAddress: Output only. The public IP addresses for the Instance. This
  1227  	// is available ONLY when enable_public_ip is set. This is the connection
  1228  	// endpoint for an end-user application.
  1229  	PublicIpAddress string `json:"publicIpAddress,omitempty"`
  1230  	// QueryInsightsConfig: Configuration for query insights.
  1231  	QueryInsightsConfig *QueryInsightsInstanceConfig `json:"queryInsightsConfig,omitempty"`
  1232  	// ReadPoolConfig: Read pool instance configuration. This is required if the
  1233  	// value of instanceType is READ_POOL.
  1234  	ReadPoolConfig *ReadPoolConfig `json:"readPoolConfig,omitempty"`
  1235  	// Reconciling: Output only. Reconciling
  1236  	// (https://google.aip.dev/128#reconciliation). Set to true if the current
  1237  	// state of Instance does not match the user's intended state, and the service
  1238  	// is actively updating the resource to reconcile them. This can happen due to
  1239  	// user-triggered updates or system actions like failover or maintenance.
  1240  	Reconciling bool `json:"reconciling,omitempty"`
  1241  	// SatisfiesPzi: Output only. Reserved for future use.
  1242  	SatisfiesPzi bool `json:"satisfiesPzi,omitempty"`
  1243  	// SatisfiesPzs: Output only. Reserved for future use.
  1244  	SatisfiesPzs bool `json:"satisfiesPzs,omitempty"`
  1245  	// State: Output only. The current serving state of the instance.
  1246  	//
  1247  	// Possible values:
  1248  	//   "STATE_UNSPECIFIED" - The state of the instance is unknown.
  1249  	//   "READY" - The instance is active and running.
  1250  	//   "STOPPED" - The instance is stopped. Instance name and IP resources are
  1251  	// preserved.
  1252  	//   "CREATING" - The instance is being created.
  1253  	//   "DELETING" - The instance is being deleted.
  1254  	//   "MAINTENANCE" - The instance is down for maintenance.
  1255  	//   "FAILED" - The creation of the instance failed or a fatal error occurred
  1256  	// during an operation on the instance. Note: Instances in this state would
  1257  	// tried to be auto-repaired. And Customers should be able to restart, update
  1258  	// or delete these instances.
  1259  	//   "BOOTSTRAPPING" - Index 7 is used in the producer apis for ROLLED_BACK
  1260  	// state. Keeping that index unused in case that state also needs to exposed
  1261  	// via consumer apis in future. The instance has been configured to sync data
  1262  	// from some other source.
  1263  	//   "PROMOTING" - The instance is being promoted.
  1264  	State string `json:"state,omitempty"`
  1265  	// Uid: Output only. The system-generated UID of the resource. The UID is
  1266  	// assigned when the resource is created, and it is retained until it is
  1267  	// deleted.
  1268  	Uid string `json:"uid,omitempty"`
  1269  	// UpdatePolicy: Update policy that will be applied during instance update.
  1270  	// This field is not persisted when you update the instance. To use a
  1271  	// non-default update policy, you must specify explicitly specify the value in
  1272  	// each update request.
  1273  	UpdatePolicy *UpdatePolicy `json:"updatePolicy,omitempty"`
  1274  	// UpdateTime: Output only. Update time stamp
  1275  	UpdateTime string `json:"updateTime,omitempty"`
  1276  	// WritableNode: Output only. This is set for the read-write VM of the PRIMARY
  1277  	// instance only.
  1278  	WritableNode *Node `json:"writableNode,omitempty"`
  1279  
  1280  	// ServerResponse contains the HTTP response code and headers from the server.
  1281  	googleapi.ServerResponse `json:"-"`
  1282  	// ForceSendFields is a list of field names (e.g. "Annotations") to
  1283  	// unconditionally include in API requests. By default, fields with empty or
  1284  	// default values are omitted from API requests. See
  1285  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1286  	// details.
  1287  	ForceSendFields []string `json:"-"`
  1288  	// NullFields is a list of field names (e.g. "Annotations") to include in API
  1289  	// requests with the JSON null value. By default, fields with empty values are
  1290  	// omitted from API requests. See
  1291  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1292  	NullFields []string `json:"-"`
  1293  }
  1294  
  1295  func (s *Instance) MarshalJSON() ([]byte, error) {
  1296  	type NoMethod Instance
  1297  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1298  }
  1299  
  1300  // InstanceNetworkConfig: Metadata related to instance level network
  1301  // configuration.
  1302  type InstanceNetworkConfig struct {
  1303  	// AuthorizedExternalNetworks: Optional. A list of external network authorized
  1304  	// to access this instance.
  1305  	AuthorizedExternalNetworks []*AuthorizedNetwork `json:"authorizedExternalNetworks,omitempty"`
  1306  	// EnablePublicIp: Optional. Enabling public ip for the instance.
  1307  	EnablePublicIp bool `json:"enablePublicIp,omitempty"`
  1308  	// ForceSendFields is a list of field names (e.g. "AuthorizedExternalNetworks")
  1309  	// to unconditionally include in API requests. By default, fields with empty or
  1310  	// default values are omitted from API requests. See
  1311  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1312  	// details.
  1313  	ForceSendFields []string `json:"-"`
  1314  	// NullFields is a list of field names (e.g. "AuthorizedExternalNetworks") to
  1315  	// include in API requests with the JSON null value. By default, fields with
  1316  	// empty values are omitted from API requests. See
  1317  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1318  	NullFields []string `json:"-"`
  1319  }
  1320  
  1321  func (s *InstanceNetworkConfig) MarshalJSON() ([]byte, error) {
  1322  	type NoMethod InstanceNetworkConfig
  1323  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1324  }
  1325  
  1326  // IntegerRestrictions: Restrictions on INTEGER type values.
  1327  type IntegerRestrictions struct {
  1328  	// MaxValue: The maximum value that can be specified, if applicable.
  1329  	MaxValue int64 `json:"maxValue,omitempty,string"`
  1330  	// MinValue: The minimum value that can be specified, if applicable.
  1331  	MinValue int64 `json:"minValue,omitempty,string"`
  1332  	// ForceSendFields is a list of field names (e.g. "MaxValue") to
  1333  	// unconditionally include in API requests. By default, fields with empty or
  1334  	// default values are omitted from API requests. See
  1335  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1336  	// details.
  1337  	ForceSendFields []string `json:"-"`
  1338  	// NullFields is a list of field names (e.g. "MaxValue") to include in API
  1339  	// requests with the JSON null value. By default, fields with empty values are
  1340  	// omitted from API requests. See
  1341  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1342  	NullFields []string `json:"-"`
  1343  }
  1344  
  1345  func (s *IntegerRestrictions) MarshalJSON() ([]byte, error) {
  1346  	type NoMethod IntegerRestrictions
  1347  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1348  }
  1349  
  1350  // ListBackupsResponse: Message for response to listing Backups
  1351  type ListBackupsResponse struct {
  1352  	// Backups: The list of Backup
  1353  	Backups []*Backup `json:"backups,omitempty"`
  1354  	// NextPageToken: A token identifying a page of results the server should
  1355  	// return.
  1356  	NextPageToken string `json:"nextPageToken,omitempty"`
  1357  	// Unreachable: Locations that could not be reached.
  1358  	Unreachable []string `json:"unreachable,omitempty"`
  1359  
  1360  	// ServerResponse contains the HTTP response code and headers from the server.
  1361  	googleapi.ServerResponse `json:"-"`
  1362  	// ForceSendFields is a list of field names (e.g. "Backups") to unconditionally
  1363  	// include in API requests. By default, fields with empty or default values are
  1364  	// omitted from API requests. See
  1365  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1366  	// details.
  1367  	ForceSendFields []string `json:"-"`
  1368  	// NullFields is a list of field names (e.g. "Backups") to include in API
  1369  	// requests with the JSON null value. By default, fields with empty values are
  1370  	// omitted from API requests. See
  1371  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1372  	NullFields []string `json:"-"`
  1373  }
  1374  
  1375  func (s *ListBackupsResponse) MarshalJSON() ([]byte, error) {
  1376  	type NoMethod ListBackupsResponse
  1377  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1378  }
  1379  
  1380  // ListClustersResponse: Message for response to listing Clusters
  1381  type ListClustersResponse struct {
  1382  	// Clusters: The list of Cluster
  1383  	Clusters []*Cluster `json:"clusters,omitempty"`
  1384  	// NextPageToken: A token identifying a page of results the server should
  1385  	// return.
  1386  	NextPageToken string `json:"nextPageToken,omitempty"`
  1387  	// Unreachable: Locations that could not be reached.
  1388  	Unreachable []string `json:"unreachable,omitempty"`
  1389  
  1390  	// ServerResponse contains the HTTP response code and headers from the server.
  1391  	googleapi.ServerResponse `json:"-"`
  1392  	// ForceSendFields is a list of field names (e.g. "Clusters") to
  1393  	// unconditionally include in API requests. By default, fields with empty or
  1394  	// default values are omitted from API requests. See
  1395  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1396  	// details.
  1397  	ForceSendFields []string `json:"-"`
  1398  	// NullFields is a list of field names (e.g. "Clusters") to include in API
  1399  	// requests with the JSON null value. By default, fields with empty values are
  1400  	// omitted from API requests. See
  1401  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1402  	NullFields []string `json:"-"`
  1403  }
  1404  
  1405  func (s *ListClustersResponse) MarshalJSON() ([]byte, error) {
  1406  	type NoMethod ListClustersResponse
  1407  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1408  }
  1409  
  1410  // ListInstancesResponse: Message for response to listing Instances
  1411  type ListInstancesResponse struct {
  1412  	// Instances: The list of Instance
  1413  	Instances []*Instance `json:"instances,omitempty"`
  1414  	// NextPageToken: A token identifying a page of results the server should
  1415  	// return.
  1416  	NextPageToken string `json:"nextPageToken,omitempty"`
  1417  	// Unreachable: Locations that could not be reached.
  1418  	Unreachable []string `json:"unreachable,omitempty"`
  1419  
  1420  	// ServerResponse contains the HTTP response code and headers from the server.
  1421  	googleapi.ServerResponse `json:"-"`
  1422  	// ForceSendFields is a list of field names (e.g. "Instances") to
  1423  	// unconditionally include in API requests. By default, fields with empty or
  1424  	// default values are omitted from API requests. See
  1425  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1426  	// details.
  1427  	ForceSendFields []string `json:"-"`
  1428  	// NullFields is a list of field names (e.g. "Instances") to include in API
  1429  	// requests with the JSON null value. By default, fields with empty values are
  1430  	// omitted from API requests. See
  1431  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1432  	NullFields []string `json:"-"`
  1433  }
  1434  
  1435  func (s *ListInstancesResponse) MarshalJSON() ([]byte, error) {
  1436  	type NoMethod ListInstancesResponse
  1437  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1438  }
  1439  
  1440  // ListOperationsResponse: The response message for Operations.ListOperations.
  1441  type ListOperationsResponse struct {
  1442  	// NextPageToken: The standard List next-page token.
  1443  	NextPageToken string `json:"nextPageToken,omitempty"`
  1444  	// Operations: A list of operations that matches the specified filter in the
  1445  	// request.
  1446  	Operations []*Operation `json:"operations,omitempty"`
  1447  
  1448  	// ServerResponse contains the HTTP response code and headers from the server.
  1449  	googleapi.ServerResponse `json:"-"`
  1450  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  1451  	// unconditionally include in API requests. By default, fields with empty or
  1452  	// default values are omitted from API requests. See
  1453  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1454  	// details.
  1455  	ForceSendFields []string `json:"-"`
  1456  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  1457  	// requests with the JSON null value. By default, fields with empty values are
  1458  	// omitted from API requests. See
  1459  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1460  	NullFields []string `json:"-"`
  1461  }
  1462  
  1463  func (s *ListOperationsResponse) MarshalJSON() ([]byte, error) {
  1464  	type NoMethod ListOperationsResponse
  1465  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1466  }
  1467  
  1468  // ListSupportedDatabaseFlagsResponse: Message for response to listing
  1469  // SupportedDatabaseFlags.
  1470  type ListSupportedDatabaseFlagsResponse struct {
  1471  	// NextPageToken: A token identifying a page of results the server should
  1472  	// return.
  1473  	NextPageToken string `json:"nextPageToken,omitempty"`
  1474  	// SupportedDatabaseFlags: The list of SupportedDatabaseFlags.
  1475  	SupportedDatabaseFlags []*SupportedDatabaseFlag `json:"supportedDatabaseFlags,omitempty"`
  1476  
  1477  	// ServerResponse contains the HTTP response code and headers from the server.
  1478  	googleapi.ServerResponse `json:"-"`
  1479  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  1480  	// unconditionally include in API requests. By default, fields with empty or
  1481  	// default values are omitted from API requests. See
  1482  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1483  	// details.
  1484  	ForceSendFields []string `json:"-"`
  1485  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  1486  	// requests with the JSON null value. By default, fields with empty values are
  1487  	// omitted from API requests. See
  1488  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1489  	NullFields []string `json:"-"`
  1490  }
  1491  
  1492  func (s *ListSupportedDatabaseFlagsResponse) MarshalJSON() ([]byte, error) {
  1493  	type NoMethod ListSupportedDatabaseFlagsResponse
  1494  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1495  }
  1496  
  1497  // ListUsersResponse: Message for response to listing Users
  1498  type ListUsersResponse struct {
  1499  	// NextPageToken: A token identifying a page of results the server should
  1500  	// return.
  1501  	NextPageToken string `json:"nextPageToken,omitempty"`
  1502  	// Unreachable: Locations that could not be reached.
  1503  	Unreachable []string `json:"unreachable,omitempty"`
  1504  	// Users: The list of User
  1505  	Users []*User `json:"users,omitempty"`
  1506  
  1507  	// ServerResponse contains the HTTP response code and headers from the server.
  1508  	googleapi.ServerResponse `json:"-"`
  1509  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  1510  	// unconditionally include in API requests. By default, fields with empty or
  1511  	// default values are omitted from API requests. See
  1512  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1513  	// details.
  1514  	ForceSendFields []string `json:"-"`
  1515  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  1516  	// requests with the JSON null value. By default, fields with empty values are
  1517  	// omitted from API requests. See
  1518  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1519  	NullFields []string `json:"-"`
  1520  }
  1521  
  1522  func (s *ListUsersResponse) MarshalJSON() ([]byte, error) {
  1523  	type NoMethod ListUsersResponse
  1524  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1525  }
  1526  
  1527  // MachineConfig: MachineConfig describes the configuration of a machine.
  1528  type MachineConfig struct {
  1529  	// CpuCount: The number of CPU's in the VM instance.
  1530  	CpuCount int64 `json:"cpuCount,omitempty"`
  1531  	// ForceSendFields is a list of field names (e.g. "CpuCount") to
  1532  	// unconditionally include in API requests. By default, fields with empty or
  1533  	// default values are omitted from API requests. See
  1534  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1535  	// details.
  1536  	ForceSendFields []string `json:"-"`
  1537  	// NullFields is a list of field names (e.g. "CpuCount") to include in API
  1538  	// requests with the JSON null value. By default, fields with empty values are
  1539  	// omitted from API requests. See
  1540  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1541  	NullFields []string `json:"-"`
  1542  }
  1543  
  1544  func (s *MachineConfig) MarshalJSON() ([]byte, error) {
  1545  	type NoMethod MachineConfig
  1546  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1547  }
  1548  
  1549  // MaintenanceSchedule: MaintenanceSchedule stores the maintenance schedule
  1550  // generated from the MaintenanceUpdatePolicy, once a maintenance rollout is
  1551  // triggered, if MaintenanceWindow is set, and if there is no conflicting
  1552  // DenyPeriod. The schedule is cleared once the update takes place. This field
  1553  // cannot be manually changed; modify the MaintenanceUpdatePolicy instead.
  1554  type MaintenanceSchedule struct {
  1555  	// StartTime: Output only. The scheduled start time for the maintenance.
  1556  	StartTime string `json:"startTime,omitempty"`
  1557  	// ForceSendFields is a list of field names (e.g. "StartTime") to
  1558  	// unconditionally include in API requests. By default, fields with empty or
  1559  	// default values are omitted from API requests. See
  1560  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1561  	// details.
  1562  	ForceSendFields []string `json:"-"`
  1563  	// NullFields is a list of field names (e.g. "StartTime") to include in API
  1564  	// requests with the JSON null value. By default, fields with empty values are
  1565  	// omitted from API requests. See
  1566  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1567  	NullFields []string `json:"-"`
  1568  }
  1569  
  1570  func (s *MaintenanceSchedule) MarshalJSON() ([]byte, error) {
  1571  	type NoMethod MaintenanceSchedule
  1572  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1573  }
  1574  
  1575  // MaintenanceUpdatePolicy: MaintenanceUpdatePolicy defines the policy for
  1576  // system updates.
  1577  type MaintenanceUpdatePolicy struct {
  1578  	// MaintenanceWindows: Preferred windows to perform maintenance. Currently
  1579  	// limited to 1.
  1580  	MaintenanceWindows []*MaintenanceWindow `json:"maintenanceWindows,omitempty"`
  1581  	// ForceSendFields is a list of field names (e.g. "MaintenanceWindows") to
  1582  	// unconditionally include in API requests. By default, fields with empty or
  1583  	// default values are omitted from API requests. See
  1584  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1585  	// details.
  1586  	ForceSendFields []string `json:"-"`
  1587  	// NullFields is a list of field names (e.g. "MaintenanceWindows") to include
  1588  	// in API requests with the JSON null value. By default, fields with empty
  1589  	// values are omitted from API requests. See
  1590  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1591  	NullFields []string `json:"-"`
  1592  }
  1593  
  1594  func (s *MaintenanceUpdatePolicy) MarshalJSON() ([]byte, error) {
  1595  	type NoMethod MaintenanceUpdatePolicy
  1596  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1597  }
  1598  
  1599  // MaintenanceWindow: MaintenanceWindow specifies a preferred day and time for
  1600  // maintenance.
  1601  type MaintenanceWindow struct {
  1602  	// Day: Preferred day of the week for maintenance, e.g. MONDAY, TUESDAY, etc.
  1603  	//
  1604  	// Possible values:
  1605  	//   "DAY_OF_WEEK_UNSPECIFIED" - The day of the week is unspecified.
  1606  	//   "MONDAY" - Monday
  1607  	//   "TUESDAY" - Tuesday
  1608  	//   "WEDNESDAY" - Wednesday
  1609  	//   "THURSDAY" - Thursday
  1610  	//   "FRIDAY" - Friday
  1611  	//   "SATURDAY" - Saturday
  1612  	//   "SUNDAY" - Sunday
  1613  	Day string `json:"day,omitempty"`
  1614  	// StartTime: Preferred time to start the maintenance operation on the
  1615  	// specified day. Maintenance will start within 1 hour of this time.
  1616  	StartTime *GoogleTypeTimeOfDay `json:"startTime,omitempty"`
  1617  	// ForceSendFields is a list of field names (e.g. "Day") to unconditionally
  1618  	// include in API requests. By default, fields with empty or default values are
  1619  	// omitted from API requests. See
  1620  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1621  	// details.
  1622  	ForceSendFields []string `json:"-"`
  1623  	// NullFields is a list of field names (e.g. "Day") to include in API requests
  1624  	// with the JSON null value. By default, fields with empty values are omitted
  1625  	// from API requests. See
  1626  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1627  	NullFields []string `json:"-"`
  1628  }
  1629  
  1630  func (s *MaintenanceWindow) MarshalJSON() ([]byte, error) {
  1631  	type NoMethod MaintenanceWindow
  1632  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1633  }
  1634  
  1635  // MigrationSource: Subset of the source instance configuration that is
  1636  // available when reading the cluster resource.
  1637  type MigrationSource struct {
  1638  	// HostPort: Output only. The host and port of the on-premises instance in
  1639  	// host:port format
  1640  	HostPort string `json:"hostPort,omitempty"`
  1641  	// ReferenceId: Output only. Place holder for the external source
  1642  	// identifier(e.g DMS job name) that created the cluster.
  1643  	ReferenceId string `json:"referenceId,omitempty"`
  1644  	// SourceType: Output only. Type of migration source.
  1645  	//
  1646  	// Possible values:
  1647  	//   "MIGRATION_SOURCE_TYPE_UNSPECIFIED" - Migration source is unknown.
  1648  	//   "DMS" - DMS source means the cluster was created via DMS migration job.
  1649  	SourceType string `json:"sourceType,omitempty"`
  1650  	// ForceSendFields is a list of field names (e.g. "HostPort") to
  1651  	// unconditionally include in API requests. By default, fields with empty or
  1652  	// default values are omitted from API requests. See
  1653  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1654  	// details.
  1655  	ForceSendFields []string `json:"-"`
  1656  	// NullFields is a list of field names (e.g. "HostPort") to include in API
  1657  	// requests with the JSON null value. By default, fields with empty values are
  1658  	// omitted from API requests. See
  1659  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1660  	NullFields []string `json:"-"`
  1661  }
  1662  
  1663  func (s *MigrationSource) MarshalJSON() ([]byte, error) {
  1664  	type NoMethod MigrationSource
  1665  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1666  }
  1667  
  1668  // NetworkConfig: Metadata related to network configuration.
  1669  type NetworkConfig struct {
  1670  	// AllocatedIpRange: Optional. Name of the allocated IP range for the private
  1671  	// IP AlloyDB cluster, for example: "google-managed-services-default". If set,
  1672  	// the instance IPs for this cluster will be created in the allocated range.
  1673  	// The range name must comply with RFC 1035. Specifically, the name must be
  1674  	// 1-63 characters long and match the regular expression
  1675  	// `[a-z]([-a-z0-9]*[a-z0-9])?`. Field name is intended to be consistent with
  1676  	// Cloud SQL.
  1677  	AllocatedIpRange string `json:"allocatedIpRange,omitempty"`
  1678  	// Network: Optional. The resource link for the VPC network in which cluster
  1679  	// resources are created and from which they are accessible via Private IP. The
  1680  	// network must belong to the same project as the cluster. It is specified in
  1681  	// the form: `projects/{project_number}/global/networks/{network_id}`. This is
  1682  	// required to create a cluster.
  1683  	Network string `json:"network,omitempty"`
  1684  	// ForceSendFields is a list of field names (e.g. "AllocatedIpRange") to
  1685  	// unconditionally include in API requests. By default, fields with empty or
  1686  	// default values are omitted from API requests. See
  1687  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1688  	// details.
  1689  	ForceSendFields []string `json:"-"`
  1690  	// NullFields is a list of field names (e.g. "AllocatedIpRange") to include in
  1691  	// API requests with the JSON null value. By default, fields with empty values
  1692  	// are omitted from API requests. See
  1693  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1694  	NullFields []string `json:"-"`
  1695  }
  1696  
  1697  func (s *NetworkConfig) MarshalJSON() ([]byte, error) {
  1698  	type NoMethod NetworkConfig
  1699  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1700  }
  1701  
  1702  // Node: Details of a single node in the instance. Nodes in an AlloyDB instance
  1703  // are ephemereal, they can change during update, failover, autohealing and
  1704  // resize operations.
  1705  type Node struct {
  1706  	// Id: The identifier of the VM e.g. "test-read-0601-407e52be-ms3l".
  1707  	Id string `json:"id,omitempty"`
  1708  	// Ip: The private IP address of the VM e.g. "10.57.0.34".
  1709  	Ip string `json:"ip,omitempty"`
  1710  	// State: Determined by state of the compute VM and postgres-service health.
  1711  	// Compute VM state can have values listed in
  1712  	// https://cloud.google.com/compute/docs/instances/instance-life-cycle and
  1713  	// postgres-service health can have values: HEALTHY and UNHEALTHY.
  1714  	State string `json:"state,omitempty"`
  1715  	// ZoneId: The Compute Engine zone of the VM e.g. "us-central1-b".
  1716  	ZoneId string `json:"zoneId,omitempty"`
  1717  	// ForceSendFields is a list of field names (e.g. "Id") to unconditionally
  1718  	// include in API requests. By default, fields with empty or default values are
  1719  	// omitted from API requests. See
  1720  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1721  	// details.
  1722  	ForceSendFields []string `json:"-"`
  1723  	// NullFields is a list of field names (e.g. "Id") to include in API requests
  1724  	// with the JSON null value. By default, fields with empty values are omitted
  1725  	// from API requests. See
  1726  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1727  	NullFields []string `json:"-"`
  1728  }
  1729  
  1730  func (s *Node) MarshalJSON() ([]byte, error) {
  1731  	type NoMethod Node
  1732  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1733  }
  1734  
  1735  // ObservabilityInstanceConfig: Observability Instance specific configuration.
  1736  type ObservabilityInstanceConfig struct {
  1737  	// Enabled: Observability feature status for an instance. This is a read-only
  1738  	// flag and modifiable only by producer API. This flag is turned "off" by
  1739  	// default.
  1740  	Enabled bool `json:"enabled,omitempty"`
  1741  	// MaxQueryStringLength: Query string length. The default value is 10k.
  1742  	MaxQueryStringLength int64 `json:"maxQueryStringLength,omitempty"`
  1743  	// PreserveComments: Preserve comments in query string for an instance. This
  1744  	// flag is turned "off" by default.
  1745  	PreserveComments bool `json:"preserveComments,omitempty"`
  1746  	// QueryPlansPerMinute: Number of query execution plans captured by Insights
  1747  	// per minute for all queries combined. The default value is 5. Any integer
  1748  	// between 0 to 20 is considered valid.
  1749  	QueryPlansPerMinute int64 `json:"queryPlansPerMinute,omitempty"`
  1750  	// RecordApplicationTags: Record application tags for an instance. This flag is
  1751  	// turned "off" by default.
  1752  	RecordApplicationTags bool `json:"recordApplicationTags,omitempty"`
  1753  	// TrackActiveQueries: Track actively running queries on the instance. If not
  1754  	// set, this flag is "off" by default.
  1755  	TrackActiveQueries bool `json:"trackActiveQueries,omitempty"`
  1756  	// TrackWaitEventTypes: Output only. Track wait event types during query
  1757  	// execution for an instance. This flag is turned "on" by default but tracking
  1758  	// is enabled only after observability enabled flag is also turned on. This is
  1759  	// read-only flag and only modifiable by producer API.
  1760  	TrackWaitEventTypes bool `json:"trackWaitEventTypes,omitempty"`
  1761  	// TrackWaitEvents: Track wait events during query execution for an instance.
  1762  	// This flag is turned "on" by default but tracking is enabled only after
  1763  	// observability enabled flag is also turned on.
  1764  	TrackWaitEvents bool `json:"trackWaitEvents,omitempty"`
  1765  	// ForceSendFields is a list of field names (e.g. "Enabled") to unconditionally
  1766  	// include in API requests. By default, fields with empty or default values are
  1767  	// omitted from API requests. See
  1768  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1769  	// details.
  1770  	ForceSendFields []string `json:"-"`
  1771  	// NullFields is a list of field names (e.g. "Enabled") to include in API
  1772  	// requests with the JSON null value. By default, fields with empty values are
  1773  	// omitted from API requests. See
  1774  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1775  	NullFields []string `json:"-"`
  1776  }
  1777  
  1778  func (s *ObservabilityInstanceConfig) MarshalJSON() ([]byte, error) {
  1779  	type NoMethod ObservabilityInstanceConfig
  1780  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1781  }
  1782  
  1783  // Operation: This resource represents a long-running operation that is the
  1784  // result of a network API call.
  1785  type Operation struct {
  1786  	// Done: If the value is `false`, it means the operation is still in progress.
  1787  	// If `true`, the operation is completed, and either `error` or `response` is
  1788  	// available.
  1789  	Done bool `json:"done,omitempty"`
  1790  	// Error: The error result of the operation in case of failure or cancellation.
  1791  	Error *Status `json:"error,omitempty"`
  1792  	// Metadata: Service-specific metadata associated with the operation. It
  1793  	// typically contains progress information and common metadata such as create
  1794  	// time. Some services might not provide such metadata. Any method that returns
  1795  	// a long-running operation should document the metadata type, if any.
  1796  	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
  1797  	// Name: The server-assigned name, which is only unique within the same service
  1798  	// that originally returns it. If you use the default HTTP mapping, the `name`
  1799  	// should be a resource name ending with `operations/{unique_id}`.
  1800  	Name string `json:"name,omitempty"`
  1801  	// Response: The normal, successful response of the operation. If the original
  1802  	// method returns no data on success, such as `Delete`, the response is
  1803  	// `google.protobuf.Empty`. If the original method is standard
  1804  	// `Get`/`Create`/`Update`, the response should be the resource. For other
  1805  	// methods, the response should have the type `XxxResponse`, where `Xxx` is the
  1806  	// original method name. For example, if the original method name is
  1807  	// `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
  1808  	Response googleapi.RawMessage `json:"response,omitempty"`
  1809  
  1810  	// ServerResponse contains the HTTP response code and headers from the server.
  1811  	googleapi.ServerResponse `json:"-"`
  1812  	// ForceSendFields is a list of field names (e.g. "Done") to unconditionally
  1813  	// include in API requests. By default, fields with empty or default values are
  1814  	// omitted from API requests. See
  1815  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1816  	// details.
  1817  	ForceSendFields []string `json:"-"`
  1818  	// NullFields is a list of field names (e.g. "Done") to include in API requests
  1819  	// with the JSON null value. By default, fields with empty values are omitted
  1820  	// from API requests. See
  1821  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1822  	NullFields []string `json:"-"`
  1823  }
  1824  
  1825  func (s *Operation) MarshalJSON() ([]byte, error) {
  1826  	type NoMethod Operation
  1827  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1828  }
  1829  
  1830  // OperationMetadata: Represents the metadata of the long-running operation.
  1831  type OperationMetadata struct {
  1832  	// ApiVersion: Output only. API version used to start the operation.
  1833  	ApiVersion string `json:"apiVersion,omitempty"`
  1834  	// CreateTime: Output only. The time the operation was created.
  1835  	CreateTime string `json:"createTime,omitempty"`
  1836  	// EndTime: Output only. The time the operation finished running.
  1837  	EndTime string `json:"endTime,omitempty"`
  1838  	// RequestedCancellation: Output only. Identifies whether the user has
  1839  	// requested cancellation of the operation. Operations that have successfully
  1840  	// been cancelled have Operation.error value with a google.rpc.Status.code of
  1841  	// 1, corresponding to `Code.CANCELLED`.
  1842  	RequestedCancellation bool `json:"requestedCancellation,omitempty"`
  1843  	// StatusMessage: Output only. Human-readable status of the operation, if any.
  1844  	StatusMessage string `json:"statusMessage,omitempty"`
  1845  	// Target: Output only. Server-defined resource path for the target of the
  1846  	// operation.
  1847  	Target string `json:"target,omitempty"`
  1848  	// Verb: Output only. Name of the verb executed by the operation.
  1849  	Verb string `json:"verb,omitempty"`
  1850  	// ForceSendFields is a list of field names (e.g. "ApiVersion") to
  1851  	// unconditionally include in API requests. By default, fields with empty or
  1852  	// default values are omitted from API requests. See
  1853  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1854  	// details.
  1855  	ForceSendFields []string `json:"-"`
  1856  	// NullFields is a list of field names (e.g. "ApiVersion") to include in API
  1857  	// requests with the JSON null value. By default, fields with empty values are
  1858  	// omitted from API requests. See
  1859  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1860  	NullFields []string `json:"-"`
  1861  }
  1862  
  1863  func (s *OperationMetadata) MarshalJSON() ([]byte, error) {
  1864  	type NoMethod OperationMetadata
  1865  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1866  }
  1867  
  1868  // PrimaryConfig: Configuration for the primary cluster. It has the list of
  1869  // clusters that are replicating from this cluster. This should be set if and
  1870  // only if the cluster is of type PRIMARY.
  1871  type PrimaryConfig struct {
  1872  	// SecondaryClusterNames: Output only. Names of the clusters that are
  1873  	// replicating from this cluster.
  1874  	SecondaryClusterNames []string `json:"secondaryClusterNames,omitempty"`
  1875  	// ForceSendFields is a list of field names (e.g. "SecondaryClusterNames") to
  1876  	// unconditionally include in API requests. By default, fields with empty or
  1877  	// default values are omitted from API requests. See
  1878  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1879  	// details.
  1880  	ForceSendFields []string `json:"-"`
  1881  	// NullFields is a list of field names (e.g. "SecondaryClusterNames") to
  1882  	// include in API requests with the JSON null value. By default, fields with
  1883  	// empty values are omitted from API requests. See
  1884  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1885  	NullFields []string `json:"-"`
  1886  }
  1887  
  1888  func (s *PrimaryConfig) MarshalJSON() ([]byte, error) {
  1889  	type NoMethod PrimaryConfig
  1890  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1891  }
  1892  
  1893  // PromoteClusterRequest: Message for promoting a Cluster
  1894  type PromoteClusterRequest struct {
  1895  	// Etag: Optional. The current etag of the Cluster. If an etag is provided and
  1896  	// does not match the current etag of the Cluster, deletion will be blocked and
  1897  	// an ABORTED error will be returned.
  1898  	Etag string `json:"etag,omitempty"`
  1899  	// RequestId: Optional. An optional request ID to identify requests. Specify a
  1900  	// unique request ID so that if you must retry your request, the server will
  1901  	// know to ignore the request if it has already been completed. The server will
  1902  	// guarantee that for at least 60 minutes after the first request. For example,
  1903  	// consider a situation where you make an initial request and the request times
  1904  	// out. If you make the request again with the same request ID, the server can
  1905  	// check if original operation with the same request ID was received, and if
  1906  	// so, will ignore the second request. This prevents clients from accidentally
  1907  	// creating duplicate commitments. The request ID must be a valid UUID with the
  1908  	// exception that zero UUID is not supported
  1909  	// (00000000-0000-0000-0000-000000000000).
  1910  	RequestId string `json:"requestId,omitempty"`
  1911  	// ValidateOnly: Optional. If set, performs request validation (e.g. permission
  1912  	// checks and any other type of validation), but do not actually execute the
  1913  	// delete.
  1914  	ValidateOnly bool `json:"validateOnly,omitempty"`
  1915  	// ForceSendFields is a list of field names (e.g. "Etag") to unconditionally
  1916  	// include in API requests. By default, fields with empty or default values are
  1917  	// omitted from API requests. See
  1918  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1919  	// details.
  1920  	ForceSendFields []string `json:"-"`
  1921  	// NullFields is a list of field names (e.g. "Etag") to include in API requests
  1922  	// with the JSON null value. By default, fields with empty values are omitted
  1923  	// from API requests. See
  1924  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1925  	NullFields []string `json:"-"`
  1926  }
  1927  
  1928  func (s *PromoteClusterRequest) MarshalJSON() ([]byte, error) {
  1929  	type NoMethod PromoteClusterRequest
  1930  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1931  }
  1932  
  1933  // PscConfig: PscConfig contains PSC related configuration at a cluster level.
  1934  type PscConfig struct {
  1935  	// PscEnabled: Optional. Create an instance that allows connections from
  1936  	// Private Service Connect endpoints to the instance.
  1937  	PscEnabled bool `json:"pscEnabled,omitempty"`
  1938  	// ForceSendFields is a list of field names (e.g. "PscEnabled") to
  1939  	// unconditionally include in API requests. By default, fields with empty or
  1940  	// default values are omitted from API requests. See
  1941  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1942  	// details.
  1943  	ForceSendFields []string `json:"-"`
  1944  	// NullFields is a list of field names (e.g. "PscEnabled") to include in API
  1945  	// requests with the JSON null value. By default, fields with empty values are
  1946  	// omitted from API requests. See
  1947  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1948  	NullFields []string `json:"-"`
  1949  }
  1950  
  1951  func (s *PscConfig) MarshalJSON() ([]byte, error) {
  1952  	type NoMethod PscConfig
  1953  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1954  }
  1955  
  1956  // PscInstanceConfig: PscInstanceConfig contains PSC related configuration at
  1957  // an instance level.
  1958  type PscInstanceConfig struct {
  1959  	// AllowedConsumerProjects: Optional. List of consumer projects that are
  1960  	// allowed to create PSC endpoints to service-attachments to this instance.
  1961  	AllowedConsumerProjects []string `json:"allowedConsumerProjects,omitempty"`
  1962  	// PscDnsName: Output only. The DNS name of the instance for PSC connectivity.
  1963  	// Name convention: ...alloydb-psc.goog
  1964  	PscDnsName string `json:"pscDnsName,omitempty"`
  1965  	// ServiceAttachmentLink: Output only. The service attachment created when
  1966  	// Private Service Connect (PSC) is enabled for the instance. The name of the
  1967  	// resource will be in the format of `projects//regions//serviceAttachments/`
  1968  	ServiceAttachmentLink string `json:"serviceAttachmentLink,omitempty"`
  1969  	// ForceSendFields is a list of field names (e.g. "AllowedConsumerProjects") to
  1970  	// unconditionally include in API requests. By default, fields with empty or
  1971  	// default values are omitted from API requests. See
  1972  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1973  	// details.
  1974  	ForceSendFields []string `json:"-"`
  1975  	// NullFields is a list of field names (e.g. "AllowedConsumerProjects") to
  1976  	// include in API requests with the JSON null value. By default, fields with
  1977  	// empty values are omitted from API requests. See
  1978  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1979  	NullFields []string `json:"-"`
  1980  }
  1981  
  1982  func (s *PscInstanceConfig) MarshalJSON() ([]byte, error) {
  1983  	type NoMethod PscInstanceConfig
  1984  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1985  }
  1986  
  1987  // QuantityBasedExpiry: A backup's position in a quantity-based retention
  1988  // queue, of backups with the same source cluster and type, with length,
  1989  // retention, specified by the backup's retention policy. Once the position is
  1990  // greater than the retention, the backup is eligible to be garbage collected.
  1991  // Example: 5 backups from the same source cluster and type with a
  1992  // quantity-based retention of 3 and denoted by backup_id (position,
  1993  // retention). Safe: backup_5 (1, 3), backup_4, (2, 3), backup_3 (3, 3).
  1994  // Awaiting garbage collection: backup_2 (4, 3), backup_1 (5, 3)
  1995  type QuantityBasedExpiry struct {
  1996  	// RetentionCount: Output only. The backup's position among its backups with
  1997  	// the same source cluster and type, by descending chronological order create
  1998  	// time(i.e. newest first).
  1999  	RetentionCount int64 `json:"retentionCount,omitempty"`
  2000  	// TotalRetentionCount: Output only. The length of the quantity-based queue,
  2001  	// specified by the backup's retention policy.
  2002  	TotalRetentionCount int64 `json:"totalRetentionCount,omitempty"`
  2003  	// ForceSendFields is a list of field names (e.g. "RetentionCount") to
  2004  	// unconditionally include in API requests. By default, fields with empty or
  2005  	// default values are omitted from API requests. See
  2006  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2007  	// details.
  2008  	ForceSendFields []string `json:"-"`
  2009  	// NullFields is a list of field names (e.g. "RetentionCount") to include in
  2010  	// API requests with the JSON null value. By default, fields with empty values
  2011  	// are omitted from API requests. See
  2012  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2013  	NullFields []string `json:"-"`
  2014  }
  2015  
  2016  func (s *QuantityBasedExpiry) MarshalJSON() ([]byte, error) {
  2017  	type NoMethod QuantityBasedExpiry
  2018  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2019  }
  2020  
  2021  // QuantityBasedRetention: A quantity based policy specifies that a certain
  2022  // number of the most recent successful backups should be retained.
  2023  type QuantityBasedRetention struct {
  2024  	// Count: The number of backups to retain.
  2025  	Count int64 `json:"count,omitempty"`
  2026  	// ForceSendFields is a list of field names (e.g. "Count") to unconditionally
  2027  	// include in API requests. By default, fields with empty or default values are
  2028  	// omitted from API requests. See
  2029  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2030  	// details.
  2031  	ForceSendFields []string `json:"-"`
  2032  	// NullFields is a list of field names (e.g. "Count") to include in API
  2033  	// requests with the JSON null value. By default, fields with empty values are
  2034  	// omitted from API requests. See
  2035  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2036  	NullFields []string `json:"-"`
  2037  }
  2038  
  2039  func (s *QuantityBasedRetention) MarshalJSON() ([]byte, error) {
  2040  	type NoMethod QuantityBasedRetention
  2041  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2042  }
  2043  
  2044  // QueryInsightsInstanceConfig: QueryInsights Instance specific configuration.
  2045  type QueryInsightsInstanceConfig struct {
  2046  	// QueryPlansPerMinute: Number of query execution plans captured by Insights
  2047  	// per minute for all queries combined. The default value is 5. Any integer
  2048  	// between 0 and 20 is considered valid.
  2049  	QueryPlansPerMinute int64 `json:"queryPlansPerMinute,omitempty"`
  2050  	// QueryStringLength: Query string length. The default value is 1024. Any
  2051  	// integer between 256 and 4500 is considered valid.
  2052  	QueryStringLength int64 `json:"queryStringLength,omitempty"`
  2053  	// RecordApplicationTags: Record application tags for an instance. This flag is
  2054  	// turned "on" by default.
  2055  	RecordApplicationTags bool `json:"recordApplicationTags,omitempty"`
  2056  	// RecordClientAddress: Record client address for an instance. Client address
  2057  	// is PII information. This flag is turned "on" by default.
  2058  	RecordClientAddress bool `json:"recordClientAddress,omitempty"`
  2059  	// ForceSendFields is a list of field names (e.g. "QueryPlansPerMinute") to
  2060  	// unconditionally include in API requests. By default, fields with empty or
  2061  	// default values are omitted from API requests. See
  2062  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2063  	// details.
  2064  	ForceSendFields []string `json:"-"`
  2065  	// NullFields is a list of field names (e.g. "QueryPlansPerMinute") to include
  2066  	// in API requests with the JSON null value. By default, fields with empty
  2067  	// values are omitted from API requests. See
  2068  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2069  	NullFields []string `json:"-"`
  2070  }
  2071  
  2072  func (s *QueryInsightsInstanceConfig) MarshalJSON() ([]byte, error) {
  2073  	type NoMethod QueryInsightsInstanceConfig
  2074  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2075  }
  2076  
  2077  // ReadPoolConfig: Configuration for a read pool instance.
  2078  type ReadPoolConfig struct {
  2079  	// NodeCount: Read capacity, i.e. number of nodes in a read pool instance.
  2080  	NodeCount int64 `json:"nodeCount,omitempty"`
  2081  	// ForceSendFields is a list of field names (e.g. "NodeCount") to
  2082  	// unconditionally include in API requests. By default, fields with empty or
  2083  	// default values are omitted from API requests. See
  2084  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2085  	// details.
  2086  	ForceSendFields []string `json:"-"`
  2087  	// NullFields is a list of field names (e.g. "NodeCount") to include in API
  2088  	// requests with the JSON null value. By default, fields with empty values are
  2089  	// omitted from API requests. See
  2090  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2091  	NullFields []string `json:"-"`
  2092  }
  2093  
  2094  func (s *ReadPoolConfig) MarshalJSON() ([]byte, error) {
  2095  	type NoMethod ReadPoolConfig
  2096  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2097  }
  2098  
  2099  type RestartInstanceRequest struct {
  2100  	// RequestId: Optional. An optional request ID to identify requests. Specify a
  2101  	// unique request ID so that if you must retry your request, the server will
  2102  	// know to ignore the request if it has already been completed. The server will
  2103  	// guarantee that for at least 60 minutes after the first request. For example,
  2104  	// consider a situation where you make an initial request and the request times
  2105  	// out. If you make the request again with the same request ID, the server can
  2106  	// check if original operation with the same request ID was received, and if
  2107  	// so, will ignore the second request. This prevents clients from accidentally
  2108  	// creating duplicate commitments. The request ID must be a valid UUID with the
  2109  	// exception that zero UUID is not supported
  2110  	// (00000000-0000-0000-0000-000000000000).
  2111  	RequestId string `json:"requestId,omitempty"`
  2112  	// ValidateOnly: Optional. If set, performs request validation (e.g. permission
  2113  	// checks and any other type of validation), but do not actually execute the
  2114  	// restart.
  2115  	ValidateOnly bool `json:"validateOnly,omitempty"`
  2116  	// ForceSendFields is a list of field names (e.g. "RequestId") to
  2117  	// unconditionally include in API requests. By default, fields with empty or
  2118  	// default values are omitted from API requests. See
  2119  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2120  	// details.
  2121  	ForceSendFields []string `json:"-"`
  2122  	// NullFields is a list of field names (e.g. "RequestId") to include in API
  2123  	// requests with the JSON null value. By default, fields with empty values are
  2124  	// omitted from API requests. See
  2125  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2126  	NullFields []string `json:"-"`
  2127  }
  2128  
  2129  func (s *RestartInstanceRequest) MarshalJSON() ([]byte, error) {
  2130  	type NoMethod RestartInstanceRequest
  2131  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2132  }
  2133  
  2134  // RestoreClusterRequest: Message for restoring a Cluster from a backup or
  2135  // another cluster at a given point in time.
  2136  type RestoreClusterRequest struct {
  2137  	// BackupSource: Backup source.
  2138  	BackupSource *BackupSource `json:"backupSource,omitempty"`
  2139  	// Cluster: Required. The resource being created
  2140  	Cluster *Cluster `json:"cluster,omitempty"`
  2141  	// ClusterId: Required. ID of the requesting object.
  2142  	ClusterId string `json:"clusterId,omitempty"`
  2143  	// ContinuousBackupSource: ContinuousBackup source. Continuous backup needs to
  2144  	// be enabled in the source cluster for this operation to succeed.
  2145  	ContinuousBackupSource *ContinuousBackupSource `json:"continuousBackupSource,omitempty"`
  2146  	// RequestId: Optional. An optional request ID to identify requests. Specify a
  2147  	// unique request ID so that if you must retry your request, the server will
  2148  	// know to ignore the request if it has already been completed. The server will
  2149  	// guarantee that for at least 60 minutes since the first request. For example,
  2150  	// consider a situation where you make an initial request and the request times
  2151  	// out. If you make the request again with the same request ID, the server can
  2152  	// check if original operation with the same request ID was received, and if
  2153  	// so, will ignore the second request. This prevents clients from accidentally
  2154  	// creating duplicate commitments. The request ID must be a valid UUID with the
  2155  	// exception that zero UUID is not supported
  2156  	// (00000000-0000-0000-0000-000000000000).
  2157  	RequestId string `json:"requestId,omitempty"`
  2158  	// ValidateOnly: Optional. If set, performs request validation (e.g. permission
  2159  	// checks and any other type of validation), but do not actually execute the
  2160  	// import request.
  2161  	ValidateOnly bool `json:"validateOnly,omitempty"`
  2162  	// ForceSendFields is a list of field names (e.g. "BackupSource") to
  2163  	// unconditionally include in API requests. By default, fields with empty or
  2164  	// default values are omitted from API requests. See
  2165  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2166  	// details.
  2167  	ForceSendFields []string `json:"-"`
  2168  	// NullFields is a list of field names (e.g. "BackupSource") to include in API
  2169  	// requests with the JSON null value. By default, fields with empty values are
  2170  	// omitted from API requests. See
  2171  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2172  	NullFields []string `json:"-"`
  2173  }
  2174  
  2175  func (s *RestoreClusterRequest) MarshalJSON() ([]byte, error) {
  2176  	type NoMethod RestoreClusterRequest
  2177  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2178  }
  2179  
  2180  // SecondaryConfig: Configuration information for the secondary cluster. This
  2181  // should be set if and only if the cluster is of type SECONDARY.
  2182  type SecondaryConfig struct {
  2183  	// PrimaryClusterName: The name of the primary cluster name with the format: *
  2184  	// projects/{project}/locations/{region}/clusters/{cluster_id}
  2185  	PrimaryClusterName string `json:"primaryClusterName,omitempty"`
  2186  	// ForceSendFields is a list of field names (e.g. "PrimaryClusterName") to
  2187  	// unconditionally include in API requests. By default, fields with empty or
  2188  	// default values are 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. "PrimaryClusterName") to include
  2193  	// in API requests with the JSON null value. By default, fields with empty
  2194  	// values are omitted 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 *SecondaryConfig) MarshalJSON() ([]byte, error) {
  2200  	type NoMethod SecondaryConfig
  2201  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2202  }
  2203  
  2204  // SslConfig: SSL configuration.
  2205  type SslConfig struct {
  2206  	// CaSource: Optional. Certificate Authority (CA) source. Only
  2207  	// CA_SOURCE_MANAGED is supported currently, and is the default value.
  2208  	//
  2209  	// Possible values:
  2210  	//   "CA_SOURCE_UNSPECIFIED" - Certificate Authority (CA) source not specified.
  2211  	// Defaults to CA_SOURCE_MANAGED.
  2212  	//   "CA_SOURCE_MANAGED" - Certificate Authority (CA) managed by the AlloyDB
  2213  	// Cluster.
  2214  	CaSource string `json:"caSource,omitempty"`
  2215  	// SslMode: Optional. SSL mode. Specifies client-server SSL/TLS connection
  2216  	// behavior.
  2217  	//
  2218  	// Possible values:
  2219  	//   "SSL_MODE_UNSPECIFIED" - SSL mode not specified. Defaults to
  2220  	// ENCRYPTED_ONLY.
  2221  	//   "SSL_MODE_ALLOW" - SSL connections are optional. CA verification not
  2222  	// enforced.
  2223  	//   "SSL_MODE_REQUIRE" - SSL connections are required. CA verification not
  2224  	// enforced. Clients may use locally self-signed certificates (default psql
  2225  	// client behavior).
  2226  	//   "SSL_MODE_VERIFY_CA" - SSL connections are required. CA verification
  2227  	// enforced. Clients must have certificates signed by a Cluster CA, e.g. via
  2228  	// GenerateClientCertificate.
  2229  	//   "ALLOW_UNENCRYPTED_AND_ENCRYPTED" - SSL connections are optional. CA
  2230  	// verification not enforced.
  2231  	//   "ENCRYPTED_ONLY" - SSL connections are required. CA verification not
  2232  	// enforced.
  2233  	SslMode string `json:"sslMode,omitempty"`
  2234  	// ForceSendFields is a list of field names (e.g. "CaSource") to
  2235  	// unconditionally include in API requests. By default, fields with empty or
  2236  	// default values are omitted from API requests. See
  2237  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2238  	// details.
  2239  	ForceSendFields []string `json:"-"`
  2240  	// NullFields is a list of field names (e.g. "CaSource") to include in API
  2241  	// requests with the JSON null value. By default, fields with empty values are
  2242  	// omitted from API requests. See
  2243  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2244  	NullFields []string `json:"-"`
  2245  }
  2246  
  2247  func (s *SslConfig) MarshalJSON() ([]byte, error) {
  2248  	type NoMethod SslConfig
  2249  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2250  }
  2251  
  2252  // Status: The `Status` type defines a logical error model that is suitable for
  2253  // different programming environments, including REST APIs and RPC APIs. It is
  2254  // used by gRPC (https://github.com/grpc). Each `Status` message contains three
  2255  // pieces of data: error code, error message, and error details. You can find
  2256  // out more about this error model and how to work with it in the API Design
  2257  // Guide (https://cloud.google.com/apis/design/errors).
  2258  type Status struct {
  2259  	// Code: The status code, which should be an enum value of google.rpc.Code.
  2260  	Code int64 `json:"code,omitempty"`
  2261  	// Details: A list of messages that carry the error details. There is a common
  2262  	// set of message types for APIs to use.
  2263  	Details []googleapi.RawMessage `json:"details,omitempty"`
  2264  	// Message: A developer-facing error message, which should be in English. Any
  2265  	// user-facing error message should be localized and sent in the
  2266  	// google.rpc.Status.details field, or localized by the client.
  2267  	Message string `json:"message,omitempty"`
  2268  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  2269  	// include in API requests. By default, fields with empty or default values are
  2270  	// omitted from API requests. See
  2271  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2272  	// details.
  2273  	ForceSendFields []string `json:"-"`
  2274  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  2275  	// with the JSON null value. By default, fields with empty values are omitted
  2276  	// from API requests. See
  2277  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2278  	NullFields []string `json:"-"`
  2279  }
  2280  
  2281  func (s *Status) MarshalJSON() ([]byte, error) {
  2282  	type NoMethod Status
  2283  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2284  }
  2285  
  2286  // StorageDatabasecenterPartnerapiV1mainAvailabilityConfiguration:
  2287  // Configuration for availability of database instance
  2288  type StorageDatabasecenterPartnerapiV1mainAvailabilityConfiguration struct {
  2289  	// AvailabilityType: Availability type. Potential values: * `ZONAL`: The
  2290  	// instance serves data from only one zone. Outages in that zone affect data
  2291  	// accessibility. * `REGIONAL`: The instance can serve data from more than one
  2292  	// zone in a region (it is highly available).
  2293  	//
  2294  	// Possible values:
  2295  	//   "AVAILABILITY_TYPE_UNSPECIFIED"
  2296  	//   "ZONAL" - Zonal available instance.
  2297  	//   "REGIONAL" - Regional available instance.
  2298  	//   "MULTI_REGIONAL" - Multi regional instance
  2299  	//   "AVAILABILITY_TYPE_OTHER" - For rest of the other category
  2300  	AvailabilityType string `json:"availabilityType,omitempty"`
  2301  	// CrossRegionReplicaConfigured: Checks for resources that are configured to
  2302  	// have redundancy, and ongoing replication across regions
  2303  	CrossRegionReplicaConfigured bool `json:"crossRegionReplicaConfigured,omitempty"`
  2304  	ExternalReplicaConfigured    bool `json:"externalReplicaConfigured,omitempty"`
  2305  	PromotableReplicaConfigured  bool `json:"promotableReplicaConfigured,omitempty"`
  2306  	// ForceSendFields is a list of field names (e.g. "AvailabilityType") to
  2307  	// unconditionally include in API requests. By default, fields with empty or
  2308  	// default values are omitted from API requests. See
  2309  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2310  	// details.
  2311  	ForceSendFields []string `json:"-"`
  2312  	// NullFields is a list of field names (e.g. "AvailabilityType") to include in
  2313  	// API requests with the JSON null value. By default, fields with empty values
  2314  	// are omitted from API requests. See
  2315  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2316  	NullFields []string `json:"-"`
  2317  }
  2318  
  2319  func (s *StorageDatabasecenterPartnerapiV1mainAvailabilityConfiguration) MarshalJSON() ([]byte, error) {
  2320  	type NoMethod StorageDatabasecenterPartnerapiV1mainAvailabilityConfiguration
  2321  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2322  }
  2323  
  2324  // StorageDatabasecenterPartnerapiV1mainBackupConfiguration: Configuration for
  2325  // automatic backups
  2326  type StorageDatabasecenterPartnerapiV1mainBackupConfiguration struct {
  2327  	// AutomatedBackupEnabled: Whether customer visible automated backups are
  2328  	// enabled on the instance.
  2329  	AutomatedBackupEnabled bool `json:"automatedBackupEnabled,omitempty"`
  2330  	// BackupRetentionSettings: Backup retention settings.
  2331  	BackupRetentionSettings *StorageDatabasecenterPartnerapiV1mainRetentionSettings `json:"backupRetentionSettings,omitempty"`
  2332  	// PointInTimeRecoveryEnabled: Whether point-in-time recovery is enabled. This
  2333  	// is optional field, if the database service does not have this feature or
  2334  	// metadata is not available in control plane, this can be omitted.
  2335  	PointInTimeRecoveryEnabled bool `json:"pointInTimeRecoveryEnabled,omitempty"`
  2336  	// ForceSendFields is a list of field names (e.g. "AutomatedBackupEnabled") to
  2337  	// unconditionally include in API requests. By default, fields with empty or
  2338  	// default values are omitted from API requests. See
  2339  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2340  	// details.
  2341  	ForceSendFields []string `json:"-"`
  2342  	// NullFields is a list of field names (e.g. "AutomatedBackupEnabled") to
  2343  	// include in API requests with the JSON null value. By default, fields with
  2344  	// empty values are omitted from API requests. See
  2345  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2346  	NullFields []string `json:"-"`
  2347  }
  2348  
  2349  func (s *StorageDatabasecenterPartnerapiV1mainBackupConfiguration) MarshalJSON() ([]byte, error) {
  2350  	type NoMethod StorageDatabasecenterPartnerapiV1mainBackupConfiguration
  2351  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2352  }
  2353  
  2354  // StorageDatabasecenterPartnerapiV1mainBackupRun: A backup run.
  2355  type StorageDatabasecenterPartnerapiV1mainBackupRun struct {
  2356  	// EndTime: The time the backup operation completed. REQUIRED
  2357  	EndTime string `json:"endTime,omitempty"`
  2358  	// Error: Information about why the backup operation failed. This is only
  2359  	// present if the run has the FAILED status. OPTIONAL
  2360  	Error *StorageDatabasecenterPartnerapiV1mainOperationError `json:"error,omitempty"`
  2361  	// StartTime: The time the backup operation started. REQUIRED
  2362  	StartTime string `json:"startTime,omitempty"`
  2363  	// Status: The status of this run. REQUIRED
  2364  	//
  2365  	// Possible values:
  2366  	//   "STATUS_UNSPECIFIED"
  2367  	//   "SUCCESSFUL" - The backup was successful.
  2368  	//   "FAILED" - The backup was unsuccessful.
  2369  	Status string `json:"status,omitempty"`
  2370  	// ForceSendFields is a list of field names (e.g. "EndTime") to unconditionally
  2371  	// include in API requests. By default, fields with empty or default values are
  2372  	// omitted from API requests. See
  2373  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2374  	// details.
  2375  	ForceSendFields []string `json:"-"`
  2376  	// NullFields is a list of field names (e.g. "EndTime") to include in API
  2377  	// requests with the JSON null value. By default, fields with empty values are
  2378  	// omitted from API requests. See
  2379  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2380  	NullFields []string `json:"-"`
  2381  }
  2382  
  2383  func (s *StorageDatabasecenterPartnerapiV1mainBackupRun) MarshalJSON() ([]byte, error) {
  2384  	type NoMethod StorageDatabasecenterPartnerapiV1mainBackupRun
  2385  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2386  }
  2387  
  2388  // StorageDatabasecenterPartnerapiV1mainCompliance: Contains compliance
  2389  // information about a security standard indicating unmet recommendations.
  2390  type StorageDatabasecenterPartnerapiV1mainCompliance struct {
  2391  	// Standard: Industry-wide compliance standards or benchmarks, such as CIS,
  2392  	// PCI, and OWASP.
  2393  	Standard string `json:"standard,omitempty"`
  2394  	// Version: Version of the standard or benchmark, for example, 1.1
  2395  	Version string `json:"version,omitempty"`
  2396  	// ForceSendFields is a list of field names (e.g. "Standard") to
  2397  	// unconditionally include in API requests. By default, fields with empty or
  2398  	// default values are omitted from API requests. See
  2399  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2400  	// details.
  2401  	ForceSendFields []string `json:"-"`
  2402  	// NullFields is a list of field names (e.g. "Standard") to include in API
  2403  	// requests with the JSON null value. By default, fields with empty values are
  2404  	// omitted from API requests. See
  2405  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2406  	NullFields []string `json:"-"`
  2407  }
  2408  
  2409  func (s *StorageDatabasecenterPartnerapiV1mainCompliance) MarshalJSON() ([]byte, error) {
  2410  	type NoMethod StorageDatabasecenterPartnerapiV1mainCompliance
  2411  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2412  }
  2413  
  2414  // StorageDatabasecenterPartnerapiV1mainCustomMetadataData: Any custom metadata
  2415  // associated with the resource. i.e. A spanner instance can have multiple
  2416  // databases with its own unique metadata. Information for these individual
  2417  // databases can be captured in custom metadata data
  2418  type StorageDatabasecenterPartnerapiV1mainCustomMetadataData struct {
  2419  	DatabaseMetadata []*StorageDatabasecenterPartnerapiV1mainDatabaseMetadata `json:"databaseMetadata,omitempty"`
  2420  	// ForceSendFields is a list of field names (e.g. "DatabaseMetadata") to
  2421  	// unconditionally include in API requests. By default, fields with empty or
  2422  	// default values are omitted from API requests. See
  2423  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2424  	// details.
  2425  	ForceSendFields []string `json:"-"`
  2426  	// NullFields is a list of field names (e.g. "DatabaseMetadata") to include in
  2427  	// API requests with the JSON null value. By default, fields with empty values
  2428  	// are omitted from API requests. See
  2429  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2430  	NullFields []string `json:"-"`
  2431  }
  2432  
  2433  func (s *StorageDatabasecenterPartnerapiV1mainCustomMetadataData) MarshalJSON() ([]byte, error) {
  2434  	type NoMethod StorageDatabasecenterPartnerapiV1mainCustomMetadataData
  2435  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2436  }
  2437  
  2438  // StorageDatabasecenterPartnerapiV1mainDatabaseMetadata: Metadata for
  2439  // individual databases created in an instance. i.e. spanner instance can have
  2440  // multiple databases with unique configuration settings.
  2441  type StorageDatabasecenterPartnerapiV1mainDatabaseMetadata struct {
  2442  	// BackupConfiguration: Backup configuration for this database
  2443  	BackupConfiguration *StorageDatabasecenterPartnerapiV1mainBackupConfiguration `json:"backupConfiguration,omitempty"`
  2444  	// BackupRun: Information about the last backup attempt for this database
  2445  	BackupRun  *StorageDatabasecenterPartnerapiV1mainBackupRun          `json:"backupRun,omitempty"`
  2446  	Product    *StorageDatabasecenterProtoCommonProduct                 `json:"product,omitempty"`
  2447  	ResourceId *StorageDatabasecenterPartnerapiV1mainDatabaseResourceId `json:"resourceId,omitempty"`
  2448  	// ResourceName: Required. Database name. Resource name to follow CAIS
  2449  	// resource_name format as noted here go/condor-common-datamodel
  2450  	ResourceName string `json:"resourceName,omitempty"`
  2451  	// ForceSendFields is a list of field names (e.g. "BackupConfiguration") to
  2452  	// unconditionally include in API requests. By default, fields with empty or
  2453  	// default values are omitted from API requests. See
  2454  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2455  	// details.
  2456  	ForceSendFields []string `json:"-"`
  2457  	// NullFields is a list of field names (e.g. "BackupConfiguration") to include
  2458  	// in API requests with the JSON null value. By default, fields with empty
  2459  	// values are omitted from API requests. See
  2460  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2461  	NullFields []string `json:"-"`
  2462  }
  2463  
  2464  func (s *StorageDatabasecenterPartnerapiV1mainDatabaseMetadata) MarshalJSON() ([]byte, error) {
  2465  	type NoMethod StorageDatabasecenterPartnerapiV1mainDatabaseMetadata
  2466  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2467  }
  2468  
  2469  // StorageDatabasecenterPartnerapiV1mainDatabaseResourceFeed:
  2470  // DatabaseResourceFeed is the top level proto to be used to ingest different
  2471  // database resource level events into Condor platform.
  2472  type StorageDatabasecenterPartnerapiV1mainDatabaseResourceFeed struct {
  2473  	// FeedTimestamp: Required. Timestamp when feed is generated.
  2474  	FeedTimestamp string `json:"feedTimestamp,omitempty"`
  2475  	// FeedType: Required. Type feed to be ingested into condor
  2476  	//
  2477  	// Possible values:
  2478  	//   "FEEDTYPE_UNSPECIFIED"
  2479  	//   "RESOURCE_METADATA" - Database resource metadata feed from control plane
  2480  	//   "OBSERVABILITY_DATA" - Database resource monitoring data
  2481  	//   "SECURITY_FINDING_DATA" - Database resource security health signal data
  2482  	//   "RECOMMENDATION_SIGNAL_DATA" - Database resource recommendation signal
  2483  	// data
  2484  	FeedType string `json:"feedType,omitempty"`
  2485  	// RecommendationSignalData: More feed data would be added in subsequent CLs
  2486  	RecommendationSignalData *StorageDatabasecenterPartnerapiV1mainDatabaseResourceRecommendationSignalData `json:"recommendationSignalData,omitempty"`
  2487  	ResourceHealthSignalData *StorageDatabasecenterPartnerapiV1mainDatabaseResourceHealthSignalData         `json:"resourceHealthSignalData,omitempty"`
  2488  	// ResourceId: Primary key associated with the Resource. resource_id is
  2489  	// available in individual feed level as well.
  2490  	ResourceId       *StorageDatabasecenterPartnerapiV1mainDatabaseResourceId       `json:"resourceId,omitempty"`
  2491  	ResourceMetadata *StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata `json:"resourceMetadata,omitempty"`
  2492  	// ForceSendFields is a list of field names (e.g. "FeedTimestamp") to
  2493  	// unconditionally include in API requests. By default, fields with empty or
  2494  	// default values are omitted from API requests. See
  2495  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2496  	// details.
  2497  	ForceSendFields []string `json:"-"`
  2498  	// NullFields is a list of field names (e.g. "FeedTimestamp") to include in API
  2499  	// requests with the JSON null value. By default, fields with empty values are
  2500  	// omitted from API requests. See
  2501  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2502  	NullFields []string `json:"-"`
  2503  }
  2504  
  2505  func (s *StorageDatabasecenterPartnerapiV1mainDatabaseResourceFeed) MarshalJSON() ([]byte, error) {
  2506  	type NoMethod StorageDatabasecenterPartnerapiV1mainDatabaseResourceFeed
  2507  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2508  }
  2509  
  2510  // StorageDatabasecenterPartnerapiV1mainDatabaseResourceHealthSignalData:
  2511  // Common model for database resource health signal data.
  2512  type StorageDatabasecenterPartnerapiV1mainDatabaseResourceHealthSignalData struct {
  2513  	// AdditionalMetadata: Any other additional metadata
  2514  	AdditionalMetadata googleapi.RawMessage `json:"additionalMetadata,omitempty"`
  2515  	// Compliance: Industry standards associated with this signal; if this signal
  2516  	// is an issue, that could be a violation of the associated industry
  2517  	// standard(s). For example, AUTO_BACKUP_DISABLED signal is associated with CIS
  2518  	// GCP 1.1, CIS GCP 1.2, CIS GCP 1.3, NIST 800-53 and ISO-27001 compliance
  2519  	// standards. If a database resource does not have automated backup enable, it
  2520  	// will violate these following industry standards.
  2521  	Compliance []*StorageDatabasecenterPartnerapiV1mainCompliance `json:"compliance,omitempty"`
  2522  	// Description: Description associated with signal
  2523  	Description string `json:"description,omitempty"`
  2524  	// EventTime: Required. The last time at which the event described by this
  2525  	// signal took place
  2526  	EventTime string `json:"eventTime,omitempty"`
  2527  	// ExternalUri: The external-uri of the signal, using which more information
  2528  	// about this signal can be obtained. In GCP, this will take user to SCC page
  2529  	// to get more details about signals.
  2530  	ExternalUri string `json:"externalUri,omitempty"`
  2531  	// Name: Required. The name of the signal, ex: PUBLIC_SQL_INSTANCE,
  2532  	// SQL_LOG_ERROR_VERBOSITY etc.
  2533  	Name string `json:"name,omitempty"`
  2534  	// Provider: Cloud provider name. Ex: GCP/AWS/Azure/OnPrem/SelfManaged
  2535  	//
  2536  	// Possible values:
  2537  	//   "PROVIDER_UNSPECIFIED"
  2538  	//   "GCP" - Google cloud platform provider
  2539  	//   "AWS" - Amazon web service
  2540  	//   "AZURE" - Azure web service
  2541  	//   "ONPREM" - On-prem database resources.
  2542  	//   "SELFMANAGED" - Self-managed database provider. These are resources on a
  2543  	// cloud platform, e.g., database resource installed in a GCE VM, but not a
  2544  	// managed database service.
  2545  	//   "PROVIDER_OTHER" - For the rest of the other categories. Other refers to
  2546  	// the rest of other database service providers, this could be smaller cloud
  2547  	// provider. This needs to be provided when the provider is known, but it is
  2548  	// not present in the existing set of enum values.
  2549  	Provider string `json:"provider,omitempty"`
  2550  	// ResourceContainer: Closest parent container of this resource. In GCP,
  2551  	// 'container' refers to a Cloud Resource Manager project. It must be resource
  2552  	// name of a Cloud Resource Manager project with the format of "provider//",
  2553  	// such as "projects/123". For GCP provided resources, number should be project
  2554  	// number.
  2555  	ResourceContainer string `json:"resourceContainer,omitempty"`
  2556  	// ResourceName: Required. Database resource name associated with the signal.
  2557  	// Resource name to follow CAIS resource_name format as noted here
  2558  	// go/condor-common-datamodel
  2559  	ResourceName string `json:"resourceName,omitempty"`
  2560  	// SignalClass: Required. The class of the signal, such as if it's a THREAT or
  2561  	// VULNERABILITY.
  2562  	//
  2563  	// Possible values:
  2564  	//   "CLASS_UNSPECIFIED" - Unspecified signal class.
  2565  	//   "THREAT" - Describes unwanted or malicious activity.
  2566  	//   "VULNERABILITY" - Describes a potential weakness in software that
  2567  	// increases risk to Confidentiality & Integrity & Availability.
  2568  	//   "MISCONFIGURATION" - Describes a potential weakness in cloud
  2569  	// resource/asset configuration that increases risk.
  2570  	//   "OBSERVATION" - Describes a security observation that is for informational
  2571  	// purposes.
  2572  	//   "ERROR" - Describes an error that prevents some SCC functionality.
  2573  	SignalClass string `json:"signalClass,omitempty"`
  2574  	// SignalId: Required. Unique identifier for the signal. This is an unique id
  2575  	// which would be mainatined by partner to identify a signal.
  2576  	SignalId string `json:"signalId,omitempty"`
  2577  	// SignalType: Required. Type of signal, for example,
  2578  	// `AVAILABLE_IN_MULTIPLE_ZONES`, `LOGGING_MOST_ERRORS`, etc.
  2579  	//
  2580  	// Possible values:
  2581  	//   "SIGNAL_TYPE_UNSPECIFIED" - Unspecified.
  2582  	//   "SIGNAL_TYPE_NOT_PROTECTED_BY_AUTOMATIC_FAILOVER" - Represents if a
  2583  	// resource is protected by automatic failover. Checks for resources that are
  2584  	// configured to have redundancy within a region that enables automatic
  2585  	// failover.
  2586  	//   "SIGNAL_TYPE_GROUP_NOT_REPLICATING_ACROSS_REGIONS" - Represents if a group
  2587  	// is replicating across regions. Checks for resources that are configured to
  2588  	// have redundancy, and ongoing replication, across regions.
  2589  	//   "SIGNAL_TYPE_NOT_AVAILABLE_IN_MULTIPLE_ZONES" - Represents if the resource
  2590  	// is available in multiple zones or not.
  2591  	//   "SIGNAL_TYPE_NOT_AVAILABLE_IN_MULTIPLE_REGIONS" - Represents if a resource
  2592  	// is available in multiple regions.
  2593  	//   "SIGNAL_TYPE_NO_PROMOTABLE_REPLICA" - Represents if a resource has a
  2594  	// promotable replica.
  2595  	//   "SIGNAL_TYPE_NO_AUTOMATED_BACKUP_POLICY" - Represents if a resource has an
  2596  	// automated backup policy.
  2597  	//   "SIGNAL_TYPE_SHORT_BACKUP_RETENTION" - Represents if a resources has a
  2598  	// short backup retention period.
  2599  	//   "SIGNAL_TYPE_LAST_BACKUP_FAILED" - Represents if the last backup of a
  2600  	// resource failed.
  2601  	//   "SIGNAL_TYPE_LAST_BACKUP_OLD" - Represents if the last backup of a
  2602  	// resource is older than some threshold value.
  2603  	//   "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_2_0" - Represents if a resource
  2604  	// violates CIS GCP Foundation 2.0.
  2605  	//   "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_3" - Represents if a resource
  2606  	// violates CIS GCP Foundation 1.3.
  2607  	//   "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_2" - Represents if a resource
  2608  	// violates CIS GCP Foundation 1.2.
  2609  	//   "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_1" - Represents if a resource
  2610  	// violates CIS GCP Foundation 1.1.
  2611  	//   "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_0" - Represents if a resource
  2612  	// violates CIS GCP Foundation 1.0.
  2613  	//   "SIGNAL_TYPE_VIOLATES_NIST_800_53" - Represents if a resource violates
  2614  	// NIST 800-53.
  2615  	//   "SIGNAL_TYPE_VIOLATES_ISO_27001" - Represents if a resource violates
  2616  	// ISO-27001.
  2617  	//   "SIGNAL_TYPE_VIOLATES_PCI_DSS_V3_2_1" - Represents if a resource violates
  2618  	// PCI-DSS v3.2.1.
  2619  	//   "SIGNAL_TYPE_LOGS_NOT_OPTIMIZED_FOR_TROUBLESHOOTING" - Represents if
  2620  	// log_checkpoints database flag for a Cloud SQL for PostgreSQL instance is not
  2621  	// set to on.
  2622  	//   "SIGNAL_TYPE_QUERY_DURATIONS_NOT_LOGGED" - Represents if the log_duration
  2623  	// database flag for a Cloud SQL for PostgreSQL instance is not set to on.
  2624  	//   "SIGNAL_TYPE_VERBOSE_ERROR_LOGGING" - Represents if the
  2625  	// log_error_verbosity database flag for a Cloud SQL for PostgreSQL instance is
  2626  	// not set to default or stricter (default or terse).
  2627  	//   "SIGNAL_TYPE_QUERY_LOCK_WAITS_NOT_LOGGED" - Represents if the
  2628  	// log_lock_waits database flag for a Cloud SQL for PostgreSQL instance is not
  2629  	// set to on.
  2630  	//   "SIGNAL_TYPE_LOGGING_MOST_ERRORS" - Represents if the
  2631  	// log_min_error_statement database flag for a Cloud SQL for PostgreSQL
  2632  	// instance is not set appropriately.
  2633  	//   "SIGNAL_TYPE_LOGGING_ONLY_CRITICAL_ERRORS" - Represents if the
  2634  	// log_min_error_statement database flag for a Cloud SQL for PostgreSQL
  2635  	// instance does not have an appropriate severity level.
  2636  	//   "SIGNAL_TYPE_MINIMAL_ERROR_LOGGING" - Represents if the log_min_messages
  2637  	// database flag for a Cloud SQL for PostgreSQL instance is not set to warning
  2638  	// or another recommended value.
  2639  	//   "SIGNAL_TYPE_QUERY_STATISTICS_LOGGED" - Represents if the databaseFlags
  2640  	// property of instance metadata for the log_executor_status field is set to
  2641  	// on.
  2642  	//   "SIGNAL_TYPE_EXCESSIVE_LOGGING_OF_CLIENT_HOSTNAME" - Represents if the
  2643  	// log_hostname database flag for a Cloud SQL for PostgreSQL instance is not
  2644  	// set to off.
  2645  	//   "SIGNAL_TYPE_EXCESSIVE_LOGGING_OF_PARSER_STATISTICS" - Represents if the
  2646  	// log_parser_stats database flag for a Cloud SQL for PostgreSQL instance is
  2647  	// not set to off.
  2648  	//   "SIGNAL_TYPE_EXCESSIVE_LOGGING_OF_PLANNER_STATISTICS" - Represents if the
  2649  	// log_planner_stats database flag for a Cloud SQL for PostgreSQL instance is
  2650  	// not set to off.
  2651  	//   "SIGNAL_TYPE_NOT_LOGGING_ONLY_DDL_STATEMENTS" - Represents if the
  2652  	// log_statement database flag for a Cloud SQL for PostgreSQL instance is not
  2653  	// set to DDL (all data definition statements).
  2654  	//   "SIGNAL_TYPE_LOGGING_QUERY_STATISTICS" - Represents if the
  2655  	// log_statement_stats database flag for a Cloud SQL for PostgreSQL instance is
  2656  	// not set to off.
  2657  	//   "SIGNAL_TYPE_NOT_LOGGING_TEMPORARY_FILES" - Represents if the
  2658  	// log_temp_files database flag for a Cloud SQL for PostgreSQL instance is not
  2659  	// set to "0". (NOTE: 0 = ON)
  2660  	//   "SIGNAL_TYPE_CONNECTION_MAX_NOT_CONFIGURED" - Represents if the user
  2661  	// connections database flag for a Cloud SQL for SQL Server instance is
  2662  	// configured.
  2663  	//   "SIGNAL_TYPE_USER_OPTIONS_CONFIGURED" - Represents if the user options
  2664  	// database flag for Cloud SQL SQL Server instance is configured or not.
  2665  	//   "SIGNAL_TYPE_EXPOSED_TO_PUBLIC_ACCESS" - Represents if a resource is
  2666  	// exposed to public access.
  2667  	//   "SIGNAL_TYPE_UNENCRYPTED_CONNECTIONS" - Represents if a resources requires
  2668  	// all incoming connections to use SSL or not.
  2669  	//   "SIGNAL_TYPE_NO_ROOT_PASSWORD" - Represents if a Cloud SQL database has a
  2670  	// password configured for the root account or not.
  2671  	//   "SIGNAL_TYPE_WEAK_ROOT_PASSWORD" - Represents if a Cloud SQL database has
  2672  	// a weak password configured for the root account.
  2673  	//   "SIGNAL_TYPE_ENCRYPTION_KEY_NOT_CUSTOMER_MANAGED" - Represents if a SQL
  2674  	// database instance is not encrypted with customer-managed encryption keys
  2675  	// (CMEK).
  2676  	//   "SIGNAL_TYPE_SERVER_AUTHENTICATION_NOT_REQUIRED" - Represents if The
  2677  	// contained database authentication database flag for a Cloud SQL for SQL
  2678  	// Server instance is not set to off.
  2679  	//   "SIGNAL_TYPE_EXPOSED_BY_OWNERSHIP_CHAINING" - Represents if the
  2680  	// cross_db_ownership_chaining database flag for a Cloud SQL for SQL Server
  2681  	// instance is not set to off.
  2682  	//   "SIGNAL_TYPE_EXPOSED_TO_EXTERNAL_SCRIPTS" - Represents if he external
  2683  	// scripts enabled database flag for a Cloud SQL for SQL Server instance is not
  2684  	// set to off.
  2685  	//   "SIGNAL_TYPE_EXPOSED_TO_LOCAL_DATA_LOADS" - Represents if the local_infile
  2686  	// database flag for a Cloud SQL for MySQL instance is not set to off.
  2687  	//   "SIGNAL_TYPE_CONNECTION_ATTEMPTS_NOT_LOGGED" - Represents if the
  2688  	// log_connections database flag for a Cloud SQL for PostgreSQL instance is not
  2689  	// set to on.
  2690  	//   "SIGNAL_TYPE_DISCONNECTIONS_NOT_LOGGED" - Represents if the
  2691  	// log_disconnections database flag for a Cloud SQL for PostgreSQL instance is
  2692  	// not set to on.
  2693  	//   "SIGNAL_TYPE_LOGGING_EXCESSIVE_STATEMENT_INFO" - Represents if the
  2694  	// log_min_duration_statement database flag for a Cloud SQL for PostgreSQL
  2695  	// instance is not set to -1.
  2696  	//   "SIGNAL_TYPE_EXPOSED_TO_REMOTE_ACCESS" - Represents if the remote access
  2697  	// database flag for a Cloud SQL for SQL Server instance is not set to off.
  2698  	//   "SIGNAL_TYPE_DATABASE_NAMES_EXPOSED" - Represents if the
  2699  	// skip_show_database database flag for a Cloud SQL for MySQL instance is not
  2700  	// set to on.
  2701  	//   "SIGNAL_TYPE_SENSITIVE_TRACE_INFO_NOT_MASKED" - Represents if the 3625
  2702  	// (trace flag) database flag for a Cloud SQL for SQL Server instance is not
  2703  	// set to on.
  2704  	//   "SIGNAL_TYPE_PUBLIC_IP_ENABLED" - Represents if public IP is enabled.
  2705  	//   "SIGNAL_TYPE_IDLE" - Represents Idle instance helps to reduce costs.
  2706  	//   "SIGNAL_TYPE_OVERPROVISIONED" - Represents instances that are
  2707  	// unnecessarily large for given workload.
  2708  	//   "SIGNAL_TYPE_HIGH_NUMBER_OF_OPEN_TABLES" - Represents high number of
  2709  	// concurrently opened tables.
  2710  	//   "SIGNAL_TYPE_HIGH_NUMBER_OF_TABLES" - Represents high table count close to
  2711  	// SLA limit.
  2712  	//   "SIGNAL_TYPE_HIGH_TRANSACTION_ID_UTILIZATION" - Represents high number of
  2713  	// unvacuumed transactions
  2714  	//   "SIGNAL_TYPE_UNDERPROVISIONED" - Represents need for more CPU and/or
  2715  	// memory
  2716  	//   "SIGNAL_TYPE_OUT_OF_DISK" - Represents out of disk.
  2717  	//   "SIGNAL_TYPE_SERVER_CERTIFICATE_NEAR_EXPIRY" - Represents server
  2718  	// certificate is near expiry.
  2719  	//   "SIGNAL_TYPE_DATABASE_AUDITING_DISABLED" - Represents database auditing is
  2720  	// disabled.
  2721  	//   "SIGNAL_TYPE_RESTRICT_AUTHORIZED_NETWORKS" - Represents not restricted to
  2722  	// authorized networks.
  2723  	//   "SIGNAL_TYPE_VIOLATE_POLICY_RESTRICT_PUBLIC_IP" - Represents violate org
  2724  	// policy restrict public ip.
  2725  	//   "SIGNAL_TYPE_QUOTA_LIMIT" - Cluster nearing quota limit
  2726  	//   "SIGNAL_TYPE_NO_PASSWORD_POLICY" - No password policy set on resources
  2727  	//   "SIGNAL_TYPE_CONNECTIONS_PERFORMANCE_IMPACT" - Performance impact of
  2728  	// connections settings
  2729  	//   "SIGNAL_TYPE_TMP_TABLES_PERFORMANCE_IMPACT" - Performance impact of
  2730  	// temporary tables settings
  2731  	//   "SIGNAL_TYPE_TRANS_LOGS_PERFORMANCE_IMPACT" - Performance impact of
  2732  	// transaction logs settings
  2733  	//   "SIGNAL_TYPE_HIGH_JOINS_WITHOUT_INDEXES" - Performance impact of high
  2734  	// joins without indexes
  2735  	SignalType string `json:"signalType,omitempty"`
  2736  	// Possible values:
  2737  	//   "STATE_UNSPECIFIED" - Unspecified state.
  2738  	//   "ACTIVE" - The signal requires attention and has not been addressed yet.
  2739  	//   "RESOLVED" - The signal has been fixed, triaged as a non-issue or
  2740  	// otherwise addressed and is no longer active.
  2741  	//   "MUTED" - The signal has been muted.
  2742  	State string `json:"state,omitempty"`
  2743  	// ForceSendFields is a list of field names (e.g. "AdditionalMetadata") to
  2744  	// unconditionally include in API requests. By default, fields with empty or
  2745  	// default values are omitted from API requests. See
  2746  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2747  	// details.
  2748  	ForceSendFields []string `json:"-"`
  2749  	// NullFields is a list of field names (e.g. "AdditionalMetadata") to include
  2750  	// in API requests with the JSON null value. By default, fields with empty
  2751  	// values are omitted from API requests. See
  2752  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2753  	NullFields []string `json:"-"`
  2754  }
  2755  
  2756  func (s *StorageDatabasecenterPartnerapiV1mainDatabaseResourceHealthSignalData) MarshalJSON() ([]byte, error) {
  2757  	type NoMethod StorageDatabasecenterPartnerapiV1mainDatabaseResourceHealthSignalData
  2758  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2759  }
  2760  
  2761  // StorageDatabasecenterPartnerapiV1mainDatabaseResourceId: DatabaseResourceId
  2762  // will serve as primary key for any resource ingestion event.
  2763  type StorageDatabasecenterPartnerapiV1mainDatabaseResourceId struct {
  2764  	// Provider: Required. Cloud provider name. Ex:
  2765  	// GCP/AWS/Azure/OnPrem/SelfManaged
  2766  	//
  2767  	// Possible values:
  2768  	//   "PROVIDER_UNSPECIFIED"
  2769  	//   "GCP" - Google cloud platform provider
  2770  	//   "AWS" - Amazon web service
  2771  	//   "AZURE" - Azure web service
  2772  	//   "ONPREM" - On-prem database resources.
  2773  	//   "SELFMANAGED" - Self-managed database provider. These are resources on a
  2774  	// cloud platform, e.g., database resource installed in a GCE VM, but not a
  2775  	// managed database service.
  2776  	//   "PROVIDER_OTHER" - For the rest of the other categories. Other refers to
  2777  	// the rest of other database service providers, this could be smaller cloud
  2778  	// provider. This needs to be provided when the provider is known, but it is
  2779  	// not present in the existing set of enum values.
  2780  	Provider string `json:"provider,omitempty"`
  2781  	// ProviderDescription: Optional. Needs to be used only when the provider is
  2782  	// PROVIDER_OTHER.
  2783  	ProviderDescription string `json:"providerDescription,omitempty"`
  2784  	// ResourceType: Required. The type of resource this ID is identifying. Ex
  2785  	// redis.googleapis.com/Instance, redis.googleapis.com/Cluster,
  2786  	// alloydb.googleapis.com/Cluster, alloydb.googleapis.com/Instance,
  2787  	// spanner.googleapis.com/Instance REQUIRED Please refer
  2788  	// go/condor-common-datamodel
  2789  	ResourceType string `json:"resourceType,omitempty"`
  2790  	// UniqueId: Required. A service-local token that distinguishes this resource
  2791  	// from other resources within the same service.
  2792  	UniqueId string `json:"uniqueId,omitempty"`
  2793  	// ForceSendFields is a list of field names (e.g. "Provider") to
  2794  	// unconditionally include in API requests. By default, fields with empty or
  2795  	// default values are omitted from API requests. See
  2796  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2797  	// details.
  2798  	ForceSendFields []string `json:"-"`
  2799  	// NullFields is a list of field names (e.g. "Provider") to include in API
  2800  	// requests with the JSON null value. By default, fields with empty values are
  2801  	// omitted from API requests. See
  2802  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2803  	NullFields []string `json:"-"`
  2804  }
  2805  
  2806  func (s *StorageDatabasecenterPartnerapiV1mainDatabaseResourceId) MarshalJSON() ([]byte, error) {
  2807  	type NoMethod StorageDatabasecenterPartnerapiV1mainDatabaseResourceId
  2808  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2809  }
  2810  
  2811  // StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata: Common model
  2812  // for database resource instance metadata.
  2813  type StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata struct {
  2814  	// AvailabilityConfiguration: Availability configuration for this instance
  2815  	AvailabilityConfiguration *StorageDatabasecenterPartnerapiV1mainAvailabilityConfiguration `json:"availabilityConfiguration,omitempty"`
  2816  	// BackupConfiguration: Backup configuration for this instance
  2817  	BackupConfiguration *StorageDatabasecenterPartnerapiV1mainBackupConfiguration `json:"backupConfiguration,omitempty"`
  2818  	// BackupRun: Latest backup run information for this instance
  2819  	BackupRun *StorageDatabasecenterPartnerapiV1mainBackupRun `json:"backupRun,omitempty"`
  2820  	// CreationTime: The creation time of the resource, i.e. the time when resource
  2821  	// is created and recorded in partner service.
  2822  	CreationTime string `json:"creationTime,omitempty"`
  2823  	// CurrentState: Current state of the instance.
  2824  	//
  2825  	// Possible values:
  2826  	//   "STATE_UNSPECIFIED"
  2827  	//   "HEALTHY" - The instance is running.
  2828  	//   "UNHEALTHY" - Instance being created, updated, deleted or under
  2829  	// maintenance
  2830  	//   "SUSPENDED" - When instance is suspended
  2831  	//   "DELETED" - Instance is deleted.
  2832  	//   "STATE_OTHER" - For rest of the other category
  2833  	CurrentState string `json:"currentState,omitempty"`
  2834  	// CustomMetadata: Any custom metadata associated with the resource
  2835  	CustomMetadata *StorageDatabasecenterPartnerapiV1mainCustomMetadataData `json:"customMetadata,omitempty"`
  2836  	// Entitlements: Entitlements associated with the resource
  2837  	Entitlements []*StorageDatabasecenterPartnerapiV1mainEntitlement `json:"entitlements,omitempty"`
  2838  	// ExpectedState: The state that the instance is expected to be in. For
  2839  	// example, an instance state can transition to UNHEALTHY due to wrong patch
  2840  	// update, while the expected state will remain at the HEALTHY.
  2841  	//
  2842  	// Possible values:
  2843  	//   "STATE_UNSPECIFIED"
  2844  	//   "HEALTHY" - The instance is running.
  2845  	//   "UNHEALTHY" - Instance being created, updated, deleted or under
  2846  	// maintenance
  2847  	//   "SUSPENDED" - When instance is suspended
  2848  	//   "DELETED" - Instance is deleted.
  2849  	//   "STATE_OTHER" - For rest of the other category
  2850  	ExpectedState string `json:"expectedState,omitempty"`
  2851  	// Id: Required. Unique identifier for a Database resource
  2852  	Id *StorageDatabasecenterPartnerapiV1mainDatabaseResourceId `json:"id,omitempty"`
  2853  	// InstanceType: The type of the instance. Specified at creation time.
  2854  	//
  2855  	// Possible values:
  2856  	//   "INSTANCE_TYPE_UNSPECIFIED"
  2857  	//   "SUB_RESOURCE_TYPE_UNSPECIFIED" - For rest of the other categories.
  2858  	//   "PRIMARY" - A regular primary database instance.
  2859  	//   "SECONDARY" - A cluster or an instance acting as a secondary.
  2860  	//   "READ_REPLICA" - An instance acting as a read-replica.
  2861  	//   "OTHER" - For rest of the other categories.
  2862  	//   "SUB_RESOURCE_TYPE_PRIMARY" - A regular primary database instance.
  2863  	//   "SUB_RESOURCE_TYPE_SECONDARY" - A cluster or an instance acting as a
  2864  	// secondary.
  2865  	//   "SUB_RESOURCE_TYPE_READ_REPLICA" - An instance acting as a read-replica.
  2866  	//   "SUB_RESOURCE_TYPE_OTHER" - For rest of the other categories.
  2867  	InstanceType string `json:"instanceType,omitempty"`
  2868  	// Location: The resource location. REQUIRED
  2869  	Location string `json:"location,omitempty"`
  2870  	// PrimaryResourceId: Identifier for this resource's immediate parent/primary
  2871  	// resource if the current resource is a replica or derived form of another
  2872  	// Database resource. Else it would be NULL. REQUIRED if the immediate parent
  2873  	// exists when first time resource is getting ingested, otherwise optional.
  2874  	PrimaryResourceId *StorageDatabasecenterPartnerapiV1mainDatabaseResourceId `json:"primaryResourceId,omitempty"`
  2875  	// Product: The product this resource represents.
  2876  	Product *StorageDatabasecenterProtoCommonProduct `json:"product,omitempty"`
  2877  	// ResourceContainer: Closest parent Cloud Resource Manager container of this
  2878  	// resource. It must be resource name of a Cloud Resource Manager project with
  2879  	// the format of "/", such as "projects/123". For GCP provided resources,
  2880  	// number should be project number.
  2881  	ResourceContainer string `json:"resourceContainer,omitempty"`
  2882  	// ResourceName: Required. Different from DatabaseResourceId.unique_id, a
  2883  	// resource name can be reused over time. That is, after a resource named "ABC"
  2884  	// is deleted, the name "ABC" can be used to to create a new resource within
  2885  	// the same source. Resource name to follow CAIS resource_name format as noted
  2886  	// here go/condor-common-datamodel
  2887  	ResourceName string `json:"resourceName,omitempty"`
  2888  	// UpdationTime: The time at which the resource was updated and recorded at
  2889  	// partner service.
  2890  	UpdationTime string `json:"updationTime,omitempty"`
  2891  	// UserLabelSet: User-provided labels associated with the resource
  2892  	UserLabelSet *StorageDatabasecenterPartnerapiV1mainUserLabels `json:"userLabelSet,omitempty"`
  2893  	// UserLabels: User-provided labels, represented as a dictionary where each
  2894  	// label is a single key value pair.
  2895  	UserLabels map[string]string `json:"userLabels,omitempty"`
  2896  	// ForceSendFields is a list of field names (e.g. "AvailabilityConfiguration")
  2897  	// to unconditionally include in API requests. By default, fields with empty or
  2898  	// default values are omitted from API requests. See
  2899  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2900  	// details.
  2901  	ForceSendFields []string `json:"-"`
  2902  	// NullFields is a list of field names (e.g. "AvailabilityConfiguration") to
  2903  	// include in API requests with the JSON null value. By default, fields with
  2904  	// empty values are omitted from API requests. See
  2905  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2906  	NullFields []string `json:"-"`
  2907  }
  2908  
  2909  func (s *StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata) MarshalJSON() ([]byte, error) {
  2910  	type NoMethod StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata
  2911  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2912  }
  2913  
  2914  // StorageDatabasecenterPartnerapiV1mainDatabaseResourceRecommendationSignalData
  2915  // : Common model for database resource recommendation signal data.
  2916  type StorageDatabasecenterPartnerapiV1mainDatabaseResourceRecommendationSignalData struct {
  2917  	// AdditionalMetadata: Optional. Any other additional metadata specific to
  2918  	// recommendation
  2919  	AdditionalMetadata googleapi.RawMessage `json:"additionalMetadata,omitempty"`
  2920  	// LastRefreshTime: Required. last time recommendationw as refreshed
  2921  	LastRefreshTime string `json:"lastRefreshTime,omitempty"`
  2922  	// RecommendationState: Required. Recommendation state
  2923  	//
  2924  	// Possible values:
  2925  	//   "UNSPECIFIED"
  2926  	//   "ACTIVE" - Recommendation is active and can be applied. ACTIVE
  2927  	// recommendations can be marked as CLAIMED, SUCCEEDED, or FAILED.
  2928  	//   "CLAIMED" - Recommendation is in claimed state. Recommendations content is
  2929  	// immutable and cannot be updated by Google. CLAIMED recommendations can be
  2930  	// marked as CLAIMED, SUCCEEDED, or FAILED.
  2931  	//   "SUCCEEDED" - Recommendation is in succeeded state. Recommendations
  2932  	// content is immutable and cannot be updated by Google. SUCCEEDED
  2933  	// recommendations can be marked as SUCCEEDED, or FAILED.
  2934  	//   "FAILED" - Recommendation is in failed state. Recommendations content is
  2935  	// immutable and cannot be updated by Google. FAILED recommendations can be
  2936  	// marked as SUCCEEDED, or FAILED.
  2937  	//   "DISMISSED" - Recommendation is in dismissed state. Recommendation content
  2938  	// can be updated by Google. DISMISSED recommendations can be marked as ACTIVE.
  2939  	RecommendationState string `json:"recommendationState,omitempty"`
  2940  	// Recommender: Required. Name of recommendation. Examples:
  2941  	// organizations/1234/locations/us-central1/recommenders/google.cloudsql.instanc
  2942  	// e.PerformanceRecommender/recommendations/9876
  2943  	Recommender string `json:"recommender,omitempty"`
  2944  	// RecommenderId: Required. ID of recommender. Examples:
  2945  	// "google.cloudsql.instance.PerformanceRecommender"
  2946  	RecommenderId string `json:"recommenderId,omitempty"`
  2947  	// RecommenderSubtype: Required. Contains an identifier for a subtype of
  2948  	// recommendations produced for the same recommender. Subtype is a function of
  2949  	// content and impact, meaning a new subtype might be added when significant
  2950  	// changes to `content` or `primary_impact.category` are introduced. See the
  2951  	// Recommenders section to see a list of subtypes for a given Recommender.
  2952  	// Examples: For recommender =
  2953  	// "google.cloudsql.instance.PerformanceRecommender", recommender_subtype can
  2954  	// be
  2955  	// "MYSQL_HIGH_NUMBER_OF_OPEN_TABLES_BEST_PRACTICE"/"POSTGRES_HIGH_TRANSACTION_I
  2956  	// D_UTILIZATION_BEST_PRACTICE"
  2957  	RecommenderSubtype string `json:"recommenderSubtype,omitempty"`
  2958  	// ResourceName: Required. Database resource name associated with the signal.
  2959  	// Resource name to follow CAIS resource_name format as noted here
  2960  	// go/condor-common-datamodel
  2961  	ResourceName string `json:"resourceName,omitempty"`
  2962  	// SignalType: Required. Type of signal, for example, `SIGNAL_TYPE_IDLE`,
  2963  	// `SIGNAL_TYPE_HIGH_NUMBER_OF_TABLES`, etc.
  2964  	//
  2965  	// Possible values:
  2966  	//   "SIGNAL_TYPE_UNSPECIFIED" - Unspecified.
  2967  	//   "SIGNAL_TYPE_NOT_PROTECTED_BY_AUTOMATIC_FAILOVER" - Represents if a
  2968  	// resource is protected by automatic failover. Checks for resources that are
  2969  	// configured to have redundancy within a region that enables automatic
  2970  	// failover.
  2971  	//   "SIGNAL_TYPE_GROUP_NOT_REPLICATING_ACROSS_REGIONS" - Represents if a group
  2972  	// is replicating across regions. Checks for resources that are configured to
  2973  	// have redundancy, and ongoing replication, across regions.
  2974  	//   "SIGNAL_TYPE_NOT_AVAILABLE_IN_MULTIPLE_ZONES" - Represents if the resource
  2975  	// is available in multiple zones or not.
  2976  	//   "SIGNAL_TYPE_NOT_AVAILABLE_IN_MULTIPLE_REGIONS" - Represents if a resource
  2977  	// is available in multiple regions.
  2978  	//   "SIGNAL_TYPE_NO_PROMOTABLE_REPLICA" - Represents if a resource has a
  2979  	// promotable replica.
  2980  	//   "SIGNAL_TYPE_NO_AUTOMATED_BACKUP_POLICY" - Represents if a resource has an
  2981  	// automated backup policy.
  2982  	//   "SIGNAL_TYPE_SHORT_BACKUP_RETENTION" - Represents if a resources has a
  2983  	// short backup retention period.
  2984  	//   "SIGNAL_TYPE_LAST_BACKUP_FAILED" - Represents if the last backup of a
  2985  	// resource failed.
  2986  	//   "SIGNAL_TYPE_LAST_BACKUP_OLD" - Represents if the last backup of a
  2987  	// resource is older than some threshold value.
  2988  	//   "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_2_0" - Represents if a resource
  2989  	// violates CIS GCP Foundation 2.0.
  2990  	//   "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_3" - Represents if a resource
  2991  	// violates CIS GCP Foundation 1.3.
  2992  	//   "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_2" - Represents if a resource
  2993  	// violates CIS GCP Foundation 1.2.
  2994  	//   "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_1" - Represents if a resource
  2995  	// violates CIS GCP Foundation 1.1.
  2996  	//   "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_0" - Represents if a resource
  2997  	// violates CIS GCP Foundation 1.0.
  2998  	//   "SIGNAL_TYPE_VIOLATES_NIST_800_53" - Represents if a resource violates
  2999  	// NIST 800-53.
  3000  	//   "SIGNAL_TYPE_VIOLATES_ISO_27001" - Represents if a resource violates
  3001  	// ISO-27001.
  3002  	//   "SIGNAL_TYPE_VIOLATES_PCI_DSS_V3_2_1" - Represents if a resource violates
  3003  	// PCI-DSS v3.2.1.
  3004  	//   "SIGNAL_TYPE_LOGS_NOT_OPTIMIZED_FOR_TROUBLESHOOTING" - Represents if
  3005  	// log_checkpoints database flag for a Cloud SQL for PostgreSQL instance is not
  3006  	// set to on.
  3007  	//   "SIGNAL_TYPE_QUERY_DURATIONS_NOT_LOGGED" - Represents if the log_duration
  3008  	// database flag for a Cloud SQL for PostgreSQL instance is not set to on.
  3009  	//   "SIGNAL_TYPE_VERBOSE_ERROR_LOGGING" - Represents if the
  3010  	// log_error_verbosity database flag for a Cloud SQL for PostgreSQL instance is
  3011  	// not set to default or stricter (default or terse).
  3012  	//   "SIGNAL_TYPE_QUERY_LOCK_WAITS_NOT_LOGGED" - Represents if the
  3013  	// log_lock_waits database flag for a Cloud SQL for PostgreSQL instance is not
  3014  	// set to on.
  3015  	//   "SIGNAL_TYPE_LOGGING_MOST_ERRORS" - Represents if the
  3016  	// log_min_error_statement database flag for a Cloud SQL for PostgreSQL
  3017  	// instance is not set appropriately.
  3018  	//   "SIGNAL_TYPE_LOGGING_ONLY_CRITICAL_ERRORS" - Represents if the
  3019  	// log_min_error_statement database flag for a Cloud SQL for PostgreSQL
  3020  	// instance does not have an appropriate severity level.
  3021  	//   "SIGNAL_TYPE_MINIMAL_ERROR_LOGGING" - Represents if the log_min_messages
  3022  	// database flag for a Cloud SQL for PostgreSQL instance is not set to warning
  3023  	// or another recommended value.
  3024  	//   "SIGNAL_TYPE_QUERY_STATISTICS_LOGGED" - Represents if the databaseFlags
  3025  	// property of instance metadata for the log_executor_status field is set to
  3026  	// on.
  3027  	//   "SIGNAL_TYPE_EXCESSIVE_LOGGING_OF_CLIENT_HOSTNAME" - Represents if the
  3028  	// log_hostname database flag for a Cloud SQL for PostgreSQL instance is not
  3029  	// set to off.
  3030  	//   "SIGNAL_TYPE_EXCESSIVE_LOGGING_OF_PARSER_STATISTICS" - Represents if the
  3031  	// log_parser_stats database flag for a Cloud SQL for PostgreSQL instance is
  3032  	// not set to off.
  3033  	//   "SIGNAL_TYPE_EXCESSIVE_LOGGING_OF_PLANNER_STATISTICS" - Represents if the
  3034  	// log_planner_stats database flag for a Cloud SQL for PostgreSQL instance is
  3035  	// not set to off.
  3036  	//   "SIGNAL_TYPE_NOT_LOGGING_ONLY_DDL_STATEMENTS" - Represents if the
  3037  	// log_statement database flag for a Cloud SQL for PostgreSQL instance is not
  3038  	// set to DDL (all data definition statements).
  3039  	//   "SIGNAL_TYPE_LOGGING_QUERY_STATISTICS" - Represents if the
  3040  	// log_statement_stats database flag for a Cloud SQL for PostgreSQL instance is
  3041  	// not set to off.
  3042  	//   "SIGNAL_TYPE_NOT_LOGGING_TEMPORARY_FILES" - Represents if the
  3043  	// log_temp_files database flag for a Cloud SQL for PostgreSQL instance is not
  3044  	// set to "0". (NOTE: 0 = ON)
  3045  	//   "SIGNAL_TYPE_CONNECTION_MAX_NOT_CONFIGURED" - Represents if the user
  3046  	// connections database flag for a Cloud SQL for SQL Server instance is
  3047  	// configured.
  3048  	//   "SIGNAL_TYPE_USER_OPTIONS_CONFIGURED" - Represents if the user options
  3049  	// database flag for Cloud SQL SQL Server instance is configured or not.
  3050  	//   "SIGNAL_TYPE_EXPOSED_TO_PUBLIC_ACCESS" - Represents if a resource is
  3051  	// exposed to public access.
  3052  	//   "SIGNAL_TYPE_UNENCRYPTED_CONNECTIONS" - Represents if a resources requires
  3053  	// all incoming connections to use SSL or not.
  3054  	//   "SIGNAL_TYPE_NO_ROOT_PASSWORD" - Represents if a Cloud SQL database has a
  3055  	// password configured for the root account or not.
  3056  	//   "SIGNAL_TYPE_WEAK_ROOT_PASSWORD" - Represents if a Cloud SQL database has
  3057  	// a weak password configured for the root account.
  3058  	//   "SIGNAL_TYPE_ENCRYPTION_KEY_NOT_CUSTOMER_MANAGED" - Represents if a SQL
  3059  	// database instance is not encrypted with customer-managed encryption keys
  3060  	// (CMEK).
  3061  	//   "SIGNAL_TYPE_SERVER_AUTHENTICATION_NOT_REQUIRED" - Represents if The
  3062  	// contained database authentication database flag for a Cloud SQL for SQL
  3063  	// Server instance is not set to off.
  3064  	//   "SIGNAL_TYPE_EXPOSED_BY_OWNERSHIP_CHAINING" - Represents if the
  3065  	// cross_db_ownership_chaining database flag for a Cloud SQL for SQL Server
  3066  	// instance is not set to off.
  3067  	//   "SIGNAL_TYPE_EXPOSED_TO_EXTERNAL_SCRIPTS" - Represents if he external
  3068  	// scripts enabled database flag for a Cloud SQL for SQL Server instance is not
  3069  	// set to off.
  3070  	//   "SIGNAL_TYPE_EXPOSED_TO_LOCAL_DATA_LOADS" - Represents if the local_infile
  3071  	// database flag for a Cloud SQL for MySQL instance is not set to off.
  3072  	//   "SIGNAL_TYPE_CONNECTION_ATTEMPTS_NOT_LOGGED" - Represents if the
  3073  	// log_connections database flag for a Cloud SQL for PostgreSQL instance is not
  3074  	// set to on.
  3075  	//   "SIGNAL_TYPE_DISCONNECTIONS_NOT_LOGGED" - Represents if the
  3076  	// log_disconnections database flag for a Cloud SQL for PostgreSQL instance is
  3077  	// not set to on.
  3078  	//   "SIGNAL_TYPE_LOGGING_EXCESSIVE_STATEMENT_INFO" - Represents if the
  3079  	// log_min_duration_statement database flag for a Cloud SQL for PostgreSQL
  3080  	// instance is not set to -1.
  3081  	//   "SIGNAL_TYPE_EXPOSED_TO_REMOTE_ACCESS" - Represents if the remote access
  3082  	// database flag for a Cloud SQL for SQL Server instance is not set to off.
  3083  	//   "SIGNAL_TYPE_DATABASE_NAMES_EXPOSED" - Represents if the
  3084  	// skip_show_database database flag for a Cloud SQL for MySQL instance is not
  3085  	// set to on.
  3086  	//   "SIGNAL_TYPE_SENSITIVE_TRACE_INFO_NOT_MASKED" - Represents if the 3625
  3087  	// (trace flag) database flag for a Cloud SQL for SQL Server instance is not
  3088  	// set to on.
  3089  	//   "SIGNAL_TYPE_PUBLIC_IP_ENABLED" - Represents if public IP is enabled.
  3090  	//   "SIGNAL_TYPE_IDLE" - Represents Idle instance helps to reduce costs.
  3091  	//   "SIGNAL_TYPE_OVERPROVISIONED" - Represents instances that are
  3092  	// unnecessarily large for given workload.
  3093  	//   "SIGNAL_TYPE_HIGH_NUMBER_OF_OPEN_TABLES" - Represents high number of
  3094  	// concurrently opened tables.
  3095  	//   "SIGNAL_TYPE_HIGH_NUMBER_OF_TABLES" - Represents high table count close to
  3096  	// SLA limit.
  3097  	//   "SIGNAL_TYPE_HIGH_TRANSACTION_ID_UTILIZATION" - Represents high number of
  3098  	// unvacuumed transactions
  3099  	//   "SIGNAL_TYPE_UNDERPROVISIONED" - Represents need for more CPU and/or
  3100  	// memory
  3101  	//   "SIGNAL_TYPE_OUT_OF_DISK" - Represents out of disk.
  3102  	//   "SIGNAL_TYPE_SERVER_CERTIFICATE_NEAR_EXPIRY" - Represents server
  3103  	// certificate is near expiry.
  3104  	//   "SIGNAL_TYPE_DATABASE_AUDITING_DISABLED" - Represents database auditing is
  3105  	// disabled.
  3106  	//   "SIGNAL_TYPE_RESTRICT_AUTHORIZED_NETWORKS" - Represents not restricted to
  3107  	// authorized networks.
  3108  	//   "SIGNAL_TYPE_VIOLATE_POLICY_RESTRICT_PUBLIC_IP" - Represents violate org
  3109  	// policy restrict public ip.
  3110  	//   "SIGNAL_TYPE_QUOTA_LIMIT" - Cluster nearing quota limit
  3111  	//   "SIGNAL_TYPE_NO_PASSWORD_POLICY" - No password policy set on resources
  3112  	//   "SIGNAL_TYPE_CONNECTIONS_PERFORMANCE_IMPACT" - Performance impact of
  3113  	// connections settings
  3114  	//   "SIGNAL_TYPE_TMP_TABLES_PERFORMANCE_IMPACT" - Performance impact of
  3115  	// temporary tables settings
  3116  	//   "SIGNAL_TYPE_TRANS_LOGS_PERFORMANCE_IMPACT" - Performance impact of
  3117  	// transaction logs settings
  3118  	//   "SIGNAL_TYPE_HIGH_JOINS_WITHOUT_INDEXES" - Performance impact of high
  3119  	// joins without indexes
  3120  	SignalType string `json:"signalType,omitempty"`
  3121  	// ForceSendFields is a list of field names (e.g. "AdditionalMetadata") to
  3122  	// unconditionally include in API requests. By default, fields with empty or
  3123  	// default values are omitted from API requests. See
  3124  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3125  	// details.
  3126  	ForceSendFields []string `json:"-"`
  3127  	// NullFields is a list of field names (e.g. "AdditionalMetadata") to include
  3128  	// in API requests with the JSON null value. By default, fields with empty
  3129  	// values are omitted from API requests. See
  3130  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3131  	NullFields []string `json:"-"`
  3132  }
  3133  
  3134  func (s *StorageDatabasecenterPartnerapiV1mainDatabaseResourceRecommendationSignalData) MarshalJSON() ([]byte, error) {
  3135  	type NoMethod StorageDatabasecenterPartnerapiV1mainDatabaseResourceRecommendationSignalData
  3136  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3137  }
  3138  
  3139  // StorageDatabasecenterPartnerapiV1mainEntitlement: Proto representing the
  3140  // access that a user has to a specific feature/service. NextId: 3.
  3141  type StorageDatabasecenterPartnerapiV1mainEntitlement struct {
  3142  	// EntitlementState: The current state of user's accessibility to a
  3143  	// feature/benefit.
  3144  	//
  3145  	// Possible values:
  3146  	//   "ENTITLEMENT_STATE_UNSPECIFIED"
  3147  	//   "ENTITLED" - User is entitled to a feature/benefit, but whether it has
  3148  	// been successfully provisioned is decided by provisioning state.
  3149  	//   "REVOKED" - User is entitled to a feature/benefit, but it was requested to
  3150  	// be revoked. Whether the revoke has been successful is decided by
  3151  	// provisioning state.
  3152  	EntitlementState string `json:"entitlementState,omitempty"`
  3153  	// Type: An enum that represents the type of this entitlement.
  3154  	//
  3155  	// Possible values:
  3156  	//   "ENTITLEMENT_TYPE_UNSPECIFIED"
  3157  	//   "GEMINI" - The root entitlement representing Gemini package ownership.
  3158  	Type string `json:"type,omitempty"`
  3159  	// ForceSendFields is a list of field names (e.g. "EntitlementState") to
  3160  	// unconditionally include in API requests. By default, fields with empty or
  3161  	// default values are omitted from API requests. See
  3162  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3163  	// details.
  3164  	ForceSendFields []string `json:"-"`
  3165  	// NullFields is a list of field names (e.g. "EntitlementState") to include in
  3166  	// API requests with the JSON null value. By default, fields with empty values
  3167  	// are omitted from API requests. See
  3168  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3169  	NullFields []string `json:"-"`
  3170  }
  3171  
  3172  func (s *StorageDatabasecenterPartnerapiV1mainEntitlement) MarshalJSON() ([]byte, error) {
  3173  	type NoMethod StorageDatabasecenterPartnerapiV1mainEntitlement
  3174  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3175  }
  3176  
  3177  // StorageDatabasecenterPartnerapiV1mainOperationError: An error that occurred
  3178  // during a backup creation operation.
  3179  type StorageDatabasecenterPartnerapiV1mainOperationError struct {
  3180  	// Code: Identifies the specific error that occurred. REQUIRED
  3181  	Code string `json:"code,omitempty"`
  3182  	// Possible values:
  3183  	//   "OPERATION_ERROR_TYPE_UNSPECIFIED" - UNSPECIFIED means product type is not
  3184  	// known or available.
  3185  	//   "KMS_KEY_ERROR" - key destroyed, expired, not found, unreachable or
  3186  	// permission denied.
  3187  	//   "DATABASE_ERROR" - Database is not accessible
  3188  	//   "STOCKOUT_ERROR" - The zone or region does not have sufficient resources
  3189  	// to handle the request at the moment
  3190  	//   "CANCELLATION_ERROR" - User initiated cancellation
  3191  	//   "SQLSERVER_ERROR" - SQL server specific error
  3192  	//   "INTERNAL_ERROR" - Any other internal error.
  3193  	ErrorType string `json:"errorType,omitempty"`
  3194  	// Message: Additional information about the error encountered. REQUIRED
  3195  	Message string `json:"message,omitempty"`
  3196  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  3197  	// include in API requests. By default, fields with empty or default values are
  3198  	// omitted from API requests. See
  3199  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3200  	// details.
  3201  	ForceSendFields []string `json:"-"`
  3202  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  3203  	// with the JSON null value. By default, fields with empty values are omitted
  3204  	// from API requests. See
  3205  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3206  	NullFields []string `json:"-"`
  3207  }
  3208  
  3209  func (s *StorageDatabasecenterPartnerapiV1mainOperationError) MarshalJSON() ([]byte, error) {
  3210  	type NoMethod StorageDatabasecenterPartnerapiV1mainOperationError
  3211  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3212  }
  3213  
  3214  type StorageDatabasecenterPartnerapiV1mainRetentionSettings struct {
  3215  	QuantityBasedRetention int64 `json:"quantityBasedRetention,omitempty"`
  3216  	// RetentionUnit: The unit that 'retained_backups' represents.
  3217  	//
  3218  	// Possible values:
  3219  	//   "RETENTION_UNIT_UNSPECIFIED" - Backup retention unit is unspecified, will
  3220  	// be treated as COUNT.
  3221  	//   "COUNT" - Retention will be by count, eg. "retain the most recent 7
  3222  	// backups".
  3223  	//   "TIME" - Retention will be by Time, eg. "retain the last 7 days backups".
  3224  	//   "RETENTION_UNIT_OTHER" - For rest of the other category
  3225  	RetentionUnit      string `json:"retentionUnit,omitempty"`
  3226  	TimeBasedRetention string `json:"timeBasedRetention,omitempty"`
  3227  	// ForceSendFields is a list of field names (e.g. "QuantityBasedRetention") to
  3228  	// unconditionally include in API requests. By default, fields with empty or
  3229  	// default values are omitted from API requests. See
  3230  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3231  	// details.
  3232  	ForceSendFields []string `json:"-"`
  3233  	// NullFields is a list of field names (e.g. "QuantityBasedRetention") to
  3234  	// include in API requests with the JSON null value. By default, fields with
  3235  	// empty values are omitted from API requests. See
  3236  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3237  	NullFields []string `json:"-"`
  3238  }
  3239  
  3240  func (s *StorageDatabasecenterPartnerapiV1mainRetentionSettings) MarshalJSON() ([]byte, error) {
  3241  	type NoMethod StorageDatabasecenterPartnerapiV1mainRetentionSettings
  3242  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3243  }
  3244  
  3245  // StorageDatabasecenterPartnerapiV1mainUserLabels: Message type for storing
  3246  // user labels. User labels are used to tag App Engine resources, allowing
  3247  // users to search for resources matching a set of labels and to aggregate
  3248  // usage data by labels.
  3249  type StorageDatabasecenterPartnerapiV1mainUserLabels struct {
  3250  	Labels map[string]string `json:"labels,omitempty"`
  3251  	// ForceSendFields is a list of field names (e.g. "Labels") to unconditionally
  3252  	// include in API requests. By default, fields with empty or default values are
  3253  	// omitted from API requests. See
  3254  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3255  	// details.
  3256  	ForceSendFields []string `json:"-"`
  3257  	// NullFields is a list of field names (e.g. "Labels") to include in API
  3258  	// requests with the JSON null value. By default, fields with empty values are
  3259  	// omitted from API requests. See
  3260  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3261  	NullFields []string `json:"-"`
  3262  }
  3263  
  3264  func (s *StorageDatabasecenterPartnerapiV1mainUserLabels) MarshalJSON() ([]byte, error) {
  3265  	type NoMethod StorageDatabasecenterPartnerapiV1mainUserLabels
  3266  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3267  }
  3268  
  3269  // StorageDatabasecenterProtoCommonProduct: Product specification for Condor
  3270  // resources.
  3271  type StorageDatabasecenterProtoCommonProduct struct {
  3272  	// Engine: The specific engine that the underlying database is running.
  3273  	//
  3274  	// Possible values:
  3275  	//   "ENGINE_UNSPECIFIED" - UNSPECIFIED means engine type is not known or
  3276  	// available.
  3277  	//   "ENGINE_MYSQL" - MySQL binary running as an engine in the database
  3278  	// instance.
  3279  	//   "MYSQL" - MySQL binary running as engine in database instance.
  3280  	//   "ENGINE_POSTGRES" - Postgres binary running as engine in database
  3281  	// instance.
  3282  	//   "POSTGRES" - Postgres binary running as engine in database instance.
  3283  	//   "ENGINE_SQL_SERVER" - SQLServer binary running as engine in database
  3284  	// instance.
  3285  	//   "SQL_SERVER" - SQLServer binary running as engine in database instance.
  3286  	//   "ENGINE_NATIVE" - Native database binary running as engine in instance.
  3287  	//   "NATIVE" - Native database binary running as engine in instance.
  3288  	//   "ENGINE_CLOUD_SPANNER_WITH_POSTGRES_DIALECT" - Cloud Spanner with
  3289  	// PostgreSQL dialect.
  3290  	//   "ENGINE_CLOUD_SPANNER_WITH_GOOGLESQL_DIALECT" - Cloud Spanner with Google
  3291  	// SQL dialect.
  3292  	//   "ENGINE_MEMORYSTORE_FOR_REDIS" - Memorystore with Redis dialect.
  3293  	//   "ENGINE_MEMORYSTORE_FOR_REDIS_CLUSTER" - Memorystore with Redis cluster
  3294  	// dialect.
  3295  	//   "ENGINE_OTHER" - Other refers to rest of other database engine. This is to
  3296  	// be when engine is known, but it is not present in this enum.
  3297  	Engine string `json:"engine,omitempty"`
  3298  	// Type: Type of specific database product. It could be CloudSQL, AlloyDB etc..
  3299  	//
  3300  	// Possible values:
  3301  	//   "PRODUCT_TYPE_UNSPECIFIED" - UNSPECIFIED means product type is not known
  3302  	// or available.
  3303  	//   "PRODUCT_TYPE_CLOUD_SQL" - Cloud SQL product area in GCP
  3304  	//   "CLOUD_SQL" - Cloud SQL product area in GCP
  3305  	//   "PRODUCT_TYPE_ALLOYDB" - AlloyDB product area in GCP
  3306  	//   "ALLOYDB" - AlloyDB product area in GCP
  3307  	//   "PRODUCT_TYPE_SPANNER" - Spanner product area in GCP
  3308  	//   "PRODUCT_TYPE_ON_PREM" - On premises database product.
  3309  	//   "ON_PREM" - On premises database product.
  3310  	//   "PRODUCT_TYPE_MEMORYSTORE" - Memorystore product area in GCP
  3311  	//   "PRODUCT_TYPE_BIGTABLE" - Bigtable product area in GCP
  3312  	//   "PRODUCT_TYPE_OTHER" - Other refers to rest of other product type. This is
  3313  	// to be when product type is known, but it is not present in this enum.
  3314  	Type string `json:"type,omitempty"`
  3315  	// Version: Version of the underlying database engine. Example values: For
  3316  	// MySQL, it could be "8.0", "5.7" etc.. For Postgres, it could be "14", "15"
  3317  	// etc..
  3318  	Version string `json:"version,omitempty"`
  3319  	// ForceSendFields is a list of field names (e.g. "Engine") to unconditionally
  3320  	// include in API requests. By default, fields with empty or default values are
  3321  	// omitted from API requests. See
  3322  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3323  	// details.
  3324  	ForceSendFields []string `json:"-"`
  3325  	// NullFields is a list of field names (e.g. "Engine") to include in API
  3326  	// requests with the JSON null value. By default, fields with empty values are
  3327  	// omitted from API requests. See
  3328  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3329  	NullFields []string `json:"-"`
  3330  }
  3331  
  3332  func (s *StorageDatabasecenterProtoCommonProduct) MarshalJSON() ([]byte, error) {
  3333  	type NoMethod StorageDatabasecenterProtoCommonProduct
  3334  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3335  }
  3336  
  3337  // StringRestrictions: Restrictions on STRING type values
  3338  type StringRestrictions struct {
  3339  	// AllowedValues: The list of allowed values, if bounded. This field will be
  3340  	// empty if there is a unbounded number of allowed values.
  3341  	AllowedValues []string `json:"allowedValues,omitempty"`
  3342  	// ForceSendFields is a list of field names (e.g. "AllowedValues") to
  3343  	// unconditionally include in API requests. By default, fields with empty or
  3344  	// default values are omitted from API requests. See
  3345  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3346  	// details.
  3347  	ForceSendFields []string `json:"-"`
  3348  	// NullFields is a list of field names (e.g. "AllowedValues") to include in API
  3349  	// requests with the JSON null value. By default, fields with empty values are
  3350  	// omitted from API requests. See
  3351  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3352  	NullFields []string `json:"-"`
  3353  }
  3354  
  3355  func (s *StringRestrictions) MarshalJSON() ([]byte, error) {
  3356  	type NoMethod StringRestrictions
  3357  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3358  }
  3359  
  3360  // SupportedDatabaseFlag: SupportedDatabaseFlag gives general information about
  3361  // a database flag, like type and allowed values. This is a static value that
  3362  // is defined on the server side, and it cannot be modified by callers. To set
  3363  // the Database flags on a particular Instance, a caller should modify the
  3364  // Instance.database_flags field.
  3365  type SupportedDatabaseFlag struct {
  3366  	// AcceptsMultipleValues: Whether the database flag accepts multiple values. If
  3367  	// true, a comma-separated list of stringified values may be specified.
  3368  	AcceptsMultipleValues bool `json:"acceptsMultipleValues,omitempty"`
  3369  	// FlagName: The name of the database flag, e.g. "max_allowed_packets". The is
  3370  	// a possibly key for the Instance.database_flags map field.
  3371  	FlagName string `json:"flagName,omitempty"`
  3372  	// IntegerRestrictions: Restriction on INTEGER type value.
  3373  	IntegerRestrictions *IntegerRestrictions `json:"integerRestrictions,omitempty"`
  3374  	// Name: The name of the flag resource, following Google Cloud conventions,
  3375  	// e.g.: * projects/{project}/locations/{location}/flags/{flag} This field
  3376  	// currently has no semantic meaning.
  3377  	Name string `json:"name,omitempty"`
  3378  	// RequiresDbRestart: Whether setting or updating this flag on an Instance
  3379  	// requires a database restart. If a flag that requires database restart is
  3380  	// set, the backend will automatically restart the database (making sure to
  3381  	// satisfy any availability SLO's).
  3382  	RequiresDbRestart bool `json:"requiresDbRestart,omitempty"`
  3383  	// StringRestrictions: Restriction on STRING type value.
  3384  	StringRestrictions *StringRestrictions `json:"stringRestrictions,omitempty"`
  3385  	// SupportedDbVersions: Major database engine versions for which this flag is
  3386  	// supported.
  3387  	//
  3388  	// Possible values:
  3389  	//   "DATABASE_VERSION_UNSPECIFIED" - This is an unknown database version.
  3390  	//   "POSTGRES_13" - DEPRECATED - The database version is Postgres 13.
  3391  	//   "POSTGRES_14" - The database version is Postgres 14.
  3392  	//   "POSTGRES_15" - The database version is Postgres 15.
  3393  	SupportedDbVersions []string `json:"supportedDbVersions,omitempty"`
  3394  	// Possible values:
  3395  	//   "VALUE_TYPE_UNSPECIFIED" - This is an unknown flag type.
  3396  	//   "STRING" - String type flag.
  3397  	//   "INTEGER" - Integer type flag.
  3398  	//   "FLOAT" - Float type flag.
  3399  	//   "NONE" - Denotes that the flag does not accept any values.
  3400  	ValueType string `json:"valueType,omitempty"`
  3401  	// ForceSendFields is a list of field names (e.g. "AcceptsMultipleValues") to
  3402  	// unconditionally include in API requests. By default, fields with empty or
  3403  	// default values are omitted from API requests. See
  3404  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3405  	// details.
  3406  	ForceSendFields []string `json:"-"`
  3407  	// NullFields is a list of field names (e.g. "AcceptsMultipleValues") to
  3408  	// include in API requests with the JSON null value. By default, fields with
  3409  	// empty values are omitted from API requests. See
  3410  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3411  	NullFields []string `json:"-"`
  3412  }
  3413  
  3414  func (s *SupportedDatabaseFlag) MarshalJSON() ([]byte, error) {
  3415  	type NoMethod SupportedDatabaseFlag
  3416  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3417  }
  3418  
  3419  // TimeBasedRetention: A time based retention policy specifies that all backups
  3420  // within a certain time period should be retained.
  3421  type TimeBasedRetention struct {
  3422  	// RetentionPeriod: The retention period.
  3423  	RetentionPeriod string `json:"retentionPeriod,omitempty"`
  3424  	// ForceSendFields is a list of field names (e.g. "RetentionPeriod") to
  3425  	// unconditionally include in API requests. By default, fields with empty or
  3426  	// default values are omitted from API requests. See
  3427  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3428  	// details.
  3429  	ForceSendFields []string `json:"-"`
  3430  	// NullFields is a list of field names (e.g. "RetentionPeriod") to include in
  3431  	// API requests with the JSON null value. By default, fields with empty values
  3432  	// are omitted from API requests. See
  3433  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3434  	NullFields []string `json:"-"`
  3435  }
  3436  
  3437  func (s *TimeBasedRetention) MarshalJSON() ([]byte, error) {
  3438  	type NoMethod TimeBasedRetention
  3439  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3440  }
  3441  
  3442  // UpdatePolicy: Policy to be used while updating the instance.
  3443  type UpdatePolicy struct {
  3444  	// Mode: Mode for updating the instance.
  3445  	//
  3446  	// Possible values:
  3447  	//   "MODE_UNSPECIFIED" - Mode is unknown.
  3448  	//   "DEFAULT" - Least disruptive way to apply the update.
  3449  	//   "FORCE_APPLY" - Performs a forced update when applicable. This will be
  3450  	// fast but may incur a downtime.
  3451  	Mode string `json:"mode,omitempty"`
  3452  	// ForceSendFields is a list of field names (e.g. "Mode") to unconditionally
  3453  	// include in API requests. By default, fields with empty or default values are
  3454  	// omitted from API requests. See
  3455  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3456  	// details.
  3457  	ForceSendFields []string `json:"-"`
  3458  	// NullFields is a list of field names (e.g. "Mode") to include in API requests
  3459  	// with the JSON null value. By default, fields with empty values are omitted
  3460  	// from API requests. See
  3461  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3462  	NullFields []string `json:"-"`
  3463  }
  3464  
  3465  func (s *UpdatePolicy) MarshalJSON() ([]byte, error) {
  3466  	type NoMethod UpdatePolicy
  3467  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3468  }
  3469  
  3470  // User: Message describing User object.
  3471  type User struct {
  3472  	// DatabaseRoles: Optional. List of database roles this user has. The database
  3473  	// role strings are subject to the PostgreSQL naming conventions.
  3474  	DatabaseRoles []string `json:"databaseRoles,omitempty"`
  3475  	// Name: Output only. Name of the resource in the form of
  3476  	// projects/{project}/locations/{location}/cluster/{cluster}/users/{user}.
  3477  	Name string `json:"name,omitempty"`
  3478  	// Password: Input only. Password for the user.
  3479  	Password string `json:"password,omitempty"`
  3480  	// UserType: Optional. Type of this user.
  3481  	//
  3482  	// Possible values:
  3483  	//   "USER_TYPE_UNSPECIFIED" - Unspecified user type.
  3484  	//   "ALLOYDB_BUILT_IN" - The default user type that authenticates via
  3485  	// password-based authentication.
  3486  	//   "ALLOYDB_IAM_USER" - Database user that can authenticate via IAM-Based
  3487  	// authentication.
  3488  	UserType string `json:"userType,omitempty"`
  3489  
  3490  	// ServerResponse contains the HTTP response code and headers from the server.
  3491  	googleapi.ServerResponse `json:"-"`
  3492  	// ForceSendFields is a list of field names (e.g. "DatabaseRoles") to
  3493  	// unconditionally include in API requests. By default, fields with empty or
  3494  	// default values are omitted from API requests. See
  3495  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3496  	// details.
  3497  	ForceSendFields []string `json:"-"`
  3498  	// NullFields is a list of field names (e.g. "DatabaseRoles") to include in API
  3499  	// requests with the JSON null value. By default, fields with empty values are
  3500  	// omitted from API requests. See
  3501  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3502  	NullFields []string `json:"-"`
  3503  }
  3504  
  3505  func (s *User) MarshalJSON() ([]byte, error) {
  3506  	type NoMethod User
  3507  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3508  }
  3509  
  3510  // UserPassword: The username/password for a database user. Used for specifying
  3511  // initial users at cluster creation time.
  3512  type UserPassword struct {
  3513  	// Password: The initial password for the user.
  3514  	Password string `json:"password,omitempty"`
  3515  	// User: The database username.
  3516  	User string `json:"user,omitempty"`
  3517  	// ForceSendFields is a list of field names (e.g. "Password") to
  3518  	// unconditionally include in API requests. By default, fields with empty or
  3519  	// default values are omitted from API requests. See
  3520  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3521  	// details.
  3522  	ForceSendFields []string `json:"-"`
  3523  	// NullFields is a list of field names (e.g. "Password") to include in API
  3524  	// requests with the JSON null value. By default, fields with empty values are
  3525  	// omitted from API requests. See
  3526  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3527  	NullFields []string `json:"-"`
  3528  }
  3529  
  3530  func (s *UserPassword) MarshalJSON() ([]byte, error) {
  3531  	type NoMethod UserPassword
  3532  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3533  }
  3534  
  3535  // WeeklySchedule: A weekly schedule starts a backup at prescribed start times
  3536  // within a day, for the specified days of the week. The weekly schedule
  3537  // message is flexible and can be used to create many types of schedules. For
  3538  // example, to have a daily backup that starts at 22:00, configure the
  3539  // `start_times` field to have one element "22:00" and the `days_of_week` field
  3540  // to have all seven days of the week.
  3541  type WeeklySchedule struct {
  3542  	// DaysOfWeek: The days of the week to perform a backup. If this field is left
  3543  	// empty, the default of every day of the week is used.
  3544  	//
  3545  	// Possible values:
  3546  	//   "DAY_OF_WEEK_UNSPECIFIED" - The day of the week is unspecified.
  3547  	//   "MONDAY" - Monday
  3548  	//   "TUESDAY" - Tuesday
  3549  	//   "WEDNESDAY" - Wednesday
  3550  	//   "THURSDAY" - Thursday
  3551  	//   "FRIDAY" - Friday
  3552  	//   "SATURDAY" - Saturday
  3553  	//   "SUNDAY" - Sunday
  3554  	DaysOfWeek []string `json:"daysOfWeek,omitempty"`
  3555  	// StartTimes: The times during the day to start a backup. The start times are
  3556  	// assumed to be in UTC and to be an exact hour (e.g., 04:00:00). If no start
  3557  	// times are provided, a single fixed start time is chosen arbitrarily.
  3558  	StartTimes []*GoogleTypeTimeOfDay `json:"startTimes,omitempty"`
  3559  	// ForceSendFields is a list of field names (e.g. "DaysOfWeek") to
  3560  	// unconditionally include in API requests. By default, fields with empty or
  3561  	// default values are omitted from API requests. See
  3562  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3563  	// details.
  3564  	ForceSendFields []string `json:"-"`
  3565  	// NullFields is a list of field names (e.g. "DaysOfWeek") to include in API
  3566  	// requests with the JSON null value. By default, fields with empty values are
  3567  	// omitted from API requests. See
  3568  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3569  	NullFields []string `json:"-"`
  3570  }
  3571  
  3572  func (s *WeeklySchedule) MarshalJSON() ([]byte, error) {
  3573  	type NoMethod WeeklySchedule
  3574  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3575  }
  3576  
  3577  type ProjectsLocationsGetCall struct {
  3578  	s            *Service
  3579  	name         string
  3580  	urlParams_   gensupport.URLParams
  3581  	ifNoneMatch_ string
  3582  	ctx_         context.Context
  3583  	header_      http.Header
  3584  }
  3585  
  3586  // Get: Gets information about a location.
  3587  //
  3588  // - name: Resource name for the location.
  3589  func (r *ProjectsLocationsService) Get(name string) *ProjectsLocationsGetCall {
  3590  	c := &ProjectsLocationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3591  	c.name = name
  3592  	return c
  3593  }
  3594  
  3595  // Fields allows partial responses to be retrieved. See
  3596  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3597  // details.
  3598  func (c *ProjectsLocationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsGetCall {
  3599  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3600  	return c
  3601  }
  3602  
  3603  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  3604  // object's ETag matches the given value. This is useful for getting updates
  3605  // only after the object has changed since the last request.
  3606  func (c *ProjectsLocationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsGetCall {
  3607  	c.ifNoneMatch_ = entityTag
  3608  	return c
  3609  }
  3610  
  3611  // Context sets the context to be used in this call's Do method.
  3612  func (c *ProjectsLocationsGetCall) Context(ctx context.Context) *ProjectsLocationsGetCall {
  3613  	c.ctx_ = ctx
  3614  	return c
  3615  }
  3616  
  3617  // Header returns a http.Header that can be modified by the caller to add
  3618  // headers to the request.
  3619  func (c *ProjectsLocationsGetCall) Header() http.Header {
  3620  	if c.header_ == nil {
  3621  		c.header_ = make(http.Header)
  3622  	}
  3623  	return c.header_
  3624  }
  3625  
  3626  func (c *ProjectsLocationsGetCall) doRequest(alt string) (*http.Response, error) {
  3627  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  3628  	if c.ifNoneMatch_ != "" {
  3629  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  3630  	}
  3631  	var body io.Reader = nil
  3632  	c.urlParams_.Set("alt", alt)
  3633  	c.urlParams_.Set("prettyPrint", "false")
  3634  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}")
  3635  	urls += "?" + c.urlParams_.Encode()
  3636  	req, err := http.NewRequest("GET", urls, body)
  3637  	if err != nil {
  3638  		return nil, err
  3639  	}
  3640  	req.Header = reqHeaders
  3641  	googleapi.Expand(req.URL, map[string]string{
  3642  		"name": c.name,
  3643  	})
  3644  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3645  }
  3646  
  3647  // Do executes the "alloydb.projects.locations.get" call.
  3648  // Any non-2xx status code is an error. Response headers are in either
  3649  // *GoogleCloudLocationLocation.ServerResponse.Header or (if a response was
  3650  // returned at all) in error.(*googleapi.Error).Header. Use
  3651  // googleapi.IsNotModified to check whether the returned error was because
  3652  // http.StatusNotModified was returned.
  3653  func (c *ProjectsLocationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudLocationLocation, error) {
  3654  	gensupport.SetOptions(c.urlParams_, opts...)
  3655  	res, err := c.doRequest("json")
  3656  	if res != nil && res.StatusCode == http.StatusNotModified {
  3657  		if res.Body != nil {
  3658  			res.Body.Close()
  3659  		}
  3660  		return nil, gensupport.WrapError(&googleapi.Error{
  3661  			Code:   res.StatusCode,
  3662  			Header: res.Header,
  3663  		})
  3664  	}
  3665  	if err != nil {
  3666  		return nil, err
  3667  	}
  3668  	defer googleapi.CloseBody(res)
  3669  	if err := googleapi.CheckResponse(res); err != nil {
  3670  		return nil, gensupport.WrapError(err)
  3671  	}
  3672  	ret := &GoogleCloudLocationLocation{
  3673  		ServerResponse: googleapi.ServerResponse{
  3674  			Header:         res.Header,
  3675  			HTTPStatusCode: res.StatusCode,
  3676  		},
  3677  	}
  3678  	target := &ret
  3679  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3680  		return nil, err
  3681  	}
  3682  	return ret, nil
  3683  }
  3684  
  3685  type ProjectsLocationsListCall struct {
  3686  	s            *Service
  3687  	name         string
  3688  	urlParams_   gensupport.URLParams
  3689  	ifNoneMatch_ string
  3690  	ctx_         context.Context
  3691  	header_      http.Header
  3692  }
  3693  
  3694  // List: Lists information about the supported locations for this service.
  3695  //
  3696  // - name: The resource that owns the locations collection, if applicable.
  3697  func (r *ProjectsLocationsService) List(name string) *ProjectsLocationsListCall {
  3698  	c := &ProjectsLocationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3699  	c.name = name
  3700  	return c
  3701  }
  3702  
  3703  // Filter sets the optional parameter "filter": A filter to narrow down results
  3704  // to a preferred subset. The filtering language accepts strings like
  3705  // "displayName=tokyo", and is documented in more detail in AIP-160
  3706  // (https://google.aip.dev/160).
  3707  func (c *ProjectsLocationsListCall) Filter(filter string) *ProjectsLocationsListCall {
  3708  	c.urlParams_.Set("filter", filter)
  3709  	return c
  3710  }
  3711  
  3712  // PageSize sets the optional parameter "pageSize": The maximum number of
  3713  // results to return. If not set, the service selects a default.
  3714  func (c *ProjectsLocationsListCall) PageSize(pageSize int64) *ProjectsLocationsListCall {
  3715  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  3716  	return c
  3717  }
  3718  
  3719  // PageToken sets the optional parameter "pageToken": A page token received
  3720  // from the `next_page_token` field in the response. Send that page token to
  3721  // receive the subsequent page.
  3722  func (c *ProjectsLocationsListCall) PageToken(pageToken string) *ProjectsLocationsListCall {
  3723  	c.urlParams_.Set("pageToken", pageToken)
  3724  	return c
  3725  }
  3726  
  3727  // Fields allows partial responses to be retrieved. See
  3728  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3729  // details.
  3730  func (c *ProjectsLocationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsListCall {
  3731  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3732  	return c
  3733  }
  3734  
  3735  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  3736  // object's ETag matches the given value. This is useful for getting updates
  3737  // only after the object has changed since the last request.
  3738  func (c *ProjectsLocationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsListCall {
  3739  	c.ifNoneMatch_ = entityTag
  3740  	return c
  3741  }
  3742  
  3743  // Context sets the context to be used in this call's Do method.
  3744  func (c *ProjectsLocationsListCall) Context(ctx context.Context) *ProjectsLocationsListCall {
  3745  	c.ctx_ = ctx
  3746  	return c
  3747  }
  3748  
  3749  // Header returns a http.Header that can be modified by the caller to add
  3750  // headers to the request.
  3751  func (c *ProjectsLocationsListCall) Header() http.Header {
  3752  	if c.header_ == nil {
  3753  		c.header_ = make(http.Header)
  3754  	}
  3755  	return c.header_
  3756  }
  3757  
  3758  func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
  3759  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  3760  	if c.ifNoneMatch_ != "" {
  3761  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  3762  	}
  3763  	var body io.Reader = nil
  3764  	c.urlParams_.Set("alt", alt)
  3765  	c.urlParams_.Set("prettyPrint", "false")
  3766  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}/locations")
  3767  	urls += "?" + c.urlParams_.Encode()
  3768  	req, err := http.NewRequest("GET", urls, body)
  3769  	if err != nil {
  3770  		return nil, err
  3771  	}
  3772  	req.Header = reqHeaders
  3773  	googleapi.Expand(req.URL, map[string]string{
  3774  		"name": c.name,
  3775  	})
  3776  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3777  }
  3778  
  3779  // Do executes the "alloydb.projects.locations.list" call.
  3780  // Any non-2xx status code is an error. Response headers are in either
  3781  // *GoogleCloudLocationListLocationsResponse.ServerResponse.Header or (if a
  3782  // response was returned at all) in error.(*googleapi.Error).Header. Use
  3783  // googleapi.IsNotModified to check whether the returned error was because
  3784  // http.StatusNotModified was returned.
  3785  func (c *ProjectsLocationsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudLocationListLocationsResponse, error) {
  3786  	gensupport.SetOptions(c.urlParams_, opts...)
  3787  	res, err := c.doRequest("json")
  3788  	if res != nil && res.StatusCode == http.StatusNotModified {
  3789  		if res.Body != nil {
  3790  			res.Body.Close()
  3791  		}
  3792  		return nil, gensupport.WrapError(&googleapi.Error{
  3793  			Code:   res.StatusCode,
  3794  			Header: res.Header,
  3795  		})
  3796  	}
  3797  	if err != nil {
  3798  		return nil, err
  3799  	}
  3800  	defer googleapi.CloseBody(res)
  3801  	if err := googleapi.CheckResponse(res); err != nil {
  3802  		return nil, gensupport.WrapError(err)
  3803  	}
  3804  	ret := &GoogleCloudLocationListLocationsResponse{
  3805  		ServerResponse: googleapi.ServerResponse{
  3806  			Header:         res.Header,
  3807  			HTTPStatusCode: res.StatusCode,
  3808  		},
  3809  	}
  3810  	target := &ret
  3811  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3812  		return nil, err
  3813  	}
  3814  	return ret, nil
  3815  }
  3816  
  3817  // Pages invokes f for each page of results.
  3818  // A non-nil error returned from f will halt the iteration.
  3819  // The provided context supersedes any context provided to the Context method.
  3820  func (c *ProjectsLocationsListCall) Pages(ctx context.Context, f func(*GoogleCloudLocationListLocationsResponse) error) error {
  3821  	c.ctx_ = ctx
  3822  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  3823  	for {
  3824  		x, err := c.Do()
  3825  		if err != nil {
  3826  			return err
  3827  		}
  3828  		if err := f(x); err != nil {
  3829  			return err
  3830  		}
  3831  		if x.NextPageToken == "" {
  3832  			return nil
  3833  		}
  3834  		c.PageToken(x.NextPageToken)
  3835  	}
  3836  }
  3837  
  3838  type ProjectsLocationsBackupsCreateCall struct {
  3839  	s          *Service
  3840  	parent     string
  3841  	backup     *Backup
  3842  	urlParams_ gensupport.URLParams
  3843  	ctx_       context.Context
  3844  	header_    http.Header
  3845  }
  3846  
  3847  // Create: Creates a new Backup in a given project and location.
  3848  //
  3849  // - parent: Value for parent.
  3850  func (r *ProjectsLocationsBackupsService) Create(parent string, backup *Backup) *ProjectsLocationsBackupsCreateCall {
  3851  	c := &ProjectsLocationsBackupsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3852  	c.parent = parent
  3853  	c.backup = backup
  3854  	return c
  3855  }
  3856  
  3857  // BackupId sets the optional parameter "backupId": Required. ID of the
  3858  // requesting object.
  3859  func (c *ProjectsLocationsBackupsCreateCall) BackupId(backupId string) *ProjectsLocationsBackupsCreateCall {
  3860  	c.urlParams_.Set("backupId", backupId)
  3861  	return c
  3862  }
  3863  
  3864  // RequestId sets the optional parameter "requestId": An optional request ID to
  3865  // identify requests. Specify a unique request ID so that if you must retry
  3866  // your request, the server will know to ignore the request if it has already
  3867  // been completed. The server will guarantee that for at least 60 minutes since
  3868  // the first request. For example, consider a situation where you make an
  3869  // initial request and the request times out. If you make the request again
  3870  // with the same request ID, the server can check if original operation with
  3871  // the same request ID was received, and if so, will ignore the second request.
  3872  // This prevents clients from accidentally creating duplicate commitments. The
  3873  // request ID must be a valid UUID with the exception that zero UUID is not
  3874  // supported (00000000-0000-0000-0000-000000000000).
  3875  func (c *ProjectsLocationsBackupsCreateCall) RequestId(requestId string) *ProjectsLocationsBackupsCreateCall {
  3876  	c.urlParams_.Set("requestId", requestId)
  3877  	return c
  3878  }
  3879  
  3880  // ValidateOnly sets the optional parameter "validateOnly": If set, the backend
  3881  // validates the request, but doesn't actually execute it.
  3882  func (c *ProjectsLocationsBackupsCreateCall) ValidateOnly(validateOnly bool) *ProjectsLocationsBackupsCreateCall {
  3883  	c.urlParams_.Set("validateOnly", fmt.Sprint(validateOnly))
  3884  	return c
  3885  }
  3886  
  3887  // Fields allows partial responses to be retrieved. See
  3888  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  3889  // details.
  3890  func (c *ProjectsLocationsBackupsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsBackupsCreateCall {
  3891  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3892  	return c
  3893  }
  3894  
  3895  // Context sets the context to be used in this call's Do method.
  3896  func (c *ProjectsLocationsBackupsCreateCall) Context(ctx context.Context) *ProjectsLocationsBackupsCreateCall {
  3897  	c.ctx_ = ctx
  3898  	return c
  3899  }
  3900  
  3901  // Header returns a http.Header that can be modified by the caller to add
  3902  // headers to the request.
  3903  func (c *ProjectsLocationsBackupsCreateCall) Header() http.Header {
  3904  	if c.header_ == nil {
  3905  		c.header_ = make(http.Header)
  3906  	}
  3907  	return c.header_
  3908  }
  3909  
  3910  func (c *ProjectsLocationsBackupsCreateCall) doRequest(alt string) (*http.Response, error) {
  3911  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  3912  	var body io.Reader = nil
  3913  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.backup)
  3914  	if err != nil {
  3915  		return nil, err
  3916  	}
  3917  	c.urlParams_.Set("alt", alt)
  3918  	c.urlParams_.Set("prettyPrint", "false")
  3919  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+parent}/backups")
  3920  	urls += "?" + c.urlParams_.Encode()
  3921  	req, err := http.NewRequest("POST", urls, body)
  3922  	if err != nil {
  3923  		return nil, err
  3924  	}
  3925  	req.Header = reqHeaders
  3926  	googleapi.Expand(req.URL, map[string]string{
  3927  		"parent": c.parent,
  3928  	})
  3929  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3930  }
  3931  
  3932  // Do executes the "alloydb.projects.locations.backups.create" call.
  3933  // Any non-2xx status code is an error. Response headers are in either
  3934  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  3935  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  3936  // whether the returned error was because http.StatusNotModified was returned.
  3937  func (c *ProjectsLocationsBackupsCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  3938  	gensupport.SetOptions(c.urlParams_, opts...)
  3939  	res, err := c.doRequest("json")
  3940  	if res != nil && res.StatusCode == http.StatusNotModified {
  3941  		if res.Body != nil {
  3942  			res.Body.Close()
  3943  		}
  3944  		return nil, gensupport.WrapError(&googleapi.Error{
  3945  			Code:   res.StatusCode,
  3946  			Header: res.Header,
  3947  		})
  3948  	}
  3949  	if err != nil {
  3950  		return nil, err
  3951  	}
  3952  	defer googleapi.CloseBody(res)
  3953  	if err := googleapi.CheckResponse(res); err != nil {
  3954  		return nil, gensupport.WrapError(err)
  3955  	}
  3956  	ret := &Operation{
  3957  		ServerResponse: googleapi.ServerResponse{
  3958  			Header:         res.Header,
  3959  			HTTPStatusCode: res.StatusCode,
  3960  		},
  3961  	}
  3962  	target := &ret
  3963  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3964  		return nil, err
  3965  	}
  3966  	return ret, nil
  3967  }
  3968  
  3969  type ProjectsLocationsBackupsDeleteCall struct {
  3970  	s          *Service
  3971  	name       string
  3972  	urlParams_ gensupport.URLParams
  3973  	ctx_       context.Context
  3974  	header_    http.Header
  3975  }
  3976  
  3977  // Delete: Deletes a single Backup.
  3978  //
  3979  //   - name: Name of the resource. For the required format, see the comment on
  3980  //     the Backup.name field.
  3981  func (r *ProjectsLocationsBackupsService) Delete(name string) *ProjectsLocationsBackupsDeleteCall {
  3982  	c := &ProjectsLocationsBackupsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3983  	c.name = name
  3984  	return c
  3985  }
  3986  
  3987  // Etag sets the optional parameter "etag": The current etag of the Backup. If
  3988  // an etag is provided and does not match the current etag of the Backup,
  3989  // deletion will be blocked and an ABORTED error will be returned.
  3990  func (c *ProjectsLocationsBackupsDeleteCall) Etag(etag string) *ProjectsLocationsBackupsDeleteCall {
  3991  	c.urlParams_.Set("etag", etag)
  3992  	return c
  3993  }
  3994  
  3995  // RequestId sets the optional parameter "requestId": An optional request ID to
  3996  // identify requests. Specify a unique request ID so that if you must retry
  3997  // your request, the server will know to ignore the request if it has already
  3998  // been completed. The server will guarantee that for at least 60 minutes after
  3999  // the first request. For example, consider a situation where you make an
  4000  // initial request and the request times out. If you make the request again
  4001  // with the same request ID, the server can check if original operation with
  4002  // the same request ID was received, and if so, will ignore the second request.
  4003  // This prevents clients from accidentally creating duplicate commitments. The
  4004  // request ID must be a valid UUID with the exception that zero UUID is not
  4005  // supported (00000000-0000-0000-0000-000000000000).
  4006  func (c *ProjectsLocationsBackupsDeleteCall) RequestId(requestId string) *ProjectsLocationsBackupsDeleteCall {
  4007  	c.urlParams_.Set("requestId", requestId)
  4008  	return c
  4009  }
  4010  
  4011  // ValidateOnly sets the optional parameter "validateOnly": If set, the backend
  4012  // validates the request, but doesn't actually execute it.
  4013  func (c *ProjectsLocationsBackupsDeleteCall) ValidateOnly(validateOnly bool) *ProjectsLocationsBackupsDeleteCall {
  4014  	c.urlParams_.Set("validateOnly", fmt.Sprint(validateOnly))
  4015  	return c
  4016  }
  4017  
  4018  // Fields allows partial responses to be retrieved. See
  4019  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4020  // details.
  4021  func (c *ProjectsLocationsBackupsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsBackupsDeleteCall {
  4022  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4023  	return c
  4024  }
  4025  
  4026  // Context sets the context to be used in this call's Do method.
  4027  func (c *ProjectsLocationsBackupsDeleteCall) Context(ctx context.Context) *ProjectsLocationsBackupsDeleteCall {
  4028  	c.ctx_ = ctx
  4029  	return c
  4030  }
  4031  
  4032  // Header returns a http.Header that can be modified by the caller to add
  4033  // headers to the request.
  4034  func (c *ProjectsLocationsBackupsDeleteCall) Header() http.Header {
  4035  	if c.header_ == nil {
  4036  		c.header_ = make(http.Header)
  4037  	}
  4038  	return c.header_
  4039  }
  4040  
  4041  func (c *ProjectsLocationsBackupsDeleteCall) doRequest(alt string) (*http.Response, error) {
  4042  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4043  	var body io.Reader = nil
  4044  	c.urlParams_.Set("alt", alt)
  4045  	c.urlParams_.Set("prettyPrint", "false")
  4046  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}")
  4047  	urls += "?" + c.urlParams_.Encode()
  4048  	req, err := http.NewRequest("DELETE", urls, body)
  4049  	if err != nil {
  4050  		return nil, err
  4051  	}
  4052  	req.Header = reqHeaders
  4053  	googleapi.Expand(req.URL, map[string]string{
  4054  		"name": c.name,
  4055  	})
  4056  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4057  }
  4058  
  4059  // Do executes the "alloydb.projects.locations.backups.delete" call.
  4060  // Any non-2xx status code is an error. Response headers are in either
  4061  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  4062  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  4063  // whether the returned error was because http.StatusNotModified was returned.
  4064  func (c *ProjectsLocationsBackupsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  4065  	gensupport.SetOptions(c.urlParams_, opts...)
  4066  	res, err := c.doRequest("json")
  4067  	if res != nil && res.StatusCode == http.StatusNotModified {
  4068  		if res.Body != nil {
  4069  			res.Body.Close()
  4070  		}
  4071  		return nil, gensupport.WrapError(&googleapi.Error{
  4072  			Code:   res.StatusCode,
  4073  			Header: res.Header,
  4074  		})
  4075  	}
  4076  	if err != nil {
  4077  		return nil, err
  4078  	}
  4079  	defer googleapi.CloseBody(res)
  4080  	if err := googleapi.CheckResponse(res); err != nil {
  4081  		return nil, gensupport.WrapError(err)
  4082  	}
  4083  	ret := &Operation{
  4084  		ServerResponse: googleapi.ServerResponse{
  4085  			Header:         res.Header,
  4086  			HTTPStatusCode: res.StatusCode,
  4087  		},
  4088  	}
  4089  	target := &ret
  4090  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4091  		return nil, err
  4092  	}
  4093  	return ret, nil
  4094  }
  4095  
  4096  type ProjectsLocationsBackupsGetCall struct {
  4097  	s            *Service
  4098  	name         string
  4099  	urlParams_   gensupport.URLParams
  4100  	ifNoneMatch_ string
  4101  	ctx_         context.Context
  4102  	header_      http.Header
  4103  }
  4104  
  4105  // Get: Gets details of a single Backup.
  4106  //
  4107  // - name: Name of the resource.
  4108  func (r *ProjectsLocationsBackupsService) Get(name string) *ProjectsLocationsBackupsGetCall {
  4109  	c := &ProjectsLocationsBackupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4110  	c.name = name
  4111  	return c
  4112  }
  4113  
  4114  // Fields allows partial responses to be retrieved. See
  4115  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4116  // details.
  4117  func (c *ProjectsLocationsBackupsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsBackupsGetCall {
  4118  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4119  	return c
  4120  }
  4121  
  4122  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  4123  // object's ETag matches the given value. This is useful for getting updates
  4124  // only after the object has changed since the last request.
  4125  func (c *ProjectsLocationsBackupsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsBackupsGetCall {
  4126  	c.ifNoneMatch_ = entityTag
  4127  	return c
  4128  }
  4129  
  4130  // Context sets the context to be used in this call's Do method.
  4131  func (c *ProjectsLocationsBackupsGetCall) Context(ctx context.Context) *ProjectsLocationsBackupsGetCall {
  4132  	c.ctx_ = ctx
  4133  	return c
  4134  }
  4135  
  4136  // Header returns a http.Header that can be modified by the caller to add
  4137  // headers to the request.
  4138  func (c *ProjectsLocationsBackupsGetCall) Header() http.Header {
  4139  	if c.header_ == nil {
  4140  		c.header_ = make(http.Header)
  4141  	}
  4142  	return c.header_
  4143  }
  4144  
  4145  func (c *ProjectsLocationsBackupsGetCall) doRequest(alt string) (*http.Response, error) {
  4146  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4147  	if c.ifNoneMatch_ != "" {
  4148  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  4149  	}
  4150  	var body io.Reader = nil
  4151  	c.urlParams_.Set("alt", alt)
  4152  	c.urlParams_.Set("prettyPrint", "false")
  4153  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}")
  4154  	urls += "?" + c.urlParams_.Encode()
  4155  	req, err := http.NewRequest("GET", urls, body)
  4156  	if err != nil {
  4157  		return nil, err
  4158  	}
  4159  	req.Header = reqHeaders
  4160  	googleapi.Expand(req.URL, map[string]string{
  4161  		"name": c.name,
  4162  	})
  4163  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4164  }
  4165  
  4166  // Do executes the "alloydb.projects.locations.backups.get" call.
  4167  // Any non-2xx status code is an error. Response headers are in either
  4168  // *Backup.ServerResponse.Header or (if a response was returned at all) in
  4169  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  4170  // whether the returned error was because http.StatusNotModified was returned.
  4171  func (c *ProjectsLocationsBackupsGetCall) Do(opts ...googleapi.CallOption) (*Backup, error) {
  4172  	gensupport.SetOptions(c.urlParams_, opts...)
  4173  	res, err := c.doRequest("json")
  4174  	if res != nil && res.StatusCode == http.StatusNotModified {
  4175  		if res.Body != nil {
  4176  			res.Body.Close()
  4177  		}
  4178  		return nil, gensupport.WrapError(&googleapi.Error{
  4179  			Code:   res.StatusCode,
  4180  			Header: res.Header,
  4181  		})
  4182  	}
  4183  	if err != nil {
  4184  		return nil, err
  4185  	}
  4186  	defer googleapi.CloseBody(res)
  4187  	if err := googleapi.CheckResponse(res); err != nil {
  4188  		return nil, gensupport.WrapError(err)
  4189  	}
  4190  	ret := &Backup{
  4191  		ServerResponse: googleapi.ServerResponse{
  4192  			Header:         res.Header,
  4193  			HTTPStatusCode: res.StatusCode,
  4194  		},
  4195  	}
  4196  	target := &ret
  4197  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4198  		return nil, err
  4199  	}
  4200  	return ret, nil
  4201  }
  4202  
  4203  type ProjectsLocationsBackupsListCall struct {
  4204  	s            *Service
  4205  	parent       string
  4206  	urlParams_   gensupport.URLParams
  4207  	ifNoneMatch_ string
  4208  	ctx_         context.Context
  4209  	header_      http.Header
  4210  }
  4211  
  4212  // List: Lists Backups in a given project and location.
  4213  //
  4214  // - parent: Parent value for ListBackupsRequest.
  4215  func (r *ProjectsLocationsBackupsService) List(parent string) *ProjectsLocationsBackupsListCall {
  4216  	c := &ProjectsLocationsBackupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4217  	c.parent = parent
  4218  	return c
  4219  }
  4220  
  4221  // Filter sets the optional parameter "filter": Filtering results
  4222  func (c *ProjectsLocationsBackupsListCall) Filter(filter string) *ProjectsLocationsBackupsListCall {
  4223  	c.urlParams_.Set("filter", filter)
  4224  	return c
  4225  }
  4226  
  4227  // OrderBy sets the optional parameter "orderBy": Hint for how to order the
  4228  // results
  4229  func (c *ProjectsLocationsBackupsListCall) OrderBy(orderBy string) *ProjectsLocationsBackupsListCall {
  4230  	c.urlParams_.Set("orderBy", orderBy)
  4231  	return c
  4232  }
  4233  
  4234  // PageSize sets the optional parameter "pageSize": Requested page size. Server
  4235  // may return fewer items than requested. If unspecified, server will pick an
  4236  // appropriate default.
  4237  func (c *ProjectsLocationsBackupsListCall) PageSize(pageSize int64) *ProjectsLocationsBackupsListCall {
  4238  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  4239  	return c
  4240  }
  4241  
  4242  // PageToken sets the optional parameter "pageToken": A token identifying a
  4243  // page of results the server should return.
  4244  func (c *ProjectsLocationsBackupsListCall) PageToken(pageToken string) *ProjectsLocationsBackupsListCall {
  4245  	c.urlParams_.Set("pageToken", pageToken)
  4246  	return c
  4247  }
  4248  
  4249  // Fields allows partial responses to be retrieved. See
  4250  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4251  // details.
  4252  func (c *ProjectsLocationsBackupsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsBackupsListCall {
  4253  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4254  	return c
  4255  }
  4256  
  4257  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  4258  // object's ETag matches the given value. This is useful for getting updates
  4259  // only after the object has changed since the last request.
  4260  func (c *ProjectsLocationsBackupsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsBackupsListCall {
  4261  	c.ifNoneMatch_ = entityTag
  4262  	return c
  4263  }
  4264  
  4265  // Context sets the context to be used in this call's Do method.
  4266  func (c *ProjectsLocationsBackupsListCall) Context(ctx context.Context) *ProjectsLocationsBackupsListCall {
  4267  	c.ctx_ = ctx
  4268  	return c
  4269  }
  4270  
  4271  // Header returns a http.Header that can be modified by the caller to add
  4272  // headers to the request.
  4273  func (c *ProjectsLocationsBackupsListCall) Header() http.Header {
  4274  	if c.header_ == nil {
  4275  		c.header_ = make(http.Header)
  4276  	}
  4277  	return c.header_
  4278  }
  4279  
  4280  func (c *ProjectsLocationsBackupsListCall) doRequest(alt string) (*http.Response, error) {
  4281  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4282  	if c.ifNoneMatch_ != "" {
  4283  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  4284  	}
  4285  	var body io.Reader = nil
  4286  	c.urlParams_.Set("alt", alt)
  4287  	c.urlParams_.Set("prettyPrint", "false")
  4288  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+parent}/backups")
  4289  	urls += "?" + c.urlParams_.Encode()
  4290  	req, err := http.NewRequest("GET", urls, body)
  4291  	if err != nil {
  4292  		return nil, err
  4293  	}
  4294  	req.Header = reqHeaders
  4295  	googleapi.Expand(req.URL, map[string]string{
  4296  		"parent": c.parent,
  4297  	})
  4298  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4299  }
  4300  
  4301  // Do executes the "alloydb.projects.locations.backups.list" call.
  4302  // Any non-2xx status code is an error. Response headers are in either
  4303  // *ListBackupsResponse.ServerResponse.Header or (if a response was returned at
  4304  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  4305  // check whether the returned error was because http.StatusNotModified was
  4306  // returned.
  4307  func (c *ProjectsLocationsBackupsListCall) Do(opts ...googleapi.CallOption) (*ListBackupsResponse, error) {
  4308  	gensupport.SetOptions(c.urlParams_, opts...)
  4309  	res, err := c.doRequest("json")
  4310  	if res != nil && res.StatusCode == http.StatusNotModified {
  4311  		if res.Body != nil {
  4312  			res.Body.Close()
  4313  		}
  4314  		return nil, gensupport.WrapError(&googleapi.Error{
  4315  			Code:   res.StatusCode,
  4316  			Header: res.Header,
  4317  		})
  4318  	}
  4319  	if err != nil {
  4320  		return nil, err
  4321  	}
  4322  	defer googleapi.CloseBody(res)
  4323  	if err := googleapi.CheckResponse(res); err != nil {
  4324  		return nil, gensupport.WrapError(err)
  4325  	}
  4326  	ret := &ListBackupsResponse{
  4327  		ServerResponse: googleapi.ServerResponse{
  4328  			Header:         res.Header,
  4329  			HTTPStatusCode: res.StatusCode,
  4330  		},
  4331  	}
  4332  	target := &ret
  4333  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4334  		return nil, err
  4335  	}
  4336  	return ret, nil
  4337  }
  4338  
  4339  // Pages invokes f for each page of results.
  4340  // A non-nil error returned from f will halt the iteration.
  4341  // The provided context supersedes any context provided to the Context method.
  4342  func (c *ProjectsLocationsBackupsListCall) Pages(ctx context.Context, f func(*ListBackupsResponse) error) error {
  4343  	c.ctx_ = ctx
  4344  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  4345  	for {
  4346  		x, err := c.Do()
  4347  		if err != nil {
  4348  			return err
  4349  		}
  4350  		if err := f(x); err != nil {
  4351  			return err
  4352  		}
  4353  		if x.NextPageToken == "" {
  4354  			return nil
  4355  		}
  4356  		c.PageToken(x.NextPageToken)
  4357  	}
  4358  }
  4359  
  4360  type ProjectsLocationsBackupsPatchCall struct {
  4361  	s          *Service
  4362  	name       string
  4363  	backup     *Backup
  4364  	urlParams_ gensupport.URLParams
  4365  	ctx_       context.Context
  4366  	header_    http.Header
  4367  }
  4368  
  4369  // Patch: Updates the parameters of a single Backup.
  4370  //
  4371  //   - name: Output only. The name of the backup resource with the format: *
  4372  //     projects/{project}/locations/{region}/backups/{backup_id} where the
  4373  //     cluster and backup ID segments should satisfy the regex expression
  4374  //     `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`, e.g. 1-63 characters of lowercase
  4375  //     letters, numbers, and dashes, starting with a letter, and ending with a
  4376  //     letter or number. For more details see https://google.aip.dev/122. The
  4377  //     prefix of the backup resource name is the name of the parent resource: *
  4378  //     projects/{project}/locations/{region}.
  4379  func (r *ProjectsLocationsBackupsService) Patch(name string, backup *Backup) *ProjectsLocationsBackupsPatchCall {
  4380  	c := &ProjectsLocationsBackupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4381  	c.name = name
  4382  	c.backup = backup
  4383  	return c
  4384  }
  4385  
  4386  // AllowMissing sets the optional parameter "allowMissing": If set to true,
  4387  // update succeeds even if instance is not found. In that case, a new backup is
  4388  // created and `update_mask` is ignored.
  4389  func (c *ProjectsLocationsBackupsPatchCall) AllowMissing(allowMissing bool) *ProjectsLocationsBackupsPatchCall {
  4390  	c.urlParams_.Set("allowMissing", fmt.Sprint(allowMissing))
  4391  	return c
  4392  }
  4393  
  4394  // RequestId sets the optional parameter "requestId": An optional request ID to
  4395  // identify requests. Specify a unique request ID so that if you must retry
  4396  // your request, the server will know to ignore the request if it has already
  4397  // been completed. The server will guarantee that for at least 60 minutes since
  4398  // the first request. For example, consider a situation where you make an
  4399  // initial request and the request times out. If you make the request again
  4400  // with the same request ID, the server can check if original operation with
  4401  // the same request ID was received, and if so, will ignore the second request.
  4402  // This prevents clients from accidentally creating duplicate commitments. The
  4403  // request ID must be a valid UUID with the exception that zero UUID is not
  4404  // supported (00000000-0000-0000-0000-000000000000).
  4405  func (c *ProjectsLocationsBackupsPatchCall) RequestId(requestId string) *ProjectsLocationsBackupsPatchCall {
  4406  	c.urlParams_.Set("requestId", requestId)
  4407  	return c
  4408  }
  4409  
  4410  // UpdateMask sets the optional parameter "updateMask": Field mask is used to
  4411  // specify the fields to be overwritten in the Backup resource by the update.
  4412  // The fields specified in the update_mask are relative to the resource, not
  4413  // the full request. A field will be overwritten if it is in the mask. If the
  4414  // user does not provide a mask then all fields will be overwritten.
  4415  func (c *ProjectsLocationsBackupsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsBackupsPatchCall {
  4416  	c.urlParams_.Set("updateMask", updateMask)
  4417  	return c
  4418  }
  4419  
  4420  // ValidateOnly sets the optional parameter "validateOnly": If set, the backend
  4421  // validates the request, but doesn't actually execute it.
  4422  func (c *ProjectsLocationsBackupsPatchCall) ValidateOnly(validateOnly bool) *ProjectsLocationsBackupsPatchCall {
  4423  	c.urlParams_.Set("validateOnly", fmt.Sprint(validateOnly))
  4424  	return c
  4425  }
  4426  
  4427  // Fields allows partial responses to be retrieved. See
  4428  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4429  // details.
  4430  func (c *ProjectsLocationsBackupsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsBackupsPatchCall {
  4431  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4432  	return c
  4433  }
  4434  
  4435  // Context sets the context to be used in this call's Do method.
  4436  func (c *ProjectsLocationsBackupsPatchCall) Context(ctx context.Context) *ProjectsLocationsBackupsPatchCall {
  4437  	c.ctx_ = ctx
  4438  	return c
  4439  }
  4440  
  4441  // Header returns a http.Header that can be modified by the caller to add
  4442  // headers to the request.
  4443  func (c *ProjectsLocationsBackupsPatchCall) Header() http.Header {
  4444  	if c.header_ == nil {
  4445  		c.header_ = make(http.Header)
  4446  	}
  4447  	return c.header_
  4448  }
  4449  
  4450  func (c *ProjectsLocationsBackupsPatchCall) doRequest(alt string) (*http.Response, error) {
  4451  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  4452  	var body io.Reader = nil
  4453  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.backup)
  4454  	if err != nil {
  4455  		return nil, err
  4456  	}
  4457  	c.urlParams_.Set("alt", alt)
  4458  	c.urlParams_.Set("prettyPrint", "false")
  4459  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}")
  4460  	urls += "?" + c.urlParams_.Encode()
  4461  	req, err := http.NewRequest("PATCH", urls, body)
  4462  	if err != nil {
  4463  		return nil, err
  4464  	}
  4465  	req.Header = reqHeaders
  4466  	googleapi.Expand(req.URL, map[string]string{
  4467  		"name": c.name,
  4468  	})
  4469  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4470  }
  4471  
  4472  // Do executes the "alloydb.projects.locations.backups.patch" call.
  4473  // Any non-2xx status code is an error. Response headers are in either
  4474  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  4475  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  4476  // whether the returned error was because http.StatusNotModified was returned.
  4477  func (c *ProjectsLocationsBackupsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  4478  	gensupport.SetOptions(c.urlParams_, opts...)
  4479  	res, err := c.doRequest("json")
  4480  	if res != nil && res.StatusCode == http.StatusNotModified {
  4481  		if res.Body != nil {
  4482  			res.Body.Close()
  4483  		}
  4484  		return nil, gensupport.WrapError(&googleapi.Error{
  4485  			Code:   res.StatusCode,
  4486  			Header: res.Header,
  4487  		})
  4488  	}
  4489  	if err != nil {
  4490  		return nil, err
  4491  	}
  4492  	defer googleapi.CloseBody(res)
  4493  	if err := googleapi.CheckResponse(res); err != nil {
  4494  		return nil, gensupport.WrapError(err)
  4495  	}
  4496  	ret := &Operation{
  4497  		ServerResponse: googleapi.ServerResponse{
  4498  			Header:         res.Header,
  4499  			HTTPStatusCode: res.StatusCode,
  4500  		},
  4501  	}
  4502  	target := &ret
  4503  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4504  		return nil, err
  4505  	}
  4506  	return ret, nil
  4507  }
  4508  
  4509  type ProjectsLocationsClustersCreateCall struct {
  4510  	s          *Service
  4511  	parent     string
  4512  	cluster    *Cluster
  4513  	urlParams_ gensupport.URLParams
  4514  	ctx_       context.Context
  4515  	header_    http.Header
  4516  }
  4517  
  4518  // Create: Creates a new Cluster in a given project and location.
  4519  //
  4520  //   - parent: The location of the new cluster. For the required format, see the
  4521  //     comment on the Cluster.name field.
  4522  func (r *ProjectsLocationsClustersService) Create(parent string, cluster *Cluster) *ProjectsLocationsClustersCreateCall {
  4523  	c := &ProjectsLocationsClustersCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4524  	c.parent = parent
  4525  	c.cluster = cluster
  4526  	return c
  4527  }
  4528  
  4529  // ClusterId sets the optional parameter "clusterId": Required. ID of the
  4530  // requesting object.
  4531  func (c *ProjectsLocationsClustersCreateCall) ClusterId(clusterId string) *ProjectsLocationsClustersCreateCall {
  4532  	c.urlParams_.Set("clusterId", clusterId)
  4533  	return c
  4534  }
  4535  
  4536  // RequestId sets the optional parameter "requestId": An optional request ID to
  4537  // identify requests. Specify a unique request ID so that if you must retry
  4538  // your request, the server will know to ignore the request if it has already
  4539  // been completed. The server will guarantee that for at least 60 minutes since
  4540  // the first request. For example, consider a situation where you make an
  4541  // initial request and the request times out. If you make the request again
  4542  // with the same request ID, the server can check if original operation with
  4543  // the same request ID was received, and if so, will ignore the second request.
  4544  // This prevents clients from accidentally creating duplicate commitments. The
  4545  // request ID must be a valid UUID with the exception that zero UUID is not
  4546  // supported (00000000-0000-0000-0000-000000000000).
  4547  func (c *ProjectsLocationsClustersCreateCall) RequestId(requestId string) *ProjectsLocationsClustersCreateCall {
  4548  	c.urlParams_.Set("requestId", requestId)
  4549  	return c
  4550  }
  4551  
  4552  // ValidateOnly sets the optional parameter "validateOnly": If set, performs
  4553  // request validation (e.g. permission checks and any other type of
  4554  // validation), but do not actually execute the create request.
  4555  func (c *ProjectsLocationsClustersCreateCall) ValidateOnly(validateOnly bool) *ProjectsLocationsClustersCreateCall {
  4556  	c.urlParams_.Set("validateOnly", fmt.Sprint(validateOnly))
  4557  	return c
  4558  }
  4559  
  4560  // Fields allows partial responses to be retrieved. See
  4561  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4562  // details.
  4563  func (c *ProjectsLocationsClustersCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersCreateCall {
  4564  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4565  	return c
  4566  }
  4567  
  4568  // Context sets the context to be used in this call's Do method.
  4569  func (c *ProjectsLocationsClustersCreateCall) Context(ctx context.Context) *ProjectsLocationsClustersCreateCall {
  4570  	c.ctx_ = ctx
  4571  	return c
  4572  }
  4573  
  4574  // Header returns a http.Header that can be modified by the caller to add
  4575  // headers to the request.
  4576  func (c *ProjectsLocationsClustersCreateCall) Header() http.Header {
  4577  	if c.header_ == nil {
  4578  		c.header_ = make(http.Header)
  4579  	}
  4580  	return c.header_
  4581  }
  4582  
  4583  func (c *ProjectsLocationsClustersCreateCall) doRequest(alt string) (*http.Response, error) {
  4584  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  4585  	var body io.Reader = nil
  4586  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.cluster)
  4587  	if err != nil {
  4588  		return nil, err
  4589  	}
  4590  	c.urlParams_.Set("alt", alt)
  4591  	c.urlParams_.Set("prettyPrint", "false")
  4592  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+parent}/clusters")
  4593  	urls += "?" + c.urlParams_.Encode()
  4594  	req, err := http.NewRequest("POST", urls, body)
  4595  	if err != nil {
  4596  		return nil, err
  4597  	}
  4598  	req.Header = reqHeaders
  4599  	googleapi.Expand(req.URL, map[string]string{
  4600  		"parent": c.parent,
  4601  	})
  4602  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4603  }
  4604  
  4605  // Do executes the "alloydb.projects.locations.clusters.create" call.
  4606  // Any non-2xx status code is an error. Response headers are in either
  4607  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  4608  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  4609  // whether the returned error was because http.StatusNotModified was returned.
  4610  func (c *ProjectsLocationsClustersCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  4611  	gensupport.SetOptions(c.urlParams_, opts...)
  4612  	res, err := c.doRequest("json")
  4613  	if res != nil && res.StatusCode == http.StatusNotModified {
  4614  		if res.Body != nil {
  4615  			res.Body.Close()
  4616  		}
  4617  		return nil, gensupport.WrapError(&googleapi.Error{
  4618  			Code:   res.StatusCode,
  4619  			Header: res.Header,
  4620  		})
  4621  	}
  4622  	if err != nil {
  4623  		return nil, err
  4624  	}
  4625  	defer googleapi.CloseBody(res)
  4626  	if err := googleapi.CheckResponse(res); err != nil {
  4627  		return nil, gensupport.WrapError(err)
  4628  	}
  4629  	ret := &Operation{
  4630  		ServerResponse: googleapi.ServerResponse{
  4631  			Header:         res.Header,
  4632  			HTTPStatusCode: res.StatusCode,
  4633  		},
  4634  	}
  4635  	target := &ret
  4636  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4637  		return nil, err
  4638  	}
  4639  	return ret, nil
  4640  }
  4641  
  4642  type ProjectsLocationsClustersCreatesecondaryCall struct {
  4643  	s          *Service
  4644  	parent     string
  4645  	cluster    *Cluster
  4646  	urlParams_ gensupport.URLParams
  4647  	ctx_       context.Context
  4648  	header_    http.Header
  4649  }
  4650  
  4651  // Createsecondary: Creates a cluster of type SECONDARY in the given location
  4652  // using the primary cluster as the source.
  4653  //
  4654  //   - parent: The location of the new cluster. For the required format, see the
  4655  //     comment on the Cluster.name field.
  4656  func (r *ProjectsLocationsClustersService) Createsecondary(parent string, cluster *Cluster) *ProjectsLocationsClustersCreatesecondaryCall {
  4657  	c := &ProjectsLocationsClustersCreatesecondaryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4658  	c.parent = parent
  4659  	c.cluster = cluster
  4660  	return c
  4661  }
  4662  
  4663  // ClusterId sets the optional parameter "clusterId": Required. ID of the
  4664  // requesting object (the secondary cluster).
  4665  func (c *ProjectsLocationsClustersCreatesecondaryCall) ClusterId(clusterId string) *ProjectsLocationsClustersCreatesecondaryCall {
  4666  	c.urlParams_.Set("clusterId", clusterId)
  4667  	return c
  4668  }
  4669  
  4670  // RequestId sets the optional parameter "requestId": An optional request ID to
  4671  // identify requests. Specify a unique request ID so that if you must retry
  4672  // your request, the server will know to ignore the request if it has already
  4673  // been completed. The server will guarantee that for at least 60 minutes since
  4674  // the first request. For example, consider a situation where you make an
  4675  // initial request and the request times out. If you make the request again
  4676  // with the same request ID, the server can check if original operation with
  4677  // the same request ID was received, and if so, will ignore the second request.
  4678  // This prevents clients from accidentally creating duplicate commitments. The
  4679  // request ID must be a valid UUID with the exception that zero UUID is not
  4680  // supported (00000000-0000-0000-0000-000000000000).
  4681  func (c *ProjectsLocationsClustersCreatesecondaryCall) RequestId(requestId string) *ProjectsLocationsClustersCreatesecondaryCall {
  4682  	c.urlParams_.Set("requestId", requestId)
  4683  	return c
  4684  }
  4685  
  4686  // ValidateOnly sets the optional parameter "validateOnly": If set, performs
  4687  // request validation (e.g. permission checks and any other type of
  4688  // validation), but do not actually execute the create request.
  4689  func (c *ProjectsLocationsClustersCreatesecondaryCall) ValidateOnly(validateOnly bool) *ProjectsLocationsClustersCreatesecondaryCall {
  4690  	c.urlParams_.Set("validateOnly", fmt.Sprint(validateOnly))
  4691  	return c
  4692  }
  4693  
  4694  // Fields allows partial responses to be retrieved. See
  4695  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4696  // details.
  4697  func (c *ProjectsLocationsClustersCreatesecondaryCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersCreatesecondaryCall {
  4698  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4699  	return c
  4700  }
  4701  
  4702  // Context sets the context to be used in this call's Do method.
  4703  func (c *ProjectsLocationsClustersCreatesecondaryCall) Context(ctx context.Context) *ProjectsLocationsClustersCreatesecondaryCall {
  4704  	c.ctx_ = ctx
  4705  	return c
  4706  }
  4707  
  4708  // Header returns a http.Header that can be modified by the caller to add
  4709  // headers to the request.
  4710  func (c *ProjectsLocationsClustersCreatesecondaryCall) Header() http.Header {
  4711  	if c.header_ == nil {
  4712  		c.header_ = make(http.Header)
  4713  	}
  4714  	return c.header_
  4715  }
  4716  
  4717  func (c *ProjectsLocationsClustersCreatesecondaryCall) doRequest(alt string) (*http.Response, error) {
  4718  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  4719  	var body io.Reader = nil
  4720  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.cluster)
  4721  	if err != nil {
  4722  		return nil, err
  4723  	}
  4724  	c.urlParams_.Set("alt", alt)
  4725  	c.urlParams_.Set("prettyPrint", "false")
  4726  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+parent}/clusters:createsecondary")
  4727  	urls += "?" + c.urlParams_.Encode()
  4728  	req, err := http.NewRequest("POST", urls, body)
  4729  	if err != nil {
  4730  		return nil, err
  4731  	}
  4732  	req.Header = reqHeaders
  4733  	googleapi.Expand(req.URL, map[string]string{
  4734  		"parent": c.parent,
  4735  	})
  4736  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4737  }
  4738  
  4739  // Do executes the "alloydb.projects.locations.clusters.createsecondary" call.
  4740  // Any non-2xx status code is an error. Response headers are in either
  4741  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  4742  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  4743  // whether the returned error was because http.StatusNotModified was returned.
  4744  func (c *ProjectsLocationsClustersCreatesecondaryCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  4745  	gensupport.SetOptions(c.urlParams_, opts...)
  4746  	res, err := c.doRequest("json")
  4747  	if res != nil && res.StatusCode == http.StatusNotModified {
  4748  		if res.Body != nil {
  4749  			res.Body.Close()
  4750  		}
  4751  		return nil, gensupport.WrapError(&googleapi.Error{
  4752  			Code:   res.StatusCode,
  4753  			Header: res.Header,
  4754  		})
  4755  	}
  4756  	if err != nil {
  4757  		return nil, err
  4758  	}
  4759  	defer googleapi.CloseBody(res)
  4760  	if err := googleapi.CheckResponse(res); err != nil {
  4761  		return nil, gensupport.WrapError(err)
  4762  	}
  4763  	ret := &Operation{
  4764  		ServerResponse: googleapi.ServerResponse{
  4765  			Header:         res.Header,
  4766  			HTTPStatusCode: res.StatusCode,
  4767  		},
  4768  	}
  4769  	target := &ret
  4770  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4771  		return nil, err
  4772  	}
  4773  	return ret, nil
  4774  }
  4775  
  4776  type ProjectsLocationsClustersDeleteCall struct {
  4777  	s          *Service
  4778  	name       string
  4779  	urlParams_ gensupport.URLParams
  4780  	ctx_       context.Context
  4781  	header_    http.Header
  4782  }
  4783  
  4784  // Delete: Deletes a single Cluster.
  4785  //
  4786  //   - name: The name of the resource. For the required format, see the comment
  4787  //     on the Cluster.name field.
  4788  func (r *ProjectsLocationsClustersService) Delete(name string) *ProjectsLocationsClustersDeleteCall {
  4789  	c := &ProjectsLocationsClustersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4790  	c.name = name
  4791  	return c
  4792  }
  4793  
  4794  // Etag sets the optional parameter "etag": The current etag of the Cluster. If
  4795  // an etag is provided and does not match the current etag of the Cluster,
  4796  // deletion will be blocked and an ABORTED error will be returned.
  4797  func (c *ProjectsLocationsClustersDeleteCall) Etag(etag string) *ProjectsLocationsClustersDeleteCall {
  4798  	c.urlParams_.Set("etag", etag)
  4799  	return c
  4800  }
  4801  
  4802  // Force sets the optional parameter "force": Whether to cascade delete child
  4803  // instances for given cluster.
  4804  func (c *ProjectsLocationsClustersDeleteCall) Force(force bool) *ProjectsLocationsClustersDeleteCall {
  4805  	c.urlParams_.Set("force", fmt.Sprint(force))
  4806  	return c
  4807  }
  4808  
  4809  // RequestId sets the optional parameter "requestId": An optional request ID to
  4810  // identify requests. Specify a unique request ID so that if you must retry
  4811  // your request, the server will know to ignore the request if it has already
  4812  // been completed. The server will guarantee that for at least 60 minutes after
  4813  // the first request. For example, consider a situation where you make an
  4814  // initial request and the request times out. If you make the request again
  4815  // with the same request ID, the server can check if original operation with
  4816  // the same request ID was received, and if so, will ignore the second request.
  4817  // This prevents clients from accidentally creating duplicate commitments. The
  4818  // request ID must be a valid UUID with the exception that zero UUID is not
  4819  // supported (00000000-0000-0000-0000-000000000000).
  4820  func (c *ProjectsLocationsClustersDeleteCall) RequestId(requestId string) *ProjectsLocationsClustersDeleteCall {
  4821  	c.urlParams_.Set("requestId", requestId)
  4822  	return c
  4823  }
  4824  
  4825  // ValidateOnly sets the optional parameter "validateOnly": If set, performs
  4826  // request validation (e.g. permission checks and any other type of
  4827  // validation), but do not actually execute the delete.
  4828  func (c *ProjectsLocationsClustersDeleteCall) ValidateOnly(validateOnly bool) *ProjectsLocationsClustersDeleteCall {
  4829  	c.urlParams_.Set("validateOnly", fmt.Sprint(validateOnly))
  4830  	return c
  4831  }
  4832  
  4833  // Fields allows partial responses to be retrieved. See
  4834  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4835  // details.
  4836  func (c *ProjectsLocationsClustersDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersDeleteCall {
  4837  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4838  	return c
  4839  }
  4840  
  4841  // Context sets the context to be used in this call's Do method.
  4842  func (c *ProjectsLocationsClustersDeleteCall) Context(ctx context.Context) *ProjectsLocationsClustersDeleteCall {
  4843  	c.ctx_ = ctx
  4844  	return c
  4845  }
  4846  
  4847  // Header returns a http.Header that can be modified by the caller to add
  4848  // headers to the request.
  4849  func (c *ProjectsLocationsClustersDeleteCall) Header() http.Header {
  4850  	if c.header_ == nil {
  4851  		c.header_ = make(http.Header)
  4852  	}
  4853  	return c.header_
  4854  }
  4855  
  4856  func (c *ProjectsLocationsClustersDeleteCall) doRequest(alt string) (*http.Response, error) {
  4857  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4858  	var body io.Reader = nil
  4859  	c.urlParams_.Set("alt", alt)
  4860  	c.urlParams_.Set("prettyPrint", "false")
  4861  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}")
  4862  	urls += "?" + c.urlParams_.Encode()
  4863  	req, err := http.NewRequest("DELETE", urls, body)
  4864  	if err != nil {
  4865  		return nil, err
  4866  	}
  4867  	req.Header = reqHeaders
  4868  	googleapi.Expand(req.URL, map[string]string{
  4869  		"name": c.name,
  4870  	})
  4871  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4872  }
  4873  
  4874  // Do executes the "alloydb.projects.locations.clusters.delete" call.
  4875  // Any non-2xx status code is an error. Response headers are in either
  4876  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  4877  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  4878  // whether the returned error was because http.StatusNotModified was returned.
  4879  func (c *ProjectsLocationsClustersDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  4880  	gensupport.SetOptions(c.urlParams_, opts...)
  4881  	res, err := c.doRequest("json")
  4882  	if res != nil && res.StatusCode == http.StatusNotModified {
  4883  		if res.Body != nil {
  4884  			res.Body.Close()
  4885  		}
  4886  		return nil, gensupport.WrapError(&googleapi.Error{
  4887  			Code:   res.StatusCode,
  4888  			Header: res.Header,
  4889  		})
  4890  	}
  4891  	if err != nil {
  4892  		return nil, err
  4893  	}
  4894  	defer googleapi.CloseBody(res)
  4895  	if err := googleapi.CheckResponse(res); err != nil {
  4896  		return nil, gensupport.WrapError(err)
  4897  	}
  4898  	ret := &Operation{
  4899  		ServerResponse: googleapi.ServerResponse{
  4900  			Header:         res.Header,
  4901  			HTTPStatusCode: res.StatusCode,
  4902  		},
  4903  	}
  4904  	target := &ret
  4905  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4906  		return nil, err
  4907  	}
  4908  	return ret, nil
  4909  }
  4910  
  4911  type ProjectsLocationsClustersGetCall struct {
  4912  	s            *Service
  4913  	name         string
  4914  	urlParams_   gensupport.URLParams
  4915  	ifNoneMatch_ string
  4916  	ctx_         context.Context
  4917  	header_      http.Header
  4918  }
  4919  
  4920  // Get: Gets details of a single Cluster.
  4921  //
  4922  //   - name: The name of the resource. For the required format, see the comment
  4923  //     on the Cluster.name field.
  4924  func (r *ProjectsLocationsClustersService) Get(name string) *ProjectsLocationsClustersGetCall {
  4925  	c := &ProjectsLocationsClustersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4926  	c.name = name
  4927  	return c
  4928  }
  4929  
  4930  // View sets the optional parameter "view": The view of the cluster to return.
  4931  // Returns all default fields if not set.
  4932  //
  4933  // Possible values:
  4934  //
  4935  //	"CLUSTER_VIEW_UNSPECIFIED" - CLUSTER_VIEW_UNSPECIFIED Not specified,
  4936  //
  4937  // equivalent to BASIC.
  4938  //
  4939  //	"CLUSTER_VIEW_BASIC" - BASIC server responses include all the relevant
  4940  //
  4941  // cluster details, excluding
  4942  // Cluster.ContinuousBackupInfo.EarliestRestorableTime and other view-specific
  4943  // fields. The default value.
  4944  //
  4945  //	"CLUSTER_VIEW_CONTINUOUS_BACKUP" - CONTINUOUS_BACKUP response returns all
  4946  //
  4947  // the fields from BASIC plus the earliest restorable time if continuous
  4948  // backups are enabled. May increase latency.
  4949  func (c *ProjectsLocationsClustersGetCall) View(view string) *ProjectsLocationsClustersGetCall {
  4950  	c.urlParams_.Set("view", view)
  4951  	return c
  4952  }
  4953  
  4954  // Fields allows partial responses to be retrieved. See
  4955  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4956  // details.
  4957  func (c *ProjectsLocationsClustersGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersGetCall {
  4958  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4959  	return c
  4960  }
  4961  
  4962  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  4963  // object's ETag matches the given value. This is useful for getting updates
  4964  // only after the object has changed since the last request.
  4965  func (c *ProjectsLocationsClustersGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsClustersGetCall {
  4966  	c.ifNoneMatch_ = entityTag
  4967  	return c
  4968  }
  4969  
  4970  // Context sets the context to be used in this call's Do method.
  4971  func (c *ProjectsLocationsClustersGetCall) Context(ctx context.Context) *ProjectsLocationsClustersGetCall {
  4972  	c.ctx_ = ctx
  4973  	return c
  4974  }
  4975  
  4976  // Header returns a http.Header that can be modified by the caller to add
  4977  // headers to the request.
  4978  func (c *ProjectsLocationsClustersGetCall) Header() http.Header {
  4979  	if c.header_ == nil {
  4980  		c.header_ = make(http.Header)
  4981  	}
  4982  	return c.header_
  4983  }
  4984  
  4985  func (c *ProjectsLocationsClustersGetCall) doRequest(alt string) (*http.Response, error) {
  4986  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4987  	if c.ifNoneMatch_ != "" {
  4988  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  4989  	}
  4990  	var body io.Reader = nil
  4991  	c.urlParams_.Set("alt", alt)
  4992  	c.urlParams_.Set("prettyPrint", "false")
  4993  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}")
  4994  	urls += "?" + c.urlParams_.Encode()
  4995  	req, err := http.NewRequest("GET", urls, body)
  4996  	if err != nil {
  4997  		return nil, err
  4998  	}
  4999  	req.Header = reqHeaders
  5000  	googleapi.Expand(req.URL, map[string]string{
  5001  		"name": c.name,
  5002  	})
  5003  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5004  }
  5005  
  5006  // Do executes the "alloydb.projects.locations.clusters.get" call.
  5007  // Any non-2xx status code is an error. Response headers are in either
  5008  // *Cluster.ServerResponse.Header or (if a response was returned at all) in
  5009  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5010  // whether the returned error was because http.StatusNotModified was returned.
  5011  func (c *ProjectsLocationsClustersGetCall) Do(opts ...googleapi.CallOption) (*Cluster, error) {
  5012  	gensupport.SetOptions(c.urlParams_, opts...)
  5013  	res, err := c.doRequest("json")
  5014  	if res != nil && res.StatusCode == http.StatusNotModified {
  5015  		if res.Body != nil {
  5016  			res.Body.Close()
  5017  		}
  5018  		return nil, gensupport.WrapError(&googleapi.Error{
  5019  			Code:   res.StatusCode,
  5020  			Header: res.Header,
  5021  		})
  5022  	}
  5023  	if err != nil {
  5024  		return nil, err
  5025  	}
  5026  	defer googleapi.CloseBody(res)
  5027  	if err := googleapi.CheckResponse(res); err != nil {
  5028  		return nil, gensupport.WrapError(err)
  5029  	}
  5030  	ret := &Cluster{
  5031  		ServerResponse: googleapi.ServerResponse{
  5032  			Header:         res.Header,
  5033  			HTTPStatusCode: res.StatusCode,
  5034  		},
  5035  	}
  5036  	target := &ret
  5037  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5038  		return nil, err
  5039  	}
  5040  	return ret, nil
  5041  }
  5042  
  5043  type ProjectsLocationsClustersListCall struct {
  5044  	s            *Service
  5045  	parent       string
  5046  	urlParams_   gensupport.URLParams
  5047  	ifNoneMatch_ string
  5048  	ctx_         context.Context
  5049  	header_      http.Header
  5050  }
  5051  
  5052  // List: Lists Clusters in a given project and location.
  5053  //
  5054  //   - parent: The name of the parent resource. For the required format, see the
  5055  //     comment on the Cluster.name field. Additionally, you can perform an
  5056  //     aggregated list operation by specifying a value with the following format:
  5057  //   - projects/{project}/locations/-.
  5058  func (r *ProjectsLocationsClustersService) List(parent string) *ProjectsLocationsClustersListCall {
  5059  	c := &ProjectsLocationsClustersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5060  	c.parent = parent
  5061  	return c
  5062  }
  5063  
  5064  // Filter sets the optional parameter "filter": Filtering results
  5065  func (c *ProjectsLocationsClustersListCall) Filter(filter string) *ProjectsLocationsClustersListCall {
  5066  	c.urlParams_.Set("filter", filter)
  5067  	return c
  5068  }
  5069  
  5070  // OrderBy sets the optional parameter "orderBy": Hint for how to order the
  5071  // results
  5072  func (c *ProjectsLocationsClustersListCall) OrderBy(orderBy string) *ProjectsLocationsClustersListCall {
  5073  	c.urlParams_.Set("orderBy", orderBy)
  5074  	return c
  5075  }
  5076  
  5077  // PageSize sets the optional parameter "pageSize": Requested page size. Server
  5078  // may return fewer items than requested. If unspecified, server will pick an
  5079  // appropriate default.
  5080  func (c *ProjectsLocationsClustersListCall) PageSize(pageSize int64) *ProjectsLocationsClustersListCall {
  5081  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  5082  	return c
  5083  }
  5084  
  5085  // PageToken sets the optional parameter "pageToken": A token identifying a
  5086  // page of results the server should return.
  5087  func (c *ProjectsLocationsClustersListCall) PageToken(pageToken string) *ProjectsLocationsClustersListCall {
  5088  	c.urlParams_.Set("pageToken", pageToken)
  5089  	return c
  5090  }
  5091  
  5092  // Fields allows partial responses to be retrieved. See
  5093  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5094  // details.
  5095  func (c *ProjectsLocationsClustersListCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersListCall {
  5096  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5097  	return c
  5098  }
  5099  
  5100  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5101  // object's ETag matches the given value. This is useful for getting updates
  5102  // only after the object has changed since the last request.
  5103  func (c *ProjectsLocationsClustersListCall) IfNoneMatch(entityTag string) *ProjectsLocationsClustersListCall {
  5104  	c.ifNoneMatch_ = entityTag
  5105  	return c
  5106  }
  5107  
  5108  // Context sets the context to be used in this call's Do method.
  5109  func (c *ProjectsLocationsClustersListCall) Context(ctx context.Context) *ProjectsLocationsClustersListCall {
  5110  	c.ctx_ = ctx
  5111  	return c
  5112  }
  5113  
  5114  // Header returns a http.Header that can be modified by the caller to add
  5115  // headers to the request.
  5116  func (c *ProjectsLocationsClustersListCall) Header() http.Header {
  5117  	if c.header_ == nil {
  5118  		c.header_ = make(http.Header)
  5119  	}
  5120  	return c.header_
  5121  }
  5122  
  5123  func (c *ProjectsLocationsClustersListCall) doRequest(alt string) (*http.Response, error) {
  5124  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5125  	if c.ifNoneMatch_ != "" {
  5126  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5127  	}
  5128  	var body io.Reader = nil
  5129  	c.urlParams_.Set("alt", alt)
  5130  	c.urlParams_.Set("prettyPrint", "false")
  5131  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+parent}/clusters")
  5132  	urls += "?" + c.urlParams_.Encode()
  5133  	req, err := http.NewRequest("GET", urls, body)
  5134  	if err != nil {
  5135  		return nil, err
  5136  	}
  5137  	req.Header = reqHeaders
  5138  	googleapi.Expand(req.URL, map[string]string{
  5139  		"parent": c.parent,
  5140  	})
  5141  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5142  }
  5143  
  5144  // Do executes the "alloydb.projects.locations.clusters.list" call.
  5145  // Any non-2xx status code is an error. Response headers are in either
  5146  // *ListClustersResponse.ServerResponse.Header or (if a response was returned
  5147  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  5148  // check whether the returned error was because http.StatusNotModified was
  5149  // returned.
  5150  func (c *ProjectsLocationsClustersListCall) Do(opts ...googleapi.CallOption) (*ListClustersResponse, error) {
  5151  	gensupport.SetOptions(c.urlParams_, opts...)
  5152  	res, err := c.doRequest("json")
  5153  	if res != nil && res.StatusCode == http.StatusNotModified {
  5154  		if res.Body != nil {
  5155  			res.Body.Close()
  5156  		}
  5157  		return nil, gensupport.WrapError(&googleapi.Error{
  5158  			Code:   res.StatusCode,
  5159  			Header: res.Header,
  5160  		})
  5161  	}
  5162  	if err != nil {
  5163  		return nil, err
  5164  	}
  5165  	defer googleapi.CloseBody(res)
  5166  	if err := googleapi.CheckResponse(res); err != nil {
  5167  		return nil, gensupport.WrapError(err)
  5168  	}
  5169  	ret := &ListClustersResponse{
  5170  		ServerResponse: googleapi.ServerResponse{
  5171  			Header:         res.Header,
  5172  			HTTPStatusCode: res.StatusCode,
  5173  		},
  5174  	}
  5175  	target := &ret
  5176  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5177  		return nil, err
  5178  	}
  5179  	return ret, nil
  5180  }
  5181  
  5182  // Pages invokes f for each page of results.
  5183  // A non-nil error returned from f will halt the iteration.
  5184  // The provided context supersedes any context provided to the Context method.
  5185  func (c *ProjectsLocationsClustersListCall) Pages(ctx context.Context, f func(*ListClustersResponse) error) error {
  5186  	c.ctx_ = ctx
  5187  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  5188  	for {
  5189  		x, err := c.Do()
  5190  		if err != nil {
  5191  			return err
  5192  		}
  5193  		if err := f(x); err != nil {
  5194  			return err
  5195  		}
  5196  		if x.NextPageToken == "" {
  5197  			return nil
  5198  		}
  5199  		c.PageToken(x.NextPageToken)
  5200  	}
  5201  }
  5202  
  5203  type ProjectsLocationsClustersPatchCall struct {
  5204  	s          *Service
  5205  	name       string
  5206  	cluster    *Cluster
  5207  	urlParams_ gensupport.URLParams
  5208  	ctx_       context.Context
  5209  	header_    http.Header
  5210  }
  5211  
  5212  // Patch: Updates the parameters of a single Cluster.
  5213  //
  5214  //   - name: Output only. The name of the cluster resource with the format: *
  5215  //     projects/{project}/locations/{region}/clusters/{cluster_id} where the
  5216  //     cluster ID segment should satisfy the regex expression `[a-z0-9-]+`. For
  5217  //     more details see https://google.aip.dev/122. The prefix of the cluster
  5218  //     resource name is the name of the parent resource: *
  5219  //     projects/{project}/locations/{region}.
  5220  func (r *ProjectsLocationsClustersService) Patch(name string, cluster *Cluster) *ProjectsLocationsClustersPatchCall {
  5221  	c := &ProjectsLocationsClustersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5222  	c.name = name
  5223  	c.cluster = cluster
  5224  	return c
  5225  }
  5226  
  5227  // AllowMissing sets the optional parameter "allowMissing": If set to true,
  5228  // update succeeds even if cluster is not found. In that case, a new cluster is
  5229  // created and `update_mask` is ignored.
  5230  func (c *ProjectsLocationsClustersPatchCall) AllowMissing(allowMissing bool) *ProjectsLocationsClustersPatchCall {
  5231  	c.urlParams_.Set("allowMissing", fmt.Sprint(allowMissing))
  5232  	return c
  5233  }
  5234  
  5235  // RequestId sets the optional parameter "requestId": An optional request ID to
  5236  // identify requests. Specify a unique request ID so that if you must retry
  5237  // your request, the server will know to ignore the request if it has already
  5238  // been completed. The server will guarantee that for at least 60 minutes since
  5239  // the first request. For example, consider a situation where you make an
  5240  // initial request and the request times out. If you make the request again
  5241  // with the same request ID, the server can check if original operation with
  5242  // the same request ID was received, and if so, will ignore the second request.
  5243  // This prevents clients from accidentally creating duplicate commitments. The
  5244  // request ID must be a valid UUID with the exception that zero UUID is not
  5245  // supported (00000000-0000-0000-0000-000000000000).
  5246  func (c *ProjectsLocationsClustersPatchCall) RequestId(requestId string) *ProjectsLocationsClustersPatchCall {
  5247  	c.urlParams_.Set("requestId", requestId)
  5248  	return c
  5249  }
  5250  
  5251  // UpdateMask sets the optional parameter "updateMask": Field mask is used to
  5252  // specify the fields to be overwritten in the Cluster resource by the update.
  5253  // The fields specified in the update_mask are relative to the resource, not
  5254  // the full request. A field will be overwritten if it is in the mask. If the
  5255  // user does not provide a mask then all fields will be overwritten.
  5256  func (c *ProjectsLocationsClustersPatchCall) UpdateMask(updateMask string) *ProjectsLocationsClustersPatchCall {
  5257  	c.urlParams_.Set("updateMask", updateMask)
  5258  	return c
  5259  }
  5260  
  5261  // ValidateOnly sets the optional parameter "validateOnly": If set, performs
  5262  // request validation (e.g. permission checks and any other type of
  5263  // validation), but do not actually execute the update request.
  5264  func (c *ProjectsLocationsClustersPatchCall) ValidateOnly(validateOnly bool) *ProjectsLocationsClustersPatchCall {
  5265  	c.urlParams_.Set("validateOnly", fmt.Sprint(validateOnly))
  5266  	return c
  5267  }
  5268  
  5269  // Fields allows partial responses to be retrieved. See
  5270  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5271  // details.
  5272  func (c *ProjectsLocationsClustersPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersPatchCall {
  5273  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5274  	return c
  5275  }
  5276  
  5277  // Context sets the context to be used in this call's Do method.
  5278  func (c *ProjectsLocationsClustersPatchCall) Context(ctx context.Context) *ProjectsLocationsClustersPatchCall {
  5279  	c.ctx_ = ctx
  5280  	return c
  5281  }
  5282  
  5283  // Header returns a http.Header that can be modified by the caller to add
  5284  // headers to the request.
  5285  func (c *ProjectsLocationsClustersPatchCall) Header() http.Header {
  5286  	if c.header_ == nil {
  5287  		c.header_ = make(http.Header)
  5288  	}
  5289  	return c.header_
  5290  }
  5291  
  5292  func (c *ProjectsLocationsClustersPatchCall) doRequest(alt string) (*http.Response, error) {
  5293  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  5294  	var body io.Reader = nil
  5295  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.cluster)
  5296  	if err != nil {
  5297  		return nil, err
  5298  	}
  5299  	c.urlParams_.Set("alt", alt)
  5300  	c.urlParams_.Set("prettyPrint", "false")
  5301  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}")
  5302  	urls += "?" + c.urlParams_.Encode()
  5303  	req, err := http.NewRequest("PATCH", urls, body)
  5304  	if err != nil {
  5305  		return nil, err
  5306  	}
  5307  	req.Header = reqHeaders
  5308  	googleapi.Expand(req.URL, map[string]string{
  5309  		"name": c.name,
  5310  	})
  5311  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5312  }
  5313  
  5314  // Do executes the "alloydb.projects.locations.clusters.patch" call.
  5315  // Any non-2xx status code is an error. Response headers are in either
  5316  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  5317  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5318  // whether the returned error was because http.StatusNotModified was returned.
  5319  func (c *ProjectsLocationsClustersPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  5320  	gensupport.SetOptions(c.urlParams_, opts...)
  5321  	res, err := c.doRequest("json")
  5322  	if res != nil && res.StatusCode == http.StatusNotModified {
  5323  		if res.Body != nil {
  5324  			res.Body.Close()
  5325  		}
  5326  		return nil, gensupport.WrapError(&googleapi.Error{
  5327  			Code:   res.StatusCode,
  5328  			Header: res.Header,
  5329  		})
  5330  	}
  5331  	if err != nil {
  5332  		return nil, err
  5333  	}
  5334  	defer googleapi.CloseBody(res)
  5335  	if err := googleapi.CheckResponse(res); err != nil {
  5336  		return nil, gensupport.WrapError(err)
  5337  	}
  5338  	ret := &Operation{
  5339  		ServerResponse: googleapi.ServerResponse{
  5340  			Header:         res.Header,
  5341  			HTTPStatusCode: res.StatusCode,
  5342  		},
  5343  	}
  5344  	target := &ret
  5345  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5346  		return nil, err
  5347  	}
  5348  	return ret, nil
  5349  }
  5350  
  5351  type ProjectsLocationsClustersPromoteCall struct {
  5352  	s                     *Service
  5353  	name                  string
  5354  	promoteclusterrequest *PromoteClusterRequest
  5355  	urlParams_            gensupport.URLParams
  5356  	ctx_                  context.Context
  5357  	header_               http.Header
  5358  }
  5359  
  5360  // Promote: Promotes a SECONDARY cluster. This turns down replication from the
  5361  // PRIMARY cluster and promotes a secondary cluster into its own standalone
  5362  // cluster. Imperative only.
  5363  //
  5364  //   - name: The name of the resource. For the required format, see the comment
  5365  //     on the Cluster.name field.
  5366  func (r *ProjectsLocationsClustersService) Promote(name string, promoteclusterrequest *PromoteClusterRequest) *ProjectsLocationsClustersPromoteCall {
  5367  	c := &ProjectsLocationsClustersPromoteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5368  	c.name = name
  5369  	c.promoteclusterrequest = promoteclusterrequest
  5370  	return c
  5371  }
  5372  
  5373  // Fields allows partial responses to be retrieved. See
  5374  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5375  // details.
  5376  func (c *ProjectsLocationsClustersPromoteCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersPromoteCall {
  5377  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5378  	return c
  5379  }
  5380  
  5381  // Context sets the context to be used in this call's Do method.
  5382  func (c *ProjectsLocationsClustersPromoteCall) Context(ctx context.Context) *ProjectsLocationsClustersPromoteCall {
  5383  	c.ctx_ = ctx
  5384  	return c
  5385  }
  5386  
  5387  // Header returns a http.Header that can be modified by the caller to add
  5388  // headers to the request.
  5389  func (c *ProjectsLocationsClustersPromoteCall) Header() http.Header {
  5390  	if c.header_ == nil {
  5391  		c.header_ = make(http.Header)
  5392  	}
  5393  	return c.header_
  5394  }
  5395  
  5396  func (c *ProjectsLocationsClustersPromoteCall) doRequest(alt string) (*http.Response, error) {
  5397  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  5398  	var body io.Reader = nil
  5399  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.promoteclusterrequest)
  5400  	if err != nil {
  5401  		return nil, err
  5402  	}
  5403  	c.urlParams_.Set("alt", alt)
  5404  	c.urlParams_.Set("prettyPrint", "false")
  5405  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}:promote")
  5406  	urls += "?" + c.urlParams_.Encode()
  5407  	req, err := http.NewRequest("POST", urls, body)
  5408  	if err != nil {
  5409  		return nil, err
  5410  	}
  5411  	req.Header = reqHeaders
  5412  	googleapi.Expand(req.URL, map[string]string{
  5413  		"name": c.name,
  5414  	})
  5415  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5416  }
  5417  
  5418  // Do executes the "alloydb.projects.locations.clusters.promote" call.
  5419  // Any non-2xx status code is an error. Response headers are in either
  5420  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  5421  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5422  // whether the returned error was because http.StatusNotModified was returned.
  5423  func (c *ProjectsLocationsClustersPromoteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  5424  	gensupport.SetOptions(c.urlParams_, opts...)
  5425  	res, err := c.doRequest("json")
  5426  	if res != nil && res.StatusCode == http.StatusNotModified {
  5427  		if res.Body != nil {
  5428  			res.Body.Close()
  5429  		}
  5430  		return nil, gensupport.WrapError(&googleapi.Error{
  5431  			Code:   res.StatusCode,
  5432  			Header: res.Header,
  5433  		})
  5434  	}
  5435  	if err != nil {
  5436  		return nil, err
  5437  	}
  5438  	defer googleapi.CloseBody(res)
  5439  	if err := googleapi.CheckResponse(res); err != nil {
  5440  		return nil, gensupport.WrapError(err)
  5441  	}
  5442  	ret := &Operation{
  5443  		ServerResponse: googleapi.ServerResponse{
  5444  			Header:         res.Header,
  5445  			HTTPStatusCode: res.StatusCode,
  5446  		},
  5447  	}
  5448  	target := &ret
  5449  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5450  		return nil, err
  5451  	}
  5452  	return ret, nil
  5453  }
  5454  
  5455  type ProjectsLocationsClustersRestoreCall struct {
  5456  	s                     *Service
  5457  	parent                string
  5458  	restoreclusterrequest *RestoreClusterRequest
  5459  	urlParams_            gensupport.URLParams
  5460  	ctx_                  context.Context
  5461  	header_               http.Header
  5462  }
  5463  
  5464  // Restore: Creates a new Cluster in a given project and location, with a
  5465  // volume restored from the provided source, either a backup ID or a
  5466  // point-in-time and a source cluster.
  5467  //
  5468  //   - parent: The name of the parent resource. For the required format, see the
  5469  //     comment on the Cluster.name field.
  5470  func (r *ProjectsLocationsClustersService) Restore(parent string, restoreclusterrequest *RestoreClusterRequest) *ProjectsLocationsClustersRestoreCall {
  5471  	c := &ProjectsLocationsClustersRestoreCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5472  	c.parent = parent
  5473  	c.restoreclusterrequest = restoreclusterrequest
  5474  	return c
  5475  }
  5476  
  5477  // Fields allows partial responses to be retrieved. See
  5478  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5479  // details.
  5480  func (c *ProjectsLocationsClustersRestoreCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersRestoreCall {
  5481  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5482  	return c
  5483  }
  5484  
  5485  // Context sets the context to be used in this call's Do method.
  5486  func (c *ProjectsLocationsClustersRestoreCall) Context(ctx context.Context) *ProjectsLocationsClustersRestoreCall {
  5487  	c.ctx_ = ctx
  5488  	return c
  5489  }
  5490  
  5491  // Header returns a http.Header that can be modified by the caller to add
  5492  // headers to the request.
  5493  func (c *ProjectsLocationsClustersRestoreCall) Header() http.Header {
  5494  	if c.header_ == nil {
  5495  		c.header_ = make(http.Header)
  5496  	}
  5497  	return c.header_
  5498  }
  5499  
  5500  func (c *ProjectsLocationsClustersRestoreCall) doRequest(alt string) (*http.Response, error) {
  5501  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  5502  	var body io.Reader = nil
  5503  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.restoreclusterrequest)
  5504  	if err != nil {
  5505  		return nil, err
  5506  	}
  5507  	c.urlParams_.Set("alt", alt)
  5508  	c.urlParams_.Set("prettyPrint", "false")
  5509  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+parent}/clusters:restore")
  5510  	urls += "?" + c.urlParams_.Encode()
  5511  	req, err := http.NewRequest("POST", urls, body)
  5512  	if err != nil {
  5513  		return nil, err
  5514  	}
  5515  	req.Header = reqHeaders
  5516  	googleapi.Expand(req.URL, map[string]string{
  5517  		"parent": c.parent,
  5518  	})
  5519  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5520  }
  5521  
  5522  // Do executes the "alloydb.projects.locations.clusters.restore" call.
  5523  // Any non-2xx status code is an error. Response headers are in either
  5524  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  5525  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5526  // whether the returned error was because http.StatusNotModified was returned.
  5527  func (c *ProjectsLocationsClustersRestoreCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  5528  	gensupport.SetOptions(c.urlParams_, opts...)
  5529  	res, err := c.doRequest("json")
  5530  	if res != nil && res.StatusCode == http.StatusNotModified {
  5531  		if res.Body != nil {
  5532  			res.Body.Close()
  5533  		}
  5534  		return nil, gensupport.WrapError(&googleapi.Error{
  5535  			Code:   res.StatusCode,
  5536  			Header: res.Header,
  5537  		})
  5538  	}
  5539  	if err != nil {
  5540  		return nil, err
  5541  	}
  5542  	defer googleapi.CloseBody(res)
  5543  	if err := googleapi.CheckResponse(res); err != nil {
  5544  		return nil, gensupport.WrapError(err)
  5545  	}
  5546  	ret := &Operation{
  5547  		ServerResponse: googleapi.ServerResponse{
  5548  			Header:         res.Header,
  5549  			HTTPStatusCode: res.StatusCode,
  5550  		},
  5551  	}
  5552  	target := &ret
  5553  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5554  		return nil, err
  5555  	}
  5556  	return ret, nil
  5557  }
  5558  
  5559  type ProjectsLocationsClustersInstancesCreateCall struct {
  5560  	s          *Service
  5561  	parent     string
  5562  	instance   *Instance
  5563  	urlParams_ gensupport.URLParams
  5564  	ctx_       context.Context
  5565  	header_    http.Header
  5566  }
  5567  
  5568  // Create: Creates a new Instance in a given project and location.
  5569  //
  5570  //   - parent: The name of the parent resource. For the required format, see the
  5571  //     comment on the Instance.name field.
  5572  func (r *ProjectsLocationsClustersInstancesService) Create(parent string, instance *Instance) *ProjectsLocationsClustersInstancesCreateCall {
  5573  	c := &ProjectsLocationsClustersInstancesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5574  	c.parent = parent
  5575  	c.instance = instance
  5576  	return c
  5577  }
  5578  
  5579  // InstanceId sets the optional parameter "instanceId": Required. ID of the
  5580  // requesting object.
  5581  func (c *ProjectsLocationsClustersInstancesCreateCall) InstanceId(instanceId string) *ProjectsLocationsClustersInstancesCreateCall {
  5582  	c.urlParams_.Set("instanceId", instanceId)
  5583  	return c
  5584  }
  5585  
  5586  // RequestId sets the optional parameter "requestId": An optional request ID to
  5587  // identify requests. Specify a unique request ID so that if you must retry
  5588  // your request, the server will know to ignore the request if it has already
  5589  // been completed. The server will guarantee that for at least 60 minutes since
  5590  // the first request. For example, consider a situation where you make an
  5591  // initial request and the request times out. If you make the request again
  5592  // with the same request ID, the server can check if original operation with
  5593  // the same request ID was received, and if so, will ignore the second request.
  5594  // This prevents clients from accidentally creating duplicate commitments. The
  5595  // request ID must be a valid UUID with the exception that zero UUID is not
  5596  // supported (00000000-0000-0000-0000-000000000000).
  5597  func (c *ProjectsLocationsClustersInstancesCreateCall) RequestId(requestId string) *ProjectsLocationsClustersInstancesCreateCall {
  5598  	c.urlParams_.Set("requestId", requestId)
  5599  	return c
  5600  }
  5601  
  5602  // ValidateOnly sets the optional parameter "validateOnly": If set, performs
  5603  // request validation (e.g. permission checks and any other type of
  5604  // validation), but do not actually execute the create request.
  5605  func (c *ProjectsLocationsClustersInstancesCreateCall) ValidateOnly(validateOnly bool) *ProjectsLocationsClustersInstancesCreateCall {
  5606  	c.urlParams_.Set("validateOnly", fmt.Sprint(validateOnly))
  5607  	return c
  5608  }
  5609  
  5610  // Fields allows partial responses to be retrieved. See
  5611  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5612  // details.
  5613  func (c *ProjectsLocationsClustersInstancesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersInstancesCreateCall {
  5614  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5615  	return c
  5616  }
  5617  
  5618  // Context sets the context to be used in this call's Do method.
  5619  func (c *ProjectsLocationsClustersInstancesCreateCall) Context(ctx context.Context) *ProjectsLocationsClustersInstancesCreateCall {
  5620  	c.ctx_ = ctx
  5621  	return c
  5622  }
  5623  
  5624  // Header returns a http.Header that can be modified by the caller to add
  5625  // headers to the request.
  5626  func (c *ProjectsLocationsClustersInstancesCreateCall) Header() http.Header {
  5627  	if c.header_ == nil {
  5628  		c.header_ = make(http.Header)
  5629  	}
  5630  	return c.header_
  5631  }
  5632  
  5633  func (c *ProjectsLocationsClustersInstancesCreateCall) doRequest(alt string) (*http.Response, error) {
  5634  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  5635  	var body io.Reader = nil
  5636  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.instance)
  5637  	if err != nil {
  5638  		return nil, err
  5639  	}
  5640  	c.urlParams_.Set("alt", alt)
  5641  	c.urlParams_.Set("prettyPrint", "false")
  5642  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+parent}/instances")
  5643  	urls += "?" + c.urlParams_.Encode()
  5644  	req, err := http.NewRequest("POST", urls, body)
  5645  	if err != nil {
  5646  		return nil, err
  5647  	}
  5648  	req.Header = reqHeaders
  5649  	googleapi.Expand(req.URL, map[string]string{
  5650  		"parent": c.parent,
  5651  	})
  5652  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5653  }
  5654  
  5655  // Do executes the "alloydb.projects.locations.clusters.instances.create" call.
  5656  // Any non-2xx status code is an error. Response headers are in either
  5657  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  5658  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5659  // whether the returned error was because http.StatusNotModified was returned.
  5660  func (c *ProjectsLocationsClustersInstancesCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  5661  	gensupport.SetOptions(c.urlParams_, opts...)
  5662  	res, err := c.doRequest("json")
  5663  	if res != nil && res.StatusCode == http.StatusNotModified {
  5664  		if res.Body != nil {
  5665  			res.Body.Close()
  5666  		}
  5667  		return nil, gensupport.WrapError(&googleapi.Error{
  5668  			Code:   res.StatusCode,
  5669  			Header: res.Header,
  5670  		})
  5671  	}
  5672  	if err != nil {
  5673  		return nil, err
  5674  	}
  5675  	defer googleapi.CloseBody(res)
  5676  	if err := googleapi.CheckResponse(res); err != nil {
  5677  		return nil, gensupport.WrapError(err)
  5678  	}
  5679  	ret := &Operation{
  5680  		ServerResponse: googleapi.ServerResponse{
  5681  			Header:         res.Header,
  5682  			HTTPStatusCode: res.StatusCode,
  5683  		},
  5684  	}
  5685  	target := &ret
  5686  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5687  		return nil, err
  5688  	}
  5689  	return ret, nil
  5690  }
  5691  
  5692  type ProjectsLocationsClustersInstancesCreatesecondaryCall struct {
  5693  	s          *Service
  5694  	parent     string
  5695  	instance   *Instance
  5696  	urlParams_ gensupport.URLParams
  5697  	ctx_       context.Context
  5698  	header_    http.Header
  5699  }
  5700  
  5701  // Createsecondary: Creates a new SECONDARY Instance in a given project and
  5702  // location.
  5703  //
  5704  //   - parent: The name of the parent resource. For the required format, see the
  5705  //     comment on the Instance.name field.
  5706  func (r *ProjectsLocationsClustersInstancesService) Createsecondary(parent string, instance *Instance) *ProjectsLocationsClustersInstancesCreatesecondaryCall {
  5707  	c := &ProjectsLocationsClustersInstancesCreatesecondaryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5708  	c.parent = parent
  5709  	c.instance = instance
  5710  	return c
  5711  }
  5712  
  5713  // InstanceId sets the optional parameter "instanceId": Required. ID of the
  5714  // requesting object.
  5715  func (c *ProjectsLocationsClustersInstancesCreatesecondaryCall) InstanceId(instanceId string) *ProjectsLocationsClustersInstancesCreatesecondaryCall {
  5716  	c.urlParams_.Set("instanceId", instanceId)
  5717  	return c
  5718  }
  5719  
  5720  // RequestId sets the optional parameter "requestId": An optional request ID to
  5721  // identify requests. Specify a unique request ID so that if you must retry
  5722  // your request, the server will know to ignore the request if it has already
  5723  // been completed. The server will guarantee that for at least 60 minutes since
  5724  // the first request. For example, consider a situation where you make an
  5725  // initial request and the request times out. If you make the request again
  5726  // with the same request ID, the server can check if original operation with
  5727  // the same request ID was received, and if so, will ignore the second request.
  5728  // This prevents clients from accidentally creating duplicate commitments. The
  5729  // request ID must be a valid UUID with the exception that zero UUID is not
  5730  // supported (00000000-0000-0000-0000-000000000000).
  5731  func (c *ProjectsLocationsClustersInstancesCreatesecondaryCall) RequestId(requestId string) *ProjectsLocationsClustersInstancesCreatesecondaryCall {
  5732  	c.urlParams_.Set("requestId", requestId)
  5733  	return c
  5734  }
  5735  
  5736  // ValidateOnly sets the optional parameter "validateOnly": If set, performs
  5737  // request validation (e.g. permission checks and any other type of
  5738  // validation), but do not actually execute the create request.
  5739  func (c *ProjectsLocationsClustersInstancesCreatesecondaryCall) ValidateOnly(validateOnly bool) *ProjectsLocationsClustersInstancesCreatesecondaryCall {
  5740  	c.urlParams_.Set("validateOnly", fmt.Sprint(validateOnly))
  5741  	return c
  5742  }
  5743  
  5744  // Fields allows partial responses to be retrieved. See
  5745  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5746  // details.
  5747  func (c *ProjectsLocationsClustersInstancesCreatesecondaryCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersInstancesCreatesecondaryCall {
  5748  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5749  	return c
  5750  }
  5751  
  5752  // Context sets the context to be used in this call's Do method.
  5753  func (c *ProjectsLocationsClustersInstancesCreatesecondaryCall) Context(ctx context.Context) *ProjectsLocationsClustersInstancesCreatesecondaryCall {
  5754  	c.ctx_ = ctx
  5755  	return c
  5756  }
  5757  
  5758  // Header returns a http.Header that can be modified by the caller to add
  5759  // headers to the request.
  5760  func (c *ProjectsLocationsClustersInstancesCreatesecondaryCall) Header() http.Header {
  5761  	if c.header_ == nil {
  5762  		c.header_ = make(http.Header)
  5763  	}
  5764  	return c.header_
  5765  }
  5766  
  5767  func (c *ProjectsLocationsClustersInstancesCreatesecondaryCall) doRequest(alt string) (*http.Response, error) {
  5768  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  5769  	var body io.Reader = nil
  5770  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.instance)
  5771  	if err != nil {
  5772  		return nil, err
  5773  	}
  5774  	c.urlParams_.Set("alt", alt)
  5775  	c.urlParams_.Set("prettyPrint", "false")
  5776  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+parent}/instances:createsecondary")
  5777  	urls += "?" + c.urlParams_.Encode()
  5778  	req, err := http.NewRequest("POST", urls, body)
  5779  	if err != nil {
  5780  		return nil, err
  5781  	}
  5782  	req.Header = reqHeaders
  5783  	googleapi.Expand(req.URL, map[string]string{
  5784  		"parent": c.parent,
  5785  	})
  5786  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5787  }
  5788  
  5789  // Do executes the "alloydb.projects.locations.clusters.instances.createsecondary" call.
  5790  // Any non-2xx status code is an error. Response headers are in either
  5791  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  5792  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5793  // whether the returned error was because http.StatusNotModified was returned.
  5794  func (c *ProjectsLocationsClustersInstancesCreatesecondaryCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  5795  	gensupport.SetOptions(c.urlParams_, opts...)
  5796  	res, err := c.doRequest("json")
  5797  	if res != nil && res.StatusCode == http.StatusNotModified {
  5798  		if res.Body != nil {
  5799  			res.Body.Close()
  5800  		}
  5801  		return nil, gensupport.WrapError(&googleapi.Error{
  5802  			Code:   res.StatusCode,
  5803  			Header: res.Header,
  5804  		})
  5805  	}
  5806  	if err != nil {
  5807  		return nil, err
  5808  	}
  5809  	defer googleapi.CloseBody(res)
  5810  	if err := googleapi.CheckResponse(res); err != nil {
  5811  		return nil, gensupport.WrapError(err)
  5812  	}
  5813  	ret := &Operation{
  5814  		ServerResponse: googleapi.ServerResponse{
  5815  			Header:         res.Header,
  5816  			HTTPStatusCode: res.StatusCode,
  5817  		},
  5818  	}
  5819  	target := &ret
  5820  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5821  		return nil, err
  5822  	}
  5823  	return ret, nil
  5824  }
  5825  
  5826  type ProjectsLocationsClustersInstancesDeleteCall struct {
  5827  	s          *Service
  5828  	name       string
  5829  	urlParams_ gensupport.URLParams
  5830  	ctx_       context.Context
  5831  	header_    http.Header
  5832  }
  5833  
  5834  // Delete: Deletes a single Instance.
  5835  //
  5836  //   - name: The name of the resource. For the required format, see the comment
  5837  //     on the Instance.name field.
  5838  func (r *ProjectsLocationsClustersInstancesService) Delete(name string) *ProjectsLocationsClustersInstancesDeleteCall {
  5839  	c := &ProjectsLocationsClustersInstancesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5840  	c.name = name
  5841  	return c
  5842  }
  5843  
  5844  // Etag sets the optional parameter "etag": The current etag of the Instance.
  5845  // If an etag is provided and does not match the current etag of the Instance,
  5846  // deletion will be blocked and an ABORTED error will be returned.
  5847  func (c *ProjectsLocationsClustersInstancesDeleteCall) Etag(etag string) *ProjectsLocationsClustersInstancesDeleteCall {
  5848  	c.urlParams_.Set("etag", etag)
  5849  	return c
  5850  }
  5851  
  5852  // RequestId sets the optional parameter "requestId": An optional request ID to
  5853  // identify requests. Specify a unique request ID so that if you must retry
  5854  // your request, the server will know to ignore the request if it has already
  5855  // been completed. The server will guarantee that for at least 60 minutes after
  5856  // the first request. For example, consider a situation where you make an
  5857  // initial request and the request times out. If you make the request again
  5858  // with the same request ID, the server can check if original operation with
  5859  // the same request ID was received, and if so, will ignore the second request.
  5860  // This prevents clients from accidentally creating duplicate commitments. The
  5861  // request ID must be a valid UUID with the exception that zero UUID is not
  5862  // supported (00000000-0000-0000-0000-000000000000).
  5863  func (c *ProjectsLocationsClustersInstancesDeleteCall) RequestId(requestId string) *ProjectsLocationsClustersInstancesDeleteCall {
  5864  	c.urlParams_.Set("requestId", requestId)
  5865  	return c
  5866  }
  5867  
  5868  // ValidateOnly sets the optional parameter "validateOnly": If set, performs
  5869  // request validation (e.g. permission checks and any other type of
  5870  // validation), but do not actually execute the delete.
  5871  func (c *ProjectsLocationsClustersInstancesDeleteCall) ValidateOnly(validateOnly bool) *ProjectsLocationsClustersInstancesDeleteCall {
  5872  	c.urlParams_.Set("validateOnly", fmt.Sprint(validateOnly))
  5873  	return c
  5874  }
  5875  
  5876  // Fields allows partial responses to be retrieved. See
  5877  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5878  // details.
  5879  func (c *ProjectsLocationsClustersInstancesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersInstancesDeleteCall {
  5880  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5881  	return c
  5882  }
  5883  
  5884  // Context sets the context to be used in this call's Do method.
  5885  func (c *ProjectsLocationsClustersInstancesDeleteCall) Context(ctx context.Context) *ProjectsLocationsClustersInstancesDeleteCall {
  5886  	c.ctx_ = ctx
  5887  	return c
  5888  }
  5889  
  5890  // Header returns a http.Header that can be modified by the caller to add
  5891  // headers to the request.
  5892  func (c *ProjectsLocationsClustersInstancesDeleteCall) Header() http.Header {
  5893  	if c.header_ == nil {
  5894  		c.header_ = make(http.Header)
  5895  	}
  5896  	return c.header_
  5897  }
  5898  
  5899  func (c *ProjectsLocationsClustersInstancesDeleteCall) doRequest(alt string) (*http.Response, error) {
  5900  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5901  	var body io.Reader = nil
  5902  	c.urlParams_.Set("alt", alt)
  5903  	c.urlParams_.Set("prettyPrint", "false")
  5904  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}")
  5905  	urls += "?" + c.urlParams_.Encode()
  5906  	req, err := http.NewRequest("DELETE", urls, body)
  5907  	if err != nil {
  5908  		return nil, err
  5909  	}
  5910  	req.Header = reqHeaders
  5911  	googleapi.Expand(req.URL, map[string]string{
  5912  		"name": c.name,
  5913  	})
  5914  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5915  }
  5916  
  5917  // Do executes the "alloydb.projects.locations.clusters.instances.delete" call.
  5918  // Any non-2xx status code is an error. Response headers are in either
  5919  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  5920  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5921  // whether the returned error was because http.StatusNotModified was returned.
  5922  func (c *ProjectsLocationsClustersInstancesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  5923  	gensupport.SetOptions(c.urlParams_, opts...)
  5924  	res, err := c.doRequest("json")
  5925  	if res != nil && res.StatusCode == http.StatusNotModified {
  5926  		if res.Body != nil {
  5927  			res.Body.Close()
  5928  		}
  5929  		return nil, gensupport.WrapError(&googleapi.Error{
  5930  			Code:   res.StatusCode,
  5931  			Header: res.Header,
  5932  		})
  5933  	}
  5934  	if err != nil {
  5935  		return nil, err
  5936  	}
  5937  	defer googleapi.CloseBody(res)
  5938  	if err := googleapi.CheckResponse(res); err != nil {
  5939  		return nil, gensupport.WrapError(err)
  5940  	}
  5941  	ret := &Operation{
  5942  		ServerResponse: googleapi.ServerResponse{
  5943  			Header:         res.Header,
  5944  			HTTPStatusCode: res.StatusCode,
  5945  		},
  5946  	}
  5947  	target := &ret
  5948  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5949  		return nil, err
  5950  	}
  5951  	return ret, nil
  5952  }
  5953  
  5954  type ProjectsLocationsClustersInstancesFailoverCall struct {
  5955  	s                       *Service
  5956  	name                    string
  5957  	failoverinstancerequest *FailoverInstanceRequest
  5958  	urlParams_              gensupport.URLParams
  5959  	ctx_                    context.Context
  5960  	header_                 http.Header
  5961  }
  5962  
  5963  // Failover: Forces a Failover for a highly available instance. Failover
  5964  // promotes the HA standby instance as the new primary. Imperative only.
  5965  //
  5966  //   - name: The name of the resource. For the required format, see the comment
  5967  //     on the Instance.name field.
  5968  func (r *ProjectsLocationsClustersInstancesService) Failover(name string, failoverinstancerequest *FailoverInstanceRequest) *ProjectsLocationsClustersInstancesFailoverCall {
  5969  	c := &ProjectsLocationsClustersInstancesFailoverCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5970  	c.name = name
  5971  	c.failoverinstancerequest = failoverinstancerequest
  5972  	return c
  5973  }
  5974  
  5975  // Fields allows partial responses to be retrieved. See
  5976  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5977  // details.
  5978  func (c *ProjectsLocationsClustersInstancesFailoverCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersInstancesFailoverCall {
  5979  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5980  	return c
  5981  }
  5982  
  5983  // Context sets the context to be used in this call's Do method.
  5984  func (c *ProjectsLocationsClustersInstancesFailoverCall) Context(ctx context.Context) *ProjectsLocationsClustersInstancesFailoverCall {
  5985  	c.ctx_ = ctx
  5986  	return c
  5987  }
  5988  
  5989  // Header returns a http.Header that can be modified by the caller to add
  5990  // headers to the request.
  5991  func (c *ProjectsLocationsClustersInstancesFailoverCall) Header() http.Header {
  5992  	if c.header_ == nil {
  5993  		c.header_ = make(http.Header)
  5994  	}
  5995  	return c.header_
  5996  }
  5997  
  5998  func (c *ProjectsLocationsClustersInstancesFailoverCall) doRequest(alt string) (*http.Response, error) {
  5999  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6000  	var body io.Reader = nil
  6001  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.failoverinstancerequest)
  6002  	if err != nil {
  6003  		return nil, err
  6004  	}
  6005  	c.urlParams_.Set("alt", alt)
  6006  	c.urlParams_.Set("prettyPrint", "false")
  6007  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}:failover")
  6008  	urls += "?" + c.urlParams_.Encode()
  6009  	req, err := http.NewRequest("POST", urls, body)
  6010  	if err != nil {
  6011  		return nil, err
  6012  	}
  6013  	req.Header = reqHeaders
  6014  	googleapi.Expand(req.URL, map[string]string{
  6015  		"name": c.name,
  6016  	})
  6017  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6018  }
  6019  
  6020  // Do executes the "alloydb.projects.locations.clusters.instances.failover" call.
  6021  // Any non-2xx status code is an error. Response headers are in either
  6022  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  6023  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6024  // whether the returned error was because http.StatusNotModified was returned.
  6025  func (c *ProjectsLocationsClustersInstancesFailoverCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  6026  	gensupport.SetOptions(c.urlParams_, opts...)
  6027  	res, err := c.doRequest("json")
  6028  	if res != nil && res.StatusCode == http.StatusNotModified {
  6029  		if res.Body != nil {
  6030  			res.Body.Close()
  6031  		}
  6032  		return nil, gensupport.WrapError(&googleapi.Error{
  6033  			Code:   res.StatusCode,
  6034  			Header: res.Header,
  6035  		})
  6036  	}
  6037  	if err != nil {
  6038  		return nil, err
  6039  	}
  6040  	defer googleapi.CloseBody(res)
  6041  	if err := googleapi.CheckResponse(res); err != nil {
  6042  		return nil, gensupport.WrapError(err)
  6043  	}
  6044  	ret := &Operation{
  6045  		ServerResponse: googleapi.ServerResponse{
  6046  			Header:         res.Header,
  6047  			HTTPStatusCode: res.StatusCode,
  6048  		},
  6049  	}
  6050  	target := &ret
  6051  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6052  		return nil, err
  6053  	}
  6054  	return ret, nil
  6055  }
  6056  
  6057  type ProjectsLocationsClustersInstancesGetCall struct {
  6058  	s            *Service
  6059  	name         string
  6060  	urlParams_   gensupport.URLParams
  6061  	ifNoneMatch_ string
  6062  	ctx_         context.Context
  6063  	header_      http.Header
  6064  }
  6065  
  6066  // Get: Gets details of a single Instance.
  6067  //
  6068  //   - name: The name of the resource. For the required format, see the comment
  6069  //     on the Instance.name field.
  6070  func (r *ProjectsLocationsClustersInstancesService) Get(name string) *ProjectsLocationsClustersInstancesGetCall {
  6071  	c := &ProjectsLocationsClustersInstancesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6072  	c.name = name
  6073  	return c
  6074  }
  6075  
  6076  // View sets the optional parameter "view": The view of the instance to return.
  6077  //
  6078  // Possible values:
  6079  //
  6080  //	"INSTANCE_VIEW_UNSPECIFIED" - INSTANCE_VIEW_UNSPECIFIED Not specified,
  6081  //
  6082  // equivalent to BASIC.
  6083  //
  6084  //	"INSTANCE_VIEW_BASIC" - BASIC server responses for a primary or read
  6085  //
  6086  // instance include all the relevant instance details, excluding the details of
  6087  // each node in the instance. The default value.
  6088  //
  6089  //	"INSTANCE_VIEW_FULL" - FULL response is equivalent to BASIC for primary
  6090  //
  6091  // instance (for now). For read pool instance, this includes details of each
  6092  // node in the pool.
  6093  func (c *ProjectsLocationsClustersInstancesGetCall) View(view string) *ProjectsLocationsClustersInstancesGetCall {
  6094  	c.urlParams_.Set("view", view)
  6095  	return c
  6096  }
  6097  
  6098  // Fields allows partial responses to be retrieved. See
  6099  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6100  // details.
  6101  func (c *ProjectsLocationsClustersInstancesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersInstancesGetCall {
  6102  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6103  	return c
  6104  }
  6105  
  6106  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  6107  // object's ETag matches the given value. This is useful for getting updates
  6108  // only after the object has changed since the last request.
  6109  func (c *ProjectsLocationsClustersInstancesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsClustersInstancesGetCall {
  6110  	c.ifNoneMatch_ = entityTag
  6111  	return c
  6112  }
  6113  
  6114  // Context sets the context to be used in this call's Do method.
  6115  func (c *ProjectsLocationsClustersInstancesGetCall) Context(ctx context.Context) *ProjectsLocationsClustersInstancesGetCall {
  6116  	c.ctx_ = ctx
  6117  	return c
  6118  }
  6119  
  6120  // Header returns a http.Header that can be modified by the caller to add
  6121  // headers to the request.
  6122  func (c *ProjectsLocationsClustersInstancesGetCall) Header() http.Header {
  6123  	if c.header_ == nil {
  6124  		c.header_ = make(http.Header)
  6125  	}
  6126  	return c.header_
  6127  }
  6128  
  6129  func (c *ProjectsLocationsClustersInstancesGetCall) doRequest(alt string) (*http.Response, error) {
  6130  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6131  	if c.ifNoneMatch_ != "" {
  6132  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  6133  	}
  6134  	var body io.Reader = nil
  6135  	c.urlParams_.Set("alt", alt)
  6136  	c.urlParams_.Set("prettyPrint", "false")
  6137  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}")
  6138  	urls += "?" + c.urlParams_.Encode()
  6139  	req, err := http.NewRequest("GET", urls, body)
  6140  	if err != nil {
  6141  		return nil, err
  6142  	}
  6143  	req.Header = reqHeaders
  6144  	googleapi.Expand(req.URL, map[string]string{
  6145  		"name": c.name,
  6146  	})
  6147  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6148  }
  6149  
  6150  // Do executes the "alloydb.projects.locations.clusters.instances.get" call.
  6151  // Any non-2xx status code is an error. Response headers are in either
  6152  // *Instance.ServerResponse.Header or (if a response was returned at all) in
  6153  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6154  // whether the returned error was because http.StatusNotModified was returned.
  6155  func (c *ProjectsLocationsClustersInstancesGetCall) Do(opts ...googleapi.CallOption) (*Instance, error) {
  6156  	gensupport.SetOptions(c.urlParams_, opts...)
  6157  	res, err := c.doRequest("json")
  6158  	if res != nil && res.StatusCode == http.StatusNotModified {
  6159  		if res.Body != nil {
  6160  			res.Body.Close()
  6161  		}
  6162  		return nil, gensupport.WrapError(&googleapi.Error{
  6163  			Code:   res.StatusCode,
  6164  			Header: res.Header,
  6165  		})
  6166  	}
  6167  	if err != nil {
  6168  		return nil, err
  6169  	}
  6170  	defer googleapi.CloseBody(res)
  6171  	if err := googleapi.CheckResponse(res); err != nil {
  6172  		return nil, gensupport.WrapError(err)
  6173  	}
  6174  	ret := &Instance{
  6175  		ServerResponse: googleapi.ServerResponse{
  6176  			Header:         res.Header,
  6177  			HTTPStatusCode: res.StatusCode,
  6178  		},
  6179  	}
  6180  	target := &ret
  6181  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6182  		return nil, err
  6183  	}
  6184  	return ret, nil
  6185  }
  6186  
  6187  type ProjectsLocationsClustersInstancesGetConnectionInfoCall struct {
  6188  	s            *Service
  6189  	parent       string
  6190  	urlParams_   gensupport.URLParams
  6191  	ifNoneMatch_ string
  6192  	ctx_         context.Context
  6193  	header_      http.Header
  6194  }
  6195  
  6196  // GetConnectionInfo: Get instance metadata used for a connection.
  6197  //
  6198  //   - parent: The name of the parent resource. The required format is:
  6199  //     projects/{project}/locations/{location}/clusters/{cluster}/instances/{insta
  6200  //     nce}.
  6201  func (r *ProjectsLocationsClustersInstancesService) GetConnectionInfo(parent string) *ProjectsLocationsClustersInstancesGetConnectionInfoCall {
  6202  	c := &ProjectsLocationsClustersInstancesGetConnectionInfoCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6203  	c.parent = parent
  6204  	return c
  6205  }
  6206  
  6207  // RequestId sets the optional parameter "requestId": An optional request ID to
  6208  // identify requests. Specify a unique request ID so that if you must retry
  6209  // your request, the server will know to ignore the request if it has already
  6210  // been completed. The server will guarantee that for at least 60 minutes after
  6211  // the first request. For example, consider a situation where you make an
  6212  // initial request and the request times out. If you make the request again
  6213  // with the same request ID, the server can check if original operation with
  6214  // the same request ID was received, and if so, will ignore the second request.
  6215  // This prevents clients from accidentally creating duplicate commitments. The
  6216  // request ID must be a valid UUID with the exception that zero UUID is not
  6217  // supported (00000000-0000-0000-0000-000000000000).
  6218  func (c *ProjectsLocationsClustersInstancesGetConnectionInfoCall) RequestId(requestId string) *ProjectsLocationsClustersInstancesGetConnectionInfoCall {
  6219  	c.urlParams_.Set("requestId", requestId)
  6220  	return c
  6221  }
  6222  
  6223  // Fields allows partial responses to be retrieved. See
  6224  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6225  // details.
  6226  func (c *ProjectsLocationsClustersInstancesGetConnectionInfoCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersInstancesGetConnectionInfoCall {
  6227  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6228  	return c
  6229  }
  6230  
  6231  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  6232  // object's ETag matches the given value. This is useful for getting updates
  6233  // only after the object has changed since the last request.
  6234  func (c *ProjectsLocationsClustersInstancesGetConnectionInfoCall) IfNoneMatch(entityTag string) *ProjectsLocationsClustersInstancesGetConnectionInfoCall {
  6235  	c.ifNoneMatch_ = entityTag
  6236  	return c
  6237  }
  6238  
  6239  // Context sets the context to be used in this call's Do method.
  6240  func (c *ProjectsLocationsClustersInstancesGetConnectionInfoCall) Context(ctx context.Context) *ProjectsLocationsClustersInstancesGetConnectionInfoCall {
  6241  	c.ctx_ = ctx
  6242  	return c
  6243  }
  6244  
  6245  // Header returns a http.Header that can be modified by the caller to add
  6246  // headers to the request.
  6247  func (c *ProjectsLocationsClustersInstancesGetConnectionInfoCall) Header() http.Header {
  6248  	if c.header_ == nil {
  6249  		c.header_ = make(http.Header)
  6250  	}
  6251  	return c.header_
  6252  }
  6253  
  6254  func (c *ProjectsLocationsClustersInstancesGetConnectionInfoCall) doRequest(alt string) (*http.Response, error) {
  6255  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6256  	if c.ifNoneMatch_ != "" {
  6257  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  6258  	}
  6259  	var body io.Reader = nil
  6260  	c.urlParams_.Set("alt", alt)
  6261  	c.urlParams_.Set("prettyPrint", "false")
  6262  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+parent}/connectionInfo")
  6263  	urls += "?" + c.urlParams_.Encode()
  6264  	req, err := http.NewRequest("GET", urls, body)
  6265  	if err != nil {
  6266  		return nil, err
  6267  	}
  6268  	req.Header = reqHeaders
  6269  	googleapi.Expand(req.URL, map[string]string{
  6270  		"parent": c.parent,
  6271  	})
  6272  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6273  }
  6274  
  6275  // Do executes the "alloydb.projects.locations.clusters.instances.getConnectionInfo" call.
  6276  // Any non-2xx status code is an error. Response headers are in either
  6277  // *ConnectionInfo.ServerResponse.Header or (if a response was returned at all)
  6278  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6279  // whether the returned error was because http.StatusNotModified was returned.
  6280  func (c *ProjectsLocationsClustersInstancesGetConnectionInfoCall) Do(opts ...googleapi.CallOption) (*ConnectionInfo, error) {
  6281  	gensupport.SetOptions(c.urlParams_, opts...)
  6282  	res, err := c.doRequest("json")
  6283  	if res != nil && res.StatusCode == http.StatusNotModified {
  6284  		if res.Body != nil {
  6285  			res.Body.Close()
  6286  		}
  6287  		return nil, gensupport.WrapError(&googleapi.Error{
  6288  			Code:   res.StatusCode,
  6289  			Header: res.Header,
  6290  		})
  6291  	}
  6292  	if err != nil {
  6293  		return nil, err
  6294  	}
  6295  	defer googleapi.CloseBody(res)
  6296  	if err := googleapi.CheckResponse(res); err != nil {
  6297  		return nil, gensupport.WrapError(err)
  6298  	}
  6299  	ret := &ConnectionInfo{
  6300  		ServerResponse: googleapi.ServerResponse{
  6301  			Header:         res.Header,
  6302  			HTTPStatusCode: res.StatusCode,
  6303  		},
  6304  	}
  6305  	target := &ret
  6306  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6307  		return nil, err
  6308  	}
  6309  	return ret, nil
  6310  }
  6311  
  6312  type ProjectsLocationsClustersInstancesInjectFaultCall struct {
  6313  	s                  *Service
  6314  	name               string
  6315  	injectfaultrequest *InjectFaultRequest
  6316  	urlParams_         gensupport.URLParams
  6317  	ctx_               context.Context
  6318  	header_            http.Header
  6319  }
  6320  
  6321  // InjectFault: Injects fault in an instance. Imperative only.
  6322  //
  6323  //   - name: The name of the resource. For the required format, see the comment
  6324  //     on the Instance.name field.
  6325  func (r *ProjectsLocationsClustersInstancesService) InjectFault(name string, injectfaultrequest *InjectFaultRequest) *ProjectsLocationsClustersInstancesInjectFaultCall {
  6326  	c := &ProjectsLocationsClustersInstancesInjectFaultCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6327  	c.name = name
  6328  	c.injectfaultrequest = injectfaultrequest
  6329  	return c
  6330  }
  6331  
  6332  // Fields allows partial responses to be retrieved. See
  6333  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6334  // details.
  6335  func (c *ProjectsLocationsClustersInstancesInjectFaultCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersInstancesInjectFaultCall {
  6336  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6337  	return c
  6338  }
  6339  
  6340  // Context sets the context to be used in this call's Do method.
  6341  func (c *ProjectsLocationsClustersInstancesInjectFaultCall) Context(ctx context.Context) *ProjectsLocationsClustersInstancesInjectFaultCall {
  6342  	c.ctx_ = ctx
  6343  	return c
  6344  }
  6345  
  6346  // Header returns a http.Header that can be modified by the caller to add
  6347  // headers to the request.
  6348  func (c *ProjectsLocationsClustersInstancesInjectFaultCall) Header() http.Header {
  6349  	if c.header_ == nil {
  6350  		c.header_ = make(http.Header)
  6351  	}
  6352  	return c.header_
  6353  }
  6354  
  6355  func (c *ProjectsLocationsClustersInstancesInjectFaultCall) doRequest(alt string) (*http.Response, error) {
  6356  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6357  	var body io.Reader = nil
  6358  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.injectfaultrequest)
  6359  	if err != nil {
  6360  		return nil, err
  6361  	}
  6362  	c.urlParams_.Set("alt", alt)
  6363  	c.urlParams_.Set("prettyPrint", "false")
  6364  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}:injectFault")
  6365  	urls += "?" + c.urlParams_.Encode()
  6366  	req, err := http.NewRequest("POST", urls, body)
  6367  	if err != nil {
  6368  		return nil, err
  6369  	}
  6370  	req.Header = reqHeaders
  6371  	googleapi.Expand(req.URL, map[string]string{
  6372  		"name": c.name,
  6373  	})
  6374  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6375  }
  6376  
  6377  // Do executes the "alloydb.projects.locations.clusters.instances.injectFault" call.
  6378  // Any non-2xx status code is an error. Response headers are in either
  6379  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  6380  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6381  // whether the returned error was because http.StatusNotModified was returned.
  6382  func (c *ProjectsLocationsClustersInstancesInjectFaultCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  6383  	gensupport.SetOptions(c.urlParams_, opts...)
  6384  	res, err := c.doRequest("json")
  6385  	if res != nil && res.StatusCode == http.StatusNotModified {
  6386  		if res.Body != nil {
  6387  			res.Body.Close()
  6388  		}
  6389  		return nil, gensupport.WrapError(&googleapi.Error{
  6390  			Code:   res.StatusCode,
  6391  			Header: res.Header,
  6392  		})
  6393  	}
  6394  	if err != nil {
  6395  		return nil, err
  6396  	}
  6397  	defer googleapi.CloseBody(res)
  6398  	if err := googleapi.CheckResponse(res); err != nil {
  6399  		return nil, gensupport.WrapError(err)
  6400  	}
  6401  	ret := &Operation{
  6402  		ServerResponse: googleapi.ServerResponse{
  6403  			Header:         res.Header,
  6404  			HTTPStatusCode: res.StatusCode,
  6405  		},
  6406  	}
  6407  	target := &ret
  6408  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6409  		return nil, err
  6410  	}
  6411  	return ret, nil
  6412  }
  6413  
  6414  type ProjectsLocationsClustersInstancesListCall struct {
  6415  	s            *Service
  6416  	parent       string
  6417  	urlParams_   gensupport.URLParams
  6418  	ifNoneMatch_ string
  6419  	ctx_         context.Context
  6420  	header_      http.Header
  6421  }
  6422  
  6423  // List: Lists Instances in a given project and location.
  6424  //
  6425  //   - parent: The name of the parent resource. For the required format, see the
  6426  //     comment on the Instance.name field. Additionally, you can perform an
  6427  //     aggregated list operation by specifying a value with one of the following
  6428  //     formats: * projects/{project}/locations/-/clusters/- *
  6429  //     projects/{project}/locations/{region}/clusters/-.
  6430  func (r *ProjectsLocationsClustersInstancesService) List(parent string) *ProjectsLocationsClustersInstancesListCall {
  6431  	c := &ProjectsLocationsClustersInstancesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6432  	c.parent = parent
  6433  	return c
  6434  }
  6435  
  6436  // Filter sets the optional parameter "filter": Filtering results
  6437  func (c *ProjectsLocationsClustersInstancesListCall) Filter(filter string) *ProjectsLocationsClustersInstancesListCall {
  6438  	c.urlParams_.Set("filter", filter)
  6439  	return c
  6440  }
  6441  
  6442  // OrderBy sets the optional parameter "orderBy": Hint for how to order the
  6443  // results
  6444  func (c *ProjectsLocationsClustersInstancesListCall) OrderBy(orderBy string) *ProjectsLocationsClustersInstancesListCall {
  6445  	c.urlParams_.Set("orderBy", orderBy)
  6446  	return c
  6447  }
  6448  
  6449  // PageSize sets the optional parameter "pageSize": Requested page size. Server
  6450  // may return fewer items than requested. If unspecified, server will pick an
  6451  // appropriate default.
  6452  func (c *ProjectsLocationsClustersInstancesListCall) PageSize(pageSize int64) *ProjectsLocationsClustersInstancesListCall {
  6453  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  6454  	return c
  6455  }
  6456  
  6457  // PageToken sets the optional parameter "pageToken": A token identifying a
  6458  // page of results the server should return.
  6459  func (c *ProjectsLocationsClustersInstancesListCall) PageToken(pageToken string) *ProjectsLocationsClustersInstancesListCall {
  6460  	c.urlParams_.Set("pageToken", pageToken)
  6461  	return c
  6462  }
  6463  
  6464  // Fields allows partial responses to be retrieved. See
  6465  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6466  // details.
  6467  func (c *ProjectsLocationsClustersInstancesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersInstancesListCall {
  6468  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6469  	return c
  6470  }
  6471  
  6472  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  6473  // object's ETag matches the given value. This is useful for getting updates
  6474  // only after the object has changed since the last request.
  6475  func (c *ProjectsLocationsClustersInstancesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsClustersInstancesListCall {
  6476  	c.ifNoneMatch_ = entityTag
  6477  	return c
  6478  }
  6479  
  6480  // Context sets the context to be used in this call's Do method.
  6481  func (c *ProjectsLocationsClustersInstancesListCall) Context(ctx context.Context) *ProjectsLocationsClustersInstancesListCall {
  6482  	c.ctx_ = ctx
  6483  	return c
  6484  }
  6485  
  6486  // Header returns a http.Header that can be modified by the caller to add
  6487  // headers to the request.
  6488  func (c *ProjectsLocationsClustersInstancesListCall) Header() http.Header {
  6489  	if c.header_ == nil {
  6490  		c.header_ = make(http.Header)
  6491  	}
  6492  	return c.header_
  6493  }
  6494  
  6495  func (c *ProjectsLocationsClustersInstancesListCall) doRequest(alt string) (*http.Response, error) {
  6496  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6497  	if c.ifNoneMatch_ != "" {
  6498  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  6499  	}
  6500  	var body io.Reader = nil
  6501  	c.urlParams_.Set("alt", alt)
  6502  	c.urlParams_.Set("prettyPrint", "false")
  6503  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+parent}/instances")
  6504  	urls += "?" + c.urlParams_.Encode()
  6505  	req, err := http.NewRequest("GET", urls, body)
  6506  	if err != nil {
  6507  		return nil, err
  6508  	}
  6509  	req.Header = reqHeaders
  6510  	googleapi.Expand(req.URL, map[string]string{
  6511  		"parent": c.parent,
  6512  	})
  6513  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6514  }
  6515  
  6516  // Do executes the "alloydb.projects.locations.clusters.instances.list" call.
  6517  // Any non-2xx status code is an error. Response headers are in either
  6518  // *ListInstancesResponse.ServerResponse.Header or (if a response was returned
  6519  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  6520  // check whether the returned error was because http.StatusNotModified was
  6521  // returned.
  6522  func (c *ProjectsLocationsClustersInstancesListCall) Do(opts ...googleapi.CallOption) (*ListInstancesResponse, error) {
  6523  	gensupport.SetOptions(c.urlParams_, opts...)
  6524  	res, err := c.doRequest("json")
  6525  	if res != nil && res.StatusCode == http.StatusNotModified {
  6526  		if res.Body != nil {
  6527  			res.Body.Close()
  6528  		}
  6529  		return nil, gensupport.WrapError(&googleapi.Error{
  6530  			Code:   res.StatusCode,
  6531  			Header: res.Header,
  6532  		})
  6533  	}
  6534  	if err != nil {
  6535  		return nil, err
  6536  	}
  6537  	defer googleapi.CloseBody(res)
  6538  	if err := googleapi.CheckResponse(res); err != nil {
  6539  		return nil, gensupport.WrapError(err)
  6540  	}
  6541  	ret := &ListInstancesResponse{
  6542  		ServerResponse: googleapi.ServerResponse{
  6543  			Header:         res.Header,
  6544  			HTTPStatusCode: res.StatusCode,
  6545  		},
  6546  	}
  6547  	target := &ret
  6548  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6549  		return nil, err
  6550  	}
  6551  	return ret, nil
  6552  }
  6553  
  6554  // Pages invokes f for each page of results.
  6555  // A non-nil error returned from f will halt the iteration.
  6556  // The provided context supersedes any context provided to the Context method.
  6557  func (c *ProjectsLocationsClustersInstancesListCall) Pages(ctx context.Context, f func(*ListInstancesResponse) error) error {
  6558  	c.ctx_ = ctx
  6559  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  6560  	for {
  6561  		x, err := c.Do()
  6562  		if err != nil {
  6563  			return err
  6564  		}
  6565  		if err := f(x); err != nil {
  6566  			return err
  6567  		}
  6568  		if x.NextPageToken == "" {
  6569  			return nil
  6570  		}
  6571  		c.PageToken(x.NextPageToken)
  6572  	}
  6573  }
  6574  
  6575  type ProjectsLocationsClustersInstancesPatchCall struct {
  6576  	s          *Service
  6577  	name       string
  6578  	instance   *Instance
  6579  	urlParams_ gensupport.URLParams
  6580  	ctx_       context.Context
  6581  	header_    http.Header
  6582  }
  6583  
  6584  // Patch: Updates the parameters of a single Instance.
  6585  //
  6586  //   - name: Output only. The name of the instance resource with the format: *
  6587  //     projects/{project}/locations/{region}/clusters/{cluster_id}/instances/{inst
  6588  //     ance_id} where the cluster and instance ID segments should satisfy the
  6589  //     regex expression `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`, e.g. 1-63 characters
  6590  //     of lowercase letters, numbers, and dashes, starting with a letter, and
  6591  //     ending with a letter or number. For more details see
  6592  //     https://google.aip.dev/122. The prefix of the instance resource name is
  6593  //     the name of the parent resource: *
  6594  //     projects/{project}/locations/{region}/clusters/{cluster_id}.
  6595  func (r *ProjectsLocationsClustersInstancesService) Patch(name string, instance *Instance) *ProjectsLocationsClustersInstancesPatchCall {
  6596  	c := &ProjectsLocationsClustersInstancesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6597  	c.name = name
  6598  	c.instance = instance
  6599  	return c
  6600  }
  6601  
  6602  // AllowMissing sets the optional parameter "allowMissing": If set to true,
  6603  // update succeeds even if instance is not found. In that case, a new instance
  6604  // is created and `update_mask` is ignored.
  6605  func (c *ProjectsLocationsClustersInstancesPatchCall) AllowMissing(allowMissing bool) *ProjectsLocationsClustersInstancesPatchCall {
  6606  	c.urlParams_.Set("allowMissing", fmt.Sprint(allowMissing))
  6607  	return c
  6608  }
  6609  
  6610  // RequestId sets the optional parameter "requestId": An optional request ID to
  6611  // identify requests. Specify a unique request ID so that if you must retry
  6612  // your request, the server will know to ignore the request if it has already
  6613  // been completed. The server will guarantee that for at least 60 minutes since
  6614  // the first request. For example, consider a situation where you make an
  6615  // initial request and the request times out. If you make the request again
  6616  // with the same request ID, the server can check if original operation with
  6617  // the same request ID was received, and if so, will ignore the second request.
  6618  // This prevents clients from accidentally creating duplicate commitments. The
  6619  // request ID must be a valid UUID with the exception that zero UUID is not
  6620  // supported (00000000-0000-0000-0000-000000000000).
  6621  func (c *ProjectsLocationsClustersInstancesPatchCall) RequestId(requestId string) *ProjectsLocationsClustersInstancesPatchCall {
  6622  	c.urlParams_.Set("requestId", requestId)
  6623  	return c
  6624  }
  6625  
  6626  // UpdateMask sets the optional parameter "updateMask": Field mask is used to
  6627  // specify the fields to be overwritten in the Instance resource by the update.
  6628  // The fields specified in the update_mask are relative to the resource, not
  6629  // the full request. A field will be overwritten if it is in the mask. If the
  6630  // user does not provide a mask then all fields will be overwritten.
  6631  func (c *ProjectsLocationsClustersInstancesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsClustersInstancesPatchCall {
  6632  	c.urlParams_.Set("updateMask", updateMask)
  6633  	return c
  6634  }
  6635  
  6636  // ValidateOnly sets the optional parameter "validateOnly": If set, performs
  6637  // request validation (e.g. permission checks and any other type of
  6638  // validation), but do not actually execute the update request.
  6639  func (c *ProjectsLocationsClustersInstancesPatchCall) ValidateOnly(validateOnly bool) *ProjectsLocationsClustersInstancesPatchCall {
  6640  	c.urlParams_.Set("validateOnly", fmt.Sprint(validateOnly))
  6641  	return c
  6642  }
  6643  
  6644  // Fields allows partial responses to be retrieved. See
  6645  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6646  // details.
  6647  func (c *ProjectsLocationsClustersInstancesPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersInstancesPatchCall {
  6648  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6649  	return c
  6650  }
  6651  
  6652  // Context sets the context to be used in this call's Do method.
  6653  func (c *ProjectsLocationsClustersInstancesPatchCall) Context(ctx context.Context) *ProjectsLocationsClustersInstancesPatchCall {
  6654  	c.ctx_ = ctx
  6655  	return c
  6656  }
  6657  
  6658  // Header returns a http.Header that can be modified by the caller to add
  6659  // headers to the request.
  6660  func (c *ProjectsLocationsClustersInstancesPatchCall) Header() http.Header {
  6661  	if c.header_ == nil {
  6662  		c.header_ = make(http.Header)
  6663  	}
  6664  	return c.header_
  6665  }
  6666  
  6667  func (c *ProjectsLocationsClustersInstancesPatchCall) doRequest(alt string) (*http.Response, error) {
  6668  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6669  	var body io.Reader = nil
  6670  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.instance)
  6671  	if err != nil {
  6672  		return nil, err
  6673  	}
  6674  	c.urlParams_.Set("alt", alt)
  6675  	c.urlParams_.Set("prettyPrint", "false")
  6676  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}")
  6677  	urls += "?" + c.urlParams_.Encode()
  6678  	req, err := http.NewRequest("PATCH", urls, body)
  6679  	if err != nil {
  6680  		return nil, err
  6681  	}
  6682  	req.Header = reqHeaders
  6683  	googleapi.Expand(req.URL, map[string]string{
  6684  		"name": c.name,
  6685  	})
  6686  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6687  }
  6688  
  6689  // Do executes the "alloydb.projects.locations.clusters.instances.patch" call.
  6690  // Any non-2xx status code is an error. Response headers are in either
  6691  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  6692  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6693  // whether the returned error was because http.StatusNotModified was returned.
  6694  func (c *ProjectsLocationsClustersInstancesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  6695  	gensupport.SetOptions(c.urlParams_, opts...)
  6696  	res, err := c.doRequest("json")
  6697  	if res != nil && res.StatusCode == http.StatusNotModified {
  6698  		if res.Body != nil {
  6699  			res.Body.Close()
  6700  		}
  6701  		return nil, gensupport.WrapError(&googleapi.Error{
  6702  			Code:   res.StatusCode,
  6703  			Header: res.Header,
  6704  		})
  6705  	}
  6706  	if err != nil {
  6707  		return nil, err
  6708  	}
  6709  	defer googleapi.CloseBody(res)
  6710  	if err := googleapi.CheckResponse(res); err != nil {
  6711  		return nil, gensupport.WrapError(err)
  6712  	}
  6713  	ret := &Operation{
  6714  		ServerResponse: googleapi.ServerResponse{
  6715  			Header:         res.Header,
  6716  			HTTPStatusCode: res.StatusCode,
  6717  		},
  6718  	}
  6719  	target := &ret
  6720  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6721  		return nil, err
  6722  	}
  6723  	return ret, nil
  6724  }
  6725  
  6726  type ProjectsLocationsClustersInstancesRestartCall struct {
  6727  	s                      *Service
  6728  	name                   string
  6729  	restartinstancerequest *RestartInstanceRequest
  6730  	urlParams_             gensupport.URLParams
  6731  	ctx_                   context.Context
  6732  	header_                http.Header
  6733  }
  6734  
  6735  // Restart: Restart an Instance in a cluster. Imperative only.
  6736  //
  6737  //   - name: The name of the resource. For the required format, see the comment
  6738  //     on the Instance.name field.
  6739  func (r *ProjectsLocationsClustersInstancesService) Restart(name string, restartinstancerequest *RestartInstanceRequest) *ProjectsLocationsClustersInstancesRestartCall {
  6740  	c := &ProjectsLocationsClustersInstancesRestartCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6741  	c.name = name
  6742  	c.restartinstancerequest = restartinstancerequest
  6743  	return c
  6744  }
  6745  
  6746  // Fields allows partial responses to be retrieved. See
  6747  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6748  // details.
  6749  func (c *ProjectsLocationsClustersInstancesRestartCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersInstancesRestartCall {
  6750  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6751  	return c
  6752  }
  6753  
  6754  // Context sets the context to be used in this call's Do method.
  6755  func (c *ProjectsLocationsClustersInstancesRestartCall) Context(ctx context.Context) *ProjectsLocationsClustersInstancesRestartCall {
  6756  	c.ctx_ = ctx
  6757  	return c
  6758  }
  6759  
  6760  // Header returns a http.Header that can be modified by the caller to add
  6761  // headers to the request.
  6762  func (c *ProjectsLocationsClustersInstancesRestartCall) Header() http.Header {
  6763  	if c.header_ == nil {
  6764  		c.header_ = make(http.Header)
  6765  	}
  6766  	return c.header_
  6767  }
  6768  
  6769  func (c *ProjectsLocationsClustersInstancesRestartCall) doRequest(alt string) (*http.Response, error) {
  6770  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6771  	var body io.Reader = nil
  6772  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.restartinstancerequest)
  6773  	if err != nil {
  6774  		return nil, err
  6775  	}
  6776  	c.urlParams_.Set("alt", alt)
  6777  	c.urlParams_.Set("prettyPrint", "false")
  6778  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}:restart")
  6779  	urls += "?" + c.urlParams_.Encode()
  6780  	req, err := http.NewRequest("POST", urls, body)
  6781  	if err != nil {
  6782  		return nil, err
  6783  	}
  6784  	req.Header = reqHeaders
  6785  	googleapi.Expand(req.URL, map[string]string{
  6786  		"name": c.name,
  6787  	})
  6788  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6789  }
  6790  
  6791  // Do executes the "alloydb.projects.locations.clusters.instances.restart" call.
  6792  // Any non-2xx status code is an error. Response headers are in either
  6793  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  6794  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6795  // whether the returned error was because http.StatusNotModified was returned.
  6796  func (c *ProjectsLocationsClustersInstancesRestartCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  6797  	gensupport.SetOptions(c.urlParams_, opts...)
  6798  	res, err := c.doRequest("json")
  6799  	if res != nil && res.StatusCode == http.StatusNotModified {
  6800  		if res.Body != nil {
  6801  			res.Body.Close()
  6802  		}
  6803  		return nil, gensupport.WrapError(&googleapi.Error{
  6804  			Code:   res.StatusCode,
  6805  			Header: res.Header,
  6806  		})
  6807  	}
  6808  	if err != nil {
  6809  		return nil, err
  6810  	}
  6811  	defer googleapi.CloseBody(res)
  6812  	if err := googleapi.CheckResponse(res); err != nil {
  6813  		return nil, gensupport.WrapError(err)
  6814  	}
  6815  	ret := &Operation{
  6816  		ServerResponse: googleapi.ServerResponse{
  6817  			Header:         res.Header,
  6818  			HTTPStatusCode: res.StatusCode,
  6819  		},
  6820  	}
  6821  	target := &ret
  6822  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6823  		return nil, err
  6824  	}
  6825  	return ret, nil
  6826  }
  6827  
  6828  type ProjectsLocationsClustersUsersCreateCall struct {
  6829  	s          *Service
  6830  	parent     string
  6831  	user       *User
  6832  	urlParams_ gensupport.URLParams
  6833  	ctx_       context.Context
  6834  	header_    http.Header
  6835  }
  6836  
  6837  // Create: Creates a new User in a given project, location, and cluster.
  6838  //
  6839  // - parent: Value for parent.
  6840  func (r *ProjectsLocationsClustersUsersService) Create(parent string, user *User) *ProjectsLocationsClustersUsersCreateCall {
  6841  	c := &ProjectsLocationsClustersUsersCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6842  	c.parent = parent
  6843  	c.user = user
  6844  	return c
  6845  }
  6846  
  6847  // RequestId sets the optional parameter "requestId": An optional request ID to
  6848  // identify requests. Specify a unique request ID so that if you must retry
  6849  // your request, the server will know to ignore the request if it has already
  6850  // been completed. The server will guarantee that for at least 60 minutes since
  6851  // the first request. For example, consider a situation where you make an
  6852  // initial request and the request times out. If you make the request again
  6853  // with the same request ID, the server can check if original operation with
  6854  // the same request ID was received, and if so, will ignore the second request.
  6855  // This prevents clients from accidentally creating duplicate commitments. The
  6856  // request ID must be a valid UUID with the exception that zero UUID is not
  6857  // supported (00000000-0000-0000-0000-000000000000).
  6858  func (c *ProjectsLocationsClustersUsersCreateCall) RequestId(requestId string) *ProjectsLocationsClustersUsersCreateCall {
  6859  	c.urlParams_.Set("requestId", requestId)
  6860  	return c
  6861  }
  6862  
  6863  // UserId sets the optional parameter "userId": Required. ID of the requesting
  6864  // object.
  6865  func (c *ProjectsLocationsClustersUsersCreateCall) UserId(userId string) *ProjectsLocationsClustersUsersCreateCall {
  6866  	c.urlParams_.Set("userId", userId)
  6867  	return c
  6868  }
  6869  
  6870  // ValidateOnly sets the optional parameter "validateOnly": If set, the backend
  6871  // validates the request, but doesn't actually execute it.
  6872  func (c *ProjectsLocationsClustersUsersCreateCall) ValidateOnly(validateOnly bool) *ProjectsLocationsClustersUsersCreateCall {
  6873  	c.urlParams_.Set("validateOnly", fmt.Sprint(validateOnly))
  6874  	return c
  6875  }
  6876  
  6877  // Fields allows partial responses to be retrieved. See
  6878  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6879  // details.
  6880  func (c *ProjectsLocationsClustersUsersCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersUsersCreateCall {
  6881  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6882  	return c
  6883  }
  6884  
  6885  // Context sets the context to be used in this call's Do method.
  6886  func (c *ProjectsLocationsClustersUsersCreateCall) Context(ctx context.Context) *ProjectsLocationsClustersUsersCreateCall {
  6887  	c.ctx_ = ctx
  6888  	return c
  6889  }
  6890  
  6891  // Header returns a http.Header that can be modified by the caller to add
  6892  // headers to the request.
  6893  func (c *ProjectsLocationsClustersUsersCreateCall) Header() http.Header {
  6894  	if c.header_ == nil {
  6895  		c.header_ = make(http.Header)
  6896  	}
  6897  	return c.header_
  6898  }
  6899  
  6900  func (c *ProjectsLocationsClustersUsersCreateCall) doRequest(alt string) (*http.Response, error) {
  6901  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6902  	var body io.Reader = nil
  6903  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.user)
  6904  	if err != nil {
  6905  		return nil, err
  6906  	}
  6907  	c.urlParams_.Set("alt", alt)
  6908  	c.urlParams_.Set("prettyPrint", "false")
  6909  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+parent}/users")
  6910  	urls += "?" + c.urlParams_.Encode()
  6911  	req, err := http.NewRequest("POST", urls, body)
  6912  	if err != nil {
  6913  		return nil, err
  6914  	}
  6915  	req.Header = reqHeaders
  6916  	googleapi.Expand(req.URL, map[string]string{
  6917  		"parent": c.parent,
  6918  	})
  6919  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6920  }
  6921  
  6922  // Do executes the "alloydb.projects.locations.clusters.users.create" call.
  6923  // Any non-2xx status code is an error. Response headers are in either
  6924  // *User.ServerResponse.Header or (if a response was returned at all) in
  6925  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6926  // whether the returned error was because http.StatusNotModified was returned.
  6927  func (c *ProjectsLocationsClustersUsersCreateCall) Do(opts ...googleapi.CallOption) (*User, error) {
  6928  	gensupport.SetOptions(c.urlParams_, opts...)
  6929  	res, err := c.doRequest("json")
  6930  	if res != nil && res.StatusCode == http.StatusNotModified {
  6931  		if res.Body != nil {
  6932  			res.Body.Close()
  6933  		}
  6934  		return nil, gensupport.WrapError(&googleapi.Error{
  6935  			Code:   res.StatusCode,
  6936  			Header: res.Header,
  6937  		})
  6938  	}
  6939  	if err != nil {
  6940  		return nil, err
  6941  	}
  6942  	defer googleapi.CloseBody(res)
  6943  	if err := googleapi.CheckResponse(res); err != nil {
  6944  		return nil, gensupport.WrapError(err)
  6945  	}
  6946  	ret := &User{
  6947  		ServerResponse: googleapi.ServerResponse{
  6948  			Header:         res.Header,
  6949  			HTTPStatusCode: res.StatusCode,
  6950  		},
  6951  	}
  6952  	target := &ret
  6953  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6954  		return nil, err
  6955  	}
  6956  	return ret, nil
  6957  }
  6958  
  6959  type ProjectsLocationsClustersUsersDeleteCall struct {
  6960  	s          *Service
  6961  	name       string
  6962  	urlParams_ gensupport.URLParams
  6963  	ctx_       context.Context
  6964  	header_    http.Header
  6965  }
  6966  
  6967  // Delete: Deletes a single User.
  6968  //
  6969  //   - name: The name of the resource. For the required format, see the comment
  6970  //     on the User.name field.
  6971  func (r *ProjectsLocationsClustersUsersService) Delete(name string) *ProjectsLocationsClustersUsersDeleteCall {
  6972  	c := &ProjectsLocationsClustersUsersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6973  	c.name = name
  6974  	return c
  6975  }
  6976  
  6977  // RequestId sets the optional parameter "requestId": An optional request ID to
  6978  // identify requests. Specify a unique request ID so that if you must retry
  6979  // your request, the server will know to ignore the request if it has already
  6980  // been completed. The server will guarantee that for at least 60 minutes after
  6981  // the first request. For example, consider a situation where you make an
  6982  // initial request and the request times out. If you make the request again
  6983  // with the same request ID, the server can check if original operation with
  6984  // the same request ID was received, and if so, will ignore the second request.
  6985  // This prevents clients from accidentally creating duplicate commitments. The
  6986  // request ID must be a valid UUID with the exception that zero UUID is not
  6987  // supported (00000000-0000-0000-0000-000000000000).
  6988  func (c *ProjectsLocationsClustersUsersDeleteCall) RequestId(requestId string) *ProjectsLocationsClustersUsersDeleteCall {
  6989  	c.urlParams_.Set("requestId", requestId)
  6990  	return c
  6991  }
  6992  
  6993  // ValidateOnly sets the optional parameter "validateOnly": If set, the backend
  6994  // validates the request, but doesn't actually execute it.
  6995  func (c *ProjectsLocationsClustersUsersDeleteCall) ValidateOnly(validateOnly bool) *ProjectsLocationsClustersUsersDeleteCall {
  6996  	c.urlParams_.Set("validateOnly", fmt.Sprint(validateOnly))
  6997  	return c
  6998  }
  6999  
  7000  // Fields allows partial responses to be retrieved. See
  7001  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7002  // details.
  7003  func (c *ProjectsLocationsClustersUsersDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersUsersDeleteCall {
  7004  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7005  	return c
  7006  }
  7007  
  7008  // Context sets the context to be used in this call's Do method.
  7009  func (c *ProjectsLocationsClustersUsersDeleteCall) Context(ctx context.Context) *ProjectsLocationsClustersUsersDeleteCall {
  7010  	c.ctx_ = ctx
  7011  	return c
  7012  }
  7013  
  7014  // Header returns a http.Header that can be modified by the caller to add
  7015  // headers to the request.
  7016  func (c *ProjectsLocationsClustersUsersDeleteCall) Header() http.Header {
  7017  	if c.header_ == nil {
  7018  		c.header_ = make(http.Header)
  7019  	}
  7020  	return c.header_
  7021  }
  7022  
  7023  func (c *ProjectsLocationsClustersUsersDeleteCall) doRequest(alt string) (*http.Response, error) {
  7024  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7025  	var body io.Reader = nil
  7026  	c.urlParams_.Set("alt", alt)
  7027  	c.urlParams_.Set("prettyPrint", "false")
  7028  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}")
  7029  	urls += "?" + c.urlParams_.Encode()
  7030  	req, err := http.NewRequest("DELETE", urls, body)
  7031  	if err != nil {
  7032  		return nil, err
  7033  	}
  7034  	req.Header = reqHeaders
  7035  	googleapi.Expand(req.URL, map[string]string{
  7036  		"name": c.name,
  7037  	})
  7038  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7039  }
  7040  
  7041  // Do executes the "alloydb.projects.locations.clusters.users.delete" call.
  7042  // Any non-2xx status code is an error. Response headers are in either
  7043  // *Empty.ServerResponse.Header or (if a response was returned at all) in
  7044  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7045  // whether the returned error was because http.StatusNotModified was returned.
  7046  func (c *ProjectsLocationsClustersUsersDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
  7047  	gensupport.SetOptions(c.urlParams_, opts...)
  7048  	res, err := c.doRequest("json")
  7049  	if res != nil && res.StatusCode == http.StatusNotModified {
  7050  		if res.Body != nil {
  7051  			res.Body.Close()
  7052  		}
  7053  		return nil, gensupport.WrapError(&googleapi.Error{
  7054  			Code:   res.StatusCode,
  7055  			Header: res.Header,
  7056  		})
  7057  	}
  7058  	if err != nil {
  7059  		return nil, err
  7060  	}
  7061  	defer googleapi.CloseBody(res)
  7062  	if err := googleapi.CheckResponse(res); err != nil {
  7063  		return nil, gensupport.WrapError(err)
  7064  	}
  7065  	ret := &Empty{
  7066  		ServerResponse: googleapi.ServerResponse{
  7067  			Header:         res.Header,
  7068  			HTTPStatusCode: res.StatusCode,
  7069  		},
  7070  	}
  7071  	target := &ret
  7072  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7073  		return nil, err
  7074  	}
  7075  	return ret, nil
  7076  }
  7077  
  7078  type ProjectsLocationsClustersUsersGetCall struct {
  7079  	s            *Service
  7080  	name         string
  7081  	urlParams_   gensupport.URLParams
  7082  	ifNoneMatch_ string
  7083  	ctx_         context.Context
  7084  	header_      http.Header
  7085  }
  7086  
  7087  // Get: Gets details of a single User.
  7088  //
  7089  //   - name: The name of the resource. For the required format, see the comment
  7090  //     on the User.name field.
  7091  func (r *ProjectsLocationsClustersUsersService) Get(name string) *ProjectsLocationsClustersUsersGetCall {
  7092  	c := &ProjectsLocationsClustersUsersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7093  	c.name = name
  7094  	return c
  7095  }
  7096  
  7097  // Fields allows partial responses to be retrieved. See
  7098  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7099  // details.
  7100  func (c *ProjectsLocationsClustersUsersGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersUsersGetCall {
  7101  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7102  	return c
  7103  }
  7104  
  7105  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  7106  // object's ETag matches the given value. This is useful for getting updates
  7107  // only after the object has changed since the last request.
  7108  func (c *ProjectsLocationsClustersUsersGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsClustersUsersGetCall {
  7109  	c.ifNoneMatch_ = entityTag
  7110  	return c
  7111  }
  7112  
  7113  // Context sets the context to be used in this call's Do method.
  7114  func (c *ProjectsLocationsClustersUsersGetCall) Context(ctx context.Context) *ProjectsLocationsClustersUsersGetCall {
  7115  	c.ctx_ = ctx
  7116  	return c
  7117  }
  7118  
  7119  // Header returns a http.Header that can be modified by the caller to add
  7120  // headers to the request.
  7121  func (c *ProjectsLocationsClustersUsersGetCall) Header() http.Header {
  7122  	if c.header_ == nil {
  7123  		c.header_ = make(http.Header)
  7124  	}
  7125  	return c.header_
  7126  }
  7127  
  7128  func (c *ProjectsLocationsClustersUsersGetCall) doRequest(alt string) (*http.Response, error) {
  7129  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7130  	if c.ifNoneMatch_ != "" {
  7131  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  7132  	}
  7133  	var body io.Reader = nil
  7134  	c.urlParams_.Set("alt", alt)
  7135  	c.urlParams_.Set("prettyPrint", "false")
  7136  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}")
  7137  	urls += "?" + c.urlParams_.Encode()
  7138  	req, err := http.NewRequest("GET", urls, body)
  7139  	if err != nil {
  7140  		return nil, err
  7141  	}
  7142  	req.Header = reqHeaders
  7143  	googleapi.Expand(req.URL, map[string]string{
  7144  		"name": c.name,
  7145  	})
  7146  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7147  }
  7148  
  7149  // Do executes the "alloydb.projects.locations.clusters.users.get" call.
  7150  // Any non-2xx status code is an error. Response headers are in either
  7151  // *User.ServerResponse.Header or (if a response was returned at all) in
  7152  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7153  // whether the returned error was because http.StatusNotModified was returned.
  7154  func (c *ProjectsLocationsClustersUsersGetCall) Do(opts ...googleapi.CallOption) (*User, error) {
  7155  	gensupport.SetOptions(c.urlParams_, opts...)
  7156  	res, err := c.doRequest("json")
  7157  	if res != nil && res.StatusCode == http.StatusNotModified {
  7158  		if res.Body != nil {
  7159  			res.Body.Close()
  7160  		}
  7161  		return nil, gensupport.WrapError(&googleapi.Error{
  7162  			Code:   res.StatusCode,
  7163  			Header: res.Header,
  7164  		})
  7165  	}
  7166  	if err != nil {
  7167  		return nil, err
  7168  	}
  7169  	defer googleapi.CloseBody(res)
  7170  	if err := googleapi.CheckResponse(res); err != nil {
  7171  		return nil, gensupport.WrapError(err)
  7172  	}
  7173  	ret := &User{
  7174  		ServerResponse: googleapi.ServerResponse{
  7175  			Header:         res.Header,
  7176  			HTTPStatusCode: res.StatusCode,
  7177  		},
  7178  	}
  7179  	target := &ret
  7180  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7181  		return nil, err
  7182  	}
  7183  	return ret, nil
  7184  }
  7185  
  7186  type ProjectsLocationsClustersUsersListCall struct {
  7187  	s            *Service
  7188  	parent       string
  7189  	urlParams_   gensupport.URLParams
  7190  	ifNoneMatch_ string
  7191  	ctx_         context.Context
  7192  	header_      http.Header
  7193  }
  7194  
  7195  // List: Lists Users in a given project and location.
  7196  //
  7197  // - parent: Parent value for ListUsersRequest.
  7198  func (r *ProjectsLocationsClustersUsersService) List(parent string) *ProjectsLocationsClustersUsersListCall {
  7199  	c := &ProjectsLocationsClustersUsersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7200  	c.parent = parent
  7201  	return c
  7202  }
  7203  
  7204  // Filter sets the optional parameter "filter": Filtering results
  7205  func (c *ProjectsLocationsClustersUsersListCall) Filter(filter string) *ProjectsLocationsClustersUsersListCall {
  7206  	c.urlParams_.Set("filter", filter)
  7207  	return c
  7208  }
  7209  
  7210  // OrderBy sets the optional parameter "orderBy": Hint for how to order the
  7211  // results
  7212  func (c *ProjectsLocationsClustersUsersListCall) OrderBy(orderBy string) *ProjectsLocationsClustersUsersListCall {
  7213  	c.urlParams_.Set("orderBy", orderBy)
  7214  	return c
  7215  }
  7216  
  7217  // PageSize sets the optional parameter "pageSize": Requested page size. Server
  7218  // may return fewer items than requested. If unspecified, server will pick an
  7219  // appropriate default.
  7220  func (c *ProjectsLocationsClustersUsersListCall) PageSize(pageSize int64) *ProjectsLocationsClustersUsersListCall {
  7221  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  7222  	return c
  7223  }
  7224  
  7225  // PageToken sets the optional parameter "pageToken": A token identifying a
  7226  // page of results the server should return.
  7227  func (c *ProjectsLocationsClustersUsersListCall) PageToken(pageToken string) *ProjectsLocationsClustersUsersListCall {
  7228  	c.urlParams_.Set("pageToken", pageToken)
  7229  	return c
  7230  }
  7231  
  7232  // Fields allows partial responses to be retrieved. See
  7233  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7234  // details.
  7235  func (c *ProjectsLocationsClustersUsersListCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersUsersListCall {
  7236  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7237  	return c
  7238  }
  7239  
  7240  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  7241  // object's ETag matches the given value. This is useful for getting updates
  7242  // only after the object has changed since the last request.
  7243  func (c *ProjectsLocationsClustersUsersListCall) IfNoneMatch(entityTag string) *ProjectsLocationsClustersUsersListCall {
  7244  	c.ifNoneMatch_ = entityTag
  7245  	return c
  7246  }
  7247  
  7248  // Context sets the context to be used in this call's Do method.
  7249  func (c *ProjectsLocationsClustersUsersListCall) Context(ctx context.Context) *ProjectsLocationsClustersUsersListCall {
  7250  	c.ctx_ = ctx
  7251  	return c
  7252  }
  7253  
  7254  // Header returns a http.Header that can be modified by the caller to add
  7255  // headers to the request.
  7256  func (c *ProjectsLocationsClustersUsersListCall) Header() http.Header {
  7257  	if c.header_ == nil {
  7258  		c.header_ = make(http.Header)
  7259  	}
  7260  	return c.header_
  7261  }
  7262  
  7263  func (c *ProjectsLocationsClustersUsersListCall) doRequest(alt string) (*http.Response, error) {
  7264  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7265  	if c.ifNoneMatch_ != "" {
  7266  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  7267  	}
  7268  	var body io.Reader = nil
  7269  	c.urlParams_.Set("alt", alt)
  7270  	c.urlParams_.Set("prettyPrint", "false")
  7271  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+parent}/users")
  7272  	urls += "?" + c.urlParams_.Encode()
  7273  	req, err := http.NewRequest("GET", urls, body)
  7274  	if err != nil {
  7275  		return nil, err
  7276  	}
  7277  	req.Header = reqHeaders
  7278  	googleapi.Expand(req.URL, map[string]string{
  7279  		"parent": c.parent,
  7280  	})
  7281  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7282  }
  7283  
  7284  // Do executes the "alloydb.projects.locations.clusters.users.list" call.
  7285  // Any non-2xx status code is an error. Response headers are in either
  7286  // *ListUsersResponse.ServerResponse.Header or (if a response was returned at
  7287  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  7288  // check whether the returned error was because http.StatusNotModified was
  7289  // returned.
  7290  func (c *ProjectsLocationsClustersUsersListCall) Do(opts ...googleapi.CallOption) (*ListUsersResponse, error) {
  7291  	gensupport.SetOptions(c.urlParams_, opts...)
  7292  	res, err := c.doRequest("json")
  7293  	if res != nil && res.StatusCode == http.StatusNotModified {
  7294  		if res.Body != nil {
  7295  			res.Body.Close()
  7296  		}
  7297  		return nil, gensupport.WrapError(&googleapi.Error{
  7298  			Code:   res.StatusCode,
  7299  			Header: res.Header,
  7300  		})
  7301  	}
  7302  	if err != nil {
  7303  		return nil, err
  7304  	}
  7305  	defer googleapi.CloseBody(res)
  7306  	if err := googleapi.CheckResponse(res); err != nil {
  7307  		return nil, gensupport.WrapError(err)
  7308  	}
  7309  	ret := &ListUsersResponse{
  7310  		ServerResponse: googleapi.ServerResponse{
  7311  			Header:         res.Header,
  7312  			HTTPStatusCode: res.StatusCode,
  7313  		},
  7314  	}
  7315  	target := &ret
  7316  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7317  		return nil, err
  7318  	}
  7319  	return ret, nil
  7320  }
  7321  
  7322  // Pages invokes f for each page of results.
  7323  // A non-nil error returned from f will halt the iteration.
  7324  // The provided context supersedes any context provided to the Context method.
  7325  func (c *ProjectsLocationsClustersUsersListCall) Pages(ctx context.Context, f func(*ListUsersResponse) error) error {
  7326  	c.ctx_ = ctx
  7327  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  7328  	for {
  7329  		x, err := c.Do()
  7330  		if err != nil {
  7331  			return err
  7332  		}
  7333  		if err := f(x); err != nil {
  7334  			return err
  7335  		}
  7336  		if x.NextPageToken == "" {
  7337  			return nil
  7338  		}
  7339  		c.PageToken(x.NextPageToken)
  7340  	}
  7341  }
  7342  
  7343  type ProjectsLocationsClustersUsersPatchCall struct {
  7344  	s          *Service
  7345  	name       string
  7346  	user       *User
  7347  	urlParams_ gensupport.URLParams
  7348  	ctx_       context.Context
  7349  	header_    http.Header
  7350  }
  7351  
  7352  // Patch: Updates the parameters of a single User.
  7353  //
  7354  //   - name: Output only. Name of the resource in the form of
  7355  //     projects/{project}/locations/{location}/cluster/{cluster}/users/{user}.
  7356  func (r *ProjectsLocationsClustersUsersService) Patch(name string, user *User) *ProjectsLocationsClustersUsersPatchCall {
  7357  	c := &ProjectsLocationsClustersUsersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7358  	c.name = name
  7359  	c.user = user
  7360  	return c
  7361  }
  7362  
  7363  // AllowMissing sets the optional parameter "allowMissing": Allow missing
  7364  // fields in the update mask.
  7365  func (c *ProjectsLocationsClustersUsersPatchCall) AllowMissing(allowMissing bool) *ProjectsLocationsClustersUsersPatchCall {
  7366  	c.urlParams_.Set("allowMissing", fmt.Sprint(allowMissing))
  7367  	return c
  7368  }
  7369  
  7370  // RequestId sets the optional parameter "requestId": An optional request ID to
  7371  // identify requests. Specify a unique request ID so that if you must retry
  7372  // your request, the server will know to ignore the request if it has already
  7373  // been completed. The server will guarantee that for at least 60 minutes since
  7374  // the first request. For example, consider a situation where you make an
  7375  // initial request and the request times out. If you make the request again
  7376  // with the same request ID, the server can check if original operation with
  7377  // the same request ID was received, and if so, will ignore the second request.
  7378  // This prevents clients from accidentally creating duplicate commitments. The
  7379  // request ID must be a valid UUID with the exception that zero UUID is not
  7380  // supported (00000000-0000-0000-0000-000000000000).
  7381  func (c *ProjectsLocationsClustersUsersPatchCall) RequestId(requestId string) *ProjectsLocationsClustersUsersPatchCall {
  7382  	c.urlParams_.Set("requestId", requestId)
  7383  	return c
  7384  }
  7385  
  7386  // UpdateMask sets the optional parameter "updateMask": Field mask is used to
  7387  // specify the fields to be overwritten in the User resource by the update. The
  7388  // fields specified in the update_mask are relative to the resource, not the
  7389  // full request. A field will be overwritten if it is in the mask. If the user
  7390  // does not provide a mask then all fields will be overwritten.
  7391  func (c *ProjectsLocationsClustersUsersPatchCall) UpdateMask(updateMask string) *ProjectsLocationsClustersUsersPatchCall {
  7392  	c.urlParams_.Set("updateMask", updateMask)
  7393  	return c
  7394  }
  7395  
  7396  // ValidateOnly sets the optional parameter "validateOnly": If set, the backend
  7397  // validates the request, but doesn't actually execute it.
  7398  func (c *ProjectsLocationsClustersUsersPatchCall) ValidateOnly(validateOnly bool) *ProjectsLocationsClustersUsersPatchCall {
  7399  	c.urlParams_.Set("validateOnly", fmt.Sprint(validateOnly))
  7400  	return c
  7401  }
  7402  
  7403  // Fields allows partial responses to be retrieved. See
  7404  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7405  // details.
  7406  func (c *ProjectsLocationsClustersUsersPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersUsersPatchCall {
  7407  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7408  	return c
  7409  }
  7410  
  7411  // Context sets the context to be used in this call's Do method.
  7412  func (c *ProjectsLocationsClustersUsersPatchCall) Context(ctx context.Context) *ProjectsLocationsClustersUsersPatchCall {
  7413  	c.ctx_ = ctx
  7414  	return c
  7415  }
  7416  
  7417  // Header returns a http.Header that can be modified by the caller to add
  7418  // headers to the request.
  7419  func (c *ProjectsLocationsClustersUsersPatchCall) Header() http.Header {
  7420  	if c.header_ == nil {
  7421  		c.header_ = make(http.Header)
  7422  	}
  7423  	return c.header_
  7424  }
  7425  
  7426  func (c *ProjectsLocationsClustersUsersPatchCall) doRequest(alt string) (*http.Response, error) {
  7427  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  7428  	var body io.Reader = nil
  7429  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.user)
  7430  	if err != nil {
  7431  		return nil, err
  7432  	}
  7433  	c.urlParams_.Set("alt", alt)
  7434  	c.urlParams_.Set("prettyPrint", "false")
  7435  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}")
  7436  	urls += "?" + c.urlParams_.Encode()
  7437  	req, err := http.NewRequest("PATCH", urls, body)
  7438  	if err != nil {
  7439  		return nil, err
  7440  	}
  7441  	req.Header = reqHeaders
  7442  	googleapi.Expand(req.URL, map[string]string{
  7443  		"name": c.name,
  7444  	})
  7445  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7446  }
  7447  
  7448  // Do executes the "alloydb.projects.locations.clusters.users.patch" call.
  7449  // Any non-2xx status code is an error. Response headers are in either
  7450  // *User.ServerResponse.Header or (if a response was returned at all) in
  7451  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7452  // whether the returned error was because http.StatusNotModified was returned.
  7453  func (c *ProjectsLocationsClustersUsersPatchCall) Do(opts ...googleapi.CallOption) (*User, error) {
  7454  	gensupport.SetOptions(c.urlParams_, opts...)
  7455  	res, err := c.doRequest("json")
  7456  	if res != nil && res.StatusCode == http.StatusNotModified {
  7457  		if res.Body != nil {
  7458  			res.Body.Close()
  7459  		}
  7460  		return nil, gensupport.WrapError(&googleapi.Error{
  7461  			Code:   res.StatusCode,
  7462  			Header: res.Header,
  7463  		})
  7464  	}
  7465  	if err != nil {
  7466  		return nil, err
  7467  	}
  7468  	defer googleapi.CloseBody(res)
  7469  	if err := googleapi.CheckResponse(res); err != nil {
  7470  		return nil, gensupport.WrapError(err)
  7471  	}
  7472  	ret := &User{
  7473  		ServerResponse: googleapi.ServerResponse{
  7474  			Header:         res.Header,
  7475  			HTTPStatusCode: res.StatusCode,
  7476  		},
  7477  	}
  7478  	target := &ret
  7479  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7480  		return nil, err
  7481  	}
  7482  	return ret, nil
  7483  }
  7484  
  7485  type ProjectsLocationsOperationsCancelCall struct {
  7486  	s                      *Service
  7487  	name                   string
  7488  	canceloperationrequest *CancelOperationRequest
  7489  	urlParams_             gensupport.URLParams
  7490  	ctx_                   context.Context
  7491  	header_                http.Header
  7492  }
  7493  
  7494  // Cancel: Starts asynchronous cancellation on a long-running operation. The
  7495  // server makes a best effort to cancel the operation, but success is not
  7496  // guaranteed. If the server doesn't support this method, it returns
  7497  // `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
  7498  // other methods to check whether the cancellation succeeded or whether the
  7499  // operation completed despite cancellation. On successful cancellation, the
  7500  // operation is not deleted; instead, it becomes an operation with an
  7501  // Operation.error value with a google.rpc.Status.code of 1, corresponding to
  7502  // `Code.CANCELLED`.
  7503  //
  7504  // - name: The name of the operation resource to be cancelled.
  7505  func (r *ProjectsLocationsOperationsService) Cancel(name string, canceloperationrequest *CancelOperationRequest) *ProjectsLocationsOperationsCancelCall {
  7506  	c := &ProjectsLocationsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7507  	c.name = name
  7508  	c.canceloperationrequest = canceloperationrequest
  7509  	return c
  7510  }
  7511  
  7512  // Fields allows partial responses to be retrieved. See
  7513  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7514  // details.
  7515  func (c *ProjectsLocationsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsCancelCall {
  7516  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7517  	return c
  7518  }
  7519  
  7520  // Context sets the context to be used in this call's Do method.
  7521  func (c *ProjectsLocationsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsOperationsCancelCall {
  7522  	c.ctx_ = ctx
  7523  	return c
  7524  }
  7525  
  7526  // Header returns a http.Header that can be modified by the caller to add
  7527  // headers to the request.
  7528  func (c *ProjectsLocationsOperationsCancelCall) Header() http.Header {
  7529  	if c.header_ == nil {
  7530  		c.header_ = make(http.Header)
  7531  	}
  7532  	return c.header_
  7533  }
  7534  
  7535  func (c *ProjectsLocationsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
  7536  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  7537  	var body io.Reader = nil
  7538  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.canceloperationrequest)
  7539  	if err != nil {
  7540  		return nil, err
  7541  	}
  7542  	c.urlParams_.Set("alt", alt)
  7543  	c.urlParams_.Set("prettyPrint", "false")
  7544  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}:cancel")
  7545  	urls += "?" + c.urlParams_.Encode()
  7546  	req, err := http.NewRequest("POST", urls, body)
  7547  	if err != nil {
  7548  		return nil, err
  7549  	}
  7550  	req.Header = reqHeaders
  7551  	googleapi.Expand(req.URL, map[string]string{
  7552  		"name": c.name,
  7553  	})
  7554  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7555  }
  7556  
  7557  // Do executes the "alloydb.projects.locations.operations.cancel" call.
  7558  // Any non-2xx status code is an error. Response headers are in either
  7559  // *Empty.ServerResponse.Header or (if a response was returned at all) in
  7560  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7561  // whether the returned error was because http.StatusNotModified was returned.
  7562  func (c *ProjectsLocationsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
  7563  	gensupport.SetOptions(c.urlParams_, opts...)
  7564  	res, err := c.doRequest("json")
  7565  	if res != nil && res.StatusCode == http.StatusNotModified {
  7566  		if res.Body != nil {
  7567  			res.Body.Close()
  7568  		}
  7569  		return nil, gensupport.WrapError(&googleapi.Error{
  7570  			Code:   res.StatusCode,
  7571  			Header: res.Header,
  7572  		})
  7573  	}
  7574  	if err != nil {
  7575  		return nil, err
  7576  	}
  7577  	defer googleapi.CloseBody(res)
  7578  	if err := googleapi.CheckResponse(res); err != nil {
  7579  		return nil, gensupport.WrapError(err)
  7580  	}
  7581  	ret := &Empty{
  7582  		ServerResponse: googleapi.ServerResponse{
  7583  			Header:         res.Header,
  7584  			HTTPStatusCode: res.StatusCode,
  7585  		},
  7586  	}
  7587  	target := &ret
  7588  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7589  		return nil, err
  7590  	}
  7591  	return ret, nil
  7592  }
  7593  
  7594  type ProjectsLocationsOperationsDeleteCall struct {
  7595  	s          *Service
  7596  	name       string
  7597  	urlParams_ gensupport.URLParams
  7598  	ctx_       context.Context
  7599  	header_    http.Header
  7600  }
  7601  
  7602  // Delete: Deletes a long-running operation. This method indicates that the
  7603  // client is no longer interested in the operation result. It does not cancel
  7604  // the operation. If the server doesn't support this method, it returns
  7605  // `google.rpc.Code.UNIMPLEMENTED`.
  7606  //
  7607  // - name: The name of the operation resource to be deleted.
  7608  func (r *ProjectsLocationsOperationsService) Delete(name string) *ProjectsLocationsOperationsDeleteCall {
  7609  	c := &ProjectsLocationsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7610  	c.name = name
  7611  	return c
  7612  }
  7613  
  7614  // Fields allows partial responses to be retrieved. See
  7615  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7616  // details.
  7617  func (c *ProjectsLocationsOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsDeleteCall {
  7618  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7619  	return c
  7620  }
  7621  
  7622  // Context sets the context to be used in this call's Do method.
  7623  func (c *ProjectsLocationsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsOperationsDeleteCall {
  7624  	c.ctx_ = ctx
  7625  	return c
  7626  }
  7627  
  7628  // Header returns a http.Header that can be modified by the caller to add
  7629  // headers to the request.
  7630  func (c *ProjectsLocationsOperationsDeleteCall) Header() http.Header {
  7631  	if c.header_ == nil {
  7632  		c.header_ = make(http.Header)
  7633  	}
  7634  	return c.header_
  7635  }
  7636  
  7637  func (c *ProjectsLocationsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
  7638  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7639  	var body io.Reader = nil
  7640  	c.urlParams_.Set("alt", alt)
  7641  	c.urlParams_.Set("prettyPrint", "false")
  7642  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}")
  7643  	urls += "?" + c.urlParams_.Encode()
  7644  	req, err := http.NewRequest("DELETE", urls, body)
  7645  	if err != nil {
  7646  		return nil, err
  7647  	}
  7648  	req.Header = reqHeaders
  7649  	googleapi.Expand(req.URL, map[string]string{
  7650  		"name": c.name,
  7651  	})
  7652  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7653  }
  7654  
  7655  // Do executes the "alloydb.projects.locations.operations.delete" call.
  7656  // Any non-2xx status code is an error. Response headers are in either
  7657  // *Empty.ServerResponse.Header or (if a response was returned at all) in
  7658  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7659  // whether the returned error was because http.StatusNotModified was returned.
  7660  func (c *ProjectsLocationsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
  7661  	gensupport.SetOptions(c.urlParams_, opts...)
  7662  	res, err := c.doRequest("json")
  7663  	if res != nil && res.StatusCode == http.StatusNotModified {
  7664  		if res.Body != nil {
  7665  			res.Body.Close()
  7666  		}
  7667  		return nil, gensupport.WrapError(&googleapi.Error{
  7668  			Code:   res.StatusCode,
  7669  			Header: res.Header,
  7670  		})
  7671  	}
  7672  	if err != nil {
  7673  		return nil, err
  7674  	}
  7675  	defer googleapi.CloseBody(res)
  7676  	if err := googleapi.CheckResponse(res); err != nil {
  7677  		return nil, gensupport.WrapError(err)
  7678  	}
  7679  	ret := &Empty{
  7680  		ServerResponse: googleapi.ServerResponse{
  7681  			Header:         res.Header,
  7682  			HTTPStatusCode: res.StatusCode,
  7683  		},
  7684  	}
  7685  	target := &ret
  7686  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7687  		return nil, err
  7688  	}
  7689  	return ret, nil
  7690  }
  7691  
  7692  type ProjectsLocationsOperationsGetCall struct {
  7693  	s            *Service
  7694  	name         string
  7695  	urlParams_   gensupport.URLParams
  7696  	ifNoneMatch_ string
  7697  	ctx_         context.Context
  7698  	header_      http.Header
  7699  }
  7700  
  7701  // Get: Gets the latest state of a long-running operation. Clients can use this
  7702  // method to poll the operation result at intervals as recommended by the API
  7703  // service.
  7704  //
  7705  // - name: The name of the operation resource.
  7706  func (r *ProjectsLocationsOperationsService) Get(name string) *ProjectsLocationsOperationsGetCall {
  7707  	c := &ProjectsLocationsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7708  	c.name = name
  7709  	return c
  7710  }
  7711  
  7712  // Fields allows partial responses to be retrieved. See
  7713  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7714  // details.
  7715  func (c *ProjectsLocationsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsGetCall {
  7716  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7717  	return c
  7718  }
  7719  
  7720  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  7721  // object's ETag matches the given value. This is useful for getting updates
  7722  // only after the object has changed since the last request.
  7723  func (c *ProjectsLocationsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsOperationsGetCall {
  7724  	c.ifNoneMatch_ = entityTag
  7725  	return c
  7726  }
  7727  
  7728  // Context sets the context to be used in this call's Do method.
  7729  func (c *ProjectsLocationsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsOperationsGetCall {
  7730  	c.ctx_ = ctx
  7731  	return c
  7732  }
  7733  
  7734  // Header returns a http.Header that can be modified by the caller to add
  7735  // headers to the request.
  7736  func (c *ProjectsLocationsOperationsGetCall) Header() http.Header {
  7737  	if c.header_ == nil {
  7738  		c.header_ = make(http.Header)
  7739  	}
  7740  	return c.header_
  7741  }
  7742  
  7743  func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
  7744  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7745  	if c.ifNoneMatch_ != "" {
  7746  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  7747  	}
  7748  	var body io.Reader = nil
  7749  	c.urlParams_.Set("alt", alt)
  7750  	c.urlParams_.Set("prettyPrint", "false")
  7751  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}")
  7752  	urls += "?" + c.urlParams_.Encode()
  7753  	req, err := http.NewRequest("GET", urls, body)
  7754  	if err != nil {
  7755  		return nil, err
  7756  	}
  7757  	req.Header = reqHeaders
  7758  	googleapi.Expand(req.URL, map[string]string{
  7759  		"name": c.name,
  7760  	})
  7761  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7762  }
  7763  
  7764  // Do executes the "alloydb.projects.locations.operations.get" call.
  7765  // Any non-2xx status code is an error. Response headers are in either
  7766  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  7767  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7768  // whether the returned error was because http.StatusNotModified was returned.
  7769  func (c *ProjectsLocationsOperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  7770  	gensupport.SetOptions(c.urlParams_, opts...)
  7771  	res, err := c.doRequest("json")
  7772  	if res != nil && res.StatusCode == http.StatusNotModified {
  7773  		if res.Body != nil {
  7774  			res.Body.Close()
  7775  		}
  7776  		return nil, gensupport.WrapError(&googleapi.Error{
  7777  			Code:   res.StatusCode,
  7778  			Header: res.Header,
  7779  		})
  7780  	}
  7781  	if err != nil {
  7782  		return nil, err
  7783  	}
  7784  	defer googleapi.CloseBody(res)
  7785  	if err := googleapi.CheckResponse(res); err != nil {
  7786  		return nil, gensupport.WrapError(err)
  7787  	}
  7788  	ret := &Operation{
  7789  		ServerResponse: googleapi.ServerResponse{
  7790  			Header:         res.Header,
  7791  			HTTPStatusCode: res.StatusCode,
  7792  		},
  7793  	}
  7794  	target := &ret
  7795  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7796  		return nil, err
  7797  	}
  7798  	return ret, nil
  7799  }
  7800  
  7801  type ProjectsLocationsOperationsListCall struct {
  7802  	s            *Service
  7803  	name         string
  7804  	urlParams_   gensupport.URLParams
  7805  	ifNoneMatch_ string
  7806  	ctx_         context.Context
  7807  	header_      http.Header
  7808  }
  7809  
  7810  // List: Lists operations that match the specified filter in the request. If
  7811  // the server doesn't support this method, it returns `UNIMPLEMENTED`.
  7812  //
  7813  // - name: The name of the operation's parent resource.
  7814  func (r *ProjectsLocationsOperationsService) List(name string) *ProjectsLocationsOperationsListCall {
  7815  	c := &ProjectsLocationsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7816  	c.name = name
  7817  	return c
  7818  }
  7819  
  7820  // Filter sets the optional parameter "filter": The standard list filter.
  7821  func (c *ProjectsLocationsOperationsListCall) Filter(filter string) *ProjectsLocationsOperationsListCall {
  7822  	c.urlParams_.Set("filter", filter)
  7823  	return c
  7824  }
  7825  
  7826  // PageSize sets the optional parameter "pageSize": The standard list page
  7827  // size.
  7828  func (c *ProjectsLocationsOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsOperationsListCall {
  7829  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  7830  	return c
  7831  }
  7832  
  7833  // PageToken sets the optional parameter "pageToken": The standard list page
  7834  // token.
  7835  func (c *ProjectsLocationsOperationsListCall) PageToken(pageToken string) *ProjectsLocationsOperationsListCall {
  7836  	c.urlParams_.Set("pageToken", pageToken)
  7837  	return c
  7838  }
  7839  
  7840  // Fields allows partial responses to be retrieved. See
  7841  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7842  // details.
  7843  func (c *ProjectsLocationsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsListCall {
  7844  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7845  	return c
  7846  }
  7847  
  7848  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  7849  // object's ETag matches the given value. This is useful for getting updates
  7850  // only after the object has changed since the last request.
  7851  func (c *ProjectsLocationsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsOperationsListCall {
  7852  	c.ifNoneMatch_ = entityTag
  7853  	return c
  7854  }
  7855  
  7856  // Context sets the context to be used in this call's Do method.
  7857  func (c *ProjectsLocationsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsOperationsListCall {
  7858  	c.ctx_ = ctx
  7859  	return c
  7860  }
  7861  
  7862  // Header returns a http.Header that can be modified by the caller to add
  7863  // headers to the request.
  7864  func (c *ProjectsLocationsOperationsListCall) Header() http.Header {
  7865  	if c.header_ == nil {
  7866  		c.header_ = make(http.Header)
  7867  	}
  7868  	return c.header_
  7869  }
  7870  
  7871  func (c *ProjectsLocationsOperationsListCall) doRequest(alt string) (*http.Response, error) {
  7872  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7873  	if c.ifNoneMatch_ != "" {
  7874  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  7875  	}
  7876  	var body io.Reader = nil
  7877  	c.urlParams_.Set("alt", alt)
  7878  	c.urlParams_.Set("prettyPrint", "false")
  7879  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}/operations")
  7880  	urls += "?" + c.urlParams_.Encode()
  7881  	req, err := http.NewRequest("GET", urls, body)
  7882  	if err != nil {
  7883  		return nil, err
  7884  	}
  7885  	req.Header = reqHeaders
  7886  	googleapi.Expand(req.URL, map[string]string{
  7887  		"name": c.name,
  7888  	})
  7889  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7890  }
  7891  
  7892  // Do executes the "alloydb.projects.locations.operations.list" call.
  7893  // Any non-2xx status code is an error. Response headers are in either
  7894  // *ListOperationsResponse.ServerResponse.Header or (if a response was returned
  7895  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  7896  // check whether the returned error was because http.StatusNotModified was
  7897  // returned.
  7898  func (c *ProjectsLocationsOperationsListCall) Do(opts ...googleapi.CallOption) (*ListOperationsResponse, error) {
  7899  	gensupport.SetOptions(c.urlParams_, opts...)
  7900  	res, err := c.doRequest("json")
  7901  	if res != nil && res.StatusCode == http.StatusNotModified {
  7902  		if res.Body != nil {
  7903  			res.Body.Close()
  7904  		}
  7905  		return nil, gensupport.WrapError(&googleapi.Error{
  7906  			Code:   res.StatusCode,
  7907  			Header: res.Header,
  7908  		})
  7909  	}
  7910  	if err != nil {
  7911  		return nil, err
  7912  	}
  7913  	defer googleapi.CloseBody(res)
  7914  	if err := googleapi.CheckResponse(res); err != nil {
  7915  		return nil, gensupport.WrapError(err)
  7916  	}
  7917  	ret := &ListOperationsResponse{
  7918  		ServerResponse: googleapi.ServerResponse{
  7919  			Header:         res.Header,
  7920  			HTTPStatusCode: res.StatusCode,
  7921  		},
  7922  	}
  7923  	target := &ret
  7924  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7925  		return nil, err
  7926  	}
  7927  	return ret, nil
  7928  }
  7929  
  7930  // Pages invokes f for each page of results.
  7931  // A non-nil error returned from f will halt the iteration.
  7932  // The provided context supersedes any context provided to the Context method.
  7933  func (c *ProjectsLocationsOperationsListCall) Pages(ctx context.Context, f func(*ListOperationsResponse) error) error {
  7934  	c.ctx_ = ctx
  7935  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  7936  	for {
  7937  		x, err := c.Do()
  7938  		if err != nil {
  7939  			return err
  7940  		}
  7941  		if err := f(x); err != nil {
  7942  			return err
  7943  		}
  7944  		if x.NextPageToken == "" {
  7945  			return nil
  7946  		}
  7947  		c.PageToken(x.NextPageToken)
  7948  	}
  7949  }
  7950  
  7951  type ProjectsLocationsSupportedDatabaseFlagsListCall struct {
  7952  	s            *Service
  7953  	parent       string
  7954  	urlParams_   gensupport.URLParams
  7955  	ifNoneMatch_ string
  7956  	ctx_         context.Context
  7957  	header_      http.Header
  7958  }
  7959  
  7960  // List: Lists SupportedDatabaseFlags for a given project and location.
  7961  //
  7962  //   - parent: The name of the parent resource. The required format is: *
  7963  //     projects/{project}/locations/{location} Regardless of the parent specified
  7964  //     here, as long it is contains a valid project and location, the service
  7965  //     will return a static list of supported flags resources. Note that we do
  7966  //     not yet support region-specific flags.
  7967  func (r *ProjectsLocationsSupportedDatabaseFlagsService) List(parent string) *ProjectsLocationsSupportedDatabaseFlagsListCall {
  7968  	c := &ProjectsLocationsSupportedDatabaseFlagsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7969  	c.parent = parent
  7970  	return c
  7971  }
  7972  
  7973  // PageSize sets the optional parameter "pageSize": Requested page size. Server
  7974  // may return fewer items than requested. If unspecified, server will pick an
  7975  // appropriate default.
  7976  func (c *ProjectsLocationsSupportedDatabaseFlagsListCall) PageSize(pageSize int64) *ProjectsLocationsSupportedDatabaseFlagsListCall {
  7977  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  7978  	return c
  7979  }
  7980  
  7981  // PageToken sets the optional parameter "pageToken": A token identifying a
  7982  // page of results the server should return.
  7983  func (c *ProjectsLocationsSupportedDatabaseFlagsListCall) PageToken(pageToken string) *ProjectsLocationsSupportedDatabaseFlagsListCall {
  7984  	c.urlParams_.Set("pageToken", pageToken)
  7985  	return c
  7986  }
  7987  
  7988  // Fields allows partial responses to be retrieved. See
  7989  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7990  // details.
  7991  func (c *ProjectsLocationsSupportedDatabaseFlagsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsSupportedDatabaseFlagsListCall {
  7992  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7993  	return c
  7994  }
  7995  
  7996  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  7997  // object's ETag matches the given value. This is useful for getting updates
  7998  // only after the object has changed since the last request.
  7999  func (c *ProjectsLocationsSupportedDatabaseFlagsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsSupportedDatabaseFlagsListCall {
  8000  	c.ifNoneMatch_ = entityTag
  8001  	return c
  8002  }
  8003  
  8004  // Context sets the context to be used in this call's Do method.
  8005  func (c *ProjectsLocationsSupportedDatabaseFlagsListCall) Context(ctx context.Context) *ProjectsLocationsSupportedDatabaseFlagsListCall {
  8006  	c.ctx_ = ctx
  8007  	return c
  8008  }
  8009  
  8010  // Header returns a http.Header that can be modified by the caller to add
  8011  // headers to the request.
  8012  func (c *ProjectsLocationsSupportedDatabaseFlagsListCall) Header() http.Header {
  8013  	if c.header_ == nil {
  8014  		c.header_ = make(http.Header)
  8015  	}
  8016  	return c.header_
  8017  }
  8018  
  8019  func (c *ProjectsLocationsSupportedDatabaseFlagsListCall) doRequest(alt string) (*http.Response, error) {
  8020  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8021  	if c.ifNoneMatch_ != "" {
  8022  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  8023  	}
  8024  	var body io.Reader = nil
  8025  	c.urlParams_.Set("alt", alt)
  8026  	c.urlParams_.Set("prettyPrint", "false")
  8027  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+parent}/supportedDatabaseFlags")
  8028  	urls += "?" + c.urlParams_.Encode()
  8029  	req, err := http.NewRequest("GET", urls, body)
  8030  	if err != nil {
  8031  		return nil, err
  8032  	}
  8033  	req.Header = reqHeaders
  8034  	googleapi.Expand(req.URL, map[string]string{
  8035  		"parent": c.parent,
  8036  	})
  8037  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8038  }
  8039  
  8040  // Do executes the "alloydb.projects.locations.supportedDatabaseFlags.list" call.
  8041  // Any non-2xx status code is an error. Response headers are in either
  8042  // *ListSupportedDatabaseFlagsResponse.ServerResponse.Header or (if a response
  8043  // was returned at all) in error.(*googleapi.Error).Header. Use
  8044  // googleapi.IsNotModified to check whether the returned error was because
  8045  // http.StatusNotModified was returned.
  8046  func (c *ProjectsLocationsSupportedDatabaseFlagsListCall) Do(opts ...googleapi.CallOption) (*ListSupportedDatabaseFlagsResponse, error) {
  8047  	gensupport.SetOptions(c.urlParams_, opts...)
  8048  	res, err := c.doRequest("json")
  8049  	if res != nil && res.StatusCode == http.StatusNotModified {
  8050  		if res.Body != nil {
  8051  			res.Body.Close()
  8052  		}
  8053  		return nil, gensupport.WrapError(&googleapi.Error{
  8054  			Code:   res.StatusCode,
  8055  			Header: res.Header,
  8056  		})
  8057  	}
  8058  	if err != nil {
  8059  		return nil, err
  8060  	}
  8061  	defer googleapi.CloseBody(res)
  8062  	if err := googleapi.CheckResponse(res); err != nil {
  8063  		return nil, gensupport.WrapError(err)
  8064  	}
  8065  	ret := &ListSupportedDatabaseFlagsResponse{
  8066  		ServerResponse: googleapi.ServerResponse{
  8067  			Header:         res.Header,
  8068  			HTTPStatusCode: res.StatusCode,
  8069  		},
  8070  	}
  8071  	target := &ret
  8072  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8073  		return nil, err
  8074  	}
  8075  	return ret, nil
  8076  }
  8077  
  8078  // Pages invokes f for each page of results.
  8079  // A non-nil error returned from f will halt the iteration.
  8080  // The provided context supersedes any context provided to the Context method.
  8081  func (c *ProjectsLocationsSupportedDatabaseFlagsListCall) Pages(ctx context.Context, f func(*ListSupportedDatabaseFlagsResponse) error) error {
  8082  	c.ctx_ = ctx
  8083  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  8084  	for {
  8085  		x, err := c.Do()
  8086  		if err != nil {
  8087  			return err
  8088  		}
  8089  		if err := f(x); err != nil {
  8090  			return err
  8091  		}
  8092  		if x.NextPageToken == "" {
  8093  			return nil
  8094  		}
  8095  		c.PageToken(x.NextPageToken)
  8096  	}
  8097  }
  8098  

View as plain text