...

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

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

     1  // Copyright 2024 Google LLC.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  // Code generated file. DO NOT EDIT.
     6  
     7  // Package sqladmin provides access to the Cloud SQL Admin API.
     8  //
     9  // For product documentation, see: https://developers.google.com/cloud-sql/
    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/sqladmin/v1"
    27  //	...
    28  //	ctx := context.Background()
    29  //	sqladminService, err := sqladmin.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  // By default, all available scopes (see "Constants") are used to authenticate.
    38  // To restrict scopes, use [google.golang.org/api/option.WithScopes]:
    39  //
    40  //	sqladminService, err := sqladmin.NewService(ctx, option.WithScopes(sqladmin.SqlserviceAdminScope))
    41  //
    42  // To use an API key for authentication (note: some APIs do not support API
    43  // keys), use [google.golang.org/api/option.WithAPIKey]:
    44  //
    45  //	sqladminService, err := sqladmin.NewService(ctx, option.WithAPIKey("AIza..."))
    46  //
    47  // To use an OAuth token (e.g., a user token obtained via a three-legged OAuth
    48  // flow, use [google.golang.org/api/option.WithTokenSource]:
    49  //
    50  //	config := &oauth2.Config{...}
    51  //	// ...
    52  //	token, err := config.Exchange(ctx, ...)
    53  //	sqladminService, err := sqladmin.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
    54  //
    55  // See [google.golang.org/api/option.ClientOption] for details on options.
    56  package sqladmin // import "google.golang.org/api/sqladmin/v1"
    57  
    58  import (
    59  	"bytes"
    60  	"context"
    61  	"encoding/json"
    62  	"errors"
    63  	"fmt"
    64  	"io"
    65  	"net/http"
    66  	"net/url"
    67  	"strconv"
    68  	"strings"
    69  
    70  	googleapi "google.golang.org/api/googleapi"
    71  	internal "google.golang.org/api/internal"
    72  	gensupport "google.golang.org/api/internal/gensupport"
    73  	option "google.golang.org/api/option"
    74  	internaloption "google.golang.org/api/option/internaloption"
    75  	htransport "google.golang.org/api/transport/http"
    76  )
    77  
    78  // Always reference these packages, just in case the auto-generated code
    79  // below doesn't.
    80  var _ = bytes.NewBuffer
    81  var _ = strconv.Itoa
    82  var _ = fmt.Sprintf
    83  var _ = json.NewDecoder
    84  var _ = io.Copy
    85  var _ = url.Parse
    86  var _ = gensupport.MarshalJSON
    87  var _ = googleapi.Version
    88  var _ = errors.New
    89  var _ = strings.Replace
    90  var _ = context.Canceled
    91  var _ = internaloption.WithDefaultEndpoint
    92  var _ = internal.Version
    93  
    94  const apiId = "sqladmin:v1"
    95  const apiName = "sqladmin"
    96  const apiVersion = "v1"
    97  const basePath = "https://sqladmin.googleapis.com/"
    98  const basePathTemplate = "https://sqladmin.UNIVERSE_DOMAIN/"
    99  const mtlsBasePath = "https://sqladmin.mtls.googleapis.com/"
   100  
   101  // OAuth2 scopes used by this API.
   102  const (
   103  	// See, edit, configure, and delete your Google Cloud data and see the email
   104  	// address for your Google Account.
   105  	CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"
   106  
   107  	// Manage your Google SQL Service instances
   108  	SqlserviceAdminScope = "https://www.googleapis.com/auth/sqlservice.admin"
   109  )
   110  
   111  // NewService creates a new Service.
   112  func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
   113  	scopesOption := internaloption.WithDefaultScopes(
   114  		"https://www.googleapis.com/auth/cloud-platform",
   115  		"https://www.googleapis.com/auth/sqlservice.admin",
   116  	)
   117  	// NOTE: prepend, so we don't override user-specified scopes.
   118  	opts = append([]option.ClientOption{scopesOption}, opts...)
   119  	opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
   120  	opts = append(opts, internaloption.WithDefaultEndpointTemplate(basePathTemplate))
   121  	opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath))
   122  	opts = append(opts, internaloption.EnableNewAuthLibrary())
   123  	client, endpoint, err := htransport.NewClient(ctx, opts...)
   124  	if err != nil {
   125  		return nil, err
   126  	}
   127  	s, err := New(client)
   128  	if err != nil {
   129  		return nil, err
   130  	}
   131  	if endpoint != "" {
   132  		s.BasePath = endpoint
   133  	}
   134  	return s, nil
   135  }
   136  
   137  // New creates a new Service. It uses the provided http.Client for requests.
   138  //
   139  // Deprecated: please use NewService instead.
   140  // To provide a custom HTTP client, use option.WithHTTPClient.
   141  // If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
   142  func New(client *http.Client) (*Service, error) {
   143  	if client == nil {
   144  		return nil, errors.New("client is nil")
   145  	}
   146  	s := &Service{client: client, BasePath: basePath}
   147  	s.BackupRuns = NewBackupRunsService(s)
   148  	s.Connect = NewConnectService(s)
   149  	s.Databases = NewDatabasesService(s)
   150  	s.Flags = NewFlagsService(s)
   151  	s.Instances = NewInstancesService(s)
   152  	s.Operations = NewOperationsService(s)
   153  	s.Projects = NewProjectsService(s)
   154  	s.SslCerts = NewSslCertsService(s)
   155  	s.Tiers = NewTiersService(s)
   156  	s.Users = NewUsersService(s)
   157  	return s, nil
   158  }
   159  
   160  type Service struct {
   161  	client    *http.Client
   162  	BasePath  string // API endpoint base URL
   163  	UserAgent string // optional additional User-Agent fragment
   164  
   165  	BackupRuns *BackupRunsService
   166  
   167  	Connect *ConnectService
   168  
   169  	Databases *DatabasesService
   170  
   171  	Flags *FlagsService
   172  
   173  	Instances *InstancesService
   174  
   175  	Operations *OperationsService
   176  
   177  	Projects *ProjectsService
   178  
   179  	SslCerts *SslCertsService
   180  
   181  	Tiers *TiersService
   182  
   183  	Users *UsersService
   184  }
   185  
   186  func (s *Service) userAgent() string {
   187  	if s.UserAgent == "" {
   188  		return googleapi.UserAgent
   189  	}
   190  	return googleapi.UserAgent + " " + s.UserAgent
   191  }
   192  
   193  func NewBackupRunsService(s *Service) *BackupRunsService {
   194  	rs := &BackupRunsService{s: s}
   195  	return rs
   196  }
   197  
   198  type BackupRunsService struct {
   199  	s *Service
   200  }
   201  
   202  func NewConnectService(s *Service) *ConnectService {
   203  	rs := &ConnectService{s: s}
   204  	return rs
   205  }
   206  
   207  type ConnectService struct {
   208  	s *Service
   209  }
   210  
   211  func NewDatabasesService(s *Service) *DatabasesService {
   212  	rs := &DatabasesService{s: s}
   213  	return rs
   214  }
   215  
   216  type DatabasesService struct {
   217  	s *Service
   218  }
   219  
   220  func NewFlagsService(s *Service) *FlagsService {
   221  	rs := &FlagsService{s: s}
   222  	return rs
   223  }
   224  
   225  type FlagsService struct {
   226  	s *Service
   227  }
   228  
   229  func NewInstancesService(s *Service) *InstancesService {
   230  	rs := &InstancesService{s: s}
   231  	return rs
   232  }
   233  
   234  type InstancesService struct {
   235  	s *Service
   236  }
   237  
   238  func NewOperationsService(s *Service) *OperationsService {
   239  	rs := &OperationsService{s: s}
   240  	return rs
   241  }
   242  
   243  type OperationsService struct {
   244  	s *Service
   245  }
   246  
   247  func NewProjectsService(s *Service) *ProjectsService {
   248  	rs := &ProjectsService{s: s}
   249  	rs.Instances = NewProjectsInstancesService(s)
   250  	return rs
   251  }
   252  
   253  type ProjectsService struct {
   254  	s *Service
   255  
   256  	Instances *ProjectsInstancesService
   257  }
   258  
   259  func NewProjectsInstancesService(s *Service) *ProjectsInstancesService {
   260  	rs := &ProjectsInstancesService{s: s}
   261  	return rs
   262  }
   263  
   264  type ProjectsInstancesService struct {
   265  	s *Service
   266  }
   267  
   268  func NewSslCertsService(s *Service) *SslCertsService {
   269  	rs := &SslCertsService{s: s}
   270  	return rs
   271  }
   272  
   273  type SslCertsService struct {
   274  	s *Service
   275  }
   276  
   277  func NewTiersService(s *Service) *TiersService {
   278  	rs := &TiersService{s: s}
   279  	return rs
   280  }
   281  
   282  type TiersService struct {
   283  	s *Service
   284  }
   285  
   286  func NewUsersService(s *Service) *UsersService {
   287  	rs := &UsersService{s: s}
   288  	return rs
   289  }
   290  
   291  type UsersService struct {
   292  	s *Service
   293  }
   294  
   295  // AclEntry: An entry for an Access Control list.
   296  type AclEntry struct {
   297  	// ExpirationTime: The time when this access control entry expires in RFC 3339
   298  	// (https://tools.ietf.org/html/rfc3339) format, for example
   299  	// `2012-11-15T16:19:00.094Z`.
   300  	ExpirationTime string `json:"expirationTime,omitempty"`
   301  	// Kind: This is always `sql#aclEntry`.
   302  	Kind string `json:"kind,omitempty"`
   303  	// Name: Optional. A label to identify this entry.
   304  	Name string `json:"name,omitempty"`
   305  	// Value: The allowlisted value for the access control list.
   306  	Value string `json:"value,omitempty"`
   307  	// ForceSendFields is a list of field names (e.g. "ExpirationTime") to
   308  	// unconditionally include in API requests. By default, fields with empty or
   309  	// default values are omitted from API requests. See
   310  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   311  	// details.
   312  	ForceSendFields []string `json:"-"`
   313  	// NullFields is a list of field names (e.g. "ExpirationTime") to include in
   314  	// API requests with the JSON null value. By default, fields with empty values
   315  	// are omitted from API requests. See
   316  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   317  	NullFields []string `json:"-"`
   318  }
   319  
   320  func (s *AclEntry) MarshalJSON() ([]byte, error) {
   321  	type NoMethod AclEntry
   322  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   323  }
   324  
   325  // AcquireSsrsLeaseContext: Acquire SSRS lease context.
   326  type AcquireSsrsLeaseContext struct {
   327  	// Duration: Lease duration needed for SSRS setup.
   328  	Duration string `json:"duration,omitempty"`
   329  	// ReportDatabase: The report database to be used for SSRS setup.
   330  	ReportDatabase string `json:"reportDatabase,omitempty"`
   331  	// ServiceLogin: The username to be used as the service login to connect to the
   332  	// report database for SSRS setup.
   333  	ServiceLogin string `json:"serviceLogin,omitempty"`
   334  	// SetupLogin: The username to be used as the setup login to connect to the
   335  	// database server for SSRS setup.
   336  	SetupLogin string `json:"setupLogin,omitempty"`
   337  	// ForceSendFields is a list of field names (e.g. "Duration") to
   338  	// unconditionally include in API requests. By default, fields with empty or
   339  	// default values are omitted from API requests. See
   340  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   341  	// details.
   342  	ForceSendFields []string `json:"-"`
   343  	// NullFields is a list of field names (e.g. "Duration") to include in API
   344  	// requests with the JSON null value. By default, fields with empty values are
   345  	// omitted from API requests. See
   346  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   347  	NullFields []string `json:"-"`
   348  }
   349  
   350  func (s *AcquireSsrsLeaseContext) MarshalJSON() ([]byte, error) {
   351  	type NoMethod AcquireSsrsLeaseContext
   352  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   353  }
   354  
   355  // AdvancedMachineFeatures: Specifies options for controlling advanced machine
   356  // features.
   357  type AdvancedMachineFeatures struct {
   358  	// ThreadsPerCore: The number of threads per physical core.
   359  	ThreadsPerCore int64 `json:"threadsPerCore,omitempty"`
   360  	// ForceSendFields is a list of field names (e.g. "ThreadsPerCore") to
   361  	// unconditionally include in API requests. By default, fields with empty or
   362  	// default values are omitted from API requests. See
   363  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   364  	// details.
   365  	ForceSendFields []string `json:"-"`
   366  	// NullFields is a list of field names (e.g. "ThreadsPerCore") to include in
   367  	// API requests with the JSON null value. By default, fields with empty values
   368  	// are omitted from API requests. See
   369  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   370  	NullFields []string `json:"-"`
   371  }
   372  
   373  func (s *AdvancedMachineFeatures) MarshalJSON() ([]byte, error) {
   374  	type NoMethod AdvancedMachineFeatures
   375  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   376  }
   377  
   378  // ApiWarning: An Admin API warning message.
   379  type ApiWarning struct {
   380  	// Code: Code to uniquely identify the warning type.
   381  	//
   382  	// Possible values:
   383  	//   "SQL_API_WARNING_CODE_UNSPECIFIED" - An unknown or unset warning type from
   384  	// Cloud SQL API.
   385  	//   "REGION_UNREACHABLE" - Warning when one or more regions are not reachable.
   386  	// The returned result set may be incomplete.
   387  	//   "MAX_RESULTS_EXCEEDS_LIMIT" - Warning when user provided maxResults
   388  	// parameter exceeds the limit. The returned result set may be incomplete.
   389  	//   "COMPROMISED_CREDENTIALS" - Warning when user tries to create/update a
   390  	// user with credentials that have previously been compromised by a public data
   391  	// breach.
   392  	//   "INTERNAL_STATE_FAILURE" - Warning when the operation succeeds but some
   393  	// non-critical workflow state failed.
   394  	Code string `json:"code,omitempty"`
   395  	// Message: The warning message.
   396  	Message string `json:"message,omitempty"`
   397  	// Region: The region name for REGION_UNREACHABLE warning.
   398  	Region string `json:"region,omitempty"`
   399  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
   400  	// include in API requests. By default, fields with empty or default values are
   401  	// omitted from API requests. See
   402  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   403  	// details.
   404  	ForceSendFields []string `json:"-"`
   405  	// NullFields is a list of field names (e.g. "Code") to include in API requests
   406  	// with the JSON null value. By default, fields with empty values are omitted
   407  	// from API requests. See
   408  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   409  	NullFields []string `json:"-"`
   410  }
   411  
   412  func (s *ApiWarning) MarshalJSON() ([]byte, error) {
   413  	type NoMethod ApiWarning
   414  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   415  }
   416  
   417  // BackupConfiguration: Database instance backup configuration.
   418  type BackupConfiguration struct {
   419  	// BackupRetentionSettings: Backup retention settings.
   420  	BackupRetentionSettings *BackupRetentionSettings `json:"backupRetentionSettings,omitempty"`
   421  	// BinaryLogEnabled: (MySQL only) Whether binary log is enabled. If backup
   422  	// configuration is disabled, binarylog must be disabled as well.
   423  	BinaryLogEnabled bool `json:"binaryLogEnabled,omitempty"`
   424  	// Enabled: Whether this configuration is enabled.
   425  	Enabled bool `json:"enabled,omitempty"`
   426  	// Kind: This is always `sql#backupConfiguration`.
   427  	Kind string `json:"kind,omitempty"`
   428  	// Location: Location of the backup
   429  	Location string `json:"location,omitempty"`
   430  	// PointInTimeRecoveryEnabled: Whether point in time recovery is enabled.
   431  	PointInTimeRecoveryEnabled bool `json:"pointInTimeRecoveryEnabled,omitempty"`
   432  	// ReplicationLogArchivingEnabled: Reserved for future use.
   433  	ReplicationLogArchivingEnabled bool `json:"replicationLogArchivingEnabled,omitempty"`
   434  	// StartTime: Start time for the daily backup configuration in UTC timezone in
   435  	// the 24 hour format - `HH:MM`.
   436  	StartTime string `json:"startTime,omitempty"`
   437  	// TransactionLogRetentionDays: The number of days of transaction logs we
   438  	// retain for point in time restore, from 1-7.
   439  	TransactionLogRetentionDays int64 `json:"transactionLogRetentionDays,omitempty"`
   440  	// TransactionalLogStorageState: Output only. This value contains the storage
   441  	// location of transactional logs used to perform point-in-time recovery (PITR)
   442  	// for the database.
   443  	//
   444  	// Possible values:
   445  	//   "TRANSACTIONAL_LOG_STORAGE_STATE_UNSPECIFIED" - Unspecified.
   446  	//   "DISK" - The transaction logs used for PITR for the instance are stored on
   447  	// a data disk.
   448  	//   "SWITCHING_TO_CLOUD_STORAGE" - The transaction logs used for PITR for the
   449  	// instance are switching from being stored on a data disk to being stored in
   450  	// Cloud Storage. Only applicable to MySQL.
   451  	//   "SWITCHED_TO_CLOUD_STORAGE" - The transaction logs used for PITR for the
   452  	// instance are now stored in Cloud Storage. Previously, they were stored on a
   453  	// data disk. Only applicable to MySQL.
   454  	//   "CLOUD_STORAGE" - The transaction logs used for PITR for the instance are
   455  	// stored in Cloud Storage. Only applicable to MySQL and PostgreSQL.
   456  	TransactionalLogStorageState string `json:"transactionalLogStorageState,omitempty"`
   457  	// ForceSendFields is a list of field names (e.g. "BackupRetentionSettings") to
   458  	// unconditionally include in API requests. By default, fields with empty or
   459  	// default values are omitted from API requests. See
   460  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   461  	// details.
   462  	ForceSendFields []string `json:"-"`
   463  	// NullFields is a list of field names (e.g. "BackupRetentionSettings") to
   464  	// include in API requests with the JSON null value. By default, fields with
   465  	// empty values are omitted from API requests. See
   466  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   467  	NullFields []string `json:"-"`
   468  }
   469  
   470  func (s *BackupConfiguration) MarshalJSON() ([]byte, error) {
   471  	type NoMethod BackupConfiguration
   472  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   473  }
   474  
   475  // BackupContext: Backup context.
   476  type BackupContext struct {
   477  	// BackupId: The identifier of the backup.
   478  	BackupId int64 `json:"backupId,omitempty,string"`
   479  	// Kind: This is always `sql#backupContext`.
   480  	Kind string `json:"kind,omitempty"`
   481  	// ForceSendFields is a list of field names (e.g. "BackupId") to
   482  	// unconditionally include in API requests. By default, fields with empty or
   483  	// default values are omitted from API requests. See
   484  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   485  	// details.
   486  	ForceSendFields []string `json:"-"`
   487  	// NullFields is a list of field names (e.g. "BackupId") to include in API
   488  	// requests with the JSON null value. By default, fields with empty values are
   489  	// omitted from API requests. See
   490  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   491  	NullFields []string `json:"-"`
   492  }
   493  
   494  func (s *BackupContext) MarshalJSON() ([]byte, error) {
   495  	type NoMethod BackupContext
   496  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   497  }
   498  
   499  // BackupReencryptionConfig: Backup Reencryption Config
   500  type BackupReencryptionConfig struct {
   501  	// BackupLimit: Backup re-encryption limit
   502  	BackupLimit int64 `json:"backupLimit,omitempty"`
   503  	// BackupType: Type of backups users want to re-encrypt.
   504  	//
   505  	// Possible values:
   506  	//   "BACKUP_TYPE_UNSPECIFIED" - Unknown backup type, will be defaulted to
   507  	// AUTOMATIC backup type
   508  	//   "AUTOMATED" - Reencrypt automatic backups
   509  	//   "ON_DEMAND" - Reencrypt on-demand backups
   510  	BackupType string `json:"backupType,omitempty"`
   511  	// ForceSendFields is a list of field names (e.g. "BackupLimit") to
   512  	// unconditionally include in API requests. By default, fields with empty or
   513  	// default values are omitted from API requests. See
   514  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   515  	// details.
   516  	ForceSendFields []string `json:"-"`
   517  	// NullFields is a list of field names (e.g. "BackupLimit") to include in API
   518  	// requests with the JSON null value. By default, fields with empty values are
   519  	// omitted from API requests. See
   520  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   521  	NullFields []string `json:"-"`
   522  }
   523  
   524  func (s *BackupReencryptionConfig) MarshalJSON() ([]byte, error) {
   525  	type NoMethod BackupReencryptionConfig
   526  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   527  }
   528  
   529  // BackupRetentionSettings: We currently only support backup retention by
   530  // specifying the number of backups we will retain.
   531  type BackupRetentionSettings struct {
   532  	// RetainedBackups: Depending on the value of retention_unit, this is used to
   533  	// determine if a backup needs to be deleted. If retention_unit is 'COUNT', we
   534  	// will retain this many backups.
   535  	RetainedBackups int64 `json:"retainedBackups,omitempty"`
   536  	// RetentionUnit: The unit that 'retained_backups' represents.
   537  	//
   538  	// Possible values:
   539  	//   "RETENTION_UNIT_UNSPECIFIED" - Backup retention unit is unspecified, will
   540  	// be treated as COUNT.
   541  	//   "COUNT" - Retention will be by count, eg. "retain the most recent 7
   542  	// backups".
   543  	RetentionUnit string `json:"retentionUnit,omitempty"`
   544  	// ForceSendFields is a list of field names (e.g. "RetainedBackups") to
   545  	// unconditionally include in API requests. By default, fields with empty or
   546  	// default values are omitted from API requests. See
   547  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   548  	// details.
   549  	ForceSendFields []string `json:"-"`
   550  	// NullFields is a list of field names (e.g. "RetainedBackups") to include in
   551  	// API requests with the JSON null value. By default, fields with empty values
   552  	// are omitted from API requests. See
   553  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   554  	NullFields []string `json:"-"`
   555  }
   556  
   557  func (s *BackupRetentionSettings) MarshalJSON() ([]byte, error) {
   558  	type NoMethod BackupRetentionSettings
   559  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   560  }
   561  
   562  // BackupRun: A BackupRun resource.
   563  type BackupRun struct {
   564  	// BackupKind: Specifies the kind of backup, PHYSICAL or DEFAULT_SNAPSHOT.
   565  	//
   566  	// Possible values:
   567  	//   "SQL_BACKUP_KIND_UNSPECIFIED" - This is an unknown BackupKind.
   568  	//   "SNAPSHOT" - The snapshot based backups
   569  	//   "PHYSICAL" - Physical backups
   570  	BackupKind string `json:"backupKind,omitempty"`
   571  	// Description: The description of this run, only applicable to on-demand
   572  	// backups.
   573  	Description string `json:"description,omitempty"`
   574  	// DiskEncryptionConfiguration: Encryption configuration specific to a backup.
   575  	DiskEncryptionConfiguration *DiskEncryptionConfiguration `json:"diskEncryptionConfiguration,omitempty"`
   576  	// DiskEncryptionStatus: Encryption status specific to a backup.
   577  	DiskEncryptionStatus *DiskEncryptionStatus `json:"diskEncryptionStatus,omitempty"`
   578  	// EndTime: The time the backup operation completed in UTC timezone in RFC 3339
   579  	// (https://tools.ietf.org/html/rfc3339) format, for example
   580  	// `2012-11-15T16:19:00.094Z`.
   581  	EndTime string `json:"endTime,omitempty"`
   582  	// EnqueuedTime: The time the run was enqueued in UTC timezone in RFC 3339
   583  	// (https://tools.ietf.org/html/rfc3339) format, for example
   584  	// `2012-11-15T16:19:00.094Z`.
   585  	EnqueuedTime string `json:"enqueuedTime,omitempty"`
   586  	// Error: Information about why the backup operation failed. This is only
   587  	// present if the run has the FAILED status.
   588  	Error *OperationError `json:"error,omitempty"`
   589  	// Id: The identifier for this backup run. Unique only for a specific Cloud SQL
   590  	// instance.
   591  	Id int64 `json:"id,omitempty,string"`
   592  	// Instance: Name of the database instance.
   593  	Instance string `json:"instance,omitempty"`
   594  	// Kind: This is always `sql#backupRun`.
   595  	Kind string `json:"kind,omitempty"`
   596  	// Location: Location of the backups.
   597  	Location string `json:"location,omitempty"`
   598  	// SelfLink: The URI of this resource.
   599  	SelfLink string `json:"selfLink,omitempty"`
   600  	// StartTime: The time the backup operation actually started in UTC timezone in
   601  	// RFC 3339 (https://tools.ietf.org/html/rfc3339) format, for example
   602  	// `2012-11-15T16:19:00.094Z`.
   603  	StartTime string `json:"startTime,omitempty"`
   604  	// Status: The status of this run.
   605  	//
   606  	// Possible values:
   607  	//   "SQL_BACKUP_RUN_STATUS_UNSPECIFIED" - The status of the run is unknown.
   608  	//   "ENQUEUED" - The backup operation was enqueued.
   609  	//   "OVERDUE" - The backup is overdue across a given backup window. Indicates
   610  	// a problem. Example: Long-running operation in progress during the whole
   611  	// window.
   612  	//   "RUNNING" - The backup is in progress.
   613  	//   "FAILED" - The backup failed.
   614  	//   "SUCCESSFUL" - The backup was successful.
   615  	//   "SKIPPED" - The backup was skipped (without problems) for a given backup
   616  	// window. Example: Instance was idle.
   617  	//   "DELETION_PENDING" - The backup is about to be deleted.
   618  	//   "DELETION_FAILED" - The backup deletion failed.
   619  	//   "DELETED" - The backup has been deleted.
   620  	Status string `json:"status,omitempty"`
   621  	// TimeZone: Backup time zone to prevent restores to an instance with a
   622  	// different time zone. Now relevant only for SQL Server.
   623  	TimeZone string `json:"timeZone,omitempty"`
   624  	// Type: The type of this run; can be either "AUTOMATED" or "ON_DEMAND" or
   625  	// "FINAL". This field defaults to "ON_DEMAND" and is ignored, when specified
   626  	// for insert requests.
   627  	//
   628  	// Possible values:
   629  	//   "SQL_BACKUP_RUN_TYPE_UNSPECIFIED" - This is an unknown BackupRun type.
   630  	//   "AUTOMATED" - The backup schedule automatically triggers a backup.
   631  	//   "ON_DEMAND" - The user manually triggers a backup.
   632  	Type string `json:"type,omitempty"`
   633  	// WindowStartTime: The start time of the backup window during which this the
   634  	// backup was attempted in RFC 3339 (https://tools.ietf.org/html/rfc3339)
   635  	// format, for example `2012-11-15T16:19:00.094Z`.
   636  	WindowStartTime string `json:"windowStartTime,omitempty"`
   637  
   638  	// ServerResponse contains the HTTP response code and headers from the server.
   639  	googleapi.ServerResponse `json:"-"`
   640  	// ForceSendFields is a list of field names (e.g. "BackupKind") to
   641  	// unconditionally include in API requests. By default, fields with empty or
   642  	// default values are omitted from API requests. See
   643  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   644  	// details.
   645  	ForceSendFields []string `json:"-"`
   646  	// NullFields is a list of field names (e.g. "BackupKind") to include in API
   647  	// requests with the JSON null value. By default, fields with empty values are
   648  	// omitted from API requests. See
   649  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   650  	NullFields []string `json:"-"`
   651  }
   652  
   653  func (s *BackupRun) MarshalJSON() ([]byte, error) {
   654  	type NoMethod BackupRun
   655  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   656  }
   657  
   658  // BackupRunsListResponse: Backup run list results.
   659  type BackupRunsListResponse struct {
   660  	// Items: A list of backup runs in reverse chronological order of the enqueued
   661  	// time.
   662  	Items []*BackupRun `json:"items,omitempty"`
   663  	// Kind: This is always `sql#backupRunsList`.
   664  	Kind string `json:"kind,omitempty"`
   665  	// NextPageToken: The continuation token, used to page through large result
   666  	// sets. Provide this value in a subsequent request to return the next page of
   667  	// results.
   668  	NextPageToken string `json:"nextPageToken,omitempty"`
   669  
   670  	// ServerResponse contains the HTTP response code and headers from the server.
   671  	googleapi.ServerResponse `json:"-"`
   672  	// ForceSendFields is a list of field names (e.g. "Items") to unconditionally
   673  	// include in API requests. By default, fields with empty or default values are
   674  	// omitted from API requests. See
   675  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   676  	// details.
   677  	ForceSendFields []string `json:"-"`
   678  	// NullFields is a list of field names (e.g. "Items") to include in API
   679  	// requests with the JSON null value. By default, fields with empty values are
   680  	// omitted from API requests. See
   681  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   682  	NullFields []string `json:"-"`
   683  }
   684  
   685  func (s *BackupRunsListResponse) MarshalJSON() ([]byte, error) {
   686  	type NoMethod BackupRunsListResponse
   687  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   688  }
   689  
   690  // BinLogCoordinates: Binary log coordinates.
   691  type BinLogCoordinates struct {
   692  	// BinLogFileName: Name of the binary log file for a Cloud SQL instance.
   693  	BinLogFileName string `json:"binLogFileName,omitempty"`
   694  	// BinLogPosition: Position (offset) within the binary log file.
   695  	BinLogPosition int64 `json:"binLogPosition,omitempty,string"`
   696  	// Kind: This is always `sql#binLogCoordinates`.
   697  	Kind string `json:"kind,omitempty"`
   698  	// ForceSendFields is a list of field names (e.g. "BinLogFileName") to
   699  	// unconditionally include in API requests. By default, fields with empty or
   700  	// default values are omitted from API requests. See
   701  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   702  	// details.
   703  	ForceSendFields []string `json:"-"`
   704  	// NullFields is a list of field names (e.g. "BinLogFileName") to include in
   705  	// API requests with the JSON null value. By default, fields with empty values
   706  	// are omitted from API requests. See
   707  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   708  	NullFields []string `json:"-"`
   709  }
   710  
   711  func (s *BinLogCoordinates) MarshalJSON() ([]byte, error) {
   712  	type NoMethod BinLogCoordinates
   713  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   714  }
   715  
   716  // CloneContext: Database instance clone context.
   717  type CloneContext struct {
   718  	// AllocatedIpRange: The name of the allocated ip range for the private ip
   719  	// Cloud SQL instance. For example: "google-managed-services-default". If set,
   720  	// the cloned instance ip will be created in the allocated range. The range
   721  	// name must comply with RFC 1035 (https://tools.ietf.org/html/rfc1035).
   722  	// Specifically, the name must be 1-63 characters long and match the regular
   723  	// expression a-z ([-a-z0-9]*[a-z0-9])?. Reserved for future use.
   724  	AllocatedIpRange string `json:"allocatedIpRange,omitempty"`
   725  	// BinLogCoordinates: Binary log coordinates, if specified, identify the
   726  	// position up to which the source instance is cloned. If not specified, the
   727  	// source instance is cloned up to the most recent binary log coordinates.
   728  	BinLogCoordinates *BinLogCoordinates `json:"binLogCoordinates,omitempty"`
   729  	// DatabaseNames: (SQL Server only) Clone only the specified databases from the
   730  	// source instance. Clone all databases if empty.
   731  	DatabaseNames []string `json:"databaseNames,omitempty"`
   732  	// DestinationInstanceName: Name of the Cloud SQL instance to be created as a
   733  	// clone.
   734  	DestinationInstanceName string `json:"destinationInstanceName,omitempty"`
   735  	// Kind: This is always `sql#cloneContext`.
   736  	Kind string `json:"kind,omitempty"`
   737  	// PitrTimestampMs: Reserved for future use.
   738  	PitrTimestampMs int64 `json:"pitrTimestampMs,omitempty,string"`
   739  	// PointInTime: Timestamp, if specified, identifies the time to which the
   740  	// source instance is cloned.
   741  	PointInTime string `json:"pointInTime,omitempty"`
   742  	// PreferredZone: Optional. (Point-in-time recovery for PostgreSQL only) Clone
   743  	// to an instance in the specified zone. If no zone is specified, clone to the
   744  	// same zone as the source instance.
   745  	PreferredZone string `json:"preferredZone,omitempty"`
   746  	// ForceSendFields is a list of field names (e.g. "AllocatedIpRange") to
   747  	// unconditionally include in API requests. By default, fields with empty or
   748  	// default values are omitted from API requests. See
   749  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   750  	// details.
   751  	ForceSendFields []string `json:"-"`
   752  	// NullFields is a list of field names (e.g. "AllocatedIpRange") to include in
   753  	// API requests with the JSON null value. By default, fields with empty values
   754  	// are omitted from API requests. See
   755  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   756  	NullFields []string `json:"-"`
   757  }
   758  
   759  func (s *CloneContext) MarshalJSON() ([]byte, error) {
   760  	type NoMethod CloneContext
   761  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   762  }
   763  
   764  // ConnectSettings: Connect settings retrieval response.
   765  type ConnectSettings struct {
   766  	// BackendType: `SECOND_GEN`: Cloud SQL database instance. `EXTERNAL`: A
   767  	// database server that is not managed by Google. This property is read-only;
   768  	// use the `tier` property in the `settings` object to determine the database
   769  	// type.
   770  	//
   771  	// Possible values:
   772  	//   "SQL_BACKEND_TYPE_UNSPECIFIED" - This is an unknown backend type for
   773  	// instance.
   774  	//   "FIRST_GEN" - V1 speckle instance.
   775  	//   "SECOND_GEN" - V2 speckle instance.
   776  	//   "EXTERNAL" - On premises instance.
   777  	BackendType string `json:"backendType,omitempty"`
   778  	// DatabaseVersion: The database engine type and version. The `databaseVersion`
   779  	// field cannot be changed after instance creation. MySQL instances:
   780  	// `MYSQL_8_0`, `MYSQL_5_7` (default), or `MYSQL_5_6`. PostgreSQL instances:
   781  	// `POSTGRES_9_6`, `POSTGRES_10`, `POSTGRES_11`, `POSTGRES_12` (default),
   782  	// `POSTGRES_13`, or `POSTGRES_14`. SQL Server instances:
   783  	// `SQLSERVER_2017_STANDARD` (default), `SQLSERVER_2017_ENTERPRISE`,
   784  	// `SQLSERVER_2017_EXPRESS`, `SQLSERVER_2017_WEB`, `SQLSERVER_2019_STANDARD`,
   785  	// `SQLSERVER_2019_ENTERPRISE`, `SQLSERVER_2019_EXPRESS`, or
   786  	// `SQLSERVER_2019_WEB`.
   787  	//
   788  	// Possible values:
   789  	//   "SQL_DATABASE_VERSION_UNSPECIFIED" - This is an unknown database version.
   790  	//   "MYSQL_5_1" - The database version is MySQL 5.1.
   791  	//   "MYSQL_5_5" - The database version is MySQL 5.5.
   792  	//   "MYSQL_5_6" - The database version is MySQL 5.6.
   793  	//   "MYSQL_5_7" - The database version is MySQL 5.7.
   794  	//   "SQLSERVER_2017_STANDARD" - The database version is SQL Server 2017
   795  	// Standard.
   796  	//   "SQLSERVER_2017_ENTERPRISE" - The database version is SQL Server 2017
   797  	// Enterprise.
   798  	//   "SQLSERVER_2017_EXPRESS" - The database version is SQL Server 2017
   799  	// Express.
   800  	//   "SQLSERVER_2017_WEB" - The database version is SQL Server 2017 Web.
   801  	//   "POSTGRES_9_6" - The database version is PostgreSQL 9.6.
   802  	//   "POSTGRES_10" - The database version is PostgreSQL 10.
   803  	//   "POSTGRES_11" - The database version is PostgreSQL 11.
   804  	//   "POSTGRES_12" - The database version is PostgreSQL 12.
   805  	//   "POSTGRES_13" - The database version is PostgreSQL 13.
   806  	//   "POSTGRES_14" - The database version is PostgreSQL 14.
   807  	//   "POSTGRES_15" - The database version is PostgreSQL 15.
   808  	//   "MYSQL_8_0" - The database version is MySQL 8.
   809  	//   "MYSQL_8_0_18" - The database major version is MySQL 8.0 and the minor
   810  	// version is 18.
   811  	//   "MYSQL_8_0_26" - The database major version is MySQL 8.0 and the minor
   812  	// version is 26.
   813  	//   "MYSQL_8_0_27" - The database major version is MySQL 8.0 and the minor
   814  	// version is 27.
   815  	//   "MYSQL_8_0_28" - The database major version is MySQL 8.0 and the minor
   816  	// version is 28.
   817  	//   "MYSQL_8_0_29" - The database major version is MySQL 8.0 and the minor
   818  	// version is 29.
   819  	//   "MYSQL_8_0_30" - The database major version is MySQL 8.0 and the minor
   820  	// version is 30.
   821  	//   "MYSQL_8_0_31" - The database major version is MySQL 8.0 and the minor
   822  	// version is 31.
   823  	//   "MYSQL_8_0_32" - The database major version is MySQL 8.0 and the minor
   824  	// version is 32.
   825  	//   "MYSQL_8_0_33" - The database major version is MySQL 8.0 and the minor
   826  	// version is 33.
   827  	//   "MYSQL_8_0_34" - The database major version is MySQL 8.0 and the minor
   828  	// version is 34.
   829  	//   "MYSQL_8_0_35" - The database major version is MySQL 8.0 and the minor
   830  	// version is 35.
   831  	//   "MYSQL_8_0_36" - The database major version is MySQL 8.0 and the minor
   832  	// version is 36.
   833  	//   "MYSQL_8_0_37" - The database major version is MySQL 8.0 and the minor
   834  	// version is 37.
   835  	//   "MYSQL_8_0_38" - The database major version is MySQL 8.0 and the minor
   836  	// version is 38.
   837  	//   "MYSQL_8_0_39" - The database major version is MySQL 8.0 and the minor
   838  	// version is 39.
   839  	//   "MYSQL_8_0_40" - The database major version is MySQL 8.0 and the minor
   840  	// version is 40.
   841  	//   "SQLSERVER_2019_STANDARD" - The database version is SQL Server 2019
   842  	// Standard.
   843  	//   "SQLSERVER_2019_ENTERPRISE" - The database version is SQL Server 2019
   844  	// Enterprise.
   845  	//   "SQLSERVER_2019_EXPRESS" - The database version is SQL Server 2019
   846  	// Express.
   847  	//   "SQLSERVER_2019_WEB" - The database version is SQL Server 2019 Web.
   848  	//   "SQLSERVER_2022_STANDARD" - The database version is SQL Server 2022
   849  	// Standard.
   850  	//   "SQLSERVER_2022_ENTERPRISE" - The database version is SQL Server 2022
   851  	// Enterprise.
   852  	//   "SQLSERVER_2022_EXPRESS" - The database version is SQL Server 2022
   853  	// Express.
   854  	//   "SQLSERVER_2022_WEB" - The database version is SQL Server 2022 Web.
   855  	DatabaseVersion string `json:"databaseVersion,omitempty"`
   856  	// DnsName: The dns name of the instance.
   857  	DnsName string `json:"dnsName,omitempty"`
   858  	// IpAddresses: The assigned IP addresses for the instance.
   859  	IpAddresses []*IpMapping `json:"ipAddresses,omitempty"`
   860  	// Kind: This is always `sql#connectSettings`.
   861  	Kind string `json:"kind,omitempty"`
   862  	// PscEnabled: Whether PSC connectivity is enabled for this instance.
   863  	PscEnabled bool `json:"pscEnabled,omitempty"`
   864  	// Region: The cloud region for the instance. For example, `us-central1`,
   865  	// `europe-west1`. The region cannot be changed after instance creation.
   866  	Region string `json:"region,omitempty"`
   867  	// ServerCaCert: SSL configuration.
   868  	ServerCaCert *SslCert `json:"serverCaCert,omitempty"`
   869  
   870  	// ServerResponse contains the HTTP response code and headers from the server.
   871  	googleapi.ServerResponse `json:"-"`
   872  	// ForceSendFields is a list of field names (e.g. "BackendType") to
   873  	// unconditionally include in API requests. By default, fields with empty or
   874  	// default values are omitted from API requests. See
   875  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   876  	// details.
   877  	ForceSendFields []string `json:"-"`
   878  	// NullFields is a list of field names (e.g. "BackendType") to include in API
   879  	// requests with the JSON null value. By default, fields with empty values are
   880  	// omitted from API requests. See
   881  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   882  	NullFields []string `json:"-"`
   883  }
   884  
   885  func (s *ConnectSettings) MarshalJSON() ([]byte, error) {
   886  	type NoMethod ConnectSettings
   887  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   888  }
   889  
   890  // DataCacheConfig: Data cache configurations.
   891  type DataCacheConfig struct {
   892  	// DataCacheEnabled: Whether data cache is enabled for the instance.
   893  	DataCacheEnabled bool `json:"dataCacheEnabled,omitempty"`
   894  	// ForceSendFields is a list of field names (e.g. "DataCacheEnabled") to
   895  	// unconditionally include in API requests. By default, fields with empty or
   896  	// default values are omitted from API requests. See
   897  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   898  	// details.
   899  	ForceSendFields []string `json:"-"`
   900  	// NullFields is a list of field names (e.g. "DataCacheEnabled") to include in
   901  	// API requests with the JSON null value. By default, fields with empty values
   902  	// are omitted from API requests. See
   903  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   904  	NullFields []string `json:"-"`
   905  }
   906  
   907  func (s *DataCacheConfig) MarshalJSON() ([]byte, error) {
   908  	type NoMethod DataCacheConfig
   909  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   910  }
   911  
   912  // Database: Represents a SQL database on the Cloud SQL instance.
   913  type Database struct {
   914  	// Charset: The Cloud SQL charset value.
   915  	Charset string `json:"charset,omitempty"`
   916  	// Collation: The Cloud SQL collation value.
   917  	Collation string `json:"collation,omitempty"`
   918  	// Etag: This field is deprecated and will be removed from a future version of
   919  	// the API.
   920  	Etag string `json:"etag,omitempty"`
   921  	// Instance: The name of the Cloud SQL instance. This does not include the
   922  	// project ID.
   923  	Instance string `json:"instance,omitempty"`
   924  	// Kind: This is always `sql#database`.
   925  	Kind string `json:"kind,omitempty"`
   926  	// Name: The name of the database in the Cloud SQL instance. This does not
   927  	// include the project ID or instance name.
   928  	Name string `json:"name,omitempty"`
   929  	// Project: The project ID of the project containing the Cloud SQL database.
   930  	// The Google apps domain is prefixed if applicable.
   931  	Project string `json:"project,omitempty"`
   932  	// SelfLink: The URI of this resource.
   933  	SelfLink                 string                    `json:"selfLink,omitempty"`
   934  	SqlserverDatabaseDetails *SqlServerDatabaseDetails `json:"sqlserverDatabaseDetails,omitempty"`
   935  
   936  	// ServerResponse contains the HTTP response code and headers from the server.
   937  	googleapi.ServerResponse `json:"-"`
   938  	// ForceSendFields is a list of field names (e.g. "Charset") to unconditionally
   939  	// include in API requests. By default, fields with empty or default values are
   940  	// omitted from API requests. See
   941  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   942  	// details.
   943  	ForceSendFields []string `json:"-"`
   944  	// NullFields is a list of field names (e.g. "Charset") to include in API
   945  	// requests with the JSON null value. By default, fields with empty values are
   946  	// omitted from API requests. See
   947  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   948  	NullFields []string `json:"-"`
   949  }
   950  
   951  func (s *Database) MarshalJSON() ([]byte, error) {
   952  	type NoMethod Database
   953  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   954  }
   955  
   956  // DatabaseFlags: Database flags for Cloud SQL instances.
   957  type DatabaseFlags struct {
   958  	// Name: The name of the flag. These flags are passed at instance startup, so
   959  	// include both server options and system variables. Flags are specified with
   960  	// underscores, not hyphens. For more information, see Configuring Database
   961  	// Flags (https://cloud.google.com/sql/docs/mysql/flags) in the Cloud SQL
   962  	// documentation.
   963  	Name string `json:"name,omitempty"`
   964  	// Value: The value of the flag. Boolean flags are set to `on` for true and
   965  	// `off` for false. This field must be omitted if the flag doesn't take a
   966  	// value.
   967  	Value string `json:"value,omitempty"`
   968  	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
   969  	// include in API requests. By default, fields with empty or default values are
   970  	// omitted from API requests. See
   971  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   972  	// details.
   973  	ForceSendFields []string `json:"-"`
   974  	// NullFields is a list of field names (e.g. "Name") to include in API requests
   975  	// with the JSON null value. By default, fields with empty values are omitted
   976  	// from API requests. See
   977  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   978  	NullFields []string `json:"-"`
   979  }
   980  
   981  func (s *DatabaseFlags) MarshalJSON() ([]byte, error) {
   982  	type NoMethod DatabaseFlags
   983  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   984  }
   985  
   986  // DatabaseInstance: A Cloud SQL instance resource.
   987  type DatabaseInstance struct {
   988  	// AvailableMaintenanceVersions: Output only. List all maintenance versions
   989  	// applicable on the instance
   990  	AvailableMaintenanceVersions []string `json:"availableMaintenanceVersions,omitempty"`
   991  	// BackendType: The backend type. `SECOND_GEN`: Cloud SQL database instance.
   992  	// `EXTERNAL`: A database server that is not managed by Google. This property
   993  	// is read-only; use the `tier` property in the `settings` object to determine
   994  	// the database type.
   995  	//
   996  	// Possible values:
   997  	//   "SQL_BACKEND_TYPE_UNSPECIFIED" - This is an unknown backend type for
   998  	// instance.
   999  	//   "FIRST_GEN" - V1 speckle instance.
  1000  	//   "SECOND_GEN" - V2 speckle instance.
  1001  	//   "EXTERNAL" - On premises instance.
  1002  	BackendType string `json:"backendType,omitempty"`
  1003  	// ConnectionName: Connection name of the Cloud SQL instance used in connection
  1004  	// strings.
  1005  	ConnectionName string `json:"connectionName,omitempty"`
  1006  	// CreateTime: Output only. The time when the instance was created in RFC 3339
  1007  	// (https://tools.ietf.org/html/rfc3339) format, for example
  1008  	// `2012-11-15T16:19:00.094Z`.
  1009  	CreateTime string `json:"createTime,omitempty"`
  1010  	// CurrentDiskSize: The current disk usage of the instance in bytes. This
  1011  	// property has been deprecated. Use the
  1012  	// "cloudsql.googleapis.com/database/disk/bytes_used" metric in Cloud
  1013  	// Monitoring API instead. Please see this announcement
  1014  	// (https://groups.google.com/d/msg/google-cloud-sql-announce/I_7-F9EBhT0/BtvFtdFeAgAJ)
  1015  	// for details.
  1016  	CurrentDiskSize int64 `json:"currentDiskSize,omitempty,string"`
  1017  	// DatabaseInstalledVersion: Output only. Stores the current database version
  1018  	// running on the instance including minor version such as `MYSQL_8_0_18`.
  1019  	DatabaseInstalledVersion string `json:"databaseInstalledVersion,omitempty"`
  1020  	// DatabaseVersion: The database engine type and version. The `databaseVersion`
  1021  	// field cannot be changed after instance creation.
  1022  	//
  1023  	// Possible values:
  1024  	//   "SQL_DATABASE_VERSION_UNSPECIFIED" - This is an unknown database version.
  1025  	//   "MYSQL_5_1" - The database version is MySQL 5.1.
  1026  	//   "MYSQL_5_5" - The database version is MySQL 5.5.
  1027  	//   "MYSQL_5_6" - The database version is MySQL 5.6.
  1028  	//   "MYSQL_5_7" - The database version is MySQL 5.7.
  1029  	//   "SQLSERVER_2017_STANDARD" - The database version is SQL Server 2017
  1030  	// Standard.
  1031  	//   "SQLSERVER_2017_ENTERPRISE" - The database version is SQL Server 2017
  1032  	// Enterprise.
  1033  	//   "SQLSERVER_2017_EXPRESS" - The database version is SQL Server 2017
  1034  	// Express.
  1035  	//   "SQLSERVER_2017_WEB" - The database version is SQL Server 2017 Web.
  1036  	//   "POSTGRES_9_6" - The database version is PostgreSQL 9.6.
  1037  	//   "POSTGRES_10" - The database version is PostgreSQL 10.
  1038  	//   "POSTGRES_11" - The database version is PostgreSQL 11.
  1039  	//   "POSTGRES_12" - The database version is PostgreSQL 12.
  1040  	//   "POSTGRES_13" - The database version is PostgreSQL 13.
  1041  	//   "POSTGRES_14" - The database version is PostgreSQL 14.
  1042  	//   "POSTGRES_15" - The database version is PostgreSQL 15.
  1043  	//   "MYSQL_8_0" - The database version is MySQL 8.
  1044  	//   "MYSQL_8_0_18" - The database major version is MySQL 8.0 and the minor
  1045  	// version is 18.
  1046  	//   "MYSQL_8_0_26" - The database major version is MySQL 8.0 and the minor
  1047  	// version is 26.
  1048  	//   "MYSQL_8_0_27" - The database major version is MySQL 8.0 and the minor
  1049  	// version is 27.
  1050  	//   "MYSQL_8_0_28" - The database major version is MySQL 8.0 and the minor
  1051  	// version is 28.
  1052  	//   "MYSQL_8_0_29" - The database major version is MySQL 8.0 and the minor
  1053  	// version is 29.
  1054  	//   "MYSQL_8_0_30" - The database major version is MySQL 8.0 and the minor
  1055  	// version is 30.
  1056  	//   "MYSQL_8_0_31" - The database major version is MySQL 8.0 and the minor
  1057  	// version is 31.
  1058  	//   "MYSQL_8_0_32" - The database major version is MySQL 8.0 and the minor
  1059  	// version is 32.
  1060  	//   "MYSQL_8_0_33" - The database major version is MySQL 8.0 and the minor
  1061  	// version is 33.
  1062  	//   "MYSQL_8_0_34" - The database major version is MySQL 8.0 and the minor
  1063  	// version is 34.
  1064  	//   "MYSQL_8_0_35" - The database major version is MySQL 8.0 and the minor
  1065  	// version is 35.
  1066  	//   "MYSQL_8_0_36" - The database major version is MySQL 8.0 and the minor
  1067  	// version is 36.
  1068  	//   "MYSQL_8_0_37" - The database major version is MySQL 8.0 and the minor
  1069  	// version is 37.
  1070  	//   "MYSQL_8_0_38" - The database major version is MySQL 8.0 and the minor
  1071  	// version is 38.
  1072  	//   "MYSQL_8_0_39" - The database major version is MySQL 8.0 and the minor
  1073  	// version is 39.
  1074  	//   "MYSQL_8_0_40" - The database major version is MySQL 8.0 and the minor
  1075  	// version is 40.
  1076  	//   "SQLSERVER_2019_STANDARD" - The database version is SQL Server 2019
  1077  	// Standard.
  1078  	//   "SQLSERVER_2019_ENTERPRISE" - The database version is SQL Server 2019
  1079  	// Enterprise.
  1080  	//   "SQLSERVER_2019_EXPRESS" - The database version is SQL Server 2019
  1081  	// Express.
  1082  	//   "SQLSERVER_2019_WEB" - The database version is SQL Server 2019 Web.
  1083  	//   "SQLSERVER_2022_STANDARD" - The database version is SQL Server 2022
  1084  	// Standard.
  1085  	//   "SQLSERVER_2022_ENTERPRISE" - The database version is SQL Server 2022
  1086  	// Enterprise.
  1087  	//   "SQLSERVER_2022_EXPRESS" - The database version is SQL Server 2022
  1088  	// Express.
  1089  	//   "SQLSERVER_2022_WEB" - The database version is SQL Server 2022 Web.
  1090  	DatabaseVersion string `json:"databaseVersion,omitempty"`
  1091  	// DiskEncryptionConfiguration: Disk encryption configuration specific to an
  1092  	// instance.
  1093  	DiskEncryptionConfiguration *DiskEncryptionConfiguration `json:"diskEncryptionConfiguration,omitempty"`
  1094  	// DiskEncryptionStatus: Disk encryption status specific to an instance.
  1095  	DiskEncryptionStatus *DiskEncryptionStatus `json:"diskEncryptionStatus,omitempty"`
  1096  	// DnsName: Output only. The dns name of the instance.
  1097  	DnsName string `json:"dnsName,omitempty"`
  1098  	// Etag: This field is deprecated and will be removed from a future version of
  1099  	// the API. Use the `settings.settingsVersion` field instead.
  1100  	Etag string `json:"etag,omitempty"`
  1101  	// FailoverReplica: The name and status of the failover replica.
  1102  	FailoverReplica *DatabaseInstanceFailoverReplica `json:"failoverReplica,omitempty"`
  1103  	// GceZone: The Compute Engine zone that the instance is currently serving
  1104  	// from. This value could be different from the zone that was specified when
  1105  	// the instance was created if the instance has failed over to its secondary
  1106  	// zone. WARNING: Changing this might restart the instance.
  1107  	GceZone string `json:"gceZone,omitempty"`
  1108  	// GeminiConfig: Gemini instance configuration.
  1109  	GeminiConfig *GeminiInstanceConfig `json:"geminiConfig,omitempty"`
  1110  	// InstanceType: The instance type.
  1111  	//
  1112  	// Possible values:
  1113  	//   "SQL_INSTANCE_TYPE_UNSPECIFIED" - This is an unknown Cloud SQL instance
  1114  	// type.
  1115  	//   "CLOUD_SQL_INSTANCE" - A regular Cloud SQL instance that is not
  1116  	// replicating from a primary instance.
  1117  	//   "ON_PREMISES_INSTANCE" - An instance running on the customer's premises
  1118  	// that is not managed by Cloud SQL.
  1119  	//   "READ_REPLICA_INSTANCE" - A Cloud SQL instance acting as a read-replica.
  1120  	InstanceType string `json:"instanceType,omitempty"`
  1121  	// IpAddresses: The assigned IP addresses for the instance.
  1122  	IpAddresses []*IpMapping `json:"ipAddresses,omitempty"`
  1123  	// Ipv6Address: The IPv6 address assigned to the instance. (Deprecated) This
  1124  	// property was applicable only to First Generation instances.
  1125  	Ipv6Address string `json:"ipv6Address,omitempty"`
  1126  	// Kind: This is always `sql#instance`.
  1127  	Kind string `json:"kind,omitempty"`
  1128  	// MaintenanceVersion: The current software version on the instance.
  1129  	MaintenanceVersion string `json:"maintenanceVersion,omitempty"`
  1130  	// MasterInstanceName: The name of the instance which will act as primary in
  1131  	// the replication setup.
  1132  	MasterInstanceName string `json:"masterInstanceName,omitempty"`
  1133  	// MaxDiskSize: The maximum disk size of the instance in bytes.
  1134  	MaxDiskSize int64 `json:"maxDiskSize,omitempty,string"`
  1135  	// Name: Name of the Cloud SQL instance. This does not include the project ID.
  1136  	Name string `json:"name,omitempty"`
  1137  	// OnPremisesConfiguration: Configuration specific to on-premises instances.
  1138  	OnPremisesConfiguration *OnPremisesConfiguration `json:"onPremisesConfiguration,omitempty"`
  1139  	// OutOfDiskReport: This field represents the report generated by the proactive
  1140  	// database wellness job for OutOfDisk issues. * Writers: * the proactive
  1141  	// database wellness job for OOD. * Readers: * the proactive database wellness
  1142  	// job
  1143  	OutOfDiskReport *SqlOutOfDiskReport `json:"outOfDiskReport,omitempty"`
  1144  	// PrimaryDnsName: Output only. DEPRECATED: please use write_endpoint instead.
  1145  	PrimaryDnsName string `json:"primaryDnsName,omitempty"`
  1146  	// Project: The project ID of the project containing the Cloud SQL instance.
  1147  	// The Google apps domain is prefixed if applicable.
  1148  	Project string `json:"project,omitempty"`
  1149  	// PscServiceAttachmentLink: Output only. The link to service attachment of PSC
  1150  	// instance.
  1151  	PscServiceAttachmentLink string `json:"pscServiceAttachmentLink,omitempty"`
  1152  	// Region: The geographical region of the Cloud SQL instance. It can be one of
  1153  	// the regions (https://cloud.google.com/sql/docs/mysql/locations#location-r)
  1154  	// where Cloud SQL operates: For example, `asia-east1`, `europe-west1`, and
  1155  	// `us-central1`. The default value is `us-central1`.
  1156  	Region string `json:"region,omitempty"`
  1157  	// ReplicaConfiguration: Configuration specific to failover replicas and read
  1158  	// replicas.
  1159  	ReplicaConfiguration *ReplicaConfiguration `json:"replicaConfiguration,omitempty"`
  1160  	// ReplicaNames: The replicas of the instance.
  1161  	ReplicaNames []string `json:"replicaNames,omitempty"`
  1162  	// ReplicationCluster: Optional. A primary instance and disaster recovery (DR)
  1163  	// replica pair. A DR replica is a cross-region replica that you designate for
  1164  	// failover in the event that the primary instance experiences regional
  1165  	// failure. Only applicable to MySQL.
  1166  	ReplicationCluster *ReplicationCluster `json:"replicationCluster,omitempty"`
  1167  	// RootPassword: Initial root password. Use only on creation. You must set root
  1168  	// passwords before you can connect to PostgreSQL instances.
  1169  	RootPassword string `json:"rootPassword,omitempty"`
  1170  	// SatisfiesPzs: The status indicating if instance satisfiesPzs. Reserved for
  1171  	// future use.
  1172  	SatisfiesPzs bool `json:"satisfiesPzs,omitempty"`
  1173  	// ScheduledMaintenance: The start time of any upcoming scheduled maintenance
  1174  	// for this instance.
  1175  	ScheduledMaintenance *SqlScheduledMaintenance `json:"scheduledMaintenance,omitempty"`
  1176  	// SecondaryGceZone: The Compute Engine zone that the failover instance is
  1177  	// currently serving from for a regional instance. This value could be
  1178  	// different from the zone that was specified when the instance was created if
  1179  	// the instance has failed over to its secondary/failover zone.
  1180  	SecondaryGceZone string `json:"secondaryGceZone,omitempty"`
  1181  	// SelfLink: The URI of this resource.
  1182  	SelfLink string `json:"selfLink,omitempty"`
  1183  	// ServerCaCert: SSL configuration.
  1184  	ServerCaCert *SslCert `json:"serverCaCert,omitempty"`
  1185  	// ServiceAccountEmailAddress: The service account email address assigned to
  1186  	// the instance.\This property is read-only.
  1187  	ServiceAccountEmailAddress string `json:"serviceAccountEmailAddress,omitempty"`
  1188  	// Settings: The user settings.
  1189  	Settings *Settings `json:"settings,omitempty"`
  1190  	// Possible values:
  1191  	//   "SQL_NETWORK_ARCHITECTURE_UNSPECIFIED"
  1192  	//   "NEW_NETWORK_ARCHITECTURE" - The instance uses the new network
  1193  	// architecture.
  1194  	//   "OLD_NETWORK_ARCHITECTURE" - The instance uses the old network
  1195  	// architecture.
  1196  	SqlNetworkArchitecture string `json:"sqlNetworkArchitecture,omitempty"`
  1197  	// State: The current serving state of the Cloud SQL instance.
  1198  	//
  1199  	// Possible values:
  1200  	//   "SQL_INSTANCE_STATE_UNSPECIFIED" - The state of the instance is unknown.
  1201  	//   "RUNNABLE" - The instance is running, or has been stopped by owner.
  1202  	//   "SUSPENDED" - The instance is not available, for example due to problems
  1203  	// with billing.
  1204  	//   "PENDING_DELETE" - The instance is being deleted.
  1205  	//   "PENDING_CREATE" - The instance is being created.
  1206  	//   "MAINTENANCE" - The instance is down for maintenance.
  1207  	//   "FAILED" - The creation of the instance failed or a fatal error occurred
  1208  	// during maintenance.
  1209  	//   "ONLINE_MAINTENANCE" - Deprecated
  1210  	State string `json:"state,omitempty"`
  1211  	// SuspensionReason: If the instance state is SUSPENDED, the reason for the
  1212  	// suspension.
  1213  	//
  1214  	// Possible values:
  1215  	//   "SQL_SUSPENSION_REASON_UNSPECIFIED" - This is an unknown suspension
  1216  	// reason.
  1217  	//   "BILLING_ISSUE" - The instance is suspended due to billing issues (for
  1218  	// example:, GCP account issue)
  1219  	//   "LEGAL_ISSUE" - The instance is suspended due to illegal content (for
  1220  	// example:, child pornography, copyrighted material, etc.).
  1221  	//   "OPERATIONAL_ISSUE" - The instance is causing operational issues (for
  1222  	// example:, causing the database to crash).
  1223  	//   "KMS_KEY_ISSUE" - The KMS key used by the instance is either revoked or
  1224  	// denied access to
  1225  	SuspensionReason []string `json:"suspensionReason,omitempty"`
  1226  	// WriteEndpoint: Output only. The dns name of the primary instance in a
  1227  	// replication group.
  1228  	WriteEndpoint string `json:"writeEndpoint,omitempty"`
  1229  
  1230  	// ServerResponse contains the HTTP response code and headers from the server.
  1231  	googleapi.ServerResponse `json:"-"`
  1232  	// ForceSendFields is a list of field names (e.g.
  1233  	// "AvailableMaintenanceVersions") to unconditionally include in API requests.
  1234  	// By default, fields with empty or default values are omitted from API
  1235  	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields
  1236  	// for more details.
  1237  	ForceSendFields []string `json:"-"`
  1238  	// NullFields is a list of field names (e.g. "AvailableMaintenanceVersions") to
  1239  	// include in API requests with the JSON null value. By default, fields with
  1240  	// empty values are omitted from API requests. See
  1241  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1242  	NullFields []string `json:"-"`
  1243  }
  1244  
  1245  func (s *DatabaseInstance) MarshalJSON() ([]byte, error) {
  1246  	type NoMethod DatabaseInstance
  1247  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1248  }
  1249  
  1250  // DatabaseInstanceFailoverReplica: The name and status of the failover
  1251  // replica.
  1252  type DatabaseInstanceFailoverReplica struct {
  1253  	// Available: The availability status of the failover replica. A false status
  1254  	// indicates that the failover replica is out of sync. The primary instance can
  1255  	// only failover to the failover replica when the status is true.
  1256  	Available bool `json:"available,omitempty"`
  1257  	// Name: The name of the failover replica. If specified at instance creation, a
  1258  	// failover replica is created for the instance. The name doesn't include the
  1259  	// project ID.
  1260  	Name string `json:"name,omitempty"`
  1261  	// ForceSendFields is a list of field names (e.g. "Available") to
  1262  	// unconditionally include in API requests. By default, fields with empty or
  1263  	// default values are omitted from API requests. See
  1264  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1265  	// details.
  1266  	ForceSendFields []string `json:"-"`
  1267  	// NullFields is a list of field names (e.g. "Available") to include in API
  1268  	// requests with the JSON null value. By default, fields with empty values are
  1269  	// omitted from API requests. See
  1270  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1271  	NullFields []string `json:"-"`
  1272  }
  1273  
  1274  func (s *DatabaseInstanceFailoverReplica) MarshalJSON() ([]byte, error) {
  1275  	type NoMethod DatabaseInstanceFailoverReplica
  1276  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1277  }
  1278  
  1279  // DatabasesListResponse: Database list response.
  1280  type DatabasesListResponse struct {
  1281  	// Items: List of database resources in the instance.
  1282  	Items []*Database `json:"items,omitempty"`
  1283  	// Kind: This is always `sql#databasesList`.
  1284  	Kind string `json:"kind,omitempty"`
  1285  
  1286  	// ServerResponse contains the HTTP response code and headers from the server.
  1287  	googleapi.ServerResponse `json:"-"`
  1288  	// ForceSendFields is a list of field names (e.g. "Items") to unconditionally
  1289  	// include in API requests. By default, fields with empty or default values are
  1290  	// omitted from API requests. See
  1291  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1292  	// details.
  1293  	ForceSendFields []string `json:"-"`
  1294  	// NullFields is a list of field names (e.g. "Items") to include in API
  1295  	// requests with the JSON null value. By default, fields with empty values are
  1296  	// omitted from API requests. See
  1297  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1298  	NullFields []string `json:"-"`
  1299  }
  1300  
  1301  func (s *DatabasesListResponse) MarshalJSON() ([]byte, error) {
  1302  	type NoMethod DatabasesListResponse
  1303  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1304  }
  1305  
  1306  // DemoteContext: This context is used to demote an existing standalone
  1307  // instance to be a Cloud SQL read replica for an external database server.
  1308  type DemoteContext struct {
  1309  	// Kind: This is always `sql#demoteContext`.
  1310  	Kind string `json:"kind,omitempty"`
  1311  	// SourceRepresentativeInstanceName: Required. The name of the instance which
  1312  	// acts as the on-premises primary instance in the replication setup.
  1313  	SourceRepresentativeInstanceName string `json:"sourceRepresentativeInstanceName,omitempty"`
  1314  	// ForceSendFields is a list of field names (e.g. "Kind") to unconditionally
  1315  	// include in API requests. By default, fields with empty or default values are
  1316  	// omitted from API requests. See
  1317  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1318  	// details.
  1319  	ForceSendFields []string `json:"-"`
  1320  	// NullFields is a list of field names (e.g. "Kind") to include in API requests
  1321  	// with the JSON null value. By default, fields with empty values are omitted
  1322  	// from API requests. See
  1323  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1324  	NullFields []string `json:"-"`
  1325  }
  1326  
  1327  func (s *DemoteContext) MarshalJSON() ([]byte, error) {
  1328  	type NoMethod DemoteContext
  1329  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1330  }
  1331  
  1332  // DemoteMasterConfiguration: Read-replica configuration for connecting to the
  1333  // on-premises primary instance.
  1334  type DemoteMasterConfiguration struct {
  1335  	// Kind: This is always `sql#demoteMasterConfiguration`.
  1336  	Kind string `json:"kind,omitempty"`
  1337  	// MysqlReplicaConfiguration: MySQL specific configuration when replicating
  1338  	// from a MySQL on-premises primary instance. Replication configuration
  1339  	// information such as the username, password, certificates, and keys are not
  1340  	// stored in the instance metadata. The configuration information is used only
  1341  	// to set up the replication connection and is stored by MySQL in a file named
  1342  	// `master.info` in the data directory.
  1343  	MysqlReplicaConfiguration *DemoteMasterMySqlReplicaConfiguration `json:"mysqlReplicaConfiguration,omitempty"`
  1344  	// ForceSendFields is a list of field names (e.g. "Kind") to unconditionally
  1345  	// include in API requests. By default, fields with empty or default values are
  1346  	// omitted from API requests. See
  1347  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1348  	// details.
  1349  	ForceSendFields []string `json:"-"`
  1350  	// NullFields is a list of field names (e.g. "Kind") to include in API requests
  1351  	// with the JSON null value. By default, fields with empty values are omitted
  1352  	// from API requests. See
  1353  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1354  	NullFields []string `json:"-"`
  1355  }
  1356  
  1357  func (s *DemoteMasterConfiguration) MarshalJSON() ([]byte, error) {
  1358  	type NoMethod DemoteMasterConfiguration
  1359  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1360  }
  1361  
  1362  // DemoteMasterContext: Database instance demote primary instance context.
  1363  type DemoteMasterContext struct {
  1364  	// Kind: This is always `sql#demoteMasterContext`.
  1365  	Kind string `json:"kind,omitempty"`
  1366  	// MasterInstanceName: The name of the instance which will act as on-premises
  1367  	// primary instance in the replication setup.
  1368  	MasterInstanceName string `json:"masterInstanceName,omitempty"`
  1369  	// ReplicaConfiguration: Configuration specific to read-replicas replicating
  1370  	// from the on-premises primary instance.
  1371  	ReplicaConfiguration *DemoteMasterConfiguration `json:"replicaConfiguration,omitempty"`
  1372  	// SkipReplicationSetup: Flag to skip replication setup on the instance.
  1373  	SkipReplicationSetup bool `json:"skipReplicationSetup,omitempty"`
  1374  	// VerifyGtidConsistency: Verify the GTID consistency for demote operation.
  1375  	// Default value: `True`. Setting this flag to `false` enables you to bypass
  1376  	// the GTID consistency check between on-premises primary instance and Cloud
  1377  	// SQL instance during the demotion operation but also exposes you to the risk
  1378  	// of future replication failures. Change the value only if you know the reason
  1379  	// for the GTID divergence and are confident that doing so will not cause any
  1380  	// replication issues.
  1381  	VerifyGtidConsistency bool `json:"verifyGtidConsistency,omitempty"`
  1382  	// ForceSendFields is a list of field names (e.g. "Kind") to unconditionally
  1383  	// include in API requests. By default, fields with empty or default values are
  1384  	// omitted from API requests. See
  1385  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1386  	// details.
  1387  	ForceSendFields []string `json:"-"`
  1388  	// NullFields is a list of field names (e.g. "Kind") to include in API requests
  1389  	// with the JSON null value. By default, fields with empty values are omitted
  1390  	// from API requests. See
  1391  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1392  	NullFields []string `json:"-"`
  1393  }
  1394  
  1395  func (s *DemoteMasterContext) MarshalJSON() ([]byte, error) {
  1396  	type NoMethod DemoteMasterContext
  1397  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1398  }
  1399  
  1400  // DemoteMasterMySqlReplicaConfiguration: Read-replica configuration specific
  1401  // to MySQL databases.
  1402  type DemoteMasterMySqlReplicaConfiguration struct {
  1403  	// CaCertificate: PEM representation of the trusted CA's x509 certificate.
  1404  	CaCertificate string `json:"caCertificate,omitempty"`
  1405  	// ClientCertificate: PEM representation of the replica's x509 certificate.
  1406  	ClientCertificate string `json:"clientCertificate,omitempty"`
  1407  	// ClientKey: PEM representation of the replica's private key. The
  1408  	// corresponsing public key is encoded in the client's certificate. The format
  1409  	// of the replica's private key can be either PKCS #1 or PKCS #8.
  1410  	ClientKey string `json:"clientKey,omitempty"`
  1411  	// Kind: This is always `sql#demoteMasterMysqlReplicaConfiguration`.
  1412  	Kind string `json:"kind,omitempty"`
  1413  	// Password: The password for the replication connection.
  1414  	Password string `json:"password,omitempty"`
  1415  	// Username: The username for the replication connection.
  1416  	Username string `json:"username,omitempty"`
  1417  	// ForceSendFields is a list of field names (e.g. "CaCertificate") to
  1418  	// unconditionally include in API requests. By default, fields with empty or
  1419  	// default values are omitted from API requests. See
  1420  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1421  	// details.
  1422  	ForceSendFields []string `json:"-"`
  1423  	// NullFields is a list of field names (e.g. "CaCertificate") to include in API
  1424  	// requests with the JSON null value. By default, fields with empty values are
  1425  	// omitted from API requests. See
  1426  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1427  	NullFields []string `json:"-"`
  1428  }
  1429  
  1430  func (s *DemoteMasterMySqlReplicaConfiguration) MarshalJSON() ([]byte, error) {
  1431  	type NoMethod DemoteMasterMySqlReplicaConfiguration
  1432  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1433  }
  1434  
  1435  // DenyMaintenancePeriod: Deny maintenance Periods. This specifies a date range
  1436  // during when all CSA rollout will be denied.
  1437  type DenyMaintenancePeriod struct {
  1438  	// EndDate: "deny maintenance period" end date. If the year of the end date is
  1439  	// empty, the year of the start date also must be empty. In this case, it means
  1440  	// the no maintenance interval recurs every year. The date is in format
  1441  	// yyyy-mm-dd i.e., 2020-11-01, or mm-dd, i.e., 11-01
  1442  	EndDate string `json:"endDate,omitempty"`
  1443  	// StartDate: "deny maintenance period" start date. If the year of the start
  1444  	// date is empty, the year of the end date also must be empty. In this case, it
  1445  	// means the deny maintenance period recurs every year. The date is in format
  1446  	// yyyy-mm-dd i.e., 2020-11-01, or mm-dd, i.e., 11-01
  1447  	StartDate string `json:"startDate,omitempty"`
  1448  	// Time: Time in UTC when the "deny maintenance period" starts on start_date
  1449  	// and ends on end_date. The time is in format: HH:mm:SS, i.e., 00:00:00
  1450  	Time string `json:"time,omitempty"`
  1451  	// ForceSendFields is a list of field names (e.g. "EndDate") to unconditionally
  1452  	// include in API requests. By default, fields with empty or default values are
  1453  	// omitted from API requests. See
  1454  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1455  	// details.
  1456  	ForceSendFields []string `json:"-"`
  1457  	// NullFields is a list of field names (e.g. "EndDate") to include in API
  1458  	// requests with the JSON null value. By default, fields with empty values are
  1459  	// omitted from API requests. See
  1460  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1461  	NullFields []string `json:"-"`
  1462  }
  1463  
  1464  func (s *DenyMaintenancePeriod) MarshalJSON() ([]byte, error) {
  1465  	type NoMethod DenyMaintenancePeriod
  1466  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1467  }
  1468  
  1469  // DiskEncryptionConfiguration: Disk encryption configuration for an instance.
  1470  type DiskEncryptionConfiguration struct {
  1471  	// Kind: This is always `sql#diskEncryptionConfiguration`.
  1472  	Kind string `json:"kind,omitempty"`
  1473  	// KmsKeyName: Resource name of KMS key for disk encryption
  1474  	KmsKeyName string `json:"kmsKeyName,omitempty"`
  1475  	// ForceSendFields is a list of field names (e.g. "Kind") to unconditionally
  1476  	// include in API requests. By default, fields with empty or default values are
  1477  	// omitted from API requests. See
  1478  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1479  	// details.
  1480  	ForceSendFields []string `json:"-"`
  1481  	// NullFields is a list of field names (e.g. "Kind") to include in API requests
  1482  	// with the JSON null value. By default, fields with empty values are omitted
  1483  	// from API requests. See
  1484  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1485  	NullFields []string `json:"-"`
  1486  }
  1487  
  1488  func (s *DiskEncryptionConfiguration) MarshalJSON() ([]byte, error) {
  1489  	type NoMethod DiskEncryptionConfiguration
  1490  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1491  }
  1492  
  1493  // DiskEncryptionStatus: Disk encryption status for an instance.
  1494  type DiskEncryptionStatus struct {
  1495  	// Kind: This is always `sql#diskEncryptionStatus`.
  1496  	Kind string `json:"kind,omitempty"`
  1497  	// KmsKeyVersionName: KMS key version used to encrypt the Cloud SQL instance
  1498  	// resource
  1499  	KmsKeyVersionName string `json:"kmsKeyVersionName,omitempty"`
  1500  	// ForceSendFields is a list of field names (e.g. "Kind") to unconditionally
  1501  	// include in API requests. By default, fields with empty or default values are
  1502  	// omitted from API requests. See
  1503  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1504  	// details.
  1505  	ForceSendFields []string `json:"-"`
  1506  	// NullFields is a list of field names (e.g. "Kind") to include in API requests
  1507  	// with the JSON null value. By default, fields with empty values are omitted
  1508  	// from API requests. See
  1509  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1510  	NullFields []string `json:"-"`
  1511  }
  1512  
  1513  func (s *DiskEncryptionStatus) MarshalJSON() ([]byte, error) {
  1514  	type NoMethod DiskEncryptionStatus
  1515  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1516  }
  1517  
  1518  // Empty: A generic empty message that you can re-use to avoid defining
  1519  // duplicated empty messages in your APIs. A typical example is to use it as
  1520  // the request or the response type of an API method. For instance: service Foo
  1521  // { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
  1522  type Empty struct {
  1523  	// ServerResponse contains the HTTP response code and headers from the server.
  1524  	googleapi.ServerResponse `json:"-"`
  1525  }
  1526  
  1527  // ExportContext: Database instance export context.
  1528  type ExportContext struct {
  1529  	// BakExportOptions: Options for exporting BAK files (SQL Server-only)
  1530  	BakExportOptions *ExportContextBakExportOptions `json:"bakExportOptions,omitempty"`
  1531  	// CsvExportOptions: Options for exporting data as CSV. `MySQL` and
  1532  	// `PostgreSQL` instances only.
  1533  	CsvExportOptions *ExportContextCsvExportOptions `json:"csvExportOptions,omitempty"`
  1534  	// Databases: Databases to be exported. `MySQL instances:` If `fileType` is
  1535  	// `SQL` and no database is specified, all databases are exported, except for
  1536  	// the `mysql` system database. If `fileType` is `CSV`, you can specify one
  1537  	// database, either by using this property or by using the
  1538  	// `csvExportOptions.selectQuery` property, which takes precedence over this
  1539  	// property. `PostgreSQL instances:` You must specify one database to be
  1540  	// exported. If `fileType` is `CSV`, this database must match the one specified
  1541  	// in the `csvExportOptions.selectQuery` property. `SQL Server instances:` You
  1542  	// must specify one database to be exported, and the `fileType` must be `BAK`.
  1543  	Databases []string `json:"databases,omitempty"`
  1544  	// FileType: The file type for the specified uri.
  1545  	//
  1546  	// Possible values:
  1547  	//   "SQL_FILE_TYPE_UNSPECIFIED" - Unknown file type.
  1548  	//   "SQL" - File containing SQL statements.
  1549  	//   "CSV" - File in CSV format.
  1550  	//   "BAK"
  1551  	FileType string `json:"fileType,omitempty"`
  1552  	// Kind: This is always `sql#exportContext`.
  1553  	Kind string `json:"kind,omitempty"`
  1554  	// Offload: Option for export offload.
  1555  	Offload bool `json:"offload,omitempty"`
  1556  	// SqlExportOptions: Options for exporting data as SQL statements.
  1557  	SqlExportOptions *ExportContextSqlExportOptions `json:"sqlExportOptions,omitempty"`
  1558  	// Uri: The path to the file in Google Cloud Storage where the export will be
  1559  	// stored. The URI is in the form `gs://bucketName/fileName`. If the file
  1560  	// already exists, the request succeeds, but the operation fails. If `fileType`
  1561  	// is `SQL` and the filename ends with .gz, the contents are compressed.
  1562  	Uri string `json:"uri,omitempty"`
  1563  	// ForceSendFields is a list of field names (e.g. "BakExportOptions") to
  1564  	// unconditionally include in API requests. By default, fields with empty or
  1565  	// default values are omitted from API requests. See
  1566  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1567  	// details.
  1568  	ForceSendFields []string `json:"-"`
  1569  	// NullFields is a list of field names (e.g. "BakExportOptions") to include in
  1570  	// API requests with the JSON null value. By default, fields with empty values
  1571  	// are omitted from API requests. See
  1572  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1573  	NullFields []string `json:"-"`
  1574  }
  1575  
  1576  func (s *ExportContext) MarshalJSON() ([]byte, error) {
  1577  	type NoMethod ExportContext
  1578  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1579  }
  1580  
  1581  // ExportContextBakExportOptions: Options for exporting BAK files (SQL
  1582  // Server-only)
  1583  type ExportContextBakExportOptions struct {
  1584  	// BakType: Type of this bak file will be export, FULL or DIFF, SQL Server only
  1585  	//
  1586  	// Possible values:
  1587  	//   "BAK_TYPE_UNSPECIFIED" - Default type.
  1588  	//   "FULL" - Full backup.
  1589  	//   "DIFF" - Differential backup.
  1590  	//   "TLOG" - Transaction Log backup
  1591  	BakType string `json:"bakType,omitempty"`
  1592  	// CopyOnly: Deprecated: copy_only is deprecated. Use differential_base instead
  1593  	CopyOnly bool `json:"copyOnly,omitempty"`
  1594  	// DifferentialBase: Whether or not the backup can be used as a differential
  1595  	// base copy_only backup can not be served as differential base
  1596  	DifferentialBase bool `json:"differentialBase,omitempty"`
  1597  	// StripeCount: Option for specifying how many stripes to use for the export.
  1598  	// If blank, and the value of the striped field is true, the number of stripes
  1599  	// is automatically chosen.
  1600  	StripeCount int64 `json:"stripeCount,omitempty"`
  1601  	// Striped: Whether or not the export should be striped.
  1602  	Striped bool `json:"striped,omitempty"`
  1603  	// ForceSendFields is a list of field names (e.g. "BakType") to unconditionally
  1604  	// include in API requests. By default, fields with empty or default values are
  1605  	// omitted from API requests. See
  1606  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1607  	// details.
  1608  	ForceSendFields []string `json:"-"`
  1609  	// NullFields is a list of field names (e.g. "BakType") to include in API
  1610  	// requests with the JSON null value. By default, fields with empty values are
  1611  	// omitted from API requests. See
  1612  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1613  	NullFields []string `json:"-"`
  1614  }
  1615  
  1616  func (s *ExportContextBakExportOptions) MarshalJSON() ([]byte, error) {
  1617  	type NoMethod ExportContextBakExportOptions
  1618  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1619  }
  1620  
  1621  // ExportContextCsvExportOptions: Options for exporting data as CSV. `MySQL`
  1622  // and `PostgreSQL` instances only.
  1623  type ExportContextCsvExportOptions struct {
  1624  	// EscapeCharacter: Specifies the character that should appear before a data
  1625  	// character that needs to be escaped.
  1626  	EscapeCharacter string `json:"escapeCharacter,omitempty"`
  1627  	// FieldsTerminatedBy: Specifies the character that separates columns within
  1628  	// each row (line) of the file.
  1629  	FieldsTerminatedBy string `json:"fieldsTerminatedBy,omitempty"`
  1630  	// LinesTerminatedBy: This is used to separate lines. If a line does not
  1631  	// contain all fields, the rest of the columns are set to their default values.
  1632  	LinesTerminatedBy string `json:"linesTerminatedBy,omitempty"`
  1633  	// QuoteCharacter: Specifies the quoting character to be used when a data value
  1634  	// is quoted.
  1635  	QuoteCharacter string `json:"quoteCharacter,omitempty"`
  1636  	// SelectQuery: The select query used to extract the data.
  1637  	SelectQuery string `json:"selectQuery,omitempty"`
  1638  	// ForceSendFields is a list of field names (e.g. "EscapeCharacter") to
  1639  	// unconditionally include in API requests. By default, fields with empty or
  1640  	// default values are omitted from API requests. See
  1641  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1642  	// details.
  1643  	ForceSendFields []string `json:"-"`
  1644  	// NullFields is a list of field names (e.g. "EscapeCharacter") to include in
  1645  	// API requests with the JSON null value. By default, fields with empty values
  1646  	// are omitted from API requests. See
  1647  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1648  	NullFields []string `json:"-"`
  1649  }
  1650  
  1651  func (s *ExportContextCsvExportOptions) MarshalJSON() ([]byte, error) {
  1652  	type NoMethod ExportContextCsvExportOptions
  1653  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1654  }
  1655  
  1656  // ExportContextSqlExportOptions: Options for exporting data as SQL statements.
  1657  type ExportContextSqlExportOptions struct {
  1658  	// MysqlExportOptions: Options for exporting from MySQL.
  1659  	MysqlExportOptions *ExportContextSqlExportOptionsMysqlExportOptions `json:"mysqlExportOptions,omitempty"`
  1660  	// Parallel: Optional. Whether or not the export should be parallel.
  1661  	Parallel bool `json:"parallel,omitempty"`
  1662  	// SchemaOnly: Export only schemas.
  1663  	SchemaOnly bool `json:"schemaOnly,omitempty"`
  1664  	// Tables: Tables to export, or that were exported, from the specified
  1665  	// database. If you specify tables, specify one and only one database. For
  1666  	// PostgreSQL instances, you can specify only one table.
  1667  	Tables []string `json:"tables,omitempty"`
  1668  	// Threads: Optional. The number of threads to use for parallel export.
  1669  	Threads int64 `json:"threads,omitempty"`
  1670  	// ForceSendFields is a list of field names (e.g. "MysqlExportOptions") to
  1671  	// unconditionally include in API requests. By default, fields with empty or
  1672  	// default values are omitted from API requests. See
  1673  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1674  	// details.
  1675  	ForceSendFields []string `json:"-"`
  1676  	// NullFields is a list of field names (e.g. "MysqlExportOptions") to include
  1677  	// in API requests with the JSON null value. By default, fields with empty
  1678  	// values are omitted from API requests. See
  1679  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1680  	NullFields []string `json:"-"`
  1681  }
  1682  
  1683  func (s *ExportContextSqlExportOptions) MarshalJSON() ([]byte, error) {
  1684  	type NoMethod ExportContextSqlExportOptions
  1685  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1686  }
  1687  
  1688  // ExportContextSqlExportOptionsMysqlExportOptions: Options for exporting from
  1689  // MySQL.
  1690  type ExportContextSqlExportOptionsMysqlExportOptions struct {
  1691  	// MasterData: Option to include SQL statement required to set up replication.
  1692  	// If set to `1`, the dump file includes a CHANGE MASTER TO statement with the
  1693  	// binary log coordinates, and --set-gtid-purged is set to ON. If set to `2`,
  1694  	// the CHANGE MASTER TO statement is written as a SQL comment and has no
  1695  	// effect. If set to any value other than `1`, --set-gtid-purged is set to OFF.
  1696  	MasterData int64 `json:"masterData,omitempty"`
  1697  	// ForceSendFields is a list of field names (e.g. "MasterData") to
  1698  	// unconditionally include in API requests. By default, fields with empty or
  1699  	// default values are omitted from API requests. See
  1700  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1701  	// details.
  1702  	ForceSendFields []string `json:"-"`
  1703  	// NullFields is a list of field names (e.g. "MasterData") to include in API
  1704  	// requests with the JSON null value. By default, fields with empty values are
  1705  	// omitted from API requests. See
  1706  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1707  	NullFields []string `json:"-"`
  1708  }
  1709  
  1710  func (s *ExportContextSqlExportOptionsMysqlExportOptions) MarshalJSON() ([]byte, error) {
  1711  	type NoMethod ExportContextSqlExportOptionsMysqlExportOptions
  1712  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1713  }
  1714  
  1715  // FailoverContext: Database instance failover context.
  1716  type FailoverContext struct {
  1717  	// Kind: This is always `sql#failoverContext`.
  1718  	Kind string `json:"kind,omitempty"`
  1719  	// SettingsVersion: The current settings version of this instance. Request will
  1720  	// be rejected if this version doesn't match the current settings version.
  1721  	SettingsVersion int64 `json:"settingsVersion,omitempty,string"`
  1722  	// ForceSendFields is a list of field names (e.g. "Kind") to unconditionally
  1723  	// include in API requests. By default, fields with empty or default values are
  1724  	// omitted from API requests. See
  1725  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1726  	// details.
  1727  	ForceSendFields []string `json:"-"`
  1728  	// NullFields is a list of field names (e.g. "Kind") to include in API requests
  1729  	// with the JSON null value. By default, fields with empty values are omitted
  1730  	// from API requests. See
  1731  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1732  	NullFields []string `json:"-"`
  1733  }
  1734  
  1735  func (s *FailoverContext) MarshalJSON() ([]byte, error) {
  1736  	type NoMethod FailoverContext
  1737  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1738  }
  1739  
  1740  // Flag: A flag resource.
  1741  type Flag struct {
  1742  	// AllowedIntValues: Use this field if only certain integers are accepted. Can
  1743  	// be combined with min_value and max_value to add additional values.
  1744  	AllowedIntValues googleapi.Int64s `json:"allowedIntValues,omitempty"`
  1745  	// AllowedStringValues: For `STRING` flags, a list of strings that the value
  1746  	// can be set to.
  1747  	AllowedStringValues []string `json:"allowedStringValues,omitempty"`
  1748  	// AppliesTo: The database version this flag applies to. Can be MySQL
  1749  	// instances: `MYSQL_8_0`, `MYSQL_8_0_18`, `MYSQL_8_0_26`, `MYSQL_5_7`, or
  1750  	// `MYSQL_5_6`. PostgreSQL instances: `POSTGRES_9_6`, `POSTGRES_10`,
  1751  	// `POSTGRES_11` or `POSTGRES_12`. SQL Server instances:
  1752  	// `SQLSERVER_2017_STANDARD`, `SQLSERVER_2017_ENTERPRISE`,
  1753  	// `SQLSERVER_2017_EXPRESS`, `SQLSERVER_2017_WEB`, `SQLSERVER_2019_STANDARD`,
  1754  	// `SQLSERVER_2019_ENTERPRISE`, `SQLSERVER_2019_EXPRESS`, or
  1755  	// `SQLSERVER_2019_WEB`. See the complete list
  1756  	// (/sql/docs/mysql/admin-api/rest/v1/SqlDatabaseVersion).
  1757  	//
  1758  	// Possible values:
  1759  	//   "SQL_DATABASE_VERSION_UNSPECIFIED" - This is an unknown database version.
  1760  	//   "MYSQL_5_1" - The database version is MySQL 5.1.
  1761  	//   "MYSQL_5_5" - The database version is MySQL 5.5.
  1762  	//   "MYSQL_5_6" - The database version is MySQL 5.6.
  1763  	//   "MYSQL_5_7" - The database version is MySQL 5.7.
  1764  	//   "SQLSERVER_2017_STANDARD" - The database version is SQL Server 2017
  1765  	// Standard.
  1766  	//   "SQLSERVER_2017_ENTERPRISE" - The database version is SQL Server 2017
  1767  	// Enterprise.
  1768  	//   "SQLSERVER_2017_EXPRESS" - The database version is SQL Server 2017
  1769  	// Express.
  1770  	//   "SQLSERVER_2017_WEB" - The database version is SQL Server 2017 Web.
  1771  	//   "POSTGRES_9_6" - The database version is PostgreSQL 9.6.
  1772  	//   "POSTGRES_10" - The database version is PostgreSQL 10.
  1773  	//   "POSTGRES_11" - The database version is PostgreSQL 11.
  1774  	//   "POSTGRES_12" - The database version is PostgreSQL 12.
  1775  	//   "POSTGRES_13" - The database version is PostgreSQL 13.
  1776  	//   "POSTGRES_14" - The database version is PostgreSQL 14.
  1777  	//   "POSTGRES_15" - The database version is PostgreSQL 15.
  1778  	//   "MYSQL_8_0" - The database version is MySQL 8.
  1779  	//   "MYSQL_8_0_18" - The database major version is MySQL 8.0 and the minor
  1780  	// version is 18.
  1781  	//   "MYSQL_8_0_26" - The database major version is MySQL 8.0 and the minor
  1782  	// version is 26.
  1783  	//   "MYSQL_8_0_27" - The database major version is MySQL 8.0 and the minor
  1784  	// version is 27.
  1785  	//   "MYSQL_8_0_28" - The database major version is MySQL 8.0 and the minor
  1786  	// version is 28.
  1787  	//   "MYSQL_8_0_29" - The database major version is MySQL 8.0 and the minor
  1788  	// version is 29.
  1789  	//   "MYSQL_8_0_30" - The database major version is MySQL 8.0 and the minor
  1790  	// version is 30.
  1791  	//   "MYSQL_8_0_31" - The database major version is MySQL 8.0 and the minor
  1792  	// version is 31.
  1793  	//   "MYSQL_8_0_32" - The database major version is MySQL 8.0 and the minor
  1794  	// version is 32.
  1795  	//   "MYSQL_8_0_33" - The database major version is MySQL 8.0 and the minor
  1796  	// version is 33.
  1797  	//   "MYSQL_8_0_34" - The database major version is MySQL 8.0 and the minor
  1798  	// version is 34.
  1799  	//   "MYSQL_8_0_35" - The database major version is MySQL 8.0 and the minor
  1800  	// version is 35.
  1801  	//   "MYSQL_8_0_36" - The database major version is MySQL 8.0 and the minor
  1802  	// version is 36.
  1803  	//   "MYSQL_8_0_37" - The database major version is MySQL 8.0 and the minor
  1804  	// version is 37.
  1805  	//   "MYSQL_8_0_38" - The database major version is MySQL 8.0 and the minor
  1806  	// version is 38.
  1807  	//   "MYSQL_8_0_39" - The database major version is MySQL 8.0 and the minor
  1808  	// version is 39.
  1809  	//   "MYSQL_8_0_40" - The database major version is MySQL 8.0 and the minor
  1810  	// version is 40.
  1811  	//   "SQLSERVER_2019_STANDARD" - The database version is SQL Server 2019
  1812  	// Standard.
  1813  	//   "SQLSERVER_2019_ENTERPRISE" - The database version is SQL Server 2019
  1814  	// Enterprise.
  1815  	//   "SQLSERVER_2019_EXPRESS" - The database version is SQL Server 2019
  1816  	// Express.
  1817  	//   "SQLSERVER_2019_WEB" - The database version is SQL Server 2019 Web.
  1818  	//   "SQLSERVER_2022_STANDARD" - The database version is SQL Server 2022
  1819  	// Standard.
  1820  	//   "SQLSERVER_2022_ENTERPRISE" - The database version is SQL Server 2022
  1821  	// Enterprise.
  1822  	//   "SQLSERVER_2022_EXPRESS" - The database version is SQL Server 2022
  1823  	// Express.
  1824  	//   "SQLSERVER_2022_WEB" - The database version is SQL Server 2022 Web.
  1825  	AppliesTo []string `json:"appliesTo,omitempty"`
  1826  	// InBeta: Whether or not the flag is considered in beta.
  1827  	InBeta bool `json:"inBeta,omitempty"`
  1828  	// Kind: This is always `sql#flag`.
  1829  	Kind string `json:"kind,omitempty"`
  1830  	// MaxValue: For `INTEGER` flags, the maximum allowed value.
  1831  	MaxValue int64 `json:"maxValue,omitempty,string"`
  1832  	// MinValue: For `INTEGER` flags, the minimum allowed value.
  1833  	MinValue int64 `json:"minValue,omitempty,string"`
  1834  	// Name: This is the name of the flag. Flag names always use underscores, not
  1835  	// hyphens, for example: `max_allowed_packet`
  1836  	Name string `json:"name,omitempty"`
  1837  	// RequiresRestart: Indicates whether changing this flag will trigger a
  1838  	// database restart. Only applicable to Second Generation instances.
  1839  	RequiresRestart bool `json:"requiresRestart,omitempty"`
  1840  	// Type: The type of the flag. Flags are typed to being `BOOLEAN`, `STRING`,
  1841  	// `INTEGER` or `NONE`. `NONE` is used for flags that do not take a value, such
  1842  	// as `skip_grant_tables`.
  1843  	//
  1844  	// Possible values:
  1845  	//   "SQL_FLAG_TYPE_UNSPECIFIED" - This is an unknown flag type.
  1846  	//   "BOOLEAN" - Boolean type flag.
  1847  	//   "STRING" - String type flag.
  1848  	//   "INTEGER" - Integer type flag.
  1849  	//   "NONE" - Flag type used for a server startup option.
  1850  	//   "MYSQL_TIMEZONE_OFFSET" - Type introduced specially for MySQL TimeZone
  1851  	// offset. Accept a string value with the format [-12:59, 13:00].
  1852  	//   "FLOAT" - Float type flag.
  1853  	//   "REPEATED_STRING" - Comma-separated list of the strings in a SqlFlagType
  1854  	// enum.
  1855  	Type string `json:"type,omitempty"`
  1856  	// ForceSendFields is a list of field names (e.g. "AllowedIntValues") to
  1857  	// unconditionally include in API requests. By default, fields with empty or
  1858  	// default values are omitted from API requests. See
  1859  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1860  	// details.
  1861  	ForceSendFields []string `json:"-"`
  1862  	// NullFields is a list of field names (e.g. "AllowedIntValues") to include in
  1863  	// API requests with the JSON null value. By default, fields with empty values
  1864  	// are omitted from API requests. See
  1865  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1866  	NullFields []string `json:"-"`
  1867  }
  1868  
  1869  func (s *Flag) MarshalJSON() ([]byte, error) {
  1870  	type NoMethod Flag
  1871  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1872  }
  1873  
  1874  // FlagsListResponse: Flags list response.
  1875  type FlagsListResponse struct {
  1876  	// Items: List of flags.
  1877  	Items []*Flag `json:"items,omitempty"`
  1878  	// Kind: This is always `sql#flagsList`.
  1879  	Kind string `json:"kind,omitempty"`
  1880  
  1881  	// ServerResponse contains the HTTP response code and headers from the server.
  1882  	googleapi.ServerResponse `json:"-"`
  1883  	// ForceSendFields is a list of field names (e.g. "Items") to unconditionally
  1884  	// include in API requests. By default, fields with empty or default values are
  1885  	// omitted from API requests. See
  1886  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1887  	// details.
  1888  	ForceSendFields []string `json:"-"`
  1889  	// NullFields is a list of field names (e.g. "Items") to include in API
  1890  	// requests with the JSON null value. By default, fields with empty values are
  1891  	// omitted from API requests. See
  1892  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1893  	NullFields []string `json:"-"`
  1894  }
  1895  
  1896  func (s *FlagsListResponse) MarshalJSON() ([]byte, error) {
  1897  	type NoMethod FlagsListResponse
  1898  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1899  }
  1900  
  1901  // GeminiInstanceConfig: Gemini instance configuration.
  1902  type GeminiInstanceConfig struct {
  1903  	// ActiveQueryEnabled: Output only. Whether the active query is enabled.
  1904  	ActiveQueryEnabled bool `json:"activeQueryEnabled,omitempty"`
  1905  	// Entitled: Output only. Whether Gemini is enabled.
  1906  	Entitled bool `json:"entitled,omitempty"`
  1907  	// FlagRecommenderEnabled: Output only. Whether the flag recommender is
  1908  	// enabled.
  1909  	FlagRecommenderEnabled bool `json:"flagRecommenderEnabled,omitempty"`
  1910  	// GoogleVacuumMgmtEnabled: Output only. Whether the vacuum management is
  1911  	// enabled.
  1912  	GoogleVacuumMgmtEnabled bool `json:"googleVacuumMgmtEnabled,omitempty"`
  1913  	// IndexAdvisorEnabled: Output only. Whether the index advisor is enabled.
  1914  	IndexAdvisorEnabled bool `json:"indexAdvisorEnabled,omitempty"`
  1915  	// OomSessionCancelEnabled: Output only. Whether canceling the out-of-memory
  1916  	// (OOM) session is enabled.
  1917  	OomSessionCancelEnabled bool `json:"oomSessionCancelEnabled,omitempty"`
  1918  	// ForceSendFields is a list of field names (e.g. "ActiveQueryEnabled") to
  1919  	// unconditionally include in API requests. By default, fields with empty or
  1920  	// default values are omitted from API requests. See
  1921  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1922  	// details.
  1923  	ForceSendFields []string `json:"-"`
  1924  	// NullFields is a list of field names (e.g. "ActiveQueryEnabled") to include
  1925  	// in API requests with the JSON null value. By default, fields with empty
  1926  	// values are omitted from API requests. See
  1927  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1928  	NullFields []string `json:"-"`
  1929  }
  1930  
  1931  func (s *GeminiInstanceConfig) MarshalJSON() ([]byte, error) {
  1932  	type NoMethod GeminiInstanceConfig
  1933  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1934  }
  1935  
  1936  // GenerateEphemeralCertRequest: Ephemeral certificate creation request.
  1937  type GenerateEphemeralCertRequest struct {
  1938  	// AccessToken: Optional. Access token to include in the signed certificate.
  1939  	AccessToken string `json:"access_token,omitempty"`
  1940  	// PublicKey: PEM encoded public key to include in the signed certificate.
  1941  	PublicKey string `json:"public_key,omitempty"`
  1942  	// ReadTime: Optional. Optional snapshot read timestamp to trade freshness for
  1943  	// performance.
  1944  	ReadTime string `json:"readTime,omitempty"`
  1945  	// ValidDuration: Optional. If set, it will contain the cert valid duration.
  1946  	ValidDuration string `json:"validDuration,omitempty"`
  1947  	// ForceSendFields is a list of field names (e.g. "AccessToken") to
  1948  	// unconditionally include in API requests. By default, fields with empty or
  1949  	// default values are omitted from API requests. See
  1950  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1951  	// details.
  1952  	ForceSendFields []string `json:"-"`
  1953  	// NullFields is a list of field names (e.g. "AccessToken") to include in API
  1954  	// requests with the JSON null value. By default, fields with empty values are
  1955  	// omitted from API requests. See
  1956  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1957  	NullFields []string `json:"-"`
  1958  }
  1959  
  1960  func (s *GenerateEphemeralCertRequest) MarshalJSON() ([]byte, error) {
  1961  	type NoMethod GenerateEphemeralCertRequest
  1962  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1963  }
  1964  
  1965  // GenerateEphemeralCertResponse: Ephemeral certificate creation request.
  1966  type GenerateEphemeralCertResponse struct {
  1967  	// EphemeralCert: Generated cert
  1968  	EphemeralCert *SslCert `json:"ephemeralCert,omitempty"`
  1969  
  1970  	// ServerResponse contains the HTTP response code and headers from the server.
  1971  	googleapi.ServerResponse `json:"-"`
  1972  	// ForceSendFields is a list of field names (e.g. "EphemeralCert") to
  1973  	// unconditionally include in API requests. By default, fields with empty or
  1974  	// default values are omitted from API requests. See
  1975  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1976  	// details.
  1977  	ForceSendFields []string `json:"-"`
  1978  	// NullFields is a list of field names (e.g. "EphemeralCert") to include in API
  1979  	// requests with the JSON null value. By default, fields with empty values are
  1980  	// omitted from API requests. See
  1981  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1982  	NullFields []string `json:"-"`
  1983  }
  1984  
  1985  func (s *GenerateEphemeralCertResponse) MarshalJSON() ([]byte, error) {
  1986  	type NoMethod GenerateEphemeralCertResponse
  1987  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1988  }
  1989  
  1990  // ImportContext: Database instance import context.
  1991  type ImportContext struct {
  1992  	// BakImportOptions: Import parameters specific to SQL Server .BAK files
  1993  	BakImportOptions *ImportContextBakImportOptions `json:"bakImportOptions,omitempty"`
  1994  	// CsvImportOptions: Options for importing data as CSV.
  1995  	CsvImportOptions *ImportContextCsvImportOptions `json:"csvImportOptions,omitempty"`
  1996  	// Database: The target database for the import. If `fileType` is `SQL`, this
  1997  	// field is required only if the import file does not specify a database, and
  1998  	// is overridden by any database specification in the import file. If
  1999  	// `fileType` is `CSV`, one database must be specified.
  2000  	Database string `json:"database,omitempty"`
  2001  	// FileType: The file type for the specified uri.\`SQL`: The file contains SQL
  2002  	// statements. \`CSV`: The file contains CSV data.
  2003  	//
  2004  	// Possible values:
  2005  	//   "SQL_FILE_TYPE_UNSPECIFIED" - Unknown file type.
  2006  	//   "SQL" - File containing SQL statements.
  2007  	//   "CSV" - File in CSV format.
  2008  	//   "BAK"
  2009  	FileType string `json:"fileType,omitempty"`
  2010  	// ImportUser: The PostgreSQL user for this import operation. PostgreSQL
  2011  	// instances only.
  2012  	ImportUser string `json:"importUser,omitempty"`
  2013  	// Kind: This is always `sql#importContext`.
  2014  	Kind string `json:"kind,omitempty"`
  2015  	// SqlImportOptions: Optional. Options for importing data from SQL statements.
  2016  	SqlImportOptions *ImportContextSqlImportOptions `json:"sqlImportOptions,omitempty"`
  2017  	// Uri: Path to the import file in Cloud Storage, in the form
  2018  	// `gs://bucketName/fileName`. Compressed gzip files (.gz) are supported when
  2019  	// `fileType` is `SQL`. The instance must have write permissions to the bucket
  2020  	// and read access to the file.
  2021  	Uri string `json:"uri,omitempty"`
  2022  	// ForceSendFields is a list of field names (e.g. "BakImportOptions") to
  2023  	// unconditionally include in API requests. By default, fields with empty or
  2024  	// default values are omitted from API requests. See
  2025  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2026  	// details.
  2027  	ForceSendFields []string `json:"-"`
  2028  	// NullFields is a list of field names (e.g. "BakImportOptions") to include in
  2029  	// API requests with the JSON null value. By default, fields with empty values
  2030  	// are omitted from API requests. See
  2031  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2032  	NullFields []string `json:"-"`
  2033  }
  2034  
  2035  func (s *ImportContext) MarshalJSON() ([]byte, error) {
  2036  	type NoMethod ImportContext
  2037  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2038  }
  2039  
  2040  // ImportContextBakImportOptions: Import parameters specific to SQL Server .BAK
  2041  // files
  2042  type ImportContextBakImportOptions struct {
  2043  	// BakType: Type of the bak content, FULL or DIFF
  2044  	//
  2045  	// Possible values:
  2046  	//   "BAK_TYPE_UNSPECIFIED" - Default type.
  2047  	//   "FULL" - Full backup.
  2048  	//   "DIFF" - Differential backup.
  2049  	//   "TLOG" - Transaction Log backup
  2050  	BakType           string                                          `json:"bakType,omitempty"`
  2051  	EncryptionOptions *ImportContextBakImportOptionsEncryptionOptions `json:"encryptionOptions,omitempty"`
  2052  	// NoRecovery: Whether or not the backup importing will restore database with
  2053  	// NORECOVERY option Applies only to Cloud SQL for SQL Server.
  2054  	NoRecovery bool `json:"noRecovery,omitempty"`
  2055  	// RecoveryOnly: Whether or not the backup importing request will just bring
  2056  	// database online without downloading Bak content only one of "no_recovery"
  2057  	// and "recovery_only" can be true otherwise error will return. Applies only to
  2058  	// Cloud SQL for SQL Server.
  2059  	RecoveryOnly bool `json:"recoveryOnly,omitempty"`
  2060  	// StopAt: Optional. The timestamp when the import should stop. This timestamp
  2061  	// is in the RFC 3339 (https://tools.ietf.org/html/rfc3339) format (for
  2062  	// example, `2023-10-01T16:19:00.094`). This field is equivalent to the STOPAT
  2063  	// keyword and applies to Cloud SQL for SQL Server only.
  2064  	StopAt string `json:"stopAt,omitempty"`
  2065  	// StopAtMark: Optional. The marked transaction where the import should stop.
  2066  	// This field is equivalent to the STOPATMARK keyword and applies to Cloud SQL
  2067  	// for SQL Server only.
  2068  	StopAtMark string `json:"stopAtMark,omitempty"`
  2069  	// Striped: Whether or not the backup set being restored is striped. Applies
  2070  	// only to Cloud SQL for SQL Server.
  2071  	Striped bool `json:"striped,omitempty"`
  2072  	// ForceSendFields is a list of field names (e.g. "BakType") to unconditionally
  2073  	// include in API requests. By default, fields with empty or default values are
  2074  	// omitted from API requests. See
  2075  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2076  	// details.
  2077  	ForceSendFields []string `json:"-"`
  2078  	// NullFields is a list of field names (e.g. "BakType") to include in API
  2079  	// requests with the JSON null value. By default, fields with empty values are
  2080  	// omitted from API requests. See
  2081  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2082  	NullFields []string `json:"-"`
  2083  }
  2084  
  2085  func (s *ImportContextBakImportOptions) MarshalJSON() ([]byte, error) {
  2086  	type NoMethod ImportContextBakImportOptions
  2087  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2088  }
  2089  
  2090  type ImportContextBakImportOptionsEncryptionOptions struct {
  2091  	// CertPath: Path to the Certificate (.cer) in Cloud Storage, in the form
  2092  	// `gs://bucketName/fileName`. The instance must have write permissions to the
  2093  	// bucket and read access to the file.
  2094  	CertPath string `json:"certPath,omitempty"`
  2095  	// PvkPassword: Password that encrypts the private key
  2096  	PvkPassword string `json:"pvkPassword,omitempty"`
  2097  	// PvkPath: Path to the Certificate Private Key (.pvk) in Cloud Storage, in the
  2098  	// form `gs://bucketName/fileName`. The instance must have write permissions to
  2099  	// the bucket and read access to the file.
  2100  	PvkPath string `json:"pvkPath,omitempty"`
  2101  	// ForceSendFields is a list of field names (e.g. "CertPath") to
  2102  	// unconditionally include in API requests. By default, fields with empty or
  2103  	// default values are omitted from API requests. See
  2104  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2105  	// details.
  2106  	ForceSendFields []string `json:"-"`
  2107  	// NullFields is a list of field names (e.g. "CertPath") to include in API
  2108  	// requests with the JSON null value. By default, fields with empty values are
  2109  	// omitted from API requests. See
  2110  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2111  	NullFields []string `json:"-"`
  2112  }
  2113  
  2114  func (s *ImportContextBakImportOptionsEncryptionOptions) MarshalJSON() ([]byte, error) {
  2115  	type NoMethod ImportContextBakImportOptionsEncryptionOptions
  2116  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2117  }
  2118  
  2119  // ImportContextCsvImportOptions: Options for importing data as CSV.
  2120  type ImportContextCsvImportOptions struct {
  2121  	// Columns: The columns to which CSV data is imported. If not specified, all
  2122  	// columns of the database table are loaded with CSV data.
  2123  	Columns []string `json:"columns,omitempty"`
  2124  	// EscapeCharacter: Specifies the character that should appear before a data
  2125  	// character that needs to be escaped.
  2126  	EscapeCharacter string `json:"escapeCharacter,omitempty"`
  2127  	// FieldsTerminatedBy: Specifies the character that separates columns within
  2128  	// each row (line) of the file.
  2129  	FieldsTerminatedBy string `json:"fieldsTerminatedBy,omitempty"`
  2130  	// LinesTerminatedBy: This is used to separate lines. If a line does not
  2131  	// contain all fields, the rest of the columns are set to their default values.
  2132  	LinesTerminatedBy string `json:"linesTerminatedBy,omitempty"`
  2133  	// QuoteCharacter: Specifies the quoting character to be used when a data value
  2134  	// is quoted.
  2135  	QuoteCharacter string `json:"quoteCharacter,omitempty"`
  2136  	// Table: The table to which CSV data is imported.
  2137  	Table string `json:"table,omitempty"`
  2138  	// ForceSendFields is a list of field names (e.g. "Columns") to unconditionally
  2139  	// include in API requests. By default, fields with empty or default values are
  2140  	// omitted from API requests. See
  2141  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2142  	// details.
  2143  	ForceSendFields []string `json:"-"`
  2144  	// NullFields is a list of field names (e.g. "Columns") to include in API
  2145  	// requests with the JSON null value. By default, fields with empty values are
  2146  	// omitted from API requests. See
  2147  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2148  	NullFields []string `json:"-"`
  2149  }
  2150  
  2151  func (s *ImportContextCsvImportOptions) MarshalJSON() ([]byte, error) {
  2152  	type NoMethod ImportContextCsvImportOptions
  2153  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2154  }
  2155  
  2156  // ImportContextSqlImportOptions: Optional. Options for importing data from SQL
  2157  // statements.
  2158  type ImportContextSqlImportOptions struct {
  2159  	// Parallel: Optional. Whether or not the import should be parallel.
  2160  	Parallel bool `json:"parallel,omitempty"`
  2161  	// Threads: Optional. The number of threads to use for parallel import.
  2162  	Threads int64 `json:"threads,omitempty"`
  2163  	// ForceSendFields is a list of field names (e.g. "Parallel") to
  2164  	// unconditionally include in API requests. By default, fields with empty or
  2165  	// default values are omitted from API requests. See
  2166  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2167  	// details.
  2168  	ForceSendFields []string `json:"-"`
  2169  	// NullFields is a list of field names (e.g. "Parallel") to include in API
  2170  	// requests with the JSON null value. By default, fields with empty values are
  2171  	// omitted from API requests. See
  2172  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2173  	NullFields []string `json:"-"`
  2174  }
  2175  
  2176  func (s *ImportContextSqlImportOptions) MarshalJSON() ([]byte, error) {
  2177  	type NoMethod ImportContextSqlImportOptions
  2178  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2179  }
  2180  
  2181  // InsightsConfig: Insights configuration. This specifies when Cloud SQL
  2182  // Insights feature is enabled and optional configuration.
  2183  type InsightsConfig struct {
  2184  	// QueryInsightsEnabled: Whether Query Insights feature is enabled.
  2185  	QueryInsightsEnabled bool `json:"queryInsightsEnabled,omitempty"`
  2186  	// QueryPlansPerMinute: Number of query execution plans captured by Insights
  2187  	// per minute for all queries combined. Default is 5.
  2188  	QueryPlansPerMinute int64 `json:"queryPlansPerMinute,omitempty"`
  2189  	// QueryStringLength: Maximum query length stored in bytes. Default value: 1024
  2190  	// bytes. Range: 256-4500 bytes. Query length more than this field value will
  2191  	// be truncated to this value. When unset, query length will be the default
  2192  	// value. Changing query length will restart the database.
  2193  	QueryStringLength int64 `json:"queryStringLength,omitempty"`
  2194  	// RecordApplicationTags: Whether Query Insights will record application tags
  2195  	// from query when enabled.
  2196  	RecordApplicationTags bool `json:"recordApplicationTags,omitempty"`
  2197  	// RecordClientAddress: Whether Query Insights will record client address when
  2198  	// enabled.
  2199  	RecordClientAddress bool `json:"recordClientAddress,omitempty"`
  2200  	// ForceSendFields is a list of field names (e.g. "QueryInsightsEnabled") to
  2201  	// unconditionally include in API requests. By default, fields with empty or
  2202  	// default values are omitted from API requests. See
  2203  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2204  	// details.
  2205  	ForceSendFields []string `json:"-"`
  2206  	// NullFields is a list of field names (e.g. "QueryInsightsEnabled") to include
  2207  	// in API requests with the JSON null value. By default, fields with empty
  2208  	// values are omitted from API requests. See
  2209  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2210  	NullFields []string `json:"-"`
  2211  }
  2212  
  2213  func (s *InsightsConfig) MarshalJSON() ([]byte, error) {
  2214  	type NoMethod InsightsConfig
  2215  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2216  }
  2217  
  2218  // InstanceReference: Reference to another Cloud SQL instance.
  2219  type InstanceReference struct {
  2220  	// Name: The name of the Cloud SQL instance being referenced. This does not
  2221  	// include the project ID.
  2222  	Name string `json:"name,omitempty"`
  2223  	// Project: The project ID of the Cloud SQL instance being referenced. The
  2224  	// default is the same project ID as the instance references it.
  2225  	Project string `json:"project,omitempty"`
  2226  	// Region: The region of the Cloud SQL instance being referenced.
  2227  	Region string `json:"region,omitempty"`
  2228  	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
  2229  	// include in API requests. By default, fields with empty or default values are
  2230  	// omitted from API requests. See
  2231  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2232  	// details.
  2233  	ForceSendFields []string `json:"-"`
  2234  	// NullFields is a list of field names (e.g. "Name") to include in API requests
  2235  	// with the JSON null value. By default, fields with empty values are omitted
  2236  	// from API requests. See
  2237  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2238  	NullFields []string `json:"-"`
  2239  }
  2240  
  2241  func (s *InstanceReference) MarshalJSON() ([]byte, error) {
  2242  	type NoMethod InstanceReference
  2243  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2244  }
  2245  
  2246  // InstancesAcquireSsrsLeaseRequest: Request to acquire a lease for SSRS.
  2247  type InstancesAcquireSsrsLeaseRequest struct {
  2248  	// AcquireSsrsLeaseContext: Contains details about the acquire SSRS lease
  2249  	// operation.
  2250  	AcquireSsrsLeaseContext *AcquireSsrsLeaseContext `json:"acquireSsrsLeaseContext,omitempty"`
  2251  	// ForceSendFields is a list of field names (e.g. "AcquireSsrsLeaseContext") to
  2252  	// unconditionally include in API requests. By default, fields with empty or
  2253  	// default values are omitted from API requests. See
  2254  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2255  	// details.
  2256  	ForceSendFields []string `json:"-"`
  2257  	// NullFields is a list of field names (e.g. "AcquireSsrsLeaseContext") to
  2258  	// include in API requests with the JSON null value. By default, fields with
  2259  	// empty values are omitted from API requests. See
  2260  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2261  	NullFields []string `json:"-"`
  2262  }
  2263  
  2264  func (s *InstancesAcquireSsrsLeaseRequest) MarshalJSON() ([]byte, error) {
  2265  	type NoMethod InstancesAcquireSsrsLeaseRequest
  2266  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2267  }
  2268  
  2269  // InstancesCloneRequest: Database instance clone request.
  2270  type InstancesCloneRequest struct {
  2271  	// CloneContext: Contains details about the clone operation.
  2272  	CloneContext *CloneContext `json:"cloneContext,omitempty"`
  2273  	// ForceSendFields is a list of field names (e.g. "CloneContext") to
  2274  	// unconditionally include in API requests. By default, fields with empty or
  2275  	// default values are omitted from API requests. See
  2276  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2277  	// details.
  2278  	ForceSendFields []string `json:"-"`
  2279  	// NullFields is a list of field names (e.g. "CloneContext") to include in API
  2280  	// requests with the JSON null value. By default, fields with empty values are
  2281  	// omitted from API requests. See
  2282  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2283  	NullFields []string `json:"-"`
  2284  }
  2285  
  2286  func (s *InstancesCloneRequest) MarshalJSON() ([]byte, error) {
  2287  	type NoMethod InstancesCloneRequest
  2288  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2289  }
  2290  
  2291  // InstancesDemoteMasterRequest: Database demote primary instance request.
  2292  type InstancesDemoteMasterRequest struct {
  2293  	// DemoteMasterContext: Contains details about the demoteMaster operation.
  2294  	DemoteMasterContext *DemoteMasterContext `json:"demoteMasterContext,omitempty"`
  2295  	// ForceSendFields is a list of field names (e.g. "DemoteMasterContext") to
  2296  	// unconditionally include in API requests. By default, fields with empty or
  2297  	// default values are omitted from API requests. See
  2298  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2299  	// details.
  2300  	ForceSendFields []string `json:"-"`
  2301  	// NullFields is a list of field names (e.g. "DemoteMasterContext") to include
  2302  	// in API requests with the JSON null value. By default, fields with empty
  2303  	// values are omitted from API requests. See
  2304  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2305  	NullFields []string `json:"-"`
  2306  }
  2307  
  2308  func (s *InstancesDemoteMasterRequest) MarshalJSON() ([]byte, error) {
  2309  	type NoMethod InstancesDemoteMasterRequest
  2310  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2311  }
  2312  
  2313  // InstancesDemoteRequest: This request is used to demote an existing
  2314  // standalone instance to be a Cloud SQL read replica for an external database
  2315  // server.
  2316  type InstancesDemoteRequest struct {
  2317  	// DemoteContext: Required. Contains details about the demote operation.
  2318  	DemoteContext *DemoteContext `json:"demoteContext,omitempty"`
  2319  	// ForceSendFields is a list of field names (e.g. "DemoteContext") to
  2320  	// unconditionally include in API requests. By default, fields with empty or
  2321  	// default values are omitted from API requests. See
  2322  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2323  	// details.
  2324  	ForceSendFields []string `json:"-"`
  2325  	// NullFields is a list of field names (e.g. "DemoteContext") to include in API
  2326  	// requests with the JSON null value. By default, fields with empty values are
  2327  	// omitted from API requests. See
  2328  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2329  	NullFields []string `json:"-"`
  2330  }
  2331  
  2332  func (s *InstancesDemoteRequest) MarshalJSON() ([]byte, error) {
  2333  	type NoMethod InstancesDemoteRequest
  2334  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2335  }
  2336  
  2337  // InstancesExportRequest: Database instance export request.
  2338  type InstancesExportRequest struct {
  2339  	// ExportContext: Contains details about the export operation.
  2340  	ExportContext *ExportContext `json:"exportContext,omitempty"`
  2341  	// ForceSendFields is a list of field names (e.g. "ExportContext") to
  2342  	// unconditionally include in API requests. By default, fields with empty or
  2343  	// default values are omitted from API requests. See
  2344  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2345  	// details.
  2346  	ForceSendFields []string `json:"-"`
  2347  	// NullFields is a list of field names (e.g. "ExportContext") to include in API
  2348  	// requests with the JSON null value. By default, fields with empty values are
  2349  	// omitted from API requests. See
  2350  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2351  	NullFields []string `json:"-"`
  2352  }
  2353  
  2354  func (s *InstancesExportRequest) MarshalJSON() ([]byte, error) {
  2355  	type NoMethod InstancesExportRequest
  2356  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2357  }
  2358  
  2359  // InstancesFailoverRequest: Instance failover request.
  2360  type InstancesFailoverRequest struct {
  2361  	// FailoverContext: Failover Context.
  2362  	FailoverContext *FailoverContext `json:"failoverContext,omitempty"`
  2363  	// ForceSendFields is a list of field names (e.g. "FailoverContext") to
  2364  	// unconditionally include in API requests. By default, fields with empty or
  2365  	// default values are omitted from API requests. See
  2366  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2367  	// details.
  2368  	ForceSendFields []string `json:"-"`
  2369  	// NullFields is a list of field names (e.g. "FailoverContext") to include in
  2370  	// API requests with the JSON null value. By default, fields with empty values
  2371  	// are omitted from API requests. See
  2372  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2373  	NullFields []string `json:"-"`
  2374  }
  2375  
  2376  func (s *InstancesFailoverRequest) MarshalJSON() ([]byte, error) {
  2377  	type NoMethod InstancesFailoverRequest
  2378  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2379  }
  2380  
  2381  // InstancesImportRequest: Database instance import request.
  2382  type InstancesImportRequest struct {
  2383  	// ImportContext: Contains details about the import operation.
  2384  	ImportContext *ImportContext `json:"importContext,omitempty"`
  2385  	// ForceSendFields is a list of field names (e.g. "ImportContext") to
  2386  	// unconditionally include in API requests. By default, fields with empty or
  2387  	// default values are omitted from API requests. See
  2388  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2389  	// details.
  2390  	ForceSendFields []string `json:"-"`
  2391  	// NullFields is a list of field names (e.g. "ImportContext") to include in API
  2392  	// requests with the JSON null value. By default, fields with empty values are
  2393  	// omitted from API requests. See
  2394  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2395  	NullFields []string `json:"-"`
  2396  }
  2397  
  2398  func (s *InstancesImportRequest) MarshalJSON() ([]byte, error) {
  2399  	type NoMethod InstancesImportRequest
  2400  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2401  }
  2402  
  2403  // InstancesListResponse: Database instances list response.
  2404  type InstancesListResponse struct {
  2405  	// Items: List of database instance resources.
  2406  	Items []*DatabaseInstance `json:"items,omitempty"`
  2407  	// Kind: This is always `sql#instancesList`.
  2408  	Kind string `json:"kind,omitempty"`
  2409  	// NextPageToken: The continuation token, used to page through large result
  2410  	// sets. Provide this value in a subsequent request to return the next page of
  2411  	// results.
  2412  	NextPageToken string `json:"nextPageToken,omitempty"`
  2413  	// Warnings: List of warnings that occurred while handling the request.
  2414  	Warnings []*ApiWarning `json:"warnings,omitempty"`
  2415  
  2416  	// ServerResponse contains the HTTP response code and headers from the server.
  2417  	googleapi.ServerResponse `json:"-"`
  2418  	// ForceSendFields is a list of field names (e.g. "Items") to unconditionally
  2419  	// include in API requests. By default, fields with empty or default values are
  2420  	// omitted from API requests. See
  2421  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2422  	// details.
  2423  	ForceSendFields []string `json:"-"`
  2424  	// NullFields is a list of field names (e.g. "Items") to include in API
  2425  	// requests with the JSON null value. By default, fields with empty values are
  2426  	// omitted from API requests. See
  2427  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2428  	NullFields []string `json:"-"`
  2429  }
  2430  
  2431  func (s *InstancesListResponse) MarshalJSON() ([]byte, error) {
  2432  	type NoMethod InstancesListResponse
  2433  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2434  }
  2435  
  2436  // InstancesListServerCasResponse: Instances ListServerCas response.
  2437  type InstancesListServerCasResponse struct {
  2438  	ActiveVersion string `json:"activeVersion,omitempty"`
  2439  	// Certs: List of server CA certificates for the instance.
  2440  	Certs []*SslCert `json:"certs,omitempty"`
  2441  	// Kind: This is always `sql#instancesListServerCas`.
  2442  	Kind string `json:"kind,omitempty"`
  2443  
  2444  	// ServerResponse contains the HTTP response code and headers from the server.
  2445  	googleapi.ServerResponse `json:"-"`
  2446  	// ForceSendFields is a list of field names (e.g. "ActiveVersion") to
  2447  	// unconditionally include in API requests. By default, fields with empty or
  2448  	// default values are omitted from API requests. See
  2449  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2450  	// details.
  2451  	ForceSendFields []string `json:"-"`
  2452  	// NullFields is a list of field names (e.g. "ActiveVersion") to include in API
  2453  	// requests with the JSON null value. By default, fields with empty values are
  2454  	// omitted from API requests. See
  2455  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2456  	NullFields []string `json:"-"`
  2457  }
  2458  
  2459  func (s *InstancesListServerCasResponse) MarshalJSON() ([]byte, error) {
  2460  	type NoMethod InstancesListServerCasResponse
  2461  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2462  }
  2463  
  2464  // InstancesReencryptRequest: Database Instance reencrypt request.
  2465  type InstancesReencryptRequest struct {
  2466  	// BackupReencryptionConfig: Configuration specific to backup re-encryption
  2467  	BackupReencryptionConfig *BackupReencryptionConfig `json:"backupReencryptionConfig,omitempty"`
  2468  	// ForceSendFields is a list of field names (e.g. "BackupReencryptionConfig")
  2469  	// to unconditionally include in API requests. By default, fields with empty or
  2470  	// default values are omitted from API requests. See
  2471  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2472  	// details.
  2473  	ForceSendFields []string `json:"-"`
  2474  	// NullFields is a list of field names (e.g. "BackupReencryptionConfig") to
  2475  	// include in API requests with the JSON null value. By default, fields with
  2476  	// empty values are omitted from API requests. See
  2477  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2478  	NullFields []string `json:"-"`
  2479  }
  2480  
  2481  func (s *InstancesReencryptRequest) MarshalJSON() ([]byte, error) {
  2482  	type NoMethod InstancesReencryptRequest
  2483  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2484  }
  2485  
  2486  // InstancesRestoreBackupRequest: Database instance restore backup request.
  2487  type InstancesRestoreBackupRequest struct {
  2488  	// RestoreBackupContext: Parameters required to perform the restore backup
  2489  	// operation.
  2490  	RestoreBackupContext *RestoreBackupContext `json:"restoreBackupContext,omitempty"`
  2491  	// ForceSendFields is a list of field names (e.g. "RestoreBackupContext") to
  2492  	// unconditionally include in API requests. By default, fields with empty or
  2493  	// default values are omitted from API requests. See
  2494  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2495  	// details.
  2496  	ForceSendFields []string `json:"-"`
  2497  	// NullFields is a list of field names (e.g. "RestoreBackupContext") to include
  2498  	// in API requests with the JSON null value. By default, fields with empty
  2499  	// values are omitted from API requests. See
  2500  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2501  	NullFields []string `json:"-"`
  2502  }
  2503  
  2504  func (s *InstancesRestoreBackupRequest) MarshalJSON() ([]byte, error) {
  2505  	type NoMethod InstancesRestoreBackupRequest
  2506  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2507  }
  2508  
  2509  // InstancesRotateServerCaRequest: Rotate server CA request.
  2510  type InstancesRotateServerCaRequest struct {
  2511  	// RotateServerCaContext: Contains details about the rotate server CA
  2512  	// operation.
  2513  	RotateServerCaContext *RotateServerCaContext `json:"rotateServerCaContext,omitempty"`
  2514  	// ForceSendFields is a list of field names (e.g. "RotateServerCaContext") to
  2515  	// unconditionally include in API requests. By default, fields with empty or
  2516  	// default values are omitted from API requests. See
  2517  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2518  	// details.
  2519  	ForceSendFields []string `json:"-"`
  2520  	// NullFields is a list of field names (e.g. "RotateServerCaContext") to
  2521  	// include in API requests with the JSON null value. By default, fields with
  2522  	// empty values are omitted from API requests. See
  2523  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2524  	NullFields []string `json:"-"`
  2525  }
  2526  
  2527  func (s *InstancesRotateServerCaRequest) MarshalJSON() ([]byte, error) {
  2528  	type NoMethod InstancesRotateServerCaRequest
  2529  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2530  }
  2531  
  2532  // InstancesTruncateLogRequest: Instance truncate log request.
  2533  type InstancesTruncateLogRequest struct {
  2534  	// TruncateLogContext: Contains details about the truncate log operation.
  2535  	TruncateLogContext *TruncateLogContext `json:"truncateLogContext,omitempty"`
  2536  	// ForceSendFields is a list of field names (e.g. "TruncateLogContext") to
  2537  	// unconditionally include in API requests. By default, fields with empty or
  2538  	// default values are omitted from API requests. See
  2539  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2540  	// details.
  2541  	ForceSendFields []string `json:"-"`
  2542  	// NullFields is a list of field names (e.g. "TruncateLogContext") to include
  2543  	// in API requests with the JSON null value. By default, fields with empty
  2544  	// values are omitted from API requests. See
  2545  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2546  	NullFields []string `json:"-"`
  2547  }
  2548  
  2549  func (s *InstancesTruncateLogRequest) MarshalJSON() ([]byte, error) {
  2550  	type NoMethod InstancesTruncateLogRequest
  2551  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2552  }
  2553  
  2554  // IpConfiguration: IP Management configuration.
  2555  type IpConfiguration struct {
  2556  	// AllocatedIpRange: The name of the allocated ip range for the private ip
  2557  	// Cloud SQL instance. For example: "google-managed-services-default". If set,
  2558  	// the instance ip will be created in the allocated range. The range name must
  2559  	// comply with RFC 1035 (https://tools.ietf.org/html/rfc1035). Specifically,
  2560  	// the name must be 1-63 characters long and match the regular expression
  2561  	// `[a-z]([-a-z0-9]*[a-z0-9])?.`
  2562  	AllocatedIpRange string `json:"allocatedIpRange,omitempty"`
  2563  	// AuthorizedNetworks: The list of external networks that are allowed to
  2564  	// connect to the instance using the IP. In 'CIDR' notation, also known as
  2565  	// 'slash' notation (for example: `157.197.200.0/24`).
  2566  	AuthorizedNetworks []*AclEntry `json:"authorizedNetworks,omitempty"`
  2567  	// EnablePrivatePathForGoogleCloudServices: Controls connectivity to private IP
  2568  	// instances from Google services, such as BigQuery.
  2569  	EnablePrivatePathForGoogleCloudServices bool `json:"enablePrivatePathForGoogleCloudServices,omitempty"`
  2570  	// Ipv4Enabled: Whether the instance is assigned a public IP address or not.
  2571  	Ipv4Enabled bool `json:"ipv4Enabled,omitempty"`
  2572  	// PrivateNetwork: The resource link for the VPC network from which the Cloud
  2573  	// SQL instance is accessible for private IP. For example,
  2574  	// `/projects/myProject/global/networks/default`. This setting can be updated,
  2575  	// but it cannot be removed after it is set.
  2576  	PrivateNetwork string `json:"privateNetwork,omitempty"`
  2577  	// PscConfig: PSC settings for this instance.
  2578  	PscConfig *PscConfig `json:"pscConfig,omitempty"`
  2579  	// RequireSsl: Use `ssl_mode` instead. Whether SSL/TLS connections over IP are
  2580  	// enforced. If set to false, then allow both non-SSL/non-TLS and SSL/TLS
  2581  	// connections. For SSL/TLS connections, the client certificate won't be
  2582  	// verified. If set to true, then only allow connections encrypted with SSL/TLS
  2583  	// and with valid client certificates. If you want to enforce SSL/TLS without
  2584  	// enforcing the requirement for valid client certificates, then use the
  2585  	// `ssl_mode` flag instead of the `require_ssl` flag.
  2586  	RequireSsl bool `json:"requireSsl,omitempty"`
  2587  	// SslMode: Specify how SSL/TLS is enforced in database connections. If you
  2588  	// must use the `require_ssl` flag for backward compatibility, then only the
  2589  	// following value pairs are valid: For PostgreSQL and MySQL: *
  2590  	// `ssl_mode=ALLOW_UNENCRYPTED_AND_ENCRYPTED` and `require_ssl=false` *
  2591  	// `ssl_mode=ENCRYPTED_ONLY` and `require_ssl=false` *
  2592  	// `ssl_mode=TRUSTED_CLIENT_CERTIFICATE_REQUIRED` and `require_ssl=true` For
  2593  	// SQL Server: * `ssl_mode=ALLOW_UNENCRYPTED_AND_ENCRYPTED` and
  2594  	// `require_ssl=false` * `ssl_mode=ENCRYPTED_ONLY` and `require_ssl=true` The
  2595  	// value of `ssl_mode` has priority over the value of `require_ssl`. For
  2596  	// example, for the pair `ssl_mode=ENCRYPTED_ONLY` and `require_ssl=false`,
  2597  	// `ssl_mode=ENCRYPTED_ONLY` means accept only SSL connections, while
  2598  	// `require_ssl=false` means accept both non-SSL and SSL connections. In this
  2599  	// case, MySQL and PostgreSQL databases respect `ssl_mode` and accepts only SSL
  2600  	// connections.
  2601  	//
  2602  	// Possible values:
  2603  	//   "SSL_MODE_UNSPECIFIED" - The SSL mode is unknown.
  2604  	//   "ALLOW_UNENCRYPTED_AND_ENCRYPTED" - Allow non-SSL/non-TLS and SSL/TLS
  2605  	// connections. For SSL connections to MySQL and PostgreSQL, the client
  2606  	// certificate isn't verified. When this value is used, the legacy
  2607  	// `require_ssl` flag must be false or cleared to avoid a conflict between the
  2608  	// values of the two flags.
  2609  	//   "ENCRYPTED_ONLY" - Only allow connections encrypted with SSL/TLS. For SSL
  2610  	// connections to MySQL and PostgreSQL, the client certificate isn't verified.
  2611  	// When this value is used, the legacy `require_ssl` flag must be false or
  2612  	// cleared to avoid a conflict between the values of the two flags.
  2613  	//   "TRUSTED_CLIENT_CERTIFICATE_REQUIRED" - Only allow connections encrypted
  2614  	// with SSL/TLS and with valid client certificates. When this value is used,
  2615  	// the legacy `require_ssl` flag must be true or cleared to avoid the conflict
  2616  	// between values of two flags. PostgreSQL clients or users that connect using
  2617  	// IAM database authentication must use either the [Cloud SQL Auth
  2618  	// Proxy](https://cloud.google.com/sql/docs/postgres/connect-auth-proxy) or
  2619  	// [Cloud SQL
  2620  	// Connectors](https://cloud.google.com/sql/docs/postgres/connect-connectors)
  2621  	// to enforce client identity verification. Only applicable to MySQL and
  2622  	// PostgreSQL. Not applicable to SQL Server.
  2623  	SslMode string `json:"sslMode,omitempty"`
  2624  	// ForceSendFields is a list of field names (e.g. "AllocatedIpRange") to
  2625  	// unconditionally include in API requests. By default, fields with empty or
  2626  	// default values are omitted from API requests. See
  2627  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2628  	// details.
  2629  	ForceSendFields []string `json:"-"`
  2630  	// NullFields is a list of field names (e.g. "AllocatedIpRange") to include in
  2631  	// API requests with the JSON null value. By default, fields with empty values
  2632  	// are omitted from API requests. See
  2633  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2634  	NullFields []string `json:"-"`
  2635  }
  2636  
  2637  func (s *IpConfiguration) MarshalJSON() ([]byte, error) {
  2638  	type NoMethod IpConfiguration
  2639  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2640  }
  2641  
  2642  // IpMapping: Database instance IP mapping
  2643  type IpMapping struct {
  2644  	// IpAddress: The IP address assigned.
  2645  	IpAddress string `json:"ipAddress,omitempty"`
  2646  	// TimeToRetire: The due time for this IP to be retired in RFC 3339
  2647  	// (https://tools.ietf.org/html/rfc3339) format, for example
  2648  	// `2012-11-15T16:19:00.094Z`. This field is only available when the IP is
  2649  	// scheduled to be retired.
  2650  	TimeToRetire string `json:"timeToRetire,omitempty"`
  2651  	// Type: The type of this IP address. A `PRIMARY` address is a public address
  2652  	// that can accept incoming connections. A `PRIVATE` address is a private
  2653  	// address that can accept incoming connections. An `OUTGOING` address is the
  2654  	// source address of connections originating from the instance, if supported.
  2655  	//
  2656  	// Possible values:
  2657  	//   "SQL_IP_ADDRESS_TYPE_UNSPECIFIED" - This is an unknown IP address type.
  2658  	//   "PRIMARY" - IP address the customer is supposed to connect to. Usually
  2659  	// this is the load balancer's IP address
  2660  	//   "OUTGOING" - Source IP address of the connection a read replica
  2661  	// establishes to its external primary instance. This IP address can be
  2662  	// allowlisted by the customer in case it has a firewall that filters incoming
  2663  	// connection to its on premises primary instance.
  2664  	//   "PRIVATE" - Private IP used when using private IPs and network peering.
  2665  	//   "MIGRATED_1ST_GEN" - V1 IP of a migrated instance. We want the user to
  2666  	// decommission this IP as soon as the migration is complete. Note: V1
  2667  	// instances with V1 ip addresses will be counted as PRIMARY.
  2668  	Type string `json:"type,omitempty"`
  2669  	// ForceSendFields is a list of field names (e.g. "IpAddress") to
  2670  	// unconditionally include in API requests. By default, fields with empty or
  2671  	// default values are omitted from API requests. See
  2672  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2673  	// details.
  2674  	ForceSendFields []string `json:"-"`
  2675  	// NullFields is a list of field names (e.g. "IpAddress") to include in API
  2676  	// requests with the JSON null value. By default, fields with empty values are
  2677  	// omitted from API requests. See
  2678  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2679  	NullFields []string `json:"-"`
  2680  }
  2681  
  2682  func (s *IpMapping) MarshalJSON() ([]byte, error) {
  2683  	type NoMethod IpMapping
  2684  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2685  }
  2686  
  2687  // LocationPreference: Preferred location. This specifies where a Cloud SQL
  2688  // instance is located. Note that if the preferred location is not available,
  2689  // the instance will be located as close as possible within the region. Only
  2690  // one location may be specified.
  2691  type LocationPreference struct {
  2692  	// FollowGaeApplication: The App Engine application to follow, it must be in
  2693  	// the same region as the Cloud SQL instance. WARNING: Changing this might
  2694  	// restart the instance.
  2695  	FollowGaeApplication string `json:"followGaeApplication,omitempty"`
  2696  	// Kind: This is always `sql#locationPreference`.
  2697  	Kind string `json:"kind,omitempty"`
  2698  	// SecondaryZone: The preferred Compute Engine zone for the secondary/failover
  2699  	// (for example: us-central1-a, us-central1-b, etc.). To disable this field,
  2700  	// set it to 'no_secondary_zone'.
  2701  	SecondaryZone string `json:"secondaryZone,omitempty"`
  2702  	// Zone: The preferred Compute Engine zone (for example: us-central1-a,
  2703  	// us-central1-b, etc.). WARNING: Changing this might restart the instance.
  2704  	Zone string `json:"zone,omitempty"`
  2705  	// ForceSendFields is a list of field names (e.g. "FollowGaeApplication") to
  2706  	// unconditionally include in API requests. By default, fields with empty or
  2707  	// default values are omitted from API requests. See
  2708  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2709  	// details.
  2710  	ForceSendFields []string `json:"-"`
  2711  	// NullFields is a list of field names (e.g. "FollowGaeApplication") to include
  2712  	// in API requests with the JSON null value. By default, fields with empty
  2713  	// values are omitted from API requests. See
  2714  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2715  	NullFields []string `json:"-"`
  2716  }
  2717  
  2718  func (s *LocationPreference) MarshalJSON() ([]byte, error) {
  2719  	type NoMethod LocationPreference
  2720  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2721  }
  2722  
  2723  // MaintenanceWindow: Maintenance window. This specifies when a Cloud SQL
  2724  // instance is restarted for system maintenance purposes.
  2725  type MaintenanceWindow struct {
  2726  	// Day: day of week (1-7), starting on Monday.
  2727  	Day int64 `json:"day,omitempty"`
  2728  	// Hour: hour of day - 0 to 23.
  2729  	Hour int64 `json:"hour,omitempty"`
  2730  	// Kind: This is always `sql#maintenanceWindow`.
  2731  	Kind string `json:"kind,omitempty"`
  2732  	// UpdateTrack: Maintenance timing setting: `canary` (Earlier) or `stable`
  2733  	// (Later). Learn more
  2734  	// (https://cloud.google.com/sql/docs/mysql/instance-settings#maintenance-timing-2ndgen).
  2735  	//
  2736  	// Possible values:
  2737  	//   "SQL_UPDATE_TRACK_UNSPECIFIED" - This is an unknown maintenance timing
  2738  	// preference.
  2739  	//   "canary" - For instance update that requires a restart, this update track
  2740  	// indicates your instance prefer to restart for new version early in
  2741  	// maintenance window.
  2742  	//   "stable" - For instance update that requires a restart, this update track
  2743  	// indicates your instance prefer to let Cloud SQL choose the timing of restart
  2744  	// (within its Maintenance window, if applicable).
  2745  	//   "week5" - For instance update that requires a restart, this update track
  2746  	// indicates your instance prefer to let Cloud SQL choose the timing of restart
  2747  	// (within its Maintenance window, if applicable) to be at least 5 weeks after
  2748  	// the notification.
  2749  	UpdateTrack string `json:"updateTrack,omitempty"`
  2750  	// ForceSendFields is a list of field names (e.g. "Day") to unconditionally
  2751  	// include in API requests. By default, fields with empty or default values are
  2752  	// omitted from API requests. See
  2753  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2754  	// details.
  2755  	ForceSendFields []string `json:"-"`
  2756  	// NullFields is a list of field names (e.g. "Day") to include in API requests
  2757  	// with the JSON null value. By default, fields with empty values are omitted
  2758  	// from API requests. See
  2759  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2760  	NullFields []string `json:"-"`
  2761  }
  2762  
  2763  func (s *MaintenanceWindow) MarshalJSON() ([]byte, error) {
  2764  	type NoMethod MaintenanceWindow
  2765  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2766  }
  2767  
  2768  // MySqlReplicaConfiguration: Read-replica configuration specific to MySQL
  2769  // databases.
  2770  type MySqlReplicaConfiguration struct {
  2771  	// CaCertificate: PEM representation of the trusted CA's x509 certificate.
  2772  	CaCertificate string `json:"caCertificate,omitempty"`
  2773  	// ClientCertificate: PEM representation of the replica's x509 certificate.
  2774  	ClientCertificate string `json:"clientCertificate,omitempty"`
  2775  	// ClientKey: PEM representation of the replica's private key. The
  2776  	// corresponsing public key is encoded in the client's certificate.
  2777  	ClientKey string `json:"clientKey,omitempty"`
  2778  	// ConnectRetryInterval: Seconds to wait between connect retries. MySQL's
  2779  	// default is 60 seconds.
  2780  	ConnectRetryInterval int64 `json:"connectRetryInterval,omitempty"`
  2781  	// DumpFilePath: Path to a SQL dump file in Google Cloud Storage from which the
  2782  	// replica instance is to be created. The URI is in the form
  2783  	// gs://bucketName/fileName. Compressed gzip files (.gz) are also supported.
  2784  	// Dumps have the binlog co-ordinates from which replication begins. This can
  2785  	// be accomplished by setting --master-data to 1 when using mysqldump.
  2786  	DumpFilePath string `json:"dumpFilePath,omitempty"`
  2787  	// Kind: This is always `sql#mysqlReplicaConfiguration`.
  2788  	Kind string `json:"kind,omitempty"`
  2789  	// MasterHeartbeatPeriod: Interval in milliseconds between replication
  2790  	// heartbeats.
  2791  	MasterHeartbeatPeriod int64 `json:"masterHeartbeatPeriod,omitempty,string"`
  2792  	// Password: The password for the replication connection.
  2793  	Password string `json:"password,omitempty"`
  2794  	// SslCipher: A list of permissible ciphers to use for SSL encryption.
  2795  	SslCipher string `json:"sslCipher,omitempty"`
  2796  	// Username: The username for the replication connection.
  2797  	Username string `json:"username,omitempty"`
  2798  	// VerifyServerCertificate: Whether or not to check the primary instance's
  2799  	// Common Name value in the certificate that it sends during the SSL handshake.
  2800  	VerifyServerCertificate bool `json:"verifyServerCertificate,omitempty"`
  2801  	// ForceSendFields is a list of field names (e.g. "CaCertificate") to
  2802  	// unconditionally include in API requests. By default, fields with empty or
  2803  	// default values are omitted from API requests. See
  2804  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2805  	// details.
  2806  	ForceSendFields []string `json:"-"`
  2807  	// NullFields is a list of field names (e.g. "CaCertificate") to include in API
  2808  	// requests with the JSON null value. By default, fields with empty values are
  2809  	// omitted from API requests. See
  2810  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2811  	NullFields []string `json:"-"`
  2812  }
  2813  
  2814  func (s *MySqlReplicaConfiguration) MarshalJSON() ([]byte, error) {
  2815  	type NoMethod MySqlReplicaConfiguration
  2816  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2817  }
  2818  
  2819  // MySqlSyncConfig: MySQL-specific external server sync settings.
  2820  type MySqlSyncConfig struct {
  2821  	// InitialSyncFlags: Flags to use for the initial dump.
  2822  	InitialSyncFlags []*SyncFlags `json:"initialSyncFlags,omitempty"`
  2823  	// ForceSendFields is a list of field names (e.g. "InitialSyncFlags") to
  2824  	// unconditionally include in API requests. By default, fields with empty or
  2825  	// default values are omitted from API requests. See
  2826  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2827  	// details.
  2828  	ForceSendFields []string `json:"-"`
  2829  	// NullFields is a list of field names (e.g. "InitialSyncFlags") to include in
  2830  	// API requests with the JSON null value. By default, fields with empty values
  2831  	// are omitted from API requests. See
  2832  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2833  	NullFields []string `json:"-"`
  2834  }
  2835  
  2836  func (s *MySqlSyncConfig) MarshalJSON() ([]byte, error) {
  2837  	type NoMethod MySqlSyncConfig
  2838  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2839  }
  2840  
  2841  // OnPremisesConfiguration: On-premises instance configuration.
  2842  type OnPremisesConfiguration struct {
  2843  	// CaCertificate: PEM representation of the trusted CA's x509 certificate.
  2844  	CaCertificate string `json:"caCertificate,omitempty"`
  2845  	// ClientCertificate: PEM representation of the replica's x509 certificate.
  2846  	ClientCertificate string `json:"clientCertificate,omitempty"`
  2847  	// ClientKey: PEM representation of the replica's private key. The
  2848  	// corresponsing public key is encoded in the client's certificate.
  2849  	ClientKey string `json:"clientKey,omitempty"`
  2850  	// DumpFilePath: The dump file to create the Cloud SQL replica.
  2851  	DumpFilePath string `json:"dumpFilePath,omitempty"`
  2852  	// HostPort: The host and port of the on-premises instance in host:port format
  2853  	HostPort string `json:"hostPort,omitempty"`
  2854  	// Kind: This is always `sql#onPremisesConfiguration`.
  2855  	Kind string `json:"kind,omitempty"`
  2856  	// Password: The password for connecting to on-premises instance.
  2857  	Password string `json:"password,omitempty"`
  2858  	// SourceInstance: The reference to Cloud SQL instance if the source is Cloud
  2859  	// SQL.
  2860  	SourceInstance *InstanceReference `json:"sourceInstance,omitempty"`
  2861  	// Username: The username for connecting to on-premises instance.
  2862  	Username string `json:"username,omitempty"`
  2863  	// ForceSendFields is a list of field names (e.g. "CaCertificate") to
  2864  	// unconditionally include in API requests. By default, fields with empty or
  2865  	// default values are omitted from API requests. See
  2866  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2867  	// details.
  2868  	ForceSendFields []string `json:"-"`
  2869  	// NullFields is a list of field names (e.g. "CaCertificate") to include in API
  2870  	// requests with the JSON null value. By default, fields with empty values are
  2871  	// omitted from API requests. See
  2872  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2873  	NullFields []string `json:"-"`
  2874  }
  2875  
  2876  func (s *OnPremisesConfiguration) MarshalJSON() ([]byte, error) {
  2877  	type NoMethod OnPremisesConfiguration
  2878  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2879  }
  2880  
  2881  // Operation: An Operation resource. For successful operations that return an
  2882  // Operation resource, only the fields relevant to the operation are populated
  2883  // in the resource.
  2884  type Operation struct {
  2885  	// AcquireSsrsLeaseContext: The context for acquire SSRS lease operation, if
  2886  	// applicable.
  2887  	AcquireSsrsLeaseContext *AcquireSsrsLeaseContext `json:"acquireSsrsLeaseContext,omitempty"`
  2888  	// ApiWarning: An Admin API warning message.
  2889  	ApiWarning *ApiWarning `json:"apiWarning,omitempty"`
  2890  	// BackupContext: The context for backup operation, if applicable.
  2891  	BackupContext *BackupContext `json:"backupContext,omitempty"`
  2892  	// EndTime: The time this operation finished in UTC timezone in RFC 3339
  2893  	// (https://tools.ietf.org/html/rfc3339) format, for example
  2894  	// `2012-11-15T16:19:00.094Z`.
  2895  	EndTime string `json:"endTime,omitempty"`
  2896  	// Error: If errors occurred during processing of this operation, this field
  2897  	// will be populated.
  2898  	Error *OperationErrors `json:"error,omitempty"`
  2899  	// ExportContext: The context for export operation, if applicable.
  2900  	ExportContext *ExportContext `json:"exportContext,omitempty"`
  2901  	// ImportContext: The context for import operation, if applicable.
  2902  	ImportContext *ImportContext `json:"importContext,omitempty"`
  2903  	// InsertTime: The time this operation was enqueued in UTC timezone in RFC 3339
  2904  	// (https://tools.ietf.org/html/rfc3339) format, for example
  2905  	// `2012-11-15T16:19:00.094Z`.
  2906  	InsertTime string `json:"insertTime,omitempty"`
  2907  	// Kind: This is always `sql#operation`.
  2908  	Kind string `json:"kind,omitempty"`
  2909  	// Name: An identifier that uniquely identifies the operation. You can use this
  2910  	// identifier to retrieve the Operations resource that has information about
  2911  	// the operation.
  2912  	Name string `json:"name,omitempty"`
  2913  	// OperationType: The type of the operation. Valid values are: * `CREATE` *
  2914  	// `DELETE` * `UPDATE` * `RESTART` * `IMPORT` * `EXPORT` * `BACKUP_VOLUME` *
  2915  	// `RESTORE_VOLUME` * `CREATE_USER` * `DELETE_USER` * `CREATE_DATABASE` *
  2916  	// `DELETE_DATABASE`
  2917  	//
  2918  	// Possible values:
  2919  	//   "SQL_OPERATION_TYPE_UNSPECIFIED" - Unknown operation type.
  2920  	//   "IMPORT" - Imports data into a Cloud SQL instance.
  2921  	//   "EXPORT" - Exports data from a Cloud SQL instance to a Cloud Storage
  2922  	// bucket.
  2923  	//   "CREATE" - Creates a new Cloud SQL instance.
  2924  	//   "UPDATE" - Updates the settings of a Cloud SQL instance.
  2925  	//   "DELETE" - Deletes a Cloud SQL instance.
  2926  	//   "RESTART" - Restarts the Cloud SQL instance.
  2927  	//   "BACKUP"
  2928  	//   "SNAPSHOT"
  2929  	//   "BACKUP_VOLUME" - Performs instance backup.
  2930  	//   "DELETE_VOLUME" - Deletes an instance backup.
  2931  	//   "RESTORE_VOLUME" - Restores an instance backup.
  2932  	//   "INJECT_USER" - Injects a privileged user in mysql for MOB instances.
  2933  	//   "CLONE" - Clones a Cloud SQL instance.
  2934  	//   "STOP_REPLICA" - Stops replication on a Cloud SQL read replica instance.
  2935  	//   "START_REPLICA" - Starts replication on a Cloud SQL read replica instance.
  2936  	//   "PROMOTE_REPLICA" - Promotes a Cloud SQL replica instance.
  2937  	//   "CREATE_REPLICA" - Creates a Cloud SQL replica instance.
  2938  	//   "CREATE_USER" - Creates a new user in a Cloud SQL instance.
  2939  	//   "DELETE_USER" - Deletes a user from a Cloud SQL instance.
  2940  	//   "UPDATE_USER" - Updates an existing user in a Cloud SQL instance.
  2941  	//   "CREATE_DATABASE" - Creates a database in the Cloud SQL instance.
  2942  	//   "DELETE_DATABASE" - Deletes a database in the Cloud SQL instance.
  2943  	//   "UPDATE_DATABASE" - Updates a database in the Cloud SQL instance.
  2944  	//   "FAILOVER" - Performs failover of an HA-enabled Cloud SQL failover
  2945  	// replica.
  2946  	//   "DELETE_BACKUP" - Deletes the backup taken by a backup run.
  2947  	//   "RECREATE_REPLICA"
  2948  	//   "TRUNCATE_LOG" - Truncates a general or slow log table in MySQL.
  2949  	//   "DEMOTE_MASTER" - Demotes the stand-alone instance to be a Cloud SQL read
  2950  	// replica for an external database server.
  2951  	//   "MAINTENANCE" - Indicates that the instance is currently in maintenance.
  2952  	// Maintenance typically causes the instance to be unavailable for 1-3 minutes.
  2953  	//   "ENABLE_PRIVATE_IP" - This field is deprecated, and will be removed in
  2954  	// future version of API.
  2955  	//   "DEFER_MAINTENANCE"
  2956  	//   "CREATE_CLONE" - Creates clone instance.
  2957  	//   "RESCHEDULE_MAINTENANCE" - Reschedule maintenance to another time.
  2958  	//   "START_EXTERNAL_SYNC" - Starts external sync of a Cloud SQL EM replica to
  2959  	// an external primary instance.
  2960  	//   "LOG_CLEANUP" - Recovers logs from an instance's old data disk.
  2961  	//   "AUTO_RESTART" - Performs auto-restart of an HA-enabled Cloud SQL database
  2962  	// for auto recovery.
  2963  	//   "REENCRYPT" - Re-encrypts CMEK instances with latest key version.
  2964  	//   "SWITCHOVER" - Switches over to replica instance from primary.
  2965  	//   "ACQUIRE_SSRS_LEASE" - Acquire a lease for the setup of SQL Server
  2966  	// Reporting Services (SSRS).
  2967  	//   "RELEASE_SSRS_LEASE" - Release a lease for the setup of SQL Server
  2968  	// Reporting Services (SSRS).
  2969  	//   "RECONFIGURE_OLD_PRIMARY" - Reconfigures old primary after a promote
  2970  	// replica operation. Effect of a promote operation to the old primary is
  2971  	// executed in this operation, asynchronously from the promote replica
  2972  	// operation executed to the replica.
  2973  	OperationType string `json:"operationType,omitempty"`
  2974  	// SelfLink: The URI of this resource.
  2975  	SelfLink string `json:"selfLink,omitempty"`
  2976  	// StartTime: The time this operation actually started in UTC timezone in RFC
  2977  	// 3339 (https://tools.ietf.org/html/rfc3339) format, for example
  2978  	// `2012-11-15T16:19:00.094Z`.
  2979  	StartTime string `json:"startTime,omitempty"`
  2980  	// Status: The status of an operation.
  2981  	//
  2982  	// Possible values:
  2983  	//   "SQL_OPERATION_STATUS_UNSPECIFIED" - The state of the operation is
  2984  	// unknown.
  2985  	//   "PENDING" - The operation has been queued, but has not started yet.
  2986  	//   "RUNNING" - The operation is running.
  2987  	//   "DONE" - The operation completed.
  2988  	Status string `json:"status,omitempty"`
  2989  	// TargetId: Name of the database instance related to this operation.
  2990  	TargetId   string `json:"targetId,omitempty"`
  2991  	TargetLink string `json:"targetLink,omitempty"`
  2992  	// TargetProject: The project ID of the target instance related to this
  2993  	// operation.
  2994  	TargetProject string `json:"targetProject,omitempty"`
  2995  	// User: The email address of the user who initiated this operation.
  2996  	User string `json:"user,omitempty"`
  2997  
  2998  	// ServerResponse contains the HTTP response code and headers from the server.
  2999  	googleapi.ServerResponse `json:"-"`
  3000  	// ForceSendFields is a list of field names (e.g. "AcquireSsrsLeaseContext") to
  3001  	// unconditionally include in API requests. By default, fields with empty or
  3002  	// default values are omitted from API requests. See
  3003  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3004  	// details.
  3005  	ForceSendFields []string `json:"-"`
  3006  	// NullFields is a list of field names (e.g. "AcquireSsrsLeaseContext") to
  3007  	// include in API requests with the JSON null value. By default, fields with
  3008  	// empty values are omitted from API requests. See
  3009  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3010  	NullFields []string `json:"-"`
  3011  }
  3012  
  3013  func (s *Operation) MarshalJSON() ([]byte, error) {
  3014  	type NoMethod Operation
  3015  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3016  }
  3017  
  3018  // OperationError: Database instance operation error.
  3019  type OperationError struct {
  3020  	// Code: Identifies the specific error that occurred.
  3021  	Code string `json:"code,omitempty"`
  3022  	// Kind: This is always `sql#operationError`.
  3023  	Kind string `json:"kind,omitempty"`
  3024  	// Message: Additional information about the error encountered.
  3025  	Message string `json:"message,omitempty"`
  3026  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  3027  	// include in API requests. By default, fields with empty or default values are
  3028  	// omitted from API requests. See
  3029  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3030  	// details.
  3031  	ForceSendFields []string `json:"-"`
  3032  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  3033  	// with the JSON null value. By default, fields with empty values are omitted
  3034  	// from API requests. See
  3035  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3036  	NullFields []string `json:"-"`
  3037  }
  3038  
  3039  func (s *OperationError) MarshalJSON() ([]byte, error) {
  3040  	type NoMethod OperationError
  3041  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3042  }
  3043  
  3044  // OperationErrors: Database instance operation errors list wrapper.
  3045  type OperationErrors struct {
  3046  	// Errors: The list of errors encountered while processing this operation.
  3047  	Errors []*OperationError `json:"errors,omitempty"`
  3048  	// Kind: This is always `sql#operationErrors`.
  3049  	Kind string `json:"kind,omitempty"`
  3050  	// ForceSendFields is a list of field names (e.g. "Errors") to unconditionally
  3051  	// include in API requests. By default, fields with empty or default values are
  3052  	// omitted from API requests. See
  3053  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3054  	// details.
  3055  	ForceSendFields []string `json:"-"`
  3056  	// NullFields is a list of field names (e.g. "Errors") to include in API
  3057  	// requests with the JSON null value. By default, fields with empty values are
  3058  	// omitted from API requests. See
  3059  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3060  	NullFields []string `json:"-"`
  3061  }
  3062  
  3063  func (s *OperationErrors) MarshalJSON() ([]byte, error) {
  3064  	type NoMethod OperationErrors
  3065  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3066  }
  3067  
  3068  // OperationMetadata: Represents the metadata of the long-running operation.
  3069  type OperationMetadata struct {
  3070  	// ApiVersion: Output only. API version used to start the operation.
  3071  	ApiVersion string `json:"apiVersion,omitempty"`
  3072  	// CancelRequested: Output only. Identifies whether the user has requested
  3073  	// cancellation of the operation. Operations that have been cancelled
  3074  	// successfully have Operation.error value with a google.rpc.Status.code of 1,
  3075  	// corresponding to `Code.CANCELLED`.
  3076  	CancelRequested bool `json:"cancelRequested,omitempty"`
  3077  	// CreateTime: Output only. The time the operation was created.
  3078  	CreateTime string `json:"createTime,omitempty"`
  3079  	// EndTime: Output only. The time the operation finished running.
  3080  	EndTime string `json:"endTime,omitempty"`
  3081  	// StatusDetail: Output only. Human-readable status of the operation, if any.
  3082  	StatusDetail string `json:"statusDetail,omitempty"`
  3083  	// Target: Output only. Server-defined resource path for the target of the
  3084  	// operation.
  3085  	Target string `json:"target,omitempty"`
  3086  	// Verb: Output only. Name of the verb executed by the operation.
  3087  	Verb string `json:"verb,omitempty"`
  3088  	// ForceSendFields is a list of field names (e.g. "ApiVersion") to
  3089  	// unconditionally include in API requests. By default, fields with empty or
  3090  	// default values are omitted from API requests. See
  3091  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3092  	// details.
  3093  	ForceSendFields []string `json:"-"`
  3094  	// NullFields is a list of field names (e.g. "ApiVersion") to include in API
  3095  	// requests with the JSON null value. By default, fields with empty values are
  3096  	// omitted from API requests. See
  3097  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3098  	NullFields []string `json:"-"`
  3099  }
  3100  
  3101  func (s *OperationMetadata) MarshalJSON() ([]byte, error) {
  3102  	type NoMethod OperationMetadata
  3103  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3104  }
  3105  
  3106  // OperationsListResponse: Operations list response.
  3107  type OperationsListResponse struct {
  3108  	// Items: List of operation resources.
  3109  	Items []*Operation `json:"items,omitempty"`
  3110  	// Kind: This is always `sql#operationsList`.
  3111  	Kind string `json:"kind,omitempty"`
  3112  	// NextPageToken: The continuation token, used to page through large result
  3113  	// sets. Provide this value in a subsequent request to return the next page of
  3114  	// results.
  3115  	NextPageToken string `json:"nextPageToken,omitempty"`
  3116  
  3117  	// ServerResponse contains the HTTP response code and headers from the server.
  3118  	googleapi.ServerResponse `json:"-"`
  3119  	// ForceSendFields is a list of field names (e.g. "Items") to unconditionally
  3120  	// include in API requests. By default, fields with empty or default values are
  3121  	// omitted from API requests. See
  3122  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3123  	// details.
  3124  	ForceSendFields []string `json:"-"`
  3125  	// NullFields is a list of field names (e.g. "Items") to include in API
  3126  	// requests with the JSON null value. By default, fields with empty values are
  3127  	// omitted from API requests. See
  3128  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3129  	NullFields []string `json:"-"`
  3130  }
  3131  
  3132  func (s *OperationsListResponse) MarshalJSON() ([]byte, error) {
  3133  	type NoMethod OperationsListResponse
  3134  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3135  }
  3136  
  3137  // PasswordStatus: Read-only password status.
  3138  type PasswordStatus struct {
  3139  	// Locked: If true, user does not have login privileges.
  3140  	Locked bool `json:"locked,omitempty"`
  3141  	// PasswordExpirationTime: The expiration time of the current password.
  3142  	PasswordExpirationTime string `json:"passwordExpirationTime,omitempty"`
  3143  	// ForceSendFields is a list of field names (e.g. "Locked") to unconditionally
  3144  	// include in API requests. By default, fields with empty or default values are
  3145  	// omitted from API requests. See
  3146  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3147  	// details.
  3148  	ForceSendFields []string `json:"-"`
  3149  	// NullFields is a list of field names (e.g. "Locked") to include in API
  3150  	// requests with the JSON null value. By default, fields with empty values are
  3151  	// omitted from API requests. See
  3152  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3153  	NullFields []string `json:"-"`
  3154  }
  3155  
  3156  func (s *PasswordStatus) MarshalJSON() ([]byte, error) {
  3157  	type NoMethod PasswordStatus
  3158  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3159  }
  3160  
  3161  // PasswordValidationPolicy: Database instance local user password validation
  3162  // policy
  3163  type PasswordValidationPolicy struct {
  3164  	// Complexity: The complexity of the password.
  3165  	//
  3166  	// Possible values:
  3167  	//   "COMPLEXITY_UNSPECIFIED" - Complexity check is not specified.
  3168  	//   "COMPLEXITY_DEFAULT" - A combination of lowercase, uppercase, numeric, and
  3169  	// non-alphanumeric characters.
  3170  	Complexity string `json:"complexity,omitempty"`
  3171  	// DisallowCompromisedCredentials: This field is deprecated and will be removed
  3172  	// in a future version of the API.
  3173  	DisallowCompromisedCredentials bool `json:"disallowCompromisedCredentials,omitempty"`
  3174  	// DisallowUsernameSubstring: Disallow username as a part of the password.
  3175  	DisallowUsernameSubstring bool `json:"disallowUsernameSubstring,omitempty"`
  3176  	// EnablePasswordPolicy: Whether the password policy is enabled or not.
  3177  	EnablePasswordPolicy bool `json:"enablePasswordPolicy,omitempty"`
  3178  	// MinLength: Minimum number of characters allowed.
  3179  	MinLength int64 `json:"minLength,omitempty"`
  3180  	// PasswordChangeInterval: Minimum interval after which the password can be
  3181  	// changed. This flag is only supported for PostgreSQL.
  3182  	PasswordChangeInterval string `json:"passwordChangeInterval,omitempty"`
  3183  	// ReuseInterval: Number of previous passwords that cannot be reused.
  3184  	ReuseInterval int64 `json:"reuseInterval,omitempty"`
  3185  	// ForceSendFields is a list of field names (e.g. "Complexity") to
  3186  	// unconditionally include in API requests. By default, fields with empty or
  3187  	// default values are omitted from API requests. See
  3188  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3189  	// details.
  3190  	ForceSendFields []string `json:"-"`
  3191  	// NullFields is a list of field names (e.g. "Complexity") to include in API
  3192  	// requests with the JSON null value. By default, fields with empty values are
  3193  	// omitted from API requests. See
  3194  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3195  	NullFields []string `json:"-"`
  3196  }
  3197  
  3198  func (s *PasswordValidationPolicy) MarshalJSON() ([]byte, error) {
  3199  	type NoMethod PasswordValidationPolicy
  3200  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3201  }
  3202  
  3203  // PerformDiskShrinkContext: Perform disk shrink context.
  3204  type PerformDiskShrinkContext struct {
  3205  	// TargetSizeGb: The target disk shrink size in GigaBytes.
  3206  	TargetSizeGb int64 `json:"targetSizeGb,omitempty,string"`
  3207  	// ForceSendFields is a list of field names (e.g. "TargetSizeGb") to
  3208  	// unconditionally include in API requests. By default, fields with empty or
  3209  	// default values are omitted from API requests. See
  3210  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3211  	// details.
  3212  	ForceSendFields []string `json:"-"`
  3213  	// NullFields is a list of field names (e.g. "TargetSizeGb") to include in API
  3214  	// requests with the JSON null value. By default, fields with empty values are
  3215  	// omitted from API requests. See
  3216  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3217  	NullFields []string `json:"-"`
  3218  }
  3219  
  3220  func (s *PerformDiskShrinkContext) MarshalJSON() ([]byte, error) {
  3221  	type NoMethod PerformDiskShrinkContext
  3222  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3223  }
  3224  
  3225  // PscConfig: PSC settings for a Cloud SQL instance.
  3226  type PscConfig struct {
  3227  	// AllowedConsumerProjects: Optional. The list of consumer projects that are
  3228  	// allow-listed for PSC connections to this instance. This instance can be
  3229  	// connected to with PSC from any network in these projects. Each consumer
  3230  	// project in this list may be represented by a project number (numeric) or by
  3231  	// a project id (alphanumeric).
  3232  	AllowedConsumerProjects []string `json:"allowedConsumerProjects,omitempty"`
  3233  	// PscEnabled: Whether PSC connectivity is enabled for this instance.
  3234  	PscEnabled bool `json:"pscEnabled,omitempty"`
  3235  	// ForceSendFields is a list of field names (e.g. "AllowedConsumerProjects") to
  3236  	// unconditionally include in API requests. By default, fields with empty or
  3237  	// default values are omitted from API requests. See
  3238  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3239  	// details.
  3240  	ForceSendFields []string `json:"-"`
  3241  	// NullFields is a list of field names (e.g. "AllowedConsumerProjects") to
  3242  	// include in API requests with the JSON null value. By default, fields with
  3243  	// empty values are omitted from API requests. See
  3244  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3245  	NullFields []string `json:"-"`
  3246  }
  3247  
  3248  func (s *PscConfig) MarshalJSON() ([]byte, error) {
  3249  	type NoMethod PscConfig
  3250  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3251  }
  3252  
  3253  // ReplicaConfiguration: Read-replica configuration for connecting to the
  3254  // primary instance.
  3255  type ReplicaConfiguration struct {
  3256  	// CascadableReplica: Optional. Specifies if a SQL Server replica is a
  3257  	// cascadable replica. A cascadable replica is a SQL Server cross region
  3258  	// replica that supports replica(s) under it.
  3259  	CascadableReplica bool `json:"cascadableReplica,omitempty"`
  3260  	// FailoverTarget: Specifies if the replica is the failover target. If the
  3261  	// field is set to `true`, the replica will be designated as a failover
  3262  	// replica. In case the primary instance fails, the replica instance will be
  3263  	// promoted as the new primary instance. Only one replica can be specified as
  3264  	// failover target, and the replica has to be in different zone with the
  3265  	// primary instance.
  3266  	FailoverTarget bool `json:"failoverTarget,omitempty"`
  3267  	// Kind: This is always `sql#replicaConfiguration`.
  3268  	Kind string `json:"kind,omitempty"`
  3269  	// MysqlReplicaConfiguration: MySQL specific configuration when replicating
  3270  	// from a MySQL on-premises primary instance. Replication configuration
  3271  	// information such as the username, password, certificates, and keys are not
  3272  	// stored in the instance metadata. The configuration information is used only
  3273  	// to set up the replication connection and is stored by MySQL in a file named
  3274  	// `master.info` in the data directory.
  3275  	MysqlReplicaConfiguration *MySqlReplicaConfiguration `json:"mysqlReplicaConfiguration,omitempty"`
  3276  	// ForceSendFields is a list of field names (e.g. "CascadableReplica") to
  3277  	// unconditionally include in API requests. By default, fields with empty or
  3278  	// default values are omitted from API requests. See
  3279  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3280  	// details.
  3281  	ForceSendFields []string `json:"-"`
  3282  	// NullFields is a list of field names (e.g. "CascadableReplica") to include in
  3283  	// API requests with the JSON null value. By default, fields with empty values
  3284  	// are omitted from API requests. See
  3285  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3286  	NullFields []string `json:"-"`
  3287  }
  3288  
  3289  func (s *ReplicaConfiguration) MarshalJSON() ([]byte, error) {
  3290  	type NoMethod ReplicaConfiguration
  3291  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3292  }
  3293  
  3294  // ReplicationCluster: A primary instance and disaster recovery (DR) replica
  3295  // pair. A DR replica is a cross-region replica that you designate for failover
  3296  // in the event that the primary instance experiences regional failure. Only
  3297  // applicable to MySQL.
  3298  type ReplicationCluster struct {
  3299  	// DrReplica: Output only. Read-only field that indicates whether the replica
  3300  	// is a DR replica. This field is not set if the instance is a primary
  3301  	// instance.
  3302  	DrReplica bool `json:"drReplica,omitempty"`
  3303  	// FailoverDrReplicaName: Optional. If the instance is a primary instance, then
  3304  	// this field identifies the disaster recovery (DR) replica. A DR replica is an
  3305  	// optional configuration for Enterprise Plus edition instances. If the
  3306  	// instance is a read replica, then the field is not set. Set this field to a
  3307  	// replica name to designate a DR replica for a primary instance. Remove the
  3308  	// replica name to remove the DR replica designation.
  3309  	FailoverDrReplicaName string `json:"failoverDrReplicaName,omitempty"`
  3310  	// ForceSendFields is a list of field names (e.g. "DrReplica") to
  3311  	// unconditionally include in API requests. By default, fields with empty or
  3312  	// default values are omitted from API requests. See
  3313  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3314  	// details.
  3315  	ForceSendFields []string `json:"-"`
  3316  	// NullFields is a list of field names (e.g. "DrReplica") to include in API
  3317  	// requests with the JSON null value. By default, fields with empty values are
  3318  	// omitted from API requests. See
  3319  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3320  	NullFields []string `json:"-"`
  3321  }
  3322  
  3323  func (s *ReplicationCluster) MarshalJSON() ([]byte, error) {
  3324  	type NoMethod ReplicationCluster
  3325  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3326  }
  3327  
  3328  type Reschedule struct {
  3329  	// RescheduleType: Required. The type of the reschedule.
  3330  	//
  3331  	// Possible values:
  3332  	//   "RESCHEDULE_TYPE_UNSPECIFIED"
  3333  	//   "IMMEDIATE" - Reschedules maintenance to happen now (within 5 minutes).
  3334  	//   "NEXT_AVAILABLE_WINDOW" - Reschedules maintenance to occur within one week
  3335  	// from the originally scheduled day and time.
  3336  	//   "SPECIFIC_TIME" - Reschedules maintenance to a specific time and day.
  3337  	RescheduleType string `json:"rescheduleType,omitempty"`
  3338  	// ScheduleTime: Optional. Timestamp when the maintenance shall be rescheduled
  3339  	// to if reschedule_type=SPECIFIC_TIME, in RFC 3339
  3340  	// (https://tools.ietf.org/html/rfc3339) format, for example
  3341  	// `2012-11-15T16:19:00.094Z`.
  3342  	ScheduleTime string `json:"scheduleTime,omitempty"`
  3343  	// ForceSendFields is a list of field names (e.g. "RescheduleType") to
  3344  	// unconditionally include in API requests. By default, fields with empty or
  3345  	// default values are omitted from API requests. See
  3346  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3347  	// details.
  3348  	ForceSendFields []string `json:"-"`
  3349  	// NullFields is a list of field names (e.g. "RescheduleType") to include in
  3350  	// API requests with the JSON null value. By default, fields with empty values
  3351  	// are omitted from API requests. See
  3352  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3353  	NullFields []string `json:"-"`
  3354  }
  3355  
  3356  func (s *Reschedule) MarshalJSON() ([]byte, error) {
  3357  	type NoMethod Reschedule
  3358  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3359  }
  3360  
  3361  // RestoreBackupContext: Database instance restore from backup context. Backup
  3362  // context contains source instance id and project id.
  3363  type RestoreBackupContext struct {
  3364  	// BackupRunId: The ID of the backup run to restore from.
  3365  	BackupRunId int64 `json:"backupRunId,omitempty,string"`
  3366  	// InstanceId: The ID of the instance that the backup was taken from.
  3367  	InstanceId string `json:"instanceId,omitempty"`
  3368  	// Kind: This is always `sql#restoreBackupContext`.
  3369  	Kind string `json:"kind,omitempty"`
  3370  	// Project: The full project ID of the source instance.
  3371  	Project string `json:"project,omitempty"`
  3372  	// ForceSendFields is a list of field names (e.g. "BackupRunId") to
  3373  	// unconditionally include in API requests. By default, fields with empty or
  3374  	// default values are omitted from API requests. See
  3375  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3376  	// details.
  3377  	ForceSendFields []string `json:"-"`
  3378  	// NullFields is a list of field names (e.g. "BackupRunId") to include in API
  3379  	// requests with the JSON null value. By default, fields with empty values are
  3380  	// omitted from API requests. See
  3381  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3382  	NullFields []string `json:"-"`
  3383  }
  3384  
  3385  func (s *RestoreBackupContext) MarshalJSON() ([]byte, error) {
  3386  	type NoMethod RestoreBackupContext
  3387  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3388  }
  3389  
  3390  // RotateServerCaContext: Instance rotate server CA context.
  3391  type RotateServerCaContext struct {
  3392  	// Kind: This is always `sql#rotateServerCaContext`.
  3393  	Kind string `json:"kind,omitempty"`
  3394  	// NextVersion: The fingerprint of the next version to be rotated to. If left
  3395  	// unspecified, will be rotated to the most recently added server CA version.
  3396  	NextVersion string `json:"nextVersion,omitempty"`
  3397  	// ForceSendFields is a list of field names (e.g. "Kind") to unconditionally
  3398  	// include in API requests. By default, fields with empty or default values are
  3399  	// omitted from API requests. See
  3400  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3401  	// details.
  3402  	ForceSendFields []string `json:"-"`
  3403  	// NullFields is a list of field names (e.g. "Kind") to include in API requests
  3404  	// with the JSON null value. By default, fields with empty values are omitted
  3405  	// from API requests. See
  3406  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3407  	NullFields []string `json:"-"`
  3408  }
  3409  
  3410  func (s *RotateServerCaContext) MarshalJSON() ([]byte, error) {
  3411  	type NoMethod RotateServerCaContext
  3412  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3413  }
  3414  
  3415  // Settings: Database instance settings.
  3416  type Settings struct {
  3417  	// ActivationPolicy: The activation policy specifies when the instance is
  3418  	// activated; it is applicable only when the instance state is RUNNABLE. Valid
  3419  	// values: * `ALWAYS`: The instance is on, and remains so even in the absence
  3420  	// of connection requests. * `NEVER`: The instance is off; it is not activated,
  3421  	// even if a connection request arrives.
  3422  	//
  3423  	// Possible values:
  3424  	//   "SQL_ACTIVATION_POLICY_UNSPECIFIED" - Unknown activation plan.
  3425  	//   "ALWAYS" - The instance is always up and running.
  3426  	//   "NEVER" - The instance never starts.
  3427  	//   "ON_DEMAND" - The instance starts upon receiving requests.
  3428  	ActivationPolicy string `json:"activationPolicy,omitempty"`
  3429  	// ActiveDirectoryConfig: Active Directory configuration, relevant only for
  3430  	// Cloud SQL for SQL Server.
  3431  	ActiveDirectoryConfig *SqlActiveDirectoryConfig `json:"activeDirectoryConfig,omitempty"`
  3432  	// AdvancedMachineFeatures: Specifies advance machine configuration for the
  3433  	// instance relevant only for SQL Server.
  3434  	AdvancedMachineFeatures *AdvancedMachineFeatures `json:"advancedMachineFeatures,omitempty"`
  3435  	// AuthorizedGaeApplications: The App Engine app IDs that can access this
  3436  	// instance. (Deprecated) Applied to First Generation instances only.
  3437  	AuthorizedGaeApplications []string `json:"authorizedGaeApplications,omitempty"`
  3438  	// AvailabilityType: Availability type. Potential values: * `ZONAL`: The
  3439  	// instance serves data from only one zone. Outages in that zone affect data
  3440  	// accessibility. * `REGIONAL`: The instance can serve data from more than one
  3441  	// zone in a region (it is highly available)./ For more information, see
  3442  	// Overview of the High Availability Configuration
  3443  	// (https://cloud.google.com/sql/docs/mysql/high-availability).
  3444  	//
  3445  	// Possible values:
  3446  	//   "SQL_AVAILABILITY_TYPE_UNSPECIFIED" - This is an unknown Availability
  3447  	// type.
  3448  	//   "ZONAL" - Zonal available instance.
  3449  	//   "REGIONAL" - Regional available instance.
  3450  	AvailabilityType string `json:"availabilityType,omitempty"`
  3451  	// BackupConfiguration: The daily backup configuration for the instance.
  3452  	BackupConfiguration *BackupConfiguration `json:"backupConfiguration,omitempty"`
  3453  	// Collation: The name of server Instance collation.
  3454  	Collation string `json:"collation,omitempty"`
  3455  	// ConnectorEnforcement: Specifies if connections must use Cloud SQL
  3456  	// connectors. Option values include the following: `NOT_REQUIRED` (Cloud SQL
  3457  	// instances can be connected without Cloud SQL Connectors) and `REQUIRED`
  3458  	// (Only allow connections that use Cloud SQL Connectors). Note that using
  3459  	// REQUIRED disables all existing authorized networks. If this field is not
  3460  	// specified when creating a new instance, NOT_REQUIRED is used. If this field
  3461  	// is not specified when patching or updating an existing instance, it is left
  3462  	// unchanged in the instance.
  3463  	//
  3464  	// Possible values:
  3465  	//   "CONNECTOR_ENFORCEMENT_UNSPECIFIED" - The requirement for Cloud SQL
  3466  	// connectors is unknown.
  3467  	//   "NOT_REQUIRED" - Do not require Cloud SQL connectors.
  3468  	//   "REQUIRED" - Require all connections to use Cloud SQL connectors,
  3469  	// including the Cloud SQL Auth Proxy and Cloud SQL Java, Python, and Go
  3470  	// connectors. Note: This disables all existing authorized networks.
  3471  	ConnectorEnforcement string `json:"connectorEnforcement,omitempty"`
  3472  	// CrashSafeReplicationEnabled: Configuration specific to read replica
  3473  	// instances. Indicates whether database flags for crash-safe replication are
  3474  	// enabled. This property was only applicable to First Generation instances.
  3475  	CrashSafeReplicationEnabled bool `json:"crashSafeReplicationEnabled,omitempty"`
  3476  	// DataCacheConfig: Configuration for data cache.
  3477  	DataCacheConfig *DataCacheConfig `json:"dataCacheConfig,omitempty"`
  3478  	// DataDiskSizeGb: The size of data disk, in GB. The data disk size minimum is
  3479  	// 10GB.
  3480  	DataDiskSizeGb int64 `json:"dataDiskSizeGb,omitempty,string"`
  3481  	// DataDiskType: The type of data disk: `PD_SSD` (default) or `PD_HDD`. Not
  3482  	// used for First Generation instances.
  3483  	//
  3484  	// Possible values:
  3485  	//   "SQL_DATA_DISK_TYPE_UNSPECIFIED" - This is an unknown data disk type.
  3486  	//   "PD_SSD" - An SSD data disk.
  3487  	//   "PD_HDD" - An HDD data disk.
  3488  	//   "OBSOLETE_LOCAL_SSD" - This field is deprecated and will be removed from a
  3489  	// future version of the API.
  3490  	DataDiskType string `json:"dataDiskType,omitempty"`
  3491  	// DatabaseFlags: The database flags passed to the instance at startup.
  3492  	DatabaseFlags []*DatabaseFlags `json:"databaseFlags,omitempty"`
  3493  	// DatabaseReplicationEnabled: Configuration specific to read replica
  3494  	// instances. Indicates whether replication is enabled or not. WARNING:
  3495  	// Changing this restarts the instance.
  3496  	DatabaseReplicationEnabled bool `json:"databaseReplicationEnabled,omitempty"`
  3497  	// DeletionProtectionEnabled: Configuration to protect against accidental
  3498  	// instance deletion.
  3499  	DeletionProtectionEnabled bool `json:"deletionProtectionEnabled,omitempty"`
  3500  	// DenyMaintenancePeriods: Deny maintenance periods
  3501  	DenyMaintenancePeriods []*DenyMaintenancePeriod `json:"denyMaintenancePeriods,omitempty"`
  3502  	// Edition: Optional. The edition of the instance.
  3503  	//
  3504  	// Possible values:
  3505  	//   "EDITION_UNSPECIFIED" - The instance did not specify the edition.
  3506  	//   "ENTERPRISE" - The instance is an enterprise edition.
  3507  	//   "ENTERPRISE_PLUS" - The instance is an Enterprise Plus edition.
  3508  	Edition string `json:"edition,omitempty"`
  3509  	// EnableGoogleMlIntegration: Optional. When this parameter is set to true,
  3510  	// Cloud SQL instances can connect to Vertex AI to pass requests for real-time
  3511  	// predictions and insights to the AI. The default value is false. This applies
  3512  	// only to Cloud SQL for PostgreSQL instances.
  3513  	EnableGoogleMlIntegration bool `json:"enableGoogleMlIntegration,omitempty"`
  3514  	// InsightsConfig: Insights configuration, for now relevant only for Postgres.
  3515  	InsightsConfig *InsightsConfig `json:"insightsConfig,omitempty"`
  3516  	// IpConfiguration: The settings for IP Management. This allows to enable or
  3517  	// disable the instance IP and manage which external networks can connect to
  3518  	// the instance. The IPv4 address cannot be disabled for Second Generation
  3519  	// instances.
  3520  	IpConfiguration *IpConfiguration `json:"ipConfiguration,omitempty"`
  3521  	// Kind: This is always `sql#settings`.
  3522  	Kind string `json:"kind,omitempty"`
  3523  	// LocationPreference: The location preference settings. This allows the
  3524  	// instance to be located as near as possible to either an App Engine app or
  3525  	// Compute Engine zone for better performance. App Engine co-location was only
  3526  	// applicable to First Generation instances.
  3527  	LocationPreference *LocationPreference `json:"locationPreference,omitempty"`
  3528  	// MaintenanceWindow: The maintenance window for this instance. This specifies
  3529  	// when the instance can be restarted for maintenance purposes.
  3530  	MaintenanceWindow *MaintenanceWindow `json:"maintenanceWindow,omitempty"`
  3531  	// PasswordValidationPolicy: The local user password validation policy of the
  3532  	// instance.
  3533  	PasswordValidationPolicy *PasswordValidationPolicy `json:"passwordValidationPolicy,omitempty"`
  3534  	// PricingPlan: The pricing plan for this instance. This can be either
  3535  	// `PER_USE` or `PACKAGE`. Only `PER_USE` is supported for Second Generation
  3536  	// instances.
  3537  	//
  3538  	// Possible values:
  3539  	//   "SQL_PRICING_PLAN_UNSPECIFIED" - This is an unknown pricing plan for this
  3540  	// instance.
  3541  	//   "PACKAGE" - The instance is billed at a monthly flat rate.
  3542  	//   "PER_USE" - The instance is billed per usage.
  3543  	PricingPlan string `json:"pricingPlan,omitempty"`
  3544  	// ReplicationType: The type of replication this instance uses. This can be
  3545  	// either `ASYNCHRONOUS` or `SYNCHRONOUS`. (Deprecated) This property was only
  3546  	// applicable to First Generation instances.
  3547  	//
  3548  	// Possible values:
  3549  	//   "SQL_REPLICATION_TYPE_UNSPECIFIED" - This is an unknown replication type
  3550  	// for a Cloud SQL instance.
  3551  	//   "SYNCHRONOUS" - The synchronous replication mode for First Generation
  3552  	// instances. It is the default value.
  3553  	//   "ASYNCHRONOUS" - The asynchronous replication mode for First Generation
  3554  	// instances. It provides a slight performance gain, but if an outage occurs
  3555  	// while this option is set to asynchronous, you can lose up to a few seconds
  3556  	// of updates to your data.
  3557  	ReplicationType string `json:"replicationType,omitempty"`
  3558  	// SettingsVersion: The version of instance settings. This is a required field
  3559  	// for update method to make sure concurrent updates are handled properly.
  3560  	// During update, use the most recent settingsVersion value for this instance
  3561  	// and do not try to update this value.
  3562  	SettingsVersion int64 `json:"settingsVersion,omitempty,string"`
  3563  	// SqlServerAuditConfig: SQL Server specific audit configuration.
  3564  	SqlServerAuditConfig *SqlServerAuditConfig `json:"sqlServerAuditConfig,omitempty"`
  3565  	// StorageAutoResize: Configuration to increase storage size automatically. The
  3566  	// default value is true.
  3567  	StorageAutoResize *bool `json:"storageAutoResize,omitempty"`
  3568  	// StorageAutoResizeLimit: The maximum size to which storage capacity can be
  3569  	// automatically increased. The default value is 0, which specifies that there
  3570  	// is no limit.
  3571  	StorageAutoResizeLimit int64 `json:"storageAutoResizeLimit,omitempty,string"`
  3572  	// Tier: The tier (or machine type) for this instance, for example
  3573  	// `db-custom-1-3840`. WARNING: Changing this restarts the instance.
  3574  	Tier string `json:"tier,omitempty"`
  3575  	// TimeZone: Server timezone, relevant only for Cloud SQL for SQL Server.
  3576  	TimeZone string `json:"timeZone,omitempty"`
  3577  	// UserLabels: User-provided labels, represented as a dictionary where each
  3578  	// label is a single key value pair.
  3579  	UserLabels map[string]string `json:"userLabels,omitempty"`
  3580  	// ForceSendFields is a list of field names (e.g. "ActivationPolicy") to
  3581  	// unconditionally include in API requests. By default, fields with empty or
  3582  	// default values are omitted from API requests. See
  3583  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3584  	// details.
  3585  	ForceSendFields []string `json:"-"`
  3586  	// NullFields is a list of field names (e.g. "ActivationPolicy") to include in
  3587  	// API requests with the JSON null value. By default, fields with empty values
  3588  	// are omitted from API requests. See
  3589  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3590  	NullFields []string `json:"-"`
  3591  }
  3592  
  3593  func (s *Settings) MarshalJSON() ([]byte, error) {
  3594  	type NoMethod Settings
  3595  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3596  }
  3597  
  3598  // SqlActiveDirectoryConfig: Active Directory configuration, relevant only for
  3599  // Cloud SQL for SQL Server.
  3600  type SqlActiveDirectoryConfig struct {
  3601  	// Domain: The name of the domain (e.g., mydomain.com).
  3602  	Domain string `json:"domain,omitempty"`
  3603  	// Kind: This is always sql#activeDirectoryConfig.
  3604  	Kind string `json:"kind,omitempty"`
  3605  	// ForceSendFields is a list of field names (e.g. "Domain") to unconditionally
  3606  	// include in API requests. By default, fields with empty or default values are
  3607  	// omitted from API requests. See
  3608  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3609  	// details.
  3610  	ForceSendFields []string `json:"-"`
  3611  	// NullFields is a list of field names (e.g. "Domain") to include in API
  3612  	// requests with the JSON null value. By default, fields with empty values are
  3613  	// omitted from API requests. See
  3614  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3615  	NullFields []string `json:"-"`
  3616  }
  3617  
  3618  func (s *SqlActiveDirectoryConfig) MarshalJSON() ([]byte, error) {
  3619  	type NoMethod SqlActiveDirectoryConfig
  3620  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3621  }
  3622  
  3623  // SqlExternalSyncSettingError: External primary instance migration setting
  3624  // error/warning.
  3625  type SqlExternalSyncSettingError struct {
  3626  	// Detail: Additional information about the error encountered.
  3627  	Detail string `json:"detail,omitempty"`
  3628  	// Kind: Can be `sql#externalSyncSettingError` or
  3629  	// `sql#externalSyncSettingWarning`.
  3630  	Kind string `json:"kind,omitempty"`
  3631  	// Type: Identifies the specific error that occurred.
  3632  	//
  3633  	// Possible values:
  3634  	//   "SQL_EXTERNAL_SYNC_SETTING_ERROR_TYPE_UNSPECIFIED"
  3635  	//   "CONNECTION_FAILURE"
  3636  	//   "BINLOG_NOT_ENABLED"
  3637  	//   "INCOMPATIBLE_DATABASE_VERSION"
  3638  	//   "REPLICA_ALREADY_SETUP"
  3639  	//   "INSUFFICIENT_PRIVILEGE" - The replication user is missing privileges that
  3640  	// are required.
  3641  	//   "UNSUPPORTED_MIGRATION_TYPE" - Unsupported migration type.
  3642  	//   "NO_PGLOGICAL_INSTALLED" - No pglogical extension installed on databases,
  3643  	// applicable for postgres.
  3644  	//   "PGLOGICAL_NODE_ALREADY_EXISTS" - pglogical node already exists on
  3645  	// databases, applicable for postgres.
  3646  	//   "INVALID_WAL_LEVEL" - The value of parameter wal_level is not set to
  3647  	// logical.
  3648  	//   "INVALID_SHARED_PRELOAD_LIBRARY" - The value of parameter
  3649  	// shared_preload_libraries does not include pglogical.
  3650  	//   "INSUFFICIENT_MAX_REPLICATION_SLOTS" - The value of parameter
  3651  	// max_replication_slots is not sufficient.
  3652  	//   "INSUFFICIENT_MAX_WAL_SENDERS" - The value of parameter max_wal_senders is
  3653  	// not sufficient.
  3654  	//   "INSUFFICIENT_MAX_WORKER_PROCESSES" - The value of parameter
  3655  	// max_worker_processes is not sufficient.
  3656  	//   "UNSUPPORTED_EXTENSIONS" - Extensions installed are either not supported
  3657  	// or having unsupported versions.
  3658  	//   "INVALID_RDS_LOGICAL_REPLICATION" - The value of parameter
  3659  	// rds.logical_replication is not set to 1.
  3660  	//   "INVALID_LOGGING_SETUP" - The primary instance logging setup doesn't allow
  3661  	// EM sync.
  3662  	//   "INVALID_DB_PARAM" - The primary instance database parameter setup doesn't
  3663  	// allow EM sync.
  3664  	//   "UNSUPPORTED_GTID_MODE" - The gtid_mode is not supported, applicable for
  3665  	// MySQL.
  3666  	//   "SQLSERVER_AGENT_NOT_RUNNING" - SQL Server Agent is not running.
  3667  	//   "UNSUPPORTED_TABLE_DEFINITION" - The table definition is not support due
  3668  	// to missing primary key or replica identity, applicable for postgres.
  3669  	//   "UNSUPPORTED_DEFINER" - The customer has a definer that will break EM
  3670  	// setup.
  3671  	//   "SQLSERVER_SERVERNAME_MISMATCH" - SQL Server @@SERVERNAME does not match
  3672  	// actual host name.
  3673  	//   "PRIMARY_ALREADY_SETUP" - The primary instance has been setup and will
  3674  	// fail the setup.
  3675  	//   "UNSUPPORTED_BINLOG_FORMAT" - The primary instance has unsupported binary
  3676  	// log format.
  3677  	//   "BINLOG_RETENTION_SETTING" - The primary instance's binary log retention
  3678  	// setting.
  3679  	//   "UNSUPPORTED_STORAGE_ENGINE" - The primary instance has tables with
  3680  	// unsupported storage engine.
  3681  	//   "LIMITED_SUPPORT_TABLES" - Source has tables with limited support eg:
  3682  	// PostgreSQL tables without primary keys.
  3683  	//   "EXISTING_DATA_IN_REPLICA" - The replica instance contains existing data.
  3684  	//   "MISSING_OPTIONAL_PRIVILEGES" - The replication user is missing privileges
  3685  	// that are optional.
  3686  	//   "RISKY_BACKUP_ADMIN_PRIVILEGE" - Additional BACKUP_ADMIN privilege is
  3687  	// granted to the replication user which may lock source MySQL 8 instance for
  3688  	// DDLs during initial sync.
  3689  	//   "INSUFFICIENT_GCS_PERMISSIONS" - The Cloud Storage bucket is missing
  3690  	// necessary permissions.
  3691  	//   "INVALID_FILE_INFO" - The Cloud Storage bucket has an error in the file or
  3692  	// contains invalid file information.
  3693  	//   "UNSUPPORTED_DATABASE_SETTINGS" - The source instance has unsupported
  3694  	// database settings for migration.
  3695  	//   "MYSQL_PARALLEL_IMPORT_INSUFFICIENT_PRIVILEGE" - The replication user is
  3696  	// missing parallel import specific privileges. (e.g. LOCK TABLES) for MySQL.
  3697  	//   "LOCAL_INFILE_OFF" - The global variable local_infile is off on external
  3698  	// server replica.
  3699  	//   "TURN_ON_PITR_AFTER_PROMOTE" - This code instructs customers to turn on
  3700  	// point-in-time recovery manually for the instance after promoting the Cloud
  3701  	// SQL for PostgreSQL instance.
  3702  	//   "INCOMPATIBLE_DATABASE_MINOR_VERSION" - The minor version of replica
  3703  	// database is incompatible with the source.
  3704  	//   "SOURCE_MAX_SUBSCRIPTIONS" - This warning message indicates that Cloud SQL
  3705  	// uses the maximum number of subscriptions to migrate data from the source to
  3706  	// the destination.
  3707  	//   "UNABLE_TO_VERIFY_DEFINERS" - Unable to verify definers on the source for
  3708  	// MySQL.
  3709  	//   "SUBSCRIPTION_CALCULATION_STATUS" - If a time out occurs while the
  3710  	// subscription counts are calculated, then this value is set to 1. Otherwise,
  3711  	// this value is set to 2.
  3712  	//   "PG_SUBSCRIPTION_COUNT" - Count of subscriptions needed to sync source
  3713  	// data for PostgreSQL database.
  3714  	//   "PG_SYNC_PARALLEL_LEVEL" - Final parallel level that is used to do
  3715  	// migration.
  3716  	//   "INSUFFICIENT_DISK_SIZE" - The disk size of the replica instance is
  3717  	// smaller than the data size of the source instance.
  3718  	//   "INSUFFICIENT_MACHINE_TIER" - The data size of the source instance is
  3719  	// greater than 1 TB, the number of cores of the replica instance is less than
  3720  	// 8, and the memory of the replica is less than 32 GB.
  3721  	Type string `json:"type,omitempty"`
  3722  	// ForceSendFields is a list of field names (e.g. "Detail") to unconditionally
  3723  	// include in API requests. By default, fields with empty or default values are
  3724  	// omitted from API requests. See
  3725  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3726  	// details.
  3727  	ForceSendFields []string `json:"-"`
  3728  	// NullFields is a list of field names (e.g. "Detail") to include in API
  3729  	// requests with the JSON null value. By default, fields with empty values are
  3730  	// omitted from API requests. See
  3731  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3732  	NullFields []string `json:"-"`
  3733  }
  3734  
  3735  func (s *SqlExternalSyncSettingError) MarshalJSON() ([]byte, error) {
  3736  	type NoMethod SqlExternalSyncSettingError
  3737  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3738  }
  3739  
  3740  // SqlInstancesAcquireSsrsLeaseResponse: Response for the acquire SSRS lease
  3741  // request.
  3742  type SqlInstancesAcquireSsrsLeaseResponse struct {
  3743  	// OperationId: The unique identifier for this operation.
  3744  	OperationId string `json:"operationId,omitempty"`
  3745  
  3746  	// ServerResponse contains the HTTP response code and headers from the server.
  3747  	googleapi.ServerResponse `json:"-"`
  3748  	// ForceSendFields is a list of field names (e.g. "OperationId") to
  3749  	// unconditionally include in API requests. By default, fields with empty or
  3750  	// default values are omitted from API requests. See
  3751  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3752  	// details.
  3753  	ForceSendFields []string `json:"-"`
  3754  	// NullFields is a list of field names (e.g. "OperationId") to include in API
  3755  	// requests with the JSON null value. By default, fields with empty values are
  3756  	// omitted from API requests. See
  3757  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3758  	NullFields []string `json:"-"`
  3759  }
  3760  
  3761  func (s *SqlInstancesAcquireSsrsLeaseResponse) MarshalJSON() ([]byte, error) {
  3762  	type NoMethod SqlInstancesAcquireSsrsLeaseResponse
  3763  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3764  }
  3765  
  3766  // SqlInstancesGetDiskShrinkConfigResponse: Instance get disk shrink config
  3767  // response.
  3768  type SqlInstancesGetDiskShrinkConfigResponse struct {
  3769  	// Kind: This is always `sql#getDiskShrinkConfig`.
  3770  	Kind string `json:"kind,omitempty"`
  3771  	// Message: Additional message to customers.
  3772  	Message string `json:"message,omitempty"`
  3773  	// MinimalTargetSizeGb: The minimum size to which a disk can be shrunk in
  3774  	// GigaBytes.
  3775  	MinimalTargetSizeGb int64 `json:"minimalTargetSizeGb,omitempty,string"`
  3776  
  3777  	// ServerResponse contains the HTTP response code and headers from the server.
  3778  	googleapi.ServerResponse `json:"-"`
  3779  	// ForceSendFields is a list of field names (e.g. "Kind") to unconditionally
  3780  	// include in API requests. By default, fields with empty or default values are
  3781  	// omitted from API requests. See
  3782  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3783  	// details.
  3784  	ForceSendFields []string `json:"-"`
  3785  	// NullFields is a list of field names (e.g. "Kind") to include in API requests
  3786  	// with the JSON null value. By default, fields with empty values are omitted
  3787  	// from API requests. See
  3788  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3789  	NullFields []string `json:"-"`
  3790  }
  3791  
  3792  func (s *SqlInstancesGetDiskShrinkConfigResponse) MarshalJSON() ([]byte, error) {
  3793  	type NoMethod SqlInstancesGetDiskShrinkConfigResponse
  3794  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3795  }
  3796  
  3797  // SqlInstancesGetLatestRecoveryTimeResponse: Instance get latest recovery time
  3798  // response.
  3799  type SqlInstancesGetLatestRecoveryTimeResponse struct {
  3800  	// Kind: This is always `sql#getLatestRecoveryTime`.
  3801  	Kind string `json:"kind,omitempty"`
  3802  	// LatestRecoveryTime: Timestamp, identifies the latest recovery time of the
  3803  	// source instance.
  3804  	LatestRecoveryTime string `json:"latestRecoveryTime,omitempty"`
  3805  
  3806  	// ServerResponse contains the HTTP response code and headers from the server.
  3807  	googleapi.ServerResponse `json:"-"`
  3808  	// ForceSendFields is a list of field names (e.g. "Kind") to unconditionally
  3809  	// include in API requests. By default, fields with empty or default values are
  3810  	// omitted from API requests. See
  3811  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3812  	// details.
  3813  	ForceSendFields []string `json:"-"`
  3814  	// NullFields is a list of field names (e.g. "Kind") to include in API requests
  3815  	// with the JSON null value. By default, fields with empty values are omitted
  3816  	// from API requests. See
  3817  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3818  	NullFields []string `json:"-"`
  3819  }
  3820  
  3821  func (s *SqlInstancesGetLatestRecoveryTimeResponse) MarshalJSON() ([]byte, error) {
  3822  	type NoMethod SqlInstancesGetLatestRecoveryTimeResponse
  3823  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3824  }
  3825  
  3826  // SqlInstancesReleaseSsrsLeaseResponse: Response for the release SSRS lease
  3827  // request.
  3828  type SqlInstancesReleaseSsrsLeaseResponse struct {
  3829  	// OperationId: The unique identifier for this operation.
  3830  	OperationId string `json:"operationId,omitempty"`
  3831  
  3832  	// ServerResponse contains the HTTP response code and headers from the server.
  3833  	googleapi.ServerResponse `json:"-"`
  3834  	// ForceSendFields is a list of field names (e.g. "OperationId") to
  3835  	// unconditionally include in API requests. By default, fields with empty or
  3836  	// default values are omitted from API requests. See
  3837  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3838  	// details.
  3839  	ForceSendFields []string `json:"-"`
  3840  	// NullFields is a list of field names (e.g. "OperationId") to include in API
  3841  	// requests with the JSON null value. By default, fields with empty values are
  3842  	// omitted from API requests. See
  3843  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3844  	NullFields []string `json:"-"`
  3845  }
  3846  
  3847  func (s *SqlInstancesReleaseSsrsLeaseResponse) MarshalJSON() ([]byte, error) {
  3848  	type NoMethod SqlInstancesReleaseSsrsLeaseResponse
  3849  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3850  }
  3851  
  3852  // SqlInstancesRescheduleMaintenanceRequestBody: Reschedule options for
  3853  // maintenance windows.
  3854  type SqlInstancesRescheduleMaintenanceRequestBody struct {
  3855  	// Reschedule: Required. The type of the reschedule the user wants.
  3856  	Reschedule *Reschedule `json:"reschedule,omitempty"`
  3857  	// ForceSendFields is a list of field names (e.g. "Reschedule") to
  3858  	// unconditionally include in API requests. By default, fields with empty or
  3859  	// default values are omitted from API requests. See
  3860  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3861  	// details.
  3862  	ForceSendFields []string `json:"-"`
  3863  	// NullFields is a list of field names (e.g. "Reschedule") to include in API
  3864  	// requests with the JSON null value. By default, fields with empty values are
  3865  	// omitted from API requests. See
  3866  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3867  	NullFields []string `json:"-"`
  3868  }
  3869  
  3870  func (s *SqlInstancesRescheduleMaintenanceRequestBody) MarshalJSON() ([]byte, error) {
  3871  	type NoMethod SqlInstancesRescheduleMaintenanceRequestBody
  3872  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3873  }
  3874  
  3875  // SqlInstancesResetReplicaSizeRequest: Instance reset replica size request.
  3876  type SqlInstancesResetReplicaSizeRequest struct {
  3877  }
  3878  
  3879  // SqlInstancesStartExternalSyncRequest: Instance start external sync request.
  3880  type SqlInstancesStartExternalSyncRequest struct {
  3881  	// MigrationType: Optional. MigrationType configures the migration to use
  3882  	// physical files or logical dump files. If not set, then the logical dump file
  3883  	// configuration is used. Valid values are `LOGICAL` or `PHYSICAL`. Only
  3884  	// applicable to MySQL.
  3885  	//
  3886  	// Possible values:
  3887  	//   "MIGRATION_TYPE_UNSPECIFIED" - Default value is a logical dump file-based
  3888  	// migration
  3889  	//   "LOGICAL" - Logical dump file-based migration
  3890  	//   "PHYSICAL" - Physical file-based migration
  3891  	MigrationType string `json:"migrationType,omitempty"`
  3892  	// MysqlSyncConfig: MySQL-specific settings for start external sync.
  3893  	MysqlSyncConfig *MySqlSyncConfig `json:"mysqlSyncConfig,omitempty"`
  3894  	// SkipVerification: Whether to skip the verification step (VESS).
  3895  	SkipVerification bool `json:"skipVerification,omitempty"`
  3896  	// SyncMode: External sync mode.
  3897  	//
  3898  	// Possible values:
  3899  	//   "EXTERNAL_SYNC_MODE_UNSPECIFIED" - Unknown external sync mode, will be
  3900  	// defaulted to ONLINE mode
  3901  	//   "ONLINE" - Online external sync will set up replication after initial data
  3902  	// external sync
  3903  	//   "OFFLINE" - Offline external sync only dumps and loads a one-time snapshot
  3904  	// of the primary instance's data
  3905  	SyncMode string `json:"syncMode,omitempty"`
  3906  	// SyncParallelLevel: Optional. Parallel level for initial data sync. Currently
  3907  	// only applicable for MySQL.
  3908  	//
  3909  	// Possible values:
  3910  	//   "EXTERNAL_SYNC_PARALLEL_LEVEL_UNSPECIFIED" - Unknown sync parallel level.
  3911  	// Will be defaulted to OPTIMAL.
  3912  	//   "MIN" - Minimal parallel level.
  3913  	//   "OPTIMAL" - Optimal parallel level.
  3914  	//   "MAX" - Maximum parallel level.
  3915  	SyncParallelLevel string `json:"syncParallelLevel,omitempty"`
  3916  	// ForceSendFields is a list of field names (e.g. "MigrationType") to
  3917  	// unconditionally include in API requests. By default, fields with empty or
  3918  	// default values are omitted from API requests. See
  3919  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3920  	// details.
  3921  	ForceSendFields []string `json:"-"`
  3922  	// NullFields is a list of field names (e.g. "MigrationType") to include in API
  3923  	// requests with the JSON null value. By default, fields with empty values are
  3924  	// omitted from API requests. See
  3925  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3926  	NullFields []string `json:"-"`
  3927  }
  3928  
  3929  func (s *SqlInstancesStartExternalSyncRequest) MarshalJSON() ([]byte, error) {
  3930  	type NoMethod SqlInstancesStartExternalSyncRequest
  3931  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3932  }
  3933  
  3934  // SqlInstancesVerifyExternalSyncSettingsRequest: Instance verify external sync
  3935  // settings request.
  3936  type SqlInstancesVerifyExternalSyncSettingsRequest struct {
  3937  	// MigrationType: Optional. MigrationType configures the migration to use
  3938  	// physical files or logical dump files. If not set, then the logical dump file
  3939  	// configuration is used. Valid values are `LOGICAL` or `PHYSICAL`. Only
  3940  	// applicable to MySQL.
  3941  	//
  3942  	// Possible values:
  3943  	//   "MIGRATION_TYPE_UNSPECIFIED" - Default value is a logical dump file-based
  3944  	// migration
  3945  	//   "LOGICAL" - Logical dump file-based migration
  3946  	//   "PHYSICAL" - Physical file-based migration
  3947  	MigrationType string `json:"migrationType,omitempty"`
  3948  	// MysqlSyncConfig: Optional. MySQL-specific settings for start external sync.
  3949  	MysqlSyncConfig *MySqlSyncConfig `json:"mysqlSyncConfig,omitempty"`
  3950  	// SyncMode: External sync mode
  3951  	//
  3952  	// Possible values:
  3953  	//   "EXTERNAL_SYNC_MODE_UNSPECIFIED" - Unknown external sync mode, will be
  3954  	// defaulted to ONLINE mode
  3955  	//   "ONLINE" - Online external sync will set up replication after initial data
  3956  	// external sync
  3957  	//   "OFFLINE" - Offline external sync only dumps and loads a one-time snapshot
  3958  	// of the primary instance's data
  3959  	SyncMode string `json:"syncMode,omitempty"`
  3960  	// SyncParallelLevel: Optional. Parallel level for initial data sync. Only
  3961  	// applicable for PostgreSQL.
  3962  	//
  3963  	// Possible values:
  3964  	//   "EXTERNAL_SYNC_PARALLEL_LEVEL_UNSPECIFIED" - Unknown sync parallel level.
  3965  	// Will be defaulted to OPTIMAL.
  3966  	//   "MIN" - Minimal parallel level.
  3967  	//   "OPTIMAL" - Optimal parallel level.
  3968  	//   "MAX" - Maximum parallel level.
  3969  	SyncParallelLevel string `json:"syncParallelLevel,omitempty"`
  3970  	// VerifyConnectionOnly: Flag to enable verifying connection only
  3971  	VerifyConnectionOnly bool `json:"verifyConnectionOnly,omitempty"`
  3972  	// VerifyReplicationOnly: Optional. Flag to verify settings required by
  3973  	// replication setup only
  3974  	VerifyReplicationOnly bool `json:"verifyReplicationOnly,omitempty"`
  3975  	// ForceSendFields is a list of field names (e.g. "MigrationType") to
  3976  	// unconditionally include in API requests. By default, fields with empty or
  3977  	// default values are omitted from API requests. See
  3978  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3979  	// details.
  3980  	ForceSendFields []string `json:"-"`
  3981  	// NullFields is a list of field names (e.g. "MigrationType") to include in API
  3982  	// requests with the JSON null value. By default, fields with empty values are
  3983  	// omitted from API requests. See
  3984  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3985  	NullFields []string `json:"-"`
  3986  }
  3987  
  3988  func (s *SqlInstancesVerifyExternalSyncSettingsRequest) MarshalJSON() ([]byte, error) {
  3989  	type NoMethod SqlInstancesVerifyExternalSyncSettingsRequest
  3990  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3991  }
  3992  
  3993  // SqlInstancesVerifyExternalSyncSettingsResponse: Instance verify external
  3994  // sync settings response.
  3995  type SqlInstancesVerifyExternalSyncSettingsResponse struct {
  3996  	// Errors: List of migration violations.
  3997  	Errors []*SqlExternalSyncSettingError `json:"errors,omitempty"`
  3998  	// Kind: This is always `sql#migrationSettingErrorList`.
  3999  	Kind string `json:"kind,omitempty"`
  4000  	// Warnings: List of migration warnings.
  4001  	Warnings []*SqlExternalSyncSettingError `json:"warnings,omitempty"`
  4002  
  4003  	// ServerResponse contains the HTTP response code and headers from the server.
  4004  	googleapi.ServerResponse `json:"-"`
  4005  	// ForceSendFields is a list of field names (e.g. "Errors") to unconditionally
  4006  	// include in API requests. By default, fields with empty or default values are
  4007  	// omitted from API requests. See
  4008  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4009  	// details.
  4010  	ForceSendFields []string `json:"-"`
  4011  	// NullFields is a list of field names (e.g. "Errors") to include in API
  4012  	// requests with the JSON null value. By default, fields with empty values are
  4013  	// omitted from API requests. See
  4014  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4015  	NullFields []string `json:"-"`
  4016  }
  4017  
  4018  func (s *SqlInstancesVerifyExternalSyncSettingsResponse) MarshalJSON() ([]byte, error) {
  4019  	type NoMethod SqlInstancesVerifyExternalSyncSettingsResponse
  4020  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4021  }
  4022  
  4023  // SqlOutOfDiskReport: This message wraps up the information written by
  4024  // out-of-disk detection job.
  4025  type SqlOutOfDiskReport struct {
  4026  	// SqlMinRecommendedIncreaseSizeGb: The minimum recommended increase size in
  4027  	// GigaBytes This field is consumed by the frontend * Writers: * the proactive
  4028  	// database wellness job for OOD. * Readers:
  4029  	SqlMinRecommendedIncreaseSizeGb int64 `json:"sqlMinRecommendedIncreaseSizeGb,omitempty"`
  4030  	// SqlOutOfDiskState: This field represents the state generated by the
  4031  	// proactive database wellness job for OutOfDisk issues. * Writers: * the
  4032  	// proactive database wellness job for OOD. * Readers: * the proactive database
  4033  	// wellness job
  4034  	//
  4035  	// Possible values:
  4036  	//   "SQL_OUT_OF_DISK_STATE_UNSPECIFIED" - Unspecified state
  4037  	//   "NORMAL" - The instance has plenty space on data disk
  4038  	//   "SOFT_SHUTDOWN" - Data disk is almost used up. It is shutdown to prevent
  4039  	// data corruption.
  4040  	SqlOutOfDiskState string `json:"sqlOutOfDiskState,omitempty"`
  4041  	// ForceSendFields is a list of field names (e.g.
  4042  	// "SqlMinRecommendedIncreaseSizeGb") to unconditionally include in API
  4043  	// requests. By default, fields with empty or default values are omitted from
  4044  	// API requests. See
  4045  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4046  	// details.
  4047  	ForceSendFields []string `json:"-"`
  4048  	// NullFields is a list of field names (e.g. "SqlMinRecommendedIncreaseSizeGb")
  4049  	// to include in API requests with the JSON null value. By default, fields with
  4050  	// empty values are omitted from API requests. See
  4051  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4052  	NullFields []string `json:"-"`
  4053  }
  4054  
  4055  func (s *SqlOutOfDiskReport) MarshalJSON() ([]byte, error) {
  4056  	type NoMethod SqlOutOfDiskReport
  4057  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4058  }
  4059  
  4060  // SqlScheduledMaintenance: Any scheduled maintenance for this instance.
  4061  type SqlScheduledMaintenance struct {
  4062  	CanDefer bool `json:"canDefer,omitempty"`
  4063  	// CanReschedule: If the scheduled maintenance can be rescheduled.
  4064  	CanReschedule bool `json:"canReschedule,omitempty"`
  4065  	// ScheduleDeadlineTime: Maintenance cannot be rescheduled to start beyond this
  4066  	// deadline.
  4067  	ScheduleDeadlineTime string `json:"scheduleDeadlineTime,omitempty"`
  4068  	// StartTime: The start time of any upcoming scheduled maintenance for this
  4069  	// instance.
  4070  	StartTime string `json:"startTime,omitempty"`
  4071  	// ForceSendFields is a list of field names (e.g. "CanDefer") to
  4072  	// unconditionally include in API requests. By default, fields with empty or
  4073  	// default values are omitted from API requests. See
  4074  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4075  	// details.
  4076  	ForceSendFields []string `json:"-"`
  4077  	// NullFields is a list of field names (e.g. "CanDefer") to include in API
  4078  	// requests with the JSON null value. By default, fields with empty values are
  4079  	// omitted from API requests. See
  4080  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4081  	NullFields []string `json:"-"`
  4082  }
  4083  
  4084  func (s *SqlScheduledMaintenance) MarshalJSON() ([]byte, error) {
  4085  	type NoMethod SqlScheduledMaintenance
  4086  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4087  }
  4088  
  4089  // SqlServerAuditConfig: SQL Server specific audit configuration.
  4090  type SqlServerAuditConfig struct {
  4091  	// Bucket: The name of the destination bucket (e.g., gs://mybucket).
  4092  	Bucket string `json:"bucket,omitempty"`
  4093  	// Kind: This is always sql#sqlServerAuditConfig
  4094  	Kind string `json:"kind,omitempty"`
  4095  	// RetentionInterval: How long to keep generated audit files.
  4096  	RetentionInterval string `json:"retentionInterval,omitempty"`
  4097  	// UploadInterval: How often to upload generated audit files.
  4098  	UploadInterval string `json:"uploadInterval,omitempty"`
  4099  	// ForceSendFields is a list of field names (e.g. "Bucket") to unconditionally
  4100  	// include in API requests. By default, fields with empty or default values are
  4101  	// omitted from API requests. See
  4102  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4103  	// details.
  4104  	ForceSendFields []string `json:"-"`
  4105  	// NullFields is a list of field names (e.g. "Bucket") to include in API
  4106  	// requests with the JSON null value. By default, fields with empty values are
  4107  	// omitted from API requests. See
  4108  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4109  	NullFields []string `json:"-"`
  4110  }
  4111  
  4112  func (s *SqlServerAuditConfig) MarshalJSON() ([]byte, error) {
  4113  	type NoMethod SqlServerAuditConfig
  4114  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4115  }
  4116  
  4117  // SqlServerDatabaseDetails: Represents a Sql Server database on the Cloud SQL
  4118  // instance.
  4119  type SqlServerDatabaseDetails struct {
  4120  	// CompatibilityLevel: The version of SQL Server with which the database is to
  4121  	// be made compatible
  4122  	CompatibilityLevel int64 `json:"compatibilityLevel,omitempty"`
  4123  	// RecoveryModel: The recovery model of a SQL Server database
  4124  	RecoveryModel string `json:"recoveryModel,omitempty"`
  4125  	// ForceSendFields is a list of field names (e.g. "CompatibilityLevel") to
  4126  	// unconditionally include in API requests. By default, fields with empty or
  4127  	// default values are omitted from API requests. See
  4128  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4129  	// details.
  4130  	ForceSendFields []string `json:"-"`
  4131  	// NullFields is a list of field names (e.g. "CompatibilityLevel") to include
  4132  	// in API requests with the JSON null value. By default, fields with empty
  4133  	// values are omitted from API requests. See
  4134  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4135  	NullFields []string `json:"-"`
  4136  }
  4137  
  4138  func (s *SqlServerDatabaseDetails) MarshalJSON() ([]byte, error) {
  4139  	type NoMethod SqlServerDatabaseDetails
  4140  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4141  }
  4142  
  4143  // SqlServerUserDetails: Represents a Sql Server user on the Cloud SQL
  4144  // instance.
  4145  type SqlServerUserDetails struct {
  4146  	// Disabled: If the user has been disabled
  4147  	Disabled bool `json:"disabled,omitempty"`
  4148  	// ServerRoles: The server roles for this user
  4149  	ServerRoles []string `json:"serverRoles,omitempty"`
  4150  	// ForceSendFields is a list of field names (e.g. "Disabled") to
  4151  	// unconditionally include in API requests. By default, fields with empty or
  4152  	// default values are omitted from API requests. See
  4153  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4154  	// details.
  4155  	ForceSendFields []string `json:"-"`
  4156  	// NullFields is a list of field names (e.g. "Disabled") to include in API
  4157  	// requests with the JSON null value. By default, fields with empty values are
  4158  	// omitted from API requests. See
  4159  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4160  	NullFields []string `json:"-"`
  4161  }
  4162  
  4163  func (s *SqlServerUserDetails) MarshalJSON() ([]byte, error) {
  4164  	type NoMethod SqlServerUserDetails
  4165  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4166  }
  4167  
  4168  // SslCert: SslCerts Resource
  4169  type SslCert struct {
  4170  	// Cert: PEM representation.
  4171  	Cert string `json:"cert,omitempty"`
  4172  	// CertSerialNumber: Serial number, as extracted from the certificate.
  4173  	CertSerialNumber string `json:"certSerialNumber,omitempty"`
  4174  	// CommonName: User supplied name. Constrained to [a-zA-Z.-_ ]+.
  4175  	CommonName string `json:"commonName,omitempty"`
  4176  	// CreateTime: The time when the certificate was created in RFC 3339
  4177  	// (https://tools.ietf.org/html/rfc3339) format, for example
  4178  	// `2012-11-15T16:19:00.094Z`
  4179  	CreateTime string `json:"createTime,omitempty"`
  4180  	// ExpirationTime: The time when the certificate expires in RFC 3339
  4181  	// (https://tools.ietf.org/html/rfc3339) format, for example
  4182  	// `2012-11-15T16:19:00.094Z`.
  4183  	ExpirationTime string `json:"expirationTime,omitempty"`
  4184  	// Instance: Name of the database instance.
  4185  	Instance string `json:"instance,omitempty"`
  4186  	// Kind: This is always `sql#sslCert`.
  4187  	Kind string `json:"kind,omitempty"`
  4188  	// SelfLink: The URI of this resource.
  4189  	SelfLink string `json:"selfLink,omitempty"`
  4190  	// Sha1Fingerprint: Sha1 Fingerprint.
  4191  	Sha1Fingerprint string `json:"sha1Fingerprint,omitempty"`
  4192  
  4193  	// ServerResponse contains the HTTP response code and headers from the server.
  4194  	googleapi.ServerResponse `json:"-"`
  4195  	// ForceSendFields is a list of field names (e.g. "Cert") to unconditionally
  4196  	// include in API requests. By default, fields with empty or default values are
  4197  	// omitted from API requests. See
  4198  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4199  	// details.
  4200  	ForceSendFields []string `json:"-"`
  4201  	// NullFields is a list of field names (e.g. "Cert") to include in API requests
  4202  	// with the JSON null value. By default, fields with empty values are omitted
  4203  	// from API requests. See
  4204  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4205  	NullFields []string `json:"-"`
  4206  }
  4207  
  4208  func (s *SslCert) MarshalJSON() ([]byte, error) {
  4209  	type NoMethod SslCert
  4210  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4211  }
  4212  
  4213  // SslCertDetail: SslCertDetail.
  4214  type SslCertDetail struct {
  4215  	// CertInfo: The public information about the cert.
  4216  	CertInfo *SslCert `json:"certInfo,omitempty"`
  4217  	// CertPrivateKey: The private key for the client cert, in pem format. Keep
  4218  	// private in order to protect your security.
  4219  	CertPrivateKey string `json:"certPrivateKey,omitempty"`
  4220  	// ForceSendFields is a list of field names (e.g. "CertInfo") to
  4221  	// unconditionally include in API requests. By default, fields with empty or
  4222  	// default values are omitted from API requests. See
  4223  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4224  	// details.
  4225  	ForceSendFields []string `json:"-"`
  4226  	// NullFields is a list of field names (e.g. "CertInfo") to include in API
  4227  	// requests with the JSON null value. By default, fields with empty values are
  4228  	// omitted from API requests. See
  4229  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4230  	NullFields []string `json:"-"`
  4231  }
  4232  
  4233  func (s *SslCertDetail) MarshalJSON() ([]byte, error) {
  4234  	type NoMethod SslCertDetail
  4235  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4236  }
  4237  
  4238  // SslCertsCreateEphemeralRequest: SslCerts create ephemeral certificate
  4239  // request.
  4240  type SslCertsCreateEphemeralRequest struct {
  4241  	// AccessToken: Access token to include in the signed certificate.
  4242  	AccessToken string `json:"access_token,omitempty"`
  4243  	// PublicKey: PEM encoded public key to include in the signed certificate.
  4244  	PublicKey string `json:"public_key,omitempty"`
  4245  	// ForceSendFields is a list of field names (e.g. "AccessToken") to
  4246  	// unconditionally include in API requests. By default, fields with empty or
  4247  	// default values are omitted from API requests. See
  4248  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4249  	// details.
  4250  	ForceSendFields []string `json:"-"`
  4251  	// NullFields is a list of field names (e.g. "AccessToken") to include in API
  4252  	// requests with the JSON null value. By default, fields with empty values are
  4253  	// omitted from API requests. See
  4254  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4255  	NullFields []string `json:"-"`
  4256  }
  4257  
  4258  func (s *SslCertsCreateEphemeralRequest) MarshalJSON() ([]byte, error) {
  4259  	type NoMethod SslCertsCreateEphemeralRequest
  4260  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4261  }
  4262  
  4263  // SslCertsInsertRequest: SslCerts insert request.
  4264  type SslCertsInsertRequest struct {
  4265  	// CommonName: User supplied name. Must be a distinct name from the other
  4266  	// certificates for this instance.
  4267  	CommonName string `json:"commonName,omitempty"`
  4268  	// ForceSendFields is a list of field names (e.g. "CommonName") to
  4269  	// unconditionally include in API requests. By default, fields with empty or
  4270  	// default values are omitted from API requests. See
  4271  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4272  	// details.
  4273  	ForceSendFields []string `json:"-"`
  4274  	// NullFields is a list of field names (e.g. "CommonName") to include in API
  4275  	// requests with the JSON null value. By default, fields with empty values are
  4276  	// omitted from API requests. See
  4277  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4278  	NullFields []string `json:"-"`
  4279  }
  4280  
  4281  func (s *SslCertsInsertRequest) MarshalJSON() ([]byte, error) {
  4282  	type NoMethod SslCertsInsertRequest
  4283  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4284  }
  4285  
  4286  // SslCertsInsertResponse: SslCert insert response.
  4287  type SslCertsInsertResponse struct {
  4288  	// ClientCert: The new client certificate and private key.
  4289  	ClientCert *SslCertDetail `json:"clientCert,omitempty"`
  4290  	// Kind: This is always `sql#sslCertsInsert`.
  4291  	Kind string `json:"kind,omitempty"`
  4292  	// Operation: The operation to track the ssl certs insert request.
  4293  	Operation *Operation `json:"operation,omitempty"`
  4294  	// ServerCaCert: The server Certificate Authority's certificate. If this is
  4295  	// missing you can force a new one to be generated by calling resetSslConfig
  4296  	// method on instances resource.
  4297  	ServerCaCert *SslCert `json:"serverCaCert,omitempty"`
  4298  
  4299  	// ServerResponse contains the HTTP response code and headers from the server.
  4300  	googleapi.ServerResponse `json:"-"`
  4301  	// ForceSendFields is a list of field names (e.g. "ClientCert") to
  4302  	// unconditionally include in API requests. By default, fields with empty or
  4303  	// default values are omitted from API requests. See
  4304  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4305  	// details.
  4306  	ForceSendFields []string `json:"-"`
  4307  	// NullFields is a list of field names (e.g. "ClientCert") to include in API
  4308  	// requests with the JSON null value. By default, fields with empty values are
  4309  	// omitted from API requests. See
  4310  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4311  	NullFields []string `json:"-"`
  4312  }
  4313  
  4314  func (s *SslCertsInsertResponse) MarshalJSON() ([]byte, error) {
  4315  	type NoMethod SslCertsInsertResponse
  4316  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4317  }
  4318  
  4319  // SslCertsListResponse: SslCerts list response.
  4320  type SslCertsListResponse struct {
  4321  	// Items: List of client certificates for the instance.
  4322  	Items []*SslCert `json:"items,omitempty"`
  4323  	// Kind: This is always `sql#sslCertsList`.
  4324  	Kind string `json:"kind,omitempty"`
  4325  
  4326  	// ServerResponse contains the HTTP response code and headers from the server.
  4327  	googleapi.ServerResponse `json:"-"`
  4328  	// ForceSendFields is a list of field names (e.g. "Items") to unconditionally
  4329  	// include in API requests. By default, fields with empty or default values are
  4330  	// omitted from API requests. See
  4331  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4332  	// details.
  4333  	ForceSendFields []string `json:"-"`
  4334  	// NullFields is a list of field names (e.g. "Items") to include in API
  4335  	// requests with the JSON null value. By default, fields with empty values are
  4336  	// omitted from API requests. See
  4337  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4338  	NullFields []string `json:"-"`
  4339  }
  4340  
  4341  func (s *SslCertsListResponse) MarshalJSON() ([]byte, error) {
  4342  	type NoMethod SslCertsListResponse
  4343  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4344  }
  4345  
  4346  // SyncFlags: Initial sync flags for certain Cloud SQL APIs. Currently used for
  4347  // the MySQL external server initial dump.
  4348  type SyncFlags struct {
  4349  	// Name: The name of the flag.
  4350  	Name string `json:"name,omitempty"`
  4351  	// Value: The value of the flag. This field must be omitted if the flag doesn't
  4352  	// take a value.
  4353  	Value string `json:"value,omitempty"`
  4354  	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
  4355  	// include in API requests. By default, fields with empty or default values are
  4356  	// omitted from API requests. See
  4357  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4358  	// details.
  4359  	ForceSendFields []string `json:"-"`
  4360  	// NullFields is a list of field names (e.g. "Name") to include in API requests
  4361  	// with the JSON null value. By default, fields with empty values are omitted
  4362  	// from API requests. See
  4363  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4364  	NullFields []string `json:"-"`
  4365  }
  4366  
  4367  func (s *SyncFlags) MarshalJSON() ([]byte, error) {
  4368  	type NoMethod SyncFlags
  4369  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4370  }
  4371  
  4372  // Tier: A Google Cloud SQL service tier resource.
  4373  type Tier struct {
  4374  	// DiskQuota: The maximum disk size of this tier in bytes.
  4375  	DiskQuota int64 `json:"DiskQuota,omitempty,string"`
  4376  	// RAM: The maximum RAM usage of this tier in bytes.
  4377  	RAM int64 `json:"RAM,omitempty,string"`
  4378  	// Kind: This is always `sql#tier`.
  4379  	Kind string `json:"kind,omitempty"`
  4380  	// Region: The applicable regions for this tier.
  4381  	Region []string `json:"region,omitempty"`
  4382  	// Tier: An identifier for the machine type, for example, `db-custom-1-3840`.
  4383  	// For related information, see Pricing (/sql/pricing).
  4384  	Tier string `json:"tier,omitempty"`
  4385  	// ForceSendFields is a list of field names (e.g. "DiskQuota") to
  4386  	// unconditionally include in API requests. By default, fields with empty or
  4387  	// default values are omitted from API requests. See
  4388  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4389  	// details.
  4390  	ForceSendFields []string `json:"-"`
  4391  	// NullFields is a list of field names (e.g. "DiskQuota") to include in API
  4392  	// requests with the JSON null value. By default, fields with empty values are
  4393  	// omitted from API requests. See
  4394  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4395  	NullFields []string `json:"-"`
  4396  }
  4397  
  4398  func (s *Tier) MarshalJSON() ([]byte, error) {
  4399  	type NoMethod Tier
  4400  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4401  }
  4402  
  4403  // TiersListResponse: Tiers list response.
  4404  type TiersListResponse struct {
  4405  	// Items: List of tiers.
  4406  	Items []*Tier `json:"items,omitempty"`
  4407  	// Kind: This is always `sql#tiersList`.
  4408  	Kind string `json:"kind,omitempty"`
  4409  
  4410  	// ServerResponse contains the HTTP response code and headers from the server.
  4411  	googleapi.ServerResponse `json:"-"`
  4412  	// ForceSendFields is a list of field names (e.g. "Items") to unconditionally
  4413  	// include in API requests. By default, fields with empty or default values are
  4414  	// omitted from API requests. See
  4415  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4416  	// details.
  4417  	ForceSendFields []string `json:"-"`
  4418  	// NullFields is a list of field names (e.g. "Items") to include in API
  4419  	// requests with the JSON null value. By default, fields with empty values are
  4420  	// omitted from API requests. See
  4421  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4422  	NullFields []string `json:"-"`
  4423  }
  4424  
  4425  func (s *TiersListResponse) MarshalJSON() ([]byte, error) {
  4426  	type NoMethod TiersListResponse
  4427  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4428  }
  4429  
  4430  // TruncateLogContext: Database Instance truncate log context.
  4431  type TruncateLogContext struct {
  4432  	// Kind: This is always `sql#truncateLogContext`.
  4433  	Kind string `json:"kind,omitempty"`
  4434  	// LogType: The type of log to truncate. Valid values are `MYSQL_GENERAL_TABLE`
  4435  	// and `MYSQL_SLOW_TABLE`.
  4436  	LogType string `json:"logType,omitempty"`
  4437  	// ForceSendFields is a list of field names (e.g. "Kind") to unconditionally
  4438  	// include in API requests. By default, fields with empty or default values are
  4439  	// omitted from API requests. See
  4440  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4441  	// details.
  4442  	ForceSendFields []string `json:"-"`
  4443  	// NullFields is a list of field names (e.g. "Kind") to include in API requests
  4444  	// with the JSON null value. By default, fields with empty values are omitted
  4445  	// from API requests. See
  4446  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4447  	NullFields []string `json:"-"`
  4448  }
  4449  
  4450  func (s *TruncateLogContext) MarshalJSON() ([]byte, error) {
  4451  	type NoMethod TruncateLogContext
  4452  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4453  }
  4454  
  4455  // User: A Cloud SQL user resource.
  4456  type User struct {
  4457  	// DualPasswordType: Dual password status for the user.
  4458  	//
  4459  	// Possible values:
  4460  	//   "DUAL_PASSWORD_TYPE_UNSPECIFIED" - The default value.
  4461  	//   "NO_MODIFY_DUAL_PASSWORD" - Do not update the user's dual password status.
  4462  	//   "NO_DUAL_PASSWORD" - No dual password usable for connecting using this
  4463  	// user.
  4464  	//   "DUAL_PASSWORD" - Dual password usable for connecting using this user.
  4465  	DualPasswordType string `json:"dualPasswordType,omitempty"`
  4466  	// Etag: This field is deprecated and will be removed from a future version of
  4467  	// the API.
  4468  	Etag string `json:"etag,omitempty"`
  4469  	// Host: Optional. The host from which the user can connect. For `insert`
  4470  	// operations, host defaults to an empty string. For `update` operations, host
  4471  	// is specified as part of the request URL. The host name cannot be updated
  4472  	// after insertion. For a MySQL instance, it's required; for a PostgreSQL or
  4473  	// SQL Server instance, it's optional.
  4474  	Host string `json:"host,omitempty"`
  4475  	// Instance: The name of the Cloud SQL instance. This does not include the
  4476  	// project ID. Can be omitted for `update` because it is already specified on
  4477  	// the URL.
  4478  	Instance string `json:"instance,omitempty"`
  4479  	// Kind: This is always `sql#user`.
  4480  	Kind string `json:"kind,omitempty"`
  4481  	// Name: The name of the user in the Cloud SQL instance. Can be omitted for
  4482  	// `update` because it is already specified in the URL.
  4483  	Name string `json:"name,omitempty"`
  4484  	// Password: The password for the user.
  4485  	Password string `json:"password,omitempty"`
  4486  	// PasswordPolicy: User level password validation policy.
  4487  	PasswordPolicy *UserPasswordValidationPolicy `json:"passwordPolicy,omitempty"`
  4488  	// Project: The project ID of the project containing the Cloud SQL database.
  4489  	// The Google apps domain is prefixed if applicable. Can be omitted for
  4490  	// `update` because it is already specified on the URL.
  4491  	Project              string                `json:"project,omitempty"`
  4492  	SqlserverUserDetails *SqlServerUserDetails `json:"sqlserverUserDetails,omitempty"`
  4493  	// Type: The user type. It determines the method to authenticate the user
  4494  	// during login. The default is the database's built-in user type.
  4495  	//
  4496  	// Possible values:
  4497  	//   "BUILT_IN" - The database's built-in user type.
  4498  	//   "CLOUD_IAM_USER" - Cloud IAM user.
  4499  	//   "CLOUD_IAM_SERVICE_ACCOUNT" - Cloud IAM service account.
  4500  	//   "CLOUD_IAM_GROUP" - Cloud IAM group non-login user.
  4501  	//   "CLOUD_IAM_GROUP_USER" - Cloud IAM group login user.
  4502  	//   "CLOUD_IAM_GROUP_SERVICE_ACCOUNT" - Cloud IAM group login service account.
  4503  	Type string `json:"type,omitempty"`
  4504  
  4505  	// ServerResponse contains the HTTP response code and headers from the server.
  4506  	googleapi.ServerResponse `json:"-"`
  4507  	// ForceSendFields is a list of field names (e.g. "DualPasswordType") to
  4508  	// unconditionally include in API requests. By default, fields with empty or
  4509  	// default values are omitted from API requests. See
  4510  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4511  	// details.
  4512  	ForceSendFields []string `json:"-"`
  4513  	// NullFields is a list of field names (e.g. "DualPasswordType") to include in
  4514  	// API requests with the JSON null value. By default, fields with empty values
  4515  	// are omitted from API requests. See
  4516  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4517  	NullFields []string `json:"-"`
  4518  }
  4519  
  4520  func (s *User) MarshalJSON() ([]byte, error) {
  4521  	type NoMethod User
  4522  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4523  }
  4524  
  4525  // UserPasswordValidationPolicy: User level password validation policy.
  4526  type UserPasswordValidationPolicy struct {
  4527  	// AllowedFailedAttempts: Number of failed login attempts allowed before user
  4528  	// get locked.
  4529  	AllowedFailedAttempts int64 `json:"allowedFailedAttempts,omitempty"`
  4530  	// EnableFailedAttemptsCheck: If true, failed login attempts check will be
  4531  	// enabled.
  4532  	EnableFailedAttemptsCheck bool `json:"enableFailedAttemptsCheck,omitempty"`
  4533  	// EnablePasswordVerification: If true, the user must specify the current
  4534  	// password before changing the password. This flag is supported only for
  4535  	// MySQL.
  4536  	EnablePasswordVerification bool `json:"enablePasswordVerification,omitempty"`
  4537  	// PasswordExpirationDuration: Expiration duration after password is updated.
  4538  	PasswordExpirationDuration string `json:"passwordExpirationDuration,omitempty"`
  4539  	// Status: Output only. Read-only password status.
  4540  	Status *PasswordStatus `json:"status,omitempty"`
  4541  	// ForceSendFields is a list of field names (e.g. "AllowedFailedAttempts") to
  4542  	// unconditionally include in API requests. By default, fields with empty or
  4543  	// default values are omitted from API requests. See
  4544  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4545  	// details.
  4546  	ForceSendFields []string `json:"-"`
  4547  	// NullFields is a list of field names (e.g. "AllowedFailedAttempts") to
  4548  	// include in API requests with the JSON null value. By default, fields with
  4549  	// empty values are omitted from API requests. See
  4550  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4551  	NullFields []string `json:"-"`
  4552  }
  4553  
  4554  func (s *UserPasswordValidationPolicy) MarshalJSON() ([]byte, error) {
  4555  	type NoMethod UserPasswordValidationPolicy
  4556  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4557  }
  4558  
  4559  // UsersListResponse: User list response.
  4560  type UsersListResponse struct {
  4561  	// Items: List of user resources in the instance.
  4562  	Items []*User `json:"items,omitempty"`
  4563  	// Kind: This is always `sql#usersList`.
  4564  	Kind string `json:"kind,omitempty"`
  4565  	// NextPageToken: Unused.
  4566  	NextPageToken string `json:"nextPageToken,omitempty"`
  4567  
  4568  	// ServerResponse contains the HTTP response code and headers from the server.
  4569  	googleapi.ServerResponse `json:"-"`
  4570  	// ForceSendFields is a list of field names (e.g. "Items") to unconditionally
  4571  	// include in API requests. By default, fields with empty or default values are
  4572  	// omitted from API requests. See
  4573  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4574  	// details.
  4575  	ForceSendFields []string `json:"-"`
  4576  	// NullFields is a list of field names (e.g. "Items") to include in API
  4577  	// requests with the JSON null value. By default, fields with empty values are
  4578  	// omitted from API requests. See
  4579  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4580  	NullFields []string `json:"-"`
  4581  }
  4582  
  4583  func (s *UsersListResponse) MarshalJSON() ([]byte, error) {
  4584  	type NoMethod UsersListResponse
  4585  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4586  }
  4587  
  4588  type BackupRunsDeleteCall struct {
  4589  	s          *Service
  4590  	project    string
  4591  	instance   string
  4592  	id         int64
  4593  	urlParams_ gensupport.URLParams
  4594  	ctx_       context.Context
  4595  	header_    http.Header
  4596  }
  4597  
  4598  // Delete: Deletes the backup taken by a backup run.
  4599  //
  4600  //   - id: The ID of the backup run to delete. To find a backup run ID, use the
  4601  //     list
  4602  //     (https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1/backupRuns/list)
  4603  //     method.
  4604  //   - instance: Cloud SQL instance ID. This does not include the project ID.
  4605  //   - project: Project ID of the project that contains the instance.
  4606  func (r *BackupRunsService) Delete(project string, instance string, id int64) *BackupRunsDeleteCall {
  4607  	c := &BackupRunsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4608  	c.project = project
  4609  	c.instance = instance
  4610  	c.id = id
  4611  	return c
  4612  }
  4613  
  4614  // Fields allows partial responses to be retrieved. See
  4615  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4616  // details.
  4617  func (c *BackupRunsDeleteCall) Fields(s ...googleapi.Field) *BackupRunsDeleteCall {
  4618  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4619  	return c
  4620  }
  4621  
  4622  // Context sets the context to be used in this call's Do method.
  4623  func (c *BackupRunsDeleteCall) Context(ctx context.Context) *BackupRunsDeleteCall {
  4624  	c.ctx_ = ctx
  4625  	return c
  4626  }
  4627  
  4628  // Header returns a http.Header that can be modified by the caller to add
  4629  // headers to the request.
  4630  func (c *BackupRunsDeleteCall) Header() http.Header {
  4631  	if c.header_ == nil {
  4632  		c.header_ = make(http.Header)
  4633  	}
  4634  	return c.header_
  4635  }
  4636  
  4637  func (c *BackupRunsDeleteCall) doRequest(alt string) (*http.Response, error) {
  4638  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4639  	var body io.Reader = nil
  4640  	c.urlParams_.Set("alt", alt)
  4641  	c.urlParams_.Set("prettyPrint", "false")
  4642  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{project}/instances/{instance}/backupRuns/{id}")
  4643  	urls += "?" + c.urlParams_.Encode()
  4644  	req, err := http.NewRequest("DELETE", urls, body)
  4645  	if err != nil {
  4646  		return nil, err
  4647  	}
  4648  	req.Header = reqHeaders
  4649  	googleapi.Expand(req.URL, map[string]string{
  4650  		"project":  c.project,
  4651  		"instance": c.instance,
  4652  		"id":       strconv.FormatInt(c.id, 10),
  4653  	})
  4654  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4655  }
  4656  
  4657  // Do executes the "sql.backupRuns.delete" call.
  4658  // Any non-2xx status code is an error. Response headers are in either
  4659  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  4660  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  4661  // whether the returned error was because http.StatusNotModified was returned.
  4662  func (c *BackupRunsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  4663  	gensupport.SetOptions(c.urlParams_, opts...)
  4664  	res, err := c.doRequest("json")
  4665  	if res != nil && res.StatusCode == http.StatusNotModified {
  4666  		if res.Body != nil {
  4667  			res.Body.Close()
  4668  		}
  4669  		return nil, gensupport.WrapError(&googleapi.Error{
  4670  			Code:   res.StatusCode,
  4671  			Header: res.Header,
  4672  		})
  4673  	}
  4674  	if err != nil {
  4675  		return nil, err
  4676  	}
  4677  	defer googleapi.CloseBody(res)
  4678  	if err := googleapi.CheckResponse(res); err != nil {
  4679  		return nil, gensupport.WrapError(err)
  4680  	}
  4681  	ret := &Operation{
  4682  		ServerResponse: googleapi.ServerResponse{
  4683  			Header:         res.Header,
  4684  			HTTPStatusCode: res.StatusCode,
  4685  		},
  4686  	}
  4687  	target := &ret
  4688  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4689  		return nil, err
  4690  	}
  4691  	return ret, nil
  4692  }
  4693  
  4694  type BackupRunsGetCall struct {
  4695  	s            *Service
  4696  	project      string
  4697  	instance     string
  4698  	id           int64
  4699  	urlParams_   gensupport.URLParams
  4700  	ifNoneMatch_ string
  4701  	ctx_         context.Context
  4702  	header_      http.Header
  4703  }
  4704  
  4705  // Get: Retrieves a resource containing information about a backup run.
  4706  //
  4707  // - id: The ID of this backup run.
  4708  // - instance: Cloud SQL instance ID. This does not include the project ID.
  4709  // - project: Project ID of the project that contains the instance.
  4710  func (r *BackupRunsService) Get(project string, instance string, id int64) *BackupRunsGetCall {
  4711  	c := &BackupRunsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4712  	c.project = project
  4713  	c.instance = instance
  4714  	c.id = id
  4715  	return c
  4716  }
  4717  
  4718  // Fields allows partial responses to be retrieved. See
  4719  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4720  // details.
  4721  func (c *BackupRunsGetCall) Fields(s ...googleapi.Field) *BackupRunsGetCall {
  4722  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4723  	return c
  4724  }
  4725  
  4726  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  4727  // object's ETag matches the given value. This is useful for getting updates
  4728  // only after the object has changed since the last request.
  4729  func (c *BackupRunsGetCall) IfNoneMatch(entityTag string) *BackupRunsGetCall {
  4730  	c.ifNoneMatch_ = entityTag
  4731  	return c
  4732  }
  4733  
  4734  // Context sets the context to be used in this call's Do method.
  4735  func (c *BackupRunsGetCall) Context(ctx context.Context) *BackupRunsGetCall {
  4736  	c.ctx_ = ctx
  4737  	return c
  4738  }
  4739  
  4740  // Header returns a http.Header that can be modified by the caller to add
  4741  // headers to the request.
  4742  func (c *BackupRunsGetCall) Header() http.Header {
  4743  	if c.header_ == nil {
  4744  		c.header_ = make(http.Header)
  4745  	}
  4746  	return c.header_
  4747  }
  4748  
  4749  func (c *BackupRunsGetCall) doRequest(alt string) (*http.Response, error) {
  4750  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4751  	if c.ifNoneMatch_ != "" {
  4752  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  4753  	}
  4754  	var body io.Reader = nil
  4755  	c.urlParams_.Set("alt", alt)
  4756  	c.urlParams_.Set("prettyPrint", "false")
  4757  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{project}/instances/{instance}/backupRuns/{id}")
  4758  	urls += "?" + c.urlParams_.Encode()
  4759  	req, err := http.NewRequest("GET", urls, body)
  4760  	if err != nil {
  4761  		return nil, err
  4762  	}
  4763  	req.Header = reqHeaders
  4764  	googleapi.Expand(req.URL, map[string]string{
  4765  		"project":  c.project,
  4766  		"instance": c.instance,
  4767  		"id":       strconv.FormatInt(c.id, 10),
  4768  	})
  4769  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4770  }
  4771  
  4772  // Do executes the "sql.backupRuns.get" call.
  4773  // Any non-2xx status code is an error. Response headers are in either
  4774  // *BackupRun.ServerResponse.Header or (if a response was returned at all) in
  4775  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  4776  // whether the returned error was because http.StatusNotModified was returned.
  4777  func (c *BackupRunsGetCall) Do(opts ...googleapi.CallOption) (*BackupRun, error) {
  4778  	gensupport.SetOptions(c.urlParams_, opts...)
  4779  	res, err := c.doRequest("json")
  4780  	if res != nil && res.StatusCode == http.StatusNotModified {
  4781  		if res.Body != nil {
  4782  			res.Body.Close()
  4783  		}
  4784  		return nil, gensupport.WrapError(&googleapi.Error{
  4785  			Code:   res.StatusCode,
  4786  			Header: res.Header,
  4787  		})
  4788  	}
  4789  	if err != nil {
  4790  		return nil, err
  4791  	}
  4792  	defer googleapi.CloseBody(res)
  4793  	if err := googleapi.CheckResponse(res); err != nil {
  4794  		return nil, gensupport.WrapError(err)
  4795  	}
  4796  	ret := &BackupRun{
  4797  		ServerResponse: googleapi.ServerResponse{
  4798  			Header:         res.Header,
  4799  			HTTPStatusCode: res.StatusCode,
  4800  		},
  4801  	}
  4802  	target := &ret
  4803  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4804  		return nil, err
  4805  	}
  4806  	return ret, nil
  4807  }
  4808  
  4809  type BackupRunsInsertCall struct {
  4810  	s          *Service
  4811  	project    string
  4812  	instance   string
  4813  	backuprun  *BackupRun
  4814  	urlParams_ gensupport.URLParams
  4815  	ctx_       context.Context
  4816  	header_    http.Header
  4817  }
  4818  
  4819  // Insert: Creates a new backup run on demand.
  4820  //
  4821  // - instance: Cloud SQL instance ID. This does not include the project ID.
  4822  // - project: Project ID of the project that contains the instance.
  4823  func (r *BackupRunsService) Insert(project string, instance string, backuprun *BackupRun) *BackupRunsInsertCall {
  4824  	c := &BackupRunsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4825  	c.project = project
  4826  	c.instance = instance
  4827  	c.backuprun = backuprun
  4828  	return c
  4829  }
  4830  
  4831  // Fields allows partial responses to be retrieved. See
  4832  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4833  // details.
  4834  func (c *BackupRunsInsertCall) Fields(s ...googleapi.Field) *BackupRunsInsertCall {
  4835  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4836  	return c
  4837  }
  4838  
  4839  // Context sets the context to be used in this call's Do method.
  4840  func (c *BackupRunsInsertCall) Context(ctx context.Context) *BackupRunsInsertCall {
  4841  	c.ctx_ = ctx
  4842  	return c
  4843  }
  4844  
  4845  // Header returns a http.Header that can be modified by the caller to add
  4846  // headers to the request.
  4847  func (c *BackupRunsInsertCall) Header() http.Header {
  4848  	if c.header_ == nil {
  4849  		c.header_ = make(http.Header)
  4850  	}
  4851  	return c.header_
  4852  }
  4853  
  4854  func (c *BackupRunsInsertCall) doRequest(alt string) (*http.Response, error) {
  4855  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  4856  	var body io.Reader = nil
  4857  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.backuprun)
  4858  	if err != nil {
  4859  		return nil, err
  4860  	}
  4861  	c.urlParams_.Set("alt", alt)
  4862  	c.urlParams_.Set("prettyPrint", "false")
  4863  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{project}/instances/{instance}/backupRuns")
  4864  	urls += "?" + c.urlParams_.Encode()
  4865  	req, err := http.NewRequest("POST", urls, body)
  4866  	if err != nil {
  4867  		return nil, err
  4868  	}
  4869  	req.Header = reqHeaders
  4870  	googleapi.Expand(req.URL, map[string]string{
  4871  		"project":  c.project,
  4872  		"instance": c.instance,
  4873  	})
  4874  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  4875  }
  4876  
  4877  // Do executes the "sql.backupRuns.insert" call.
  4878  // Any non-2xx status code is an error. Response headers are in either
  4879  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  4880  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  4881  // whether the returned error was because http.StatusNotModified was returned.
  4882  func (c *BackupRunsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  4883  	gensupport.SetOptions(c.urlParams_, opts...)
  4884  	res, err := c.doRequest("json")
  4885  	if res != nil && res.StatusCode == http.StatusNotModified {
  4886  		if res.Body != nil {
  4887  			res.Body.Close()
  4888  		}
  4889  		return nil, gensupport.WrapError(&googleapi.Error{
  4890  			Code:   res.StatusCode,
  4891  			Header: res.Header,
  4892  		})
  4893  	}
  4894  	if err != nil {
  4895  		return nil, err
  4896  	}
  4897  	defer googleapi.CloseBody(res)
  4898  	if err := googleapi.CheckResponse(res); err != nil {
  4899  		return nil, gensupport.WrapError(err)
  4900  	}
  4901  	ret := &Operation{
  4902  		ServerResponse: googleapi.ServerResponse{
  4903  			Header:         res.Header,
  4904  			HTTPStatusCode: res.StatusCode,
  4905  		},
  4906  	}
  4907  	target := &ret
  4908  	if err := gensupport.DecodeResponse(target, res); err != nil {
  4909  		return nil, err
  4910  	}
  4911  	return ret, nil
  4912  }
  4913  
  4914  type BackupRunsListCall struct {
  4915  	s            *Service
  4916  	project      string
  4917  	instance     string
  4918  	urlParams_   gensupport.URLParams
  4919  	ifNoneMatch_ string
  4920  	ctx_         context.Context
  4921  	header_      http.Header
  4922  }
  4923  
  4924  // List: Lists all backup runs associated with the project or a given instance
  4925  // and configuration in the reverse chronological order of the backup
  4926  // initiation time.
  4927  //
  4928  //   - instance: Cloud SQL instance ID, or "-" for all instances. This does not
  4929  //     include the project ID.
  4930  //   - project: Project ID of the project that contains the instance.
  4931  func (r *BackupRunsService) List(project string, instance string) *BackupRunsListCall {
  4932  	c := &BackupRunsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  4933  	c.project = project
  4934  	c.instance = instance
  4935  	return c
  4936  }
  4937  
  4938  // MaxResults sets the optional parameter "maxResults": Maximum number of
  4939  // backup runs per response.
  4940  func (c *BackupRunsListCall) MaxResults(maxResults int64) *BackupRunsListCall {
  4941  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
  4942  	return c
  4943  }
  4944  
  4945  // PageToken sets the optional parameter "pageToken": A previously-returned
  4946  // page token representing part of the larger set of results to view.
  4947  func (c *BackupRunsListCall) PageToken(pageToken string) *BackupRunsListCall {
  4948  	c.urlParams_.Set("pageToken", pageToken)
  4949  	return c
  4950  }
  4951  
  4952  // Fields allows partial responses to be retrieved. See
  4953  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  4954  // details.
  4955  func (c *BackupRunsListCall) Fields(s ...googleapi.Field) *BackupRunsListCall {
  4956  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  4957  	return c
  4958  }
  4959  
  4960  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  4961  // object's ETag matches the given value. This is useful for getting updates
  4962  // only after the object has changed since the last request.
  4963  func (c *BackupRunsListCall) IfNoneMatch(entityTag string) *BackupRunsListCall {
  4964  	c.ifNoneMatch_ = entityTag
  4965  	return c
  4966  }
  4967  
  4968  // Context sets the context to be used in this call's Do method.
  4969  func (c *BackupRunsListCall) Context(ctx context.Context) *BackupRunsListCall {
  4970  	c.ctx_ = ctx
  4971  	return c
  4972  }
  4973  
  4974  // Header returns a http.Header that can be modified by the caller to add
  4975  // headers to the request.
  4976  func (c *BackupRunsListCall) Header() http.Header {
  4977  	if c.header_ == nil {
  4978  		c.header_ = make(http.Header)
  4979  	}
  4980  	return c.header_
  4981  }
  4982  
  4983  func (c *BackupRunsListCall) doRequest(alt string) (*http.Response, error) {
  4984  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  4985  	if c.ifNoneMatch_ != "" {
  4986  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  4987  	}
  4988  	var body io.Reader = nil
  4989  	c.urlParams_.Set("alt", alt)
  4990  	c.urlParams_.Set("prettyPrint", "false")
  4991  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{project}/instances/{instance}/backupRuns")
  4992  	urls += "?" + c.urlParams_.Encode()
  4993  	req, err := http.NewRequest("GET", urls, body)
  4994  	if err != nil {
  4995  		return nil, err
  4996  	}
  4997  	req.Header = reqHeaders
  4998  	googleapi.Expand(req.URL, map[string]string{
  4999  		"project":  c.project,
  5000  		"instance": c.instance,
  5001  	})
  5002  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5003  }
  5004  
  5005  // Do executes the "sql.backupRuns.list" call.
  5006  // Any non-2xx status code is an error. Response headers are in either
  5007  // *BackupRunsListResponse.ServerResponse.Header or (if a response was returned
  5008  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  5009  // check whether the returned error was because http.StatusNotModified was
  5010  // returned.
  5011  func (c *BackupRunsListCall) Do(opts ...googleapi.CallOption) (*BackupRunsListResponse, 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 := &BackupRunsListResponse{
  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  // Pages invokes f for each page of results.
  5044  // A non-nil error returned from f will halt the iteration.
  5045  // The provided context supersedes any context provided to the Context method.
  5046  func (c *BackupRunsListCall) Pages(ctx context.Context, f func(*BackupRunsListResponse) error) error {
  5047  	c.ctx_ = ctx
  5048  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  5049  	for {
  5050  		x, err := c.Do()
  5051  		if err != nil {
  5052  			return err
  5053  		}
  5054  		if err := f(x); err != nil {
  5055  			return err
  5056  		}
  5057  		if x.NextPageToken == "" {
  5058  			return nil
  5059  		}
  5060  		c.PageToken(x.NextPageToken)
  5061  	}
  5062  }
  5063  
  5064  type ConnectGenerateEphemeralCertCall struct {
  5065  	s                            *Service
  5066  	project                      string
  5067  	instance                     string
  5068  	generateephemeralcertrequest *GenerateEphemeralCertRequest
  5069  	urlParams_                   gensupport.URLParams
  5070  	ctx_                         context.Context
  5071  	header_                      http.Header
  5072  }
  5073  
  5074  // GenerateEphemeralCert: Generates a short-lived X509 certificate containing
  5075  // the provided public key and signed by a private key specific to the target
  5076  // instance. Users may use the certificate to authenticate as themselves when
  5077  // connecting to the database.
  5078  //
  5079  // - instance: Cloud SQL instance ID. This does not include the project ID.
  5080  // - project: Project ID of the project that contains the instance.
  5081  func (r *ConnectService) GenerateEphemeralCert(project string, instance string, generateephemeralcertrequest *GenerateEphemeralCertRequest) *ConnectGenerateEphemeralCertCall {
  5082  	c := &ConnectGenerateEphemeralCertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5083  	c.project = project
  5084  	c.instance = instance
  5085  	c.generateephemeralcertrequest = generateephemeralcertrequest
  5086  	return c
  5087  }
  5088  
  5089  // Fields allows partial responses to be retrieved. See
  5090  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5091  // details.
  5092  func (c *ConnectGenerateEphemeralCertCall) Fields(s ...googleapi.Field) *ConnectGenerateEphemeralCertCall {
  5093  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5094  	return c
  5095  }
  5096  
  5097  // Context sets the context to be used in this call's Do method.
  5098  func (c *ConnectGenerateEphemeralCertCall) Context(ctx context.Context) *ConnectGenerateEphemeralCertCall {
  5099  	c.ctx_ = ctx
  5100  	return c
  5101  }
  5102  
  5103  // Header returns a http.Header that can be modified by the caller to add
  5104  // headers to the request.
  5105  func (c *ConnectGenerateEphemeralCertCall) Header() http.Header {
  5106  	if c.header_ == nil {
  5107  		c.header_ = make(http.Header)
  5108  	}
  5109  	return c.header_
  5110  }
  5111  
  5112  func (c *ConnectGenerateEphemeralCertCall) doRequest(alt string) (*http.Response, error) {
  5113  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  5114  	var body io.Reader = nil
  5115  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.generateephemeralcertrequest)
  5116  	if err != nil {
  5117  		return nil, err
  5118  	}
  5119  	c.urlParams_.Set("alt", alt)
  5120  	c.urlParams_.Set("prettyPrint", "false")
  5121  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{project}/instances/{instance}:generateEphemeralCert")
  5122  	urls += "?" + c.urlParams_.Encode()
  5123  	req, err := http.NewRequest("POST", urls, body)
  5124  	if err != nil {
  5125  		return nil, err
  5126  	}
  5127  	req.Header = reqHeaders
  5128  	googleapi.Expand(req.URL, map[string]string{
  5129  		"project":  c.project,
  5130  		"instance": c.instance,
  5131  	})
  5132  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5133  }
  5134  
  5135  // Do executes the "sql.connect.generateEphemeral" call.
  5136  // Any non-2xx status code is an error. Response headers are in either
  5137  // *GenerateEphemeralCertResponse.ServerResponse.Header or (if a response was
  5138  // returned at all) in error.(*googleapi.Error).Header. Use
  5139  // googleapi.IsNotModified to check whether the returned error was because
  5140  // http.StatusNotModified was returned.
  5141  func (c *ConnectGenerateEphemeralCertCall) Do(opts ...googleapi.CallOption) (*GenerateEphemeralCertResponse, error) {
  5142  	gensupport.SetOptions(c.urlParams_, opts...)
  5143  	res, err := c.doRequest("json")
  5144  	if res != nil && res.StatusCode == http.StatusNotModified {
  5145  		if res.Body != nil {
  5146  			res.Body.Close()
  5147  		}
  5148  		return nil, gensupport.WrapError(&googleapi.Error{
  5149  			Code:   res.StatusCode,
  5150  			Header: res.Header,
  5151  		})
  5152  	}
  5153  	if err != nil {
  5154  		return nil, err
  5155  	}
  5156  	defer googleapi.CloseBody(res)
  5157  	if err := googleapi.CheckResponse(res); err != nil {
  5158  		return nil, gensupport.WrapError(err)
  5159  	}
  5160  	ret := &GenerateEphemeralCertResponse{
  5161  		ServerResponse: googleapi.ServerResponse{
  5162  			Header:         res.Header,
  5163  			HTTPStatusCode: res.StatusCode,
  5164  		},
  5165  	}
  5166  	target := &ret
  5167  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5168  		return nil, err
  5169  	}
  5170  	return ret, nil
  5171  }
  5172  
  5173  type ConnectGetCall struct {
  5174  	s            *Service
  5175  	project      string
  5176  	instance     string
  5177  	urlParams_   gensupport.URLParams
  5178  	ifNoneMatch_ string
  5179  	ctx_         context.Context
  5180  	header_      http.Header
  5181  }
  5182  
  5183  // Get: Retrieves connect settings about a Cloud SQL instance.
  5184  //
  5185  // - instance: Cloud SQL instance ID. This does not include the project ID.
  5186  // - project: Project ID of the project that contains the instance.
  5187  func (r *ConnectService) Get(project string, instance string) *ConnectGetCall {
  5188  	c := &ConnectGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5189  	c.project = project
  5190  	c.instance = instance
  5191  	return c
  5192  }
  5193  
  5194  // ReadTime sets the optional parameter "readTime": Optional snapshot read
  5195  // timestamp to trade freshness for performance.
  5196  func (c *ConnectGetCall) ReadTime(readTime string) *ConnectGetCall {
  5197  	c.urlParams_.Set("readTime", readTime)
  5198  	return c
  5199  }
  5200  
  5201  // Fields allows partial responses to be retrieved. See
  5202  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5203  // details.
  5204  func (c *ConnectGetCall) Fields(s ...googleapi.Field) *ConnectGetCall {
  5205  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5206  	return c
  5207  }
  5208  
  5209  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5210  // object's ETag matches the given value. This is useful for getting updates
  5211  // only after the object has changed since the last request.
  5212  func (c *ConnectGetCall) IfNoneMatch(entityTag string) *ConnectGetCall {
  5213  	c.ifNoneMatch_ = entityTag
  5214  	return c
  5215  }
  5216  
  5217  // Context sets the context to be used in this call's Do method.
  5218  func (c *ConnectGetCall) Context(ctx context.Context) *ConnectGetCall {
  5219  	c.ctx_ = ctx
  5220  	return c
  5221  }
  5222  
  5223  // Header returns a http.Header that can be modified by the caller to add
  5224  // headers to the request.
  5225  func (c *ConnectGetCall) Header() http.Header {
  5226  	if c.header_ == nil {
  5227  		c.header_ = make(http.Header)
  5228  	}
  5229  	return c.header_
  5230  }
  5231  
  5232  func (c *ConnectGetCall) doRequest(alt string) (*http.Response, error) {
  5233  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5234  	if c.ifNoneMatch_ != "" {
  5235  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5236  	}
  5237  	var body io.Reader = nil
  5238  	c.urlParams_.Set("alt", alt)
  5239  	c.urlParams_.Set("prettyPrint", "false")
  5240  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{project}/instances/{instance}/connectSettings")
  5241  	urls += "?" + c.urlParams_.Encode()
  5242  	req, err := http.NewRequest("GET", urls, body)
  5243  	if err != nil {
  5244  		return nil, err
  5245  	}
  5246  	req.Header = reqHeaders
  5247  	googleapi.Expand(req.URL, map[string]string{
  5248  		"project":  c.project,
  5249  		"instance": c.instance,
  5250  	})
  5251  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5252  }
  5253  
  5254  // Do executes the "sql.connect.get" call.
  5255  // Any non-2xx status code is an error. Response headers are in either
  5256  // *ConnectSettings.ServerResponse.Header or (if a response was returned at
  5257  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  5258  // check whether the returned error was because http.StatusNotModified was
  5259  // returned.
  5260  func (c *ConnectGetCall) Do(opts ...googleapi.CallOption) (*ConnectSettings, error) {
  5261  	gensupport.SetOptions(c.urlParams_, opts...)
  5262  	res, err := c.doRequest("json")
  5263  	if res != nil && res.StatusCode == http.StatusNotModified {
  5264  		if res.Body != nil {
  5265  			res.Body.Close()
  5266  		}
  5267  		return nil, gensupport.WrapError(&googleapi.Error{
  5268  			Code:   res.StatusCode,
  5269  			Header: res.Header,
  5270  		})
  5271  	}
  5272  	if err != nil {
  5273  		return nil, err
  5274  	}
  5275  	defer googleapi.CloseBody(res)
  5276  	if err := googleapi.CheckResponse(res); err != nil {
  5277  		return nil, gensupport.WrapError(err)
  5278  	}
  5279  	ret := &ConnectSettings{
  5280  		ServerResponse: googleapi.ServerResponse{
  5281  			Header:         res.Header,
  5282  			HTTPStatusCode: res.StatusCode,
  5283  		},
  5284  	}
  5285  	target := &ret
  5286  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5287  		return nil, err
  5288  	}
  5289  	return ret, nil
  5290  }
  5291  
  5292  type DatabasesDeleteCall struct {
  5293  	s          *Service
  5294  	project    string
  5295  	instance   string
  5296  	database   string
  5297  	urlParams_ gensupport.URLParams
  5298  	ctx_       context.Context
  5299  	header_    http.Header
  5300  }
  5301  
  5302  // Delete: Deletes a database from a Cloud SQL instance.
  5303  //
  5304  // - database: Name of the database to be deleted in the instance.
  5305  // - instance: Database instance ID. This does not include the project ID.
  5306  // - project: Project ID of the project that contains the instance.
  5307  func (r *DatabasesService) Delete(project string, instance string, database string) *DatabasesDeleteCall {
  5308  	c := &DatabasesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5309  	c.project = project
  5310  	c.instance = instance
  5311  	c.database = database
  5312  	return c
  5313  }
  5314  
  5315  // Fields allows partial responses to be retrieved. See
  5316  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5317  // details.
  5318  func (c *DatabasesDeleteCall) Fields(s ...googleapi.Field) *DatabasesDeleteCall {
  5319  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5320  	return c
  5321  }
  5322  
  5323  // Context sets the context to be used in this call's Do method.
  5324  func (c *DatabasesDeleteCall) Context(ctx context.Context) *DatabasesDeleteCall {
  5325  	c.ctx_ = ctx
  5326  	return c
  5327  }
  5328  
  5329  // Header returns a http.Header that can be modified by the caller to add
  5330  // headers to the request.
  5331  func (c *DatabasesDeleteCall) Header() http.Header {
  5332  	if c.header_ == nil {
  5333  		c.header_ = make(http.Header)
  5334  	}
  5335  	return c.header_
  5336  }
  5337  
  5338  func (c *DatabasesDeleteCall) doRequest(alt string) (*http.Response, error) {
  5339  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5340  	var body io.Reader = nil
  5341  	c.urlParams_.Set("alt", alt)
  5342  	c.urlParams_.Set("prettyPrint", "false")
  5343  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{project}/instances/{instance}/databases/{database}")
  5344  	urls += "?" + c.urlParams_.Encode()
  5345  	req, err := http.NewRequest("DELETE", urls, body)
  5346  	if err != nil {
  5347  		return nil, err
  5348  	}
  5349  	req.Header = reqHeaders
  5350  	googleapi.Expand(req.URL, map[string]string{
  5351  		"project":  c.project,
  5352  		"instance": c.instance,
  5353  		"database": c.database,
  5354  	})
  5355  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5356  }
  5357  
  5358  // Do executes the "sql.databases.delete" call.
  5359  // Any non-2xx status code is an error. Response headers are in either
  5360  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  5361  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5362  // whether the returned error was because http.StatusNotModified was returned.
  5363  func (c *DatabasesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  5364  	gensupport.SetOptions(c.urlParams_, opts...)
  5365  	res, err := c.doRequest("json")
  5366  	if res != nil && res.StatusCode == http.StatusNotModified {
  5367  		if res.Body != nil {
  5368  			res.Body.Close()
  5369  		}
  5370  		return nil, gensupport.WrapError(&googleapi.Error{
  5371  			Code:   res.StatusCode,
  5372  			Header: res.Header,
  5373  		})
  5374  	}
  5375  	if err != nil {
  5376  		return nil, err
  5377  	}
  5378  	defer googleapi.CloseBody(res)
  5379  	if err := googleapi.CheckResponse(res); err != nil {
  5380  		return nil, gensupport.WrapError(err)
  5381  	}
  5382  	ret := &Operation{
  5383  		ServerResponse: googleapi.ServerResponse{
  5384  			Header:         res.Header,
  5385  			HTTPStatusCode: res.StatusCode,
  5386  		},
  5387  	}
  5388  	target := &ret
  5389  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5390  		return nil, err
  5391  	}
  5392  	return ret, nil
  5393  }
  5394  
  5395  type DatabasesGetCall struct {
  5396  	s            *Service
  5397  	project      string
  5398  	instance     string
  5399  	database     string
  5400  	urlParams_   gensupport.URLParams
  5401  	ifNoneMatch_ string
  5402  	ctx_         context.Context
  5403  	header_      http.Header
  5404  }
  5405  
  5406  // Get: Retrieves a resource containing information about a database inside a
  5407  // Cloud SQL instance.
  5408  //
  5409  // - database: Name of the database in the instance.
  5410  // - instance: Database instance ID. This does not include the project ID.
  5411  // - project: Project ID of the project that contains the instance.
  5412  func (r *DatabasesService) Get(project string, instance string, database string) *DatabasesGetCall {
  5413  	c := &DatabasesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5414  	c.project = project
  5415  	c.instance = instance
  5416  	c.database = database
  5417  	return c
  5418  }
  5419  
  5420  // Fields allows partial responses to be retrieved. See
  5421  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5422  // details.
  5423  func (c *DatabasesGetCall) Fields(s ...googleapi.Field) *DatabasesGetCall {
  5424  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5425  	return c
  5426  }
  5427  
  5428  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5429  // object's ETag matches the given value. This is useful for getting updates
  5430  // only after the object has changed since the last request.
  5431  func (c *DatabasesGetCall) IfNoneMatch(entityTag string) *DatabasesGetCall {
  5432  	c.ifNoneMatch_ = entityTag
  5433  	return c
  5434  }
  5435  
  5436  // Context sets the context to be used in this call's Do method.
  5437  func (c *DatabasesGetCall) Context(ctx context.Context) *DatabasesGetCall {
  5438  	c.ctx_ = ctx
  5439  	return c
  5440  }
  5441  
  5442  // Header returns a http.Header that can be modified by the caller to add
  5443  // headers to the request.
  5444  func (c *DatabasesGetCall) Header() http.Header {
  5445  	if c.header_ == nil {
  5446  		c.header_ = make(http.Header)
  5447  	}
  5448  	return c.header_
  5449  }
  5450  
  5451  func (c *DatabasesGetCall) doRequest(alt string) (*http.Response, error) {
  5452  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5453  	if c.ifNoneMatch_ != "" {
  5454  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5455  	}
  5456  	var body io.Reader = nil
  5457  	c.urlParams_.Set("alt", alt)
  5458  	c.urlParams_.Set("prettyPrint", "false")
  5459  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{project}/instances/{instance}/databases/{database}")
  5460  	urls += "?" + c.urlParams_.Encode()
  5461  	req, err := http.NewRequest("GET", urls, body)
  5462  	if err != nil {
  5463  		return nil, err
  5464  	}
  5465  	req.Header = reqHeaders
  5466  	googleapi.Expand(req.URL, map[string]string{
  5467  		"project":  c.project,
  5468  		"instance": c.instance,
  5469  		"database": c.database,
  5470  	})
  5471  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5472  }
  5473  
  5474  // Do executes the "sql.databases.get" call.
  5475  // Any non-2xx status code is an error. Response headers are in either
  5476  // *Database.ServerResponse.Header or (if a response was returned at all) in
  5477  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5478  // whether the returned error was because http.StatusNotModified was returned.
  5479  func (c *DatabasesGetCall) Do(opts ...googleapi.CallOption) (*Database, error) {
  5480  	gensupport.SetOptions(c.urlParams_, opts...)
  5481  	res, err := c.doRequest("json")
  5482  	if res != nil && res.StatusCode == http.StatusNotModified {
  5483  		if res.Body != nil {
  5484  			res.Body.Close()
  5485  		}
  5486  		return nil, gensupport.WrapError(&googleapi.Error{
  5487  			Code:   res.StatusCode,
  5488  			Header: res.Header,
  5489  		})
  5490  	}
  5491  	if err != nil {
  5492  		return nil, err
  5493  	}
  5494  	defer googleapi.CloseBody(res)
  5495  	if err := googleapi.CheckResponse(res); err != nil {
  5496  		return nil, gensupport.WrapError(err)
  5497  	}
  5498  	ret := &Database{
  5499  		ServerResponse: googleapi.ServerResponse{
  5500  			Header:         res.Header,
  5501  			HTTPStatusCode: res.StatusCode,
  5502  		},
  5503  	}
  5504  	target := &ret
  5505  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5506  		return nil, err
  5507  	}
  5508  	return ret, nil
  5509  }
  5510  
  5511  type DatabasesInsertCall struct {
  5512  	s          *Service
  5513  	project    string
  5514  	instance   string
  5515  	database   *Database
  5516  	urlParams_ gensupport.URLParams
  5517  	ctx_       context.Context
  5518  	header_    http.Header
  5519  }
  5520  
  5521  // Insert: Inserts a resource containing information about a database inside a
  5522  // Cloud SQL instance. **Note:** You can't modify the default character set and
  5523  // collation.
  5524  //
  5525  // - instance: Database instance ID. This does not include the project ID.
  5526  // - project: Project ID of the project that contains the instance.
  5527  func (r *DatabasesService) Insert(project string, instance string, database *Database) *DatabasesInsertCall {
  5528  	c := &DatabasesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5529  	c.project = project
  5530  	c.instance = instance
  5531  	c.database = database
  5532  	return c
  5533  }
  5534  
  5535  // Fields allows partial responses to be retrieved. See
  5536  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5537  // details.
  5538  func (c *DatabasesInsertCall) Fields(s ...googleapi.Field) *DatabasesInsertCall {
  5539  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5540  	return c
  5541  }
  5542  
  5543  // Context sets the context to be used in this call's Do method.
  5544  func (c *DatabasesInsertCall) Context(ctx context.Context) *DatabasesInsertCall {
  5545  	c.ctx_ = ctx
  5546  	return c
  5547  }
  5548  
  5549  // Header returns a http.Header that can be modified by the caller to add
  5550  // headers to the request.
  5551  func (c *DatabasesInsertCall) Header() http.Header {
  5552  	if c.header_ == nil {
  5553  		c.header_ = make(http.Header)
  5554  	}
  5555  	return c.header_
  5556  }
  5557  
  5558  func (c *DatabasesInsertCall) doRequest(alt string) (*http.Response, error) {
  5559  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  5560  	var body io.Reader = nil
  5561  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.database)
  5562  	if err != nil {
  5563  		return nil, err
  5564  	}
  5565  	c.urlParams_.Set("alt", alt)
  5566  	c.urlParams_.Set("prettyPrint", "false")
  5567  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{project}/instances/{instance}/databases")
  5568  	urls += "?" + c.urlParams_.Encode()
  5569  	req, err := http.NewRequest("POST", urls, body)
  5570  	if err != nil {
  5571  		return nil, err
  5572  	}
  5573  	req.Header = reqHeaders
  5574  	googleapi.Expand(req.URL, map[string]string{
  5575  		"project":  c.project,
  5576  		"instance": c.instance,
  5577  	})
  5578  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5579  }
  5580  
  5581  // Do executes the "sql.databases.insert" call.
  5582  // Any non-2xx status code is an error. Response headers are in either
  5583  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  5584  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5585  // whether the returned error was because http.StatusNotModified was returned.
  5586  func (c *DatabasesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  5587  	gensupport.SetOptions(c.urlParams_, opts...)
  5588  	res, err := c.doRequest("json")
  5589  	if res != nil && res.StatusCode == http.StatusNotModified {
  5590  		if res.Body != nil {
  5591  			res.Body.Close()
  5592  		}
  5593  		return nil, gensupport.WrapError(&googleapi.Error{
  5594  			Code:   res.StatusCode,
  5595  			Header: res.Header,
  5596  		})
  5597  	}
  5598  	if err != nil {
  5599  		return nil, err
  5600  	}
  5601  	defer googleapi.CloseBody(res)
  5602  	if err := googleapi.CheckResponse(res); err != nil {
  5603  		return nil, gensupport.WrapError(err)
  5604  	}
  5605  	ret := &Operation{
  5606  		ServerResponse: googleapi.ServerResponse{
  5607  			Header:         res.Header,
  5608  			HTTPStatusCode: res.StatusCode,
  5609  		},
  5610  	}
  5611  	target := &ret
  5612  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5613  		return nil, err
  5614  	}
  5615  	return ret, nil
  5616  }
  5617  
  5618  type DatabasesListCall struct {
  5619  	s            *Service
  5620  	project      string
  5621  	instance     string
  5622  	urlParams_   gensupport.URLParams
  5623  	ifNoneMatch_ string
  5624  	ctx_         context.Context
  5625  	header_      http.Header
  5626  }
  5627  
  5628  // List: Lists databases in the specified Cloud SQL instance.
  5629  //
  5630  // - instance: Cloud SQL instance ID. This does not include the project ID.
  5631  // - project: Project ID of the project that contains the instance.
  5632  func (r *DatabasesService) List(project string, instance string) *DatabasesListCall {
  5633  	c := &DatabasesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5634  	c.project = project
  5635  	c.instance = instance
  5636  	return c
  5637  }
  5638  
  5639  // Fields allows partial responses to be retrieved. See
  5640  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5641  // details.
  5642  func (c *DatabasesListCall) Fields(s ...googleapi.Field) *DatabasesListCall {
  5643  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5644  	return c
  5645  }
  5646  
  5647  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5648  // object's ETag matches the given value. This is useful for getting updates
  5649  // only after the object has changed since the last request.
  5650  func (c *DatabasesListCall) IfNoneMatch(entityTag string) *DatabasesListCall {
  5651  	c.ifNoneMatch_ = entityTag
  5652  	return c
  5653  }
  5654  
  5655  // Context sets the context to be used in this call's Do method.
  5656  func (c *DatabasesListCall) Context(ctx context.Context) *DatabasesListCall {
  5657  	c.ctx_ = ctx
  5658  	return c
  5659  }
  5660  
  5661  // Header returns a http.Header that can be modified by the caller to add
  5662  // headers to the request.
  5663  func (c *DatabasesListCall) Header() http.Header {
  5664  	if c.header_ == nil {
  5665  		c.header_ = make(http.Header)
  5666  	}
  5667  	return c.header_
  5668  }
  5669  
  5670  func (c *DatabasesListCall) doRequest(alt string) (*http.Response, error) {
  5671  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5672  	if c.ifNoneMatch_ != "" {
  5673  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5674  	}
  5675  	var body io.Reader = nil
  5676  	c.urlParams_.Set("alt", alt)
  5677  	c.urlParams_.Set("prettyPrint", "false")
  5678  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{project}/instances/{instance}/databases")
  5679  	urls += "?" + c.urlParams_.Encode()
  5680  	req, err := http.NewRequest("GET", urls, body)
  5681  	if err != nil {
  5682  		return nil, err
  5683  	}
  5684  	req.Header = reqHeaders
  5685  	googleapi.Expand(req.URL, map[string]string{
  5686  		"project":  c.project,
  5687  		"instance": c.instance,
  5688  	})
  5689  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5690  }
  5691  
  5692  // Do executes the "sql.databases.list" call.
  5693  // Any non-2xx status code is an error. Response headers are in either
  5694  // *DatabasesListResponse.ServerResponse.Header or (if a response was returned
  5695  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  5696  // check whether the returned error was because http.StatusNotModified was
  5697  // returned.
  5698  func (c *DatabasesListCall) Do(opts ...googleapi.CallOption) (*DatabasesListResponse, error) {
  5699  	gensupport.SetOptions(c.urlParams_, opts...)
  5700  	res, err := c.doRequest("json")
  5701  	if res != nil && res.StatusCode == http.StatusNotModified {
  5702  		if res.Body != nil {
  5703  			res.Body.Close()
  5704  		}
  5705  		return nil, gensupport.WrapError(&googleapi.Error{
  5706  			Code:   res.StatusCode,
  5707  			Header: res.Header,
  5708  		})
  5709  	}
  5710  	if err != nil {
  5711  		return nil, err
  5712  	}
  5713  	defer googleapi.CloseBody(res)
  5714  	if err := googleapi.CheckResponse(res); err != nil {
  5715  		return nil, gensupport.WrapError(err)
  5716  	}
  5717  	ret := &DatabasesListResponse{
  5718  		ServerResponse: googleapi.ServerResponse{
  5719  			Header:         res.Header,
  5720  			HTTPStatusCode: res.StatusCode,
  5721  		},
  5722  	}
  5723  	target := &ret
  5724  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5725  		return nil, err
  5726  	}
  5727  	return ret, nil
  5728  }
  5729  
  5730  type DatabasesPatchCall struct {
  5731  	s          *Service
  5732  	project    string
  5733  	instance   string
  5734  	database   string
  5735  	database2  *Database
  5736  	urlParams_ gensupport.URLParams
  5737  	ctx_       context.Context
  5738  	header_    http.Header
  5739  }
  5740  
  5741  // Patch: Partially updates a resource containing information about a database
  5742  // inside a Cloud SQL instance. This method supports patch semantics.
  5743  //
  5744  // - database: Name of the database to be updated in the instance.
  5745  // - instance: Database instance ID. This does not include the project ID.
  5746  // - project: Project ID of the project that contains the instance.
  5747  func (r *DatabasesService) Patch(project string, instance string, database string, database2 *Database) *DatabasesPatchCall {
  5748  	c := &DatabasesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5749  	c.project = project
  5750  	c.instance = instance
  5751  	c.database = database
  5752  	c.database2 = database2
  5753  	return c
  5754  }
  5755  
  5756  // Fields allows partial responses to be retrieved. See
  5757  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5758  // details.
  5759  func (c *DatabasesPatchCall) Fields(s ...googleapi.Field) *DatabasesPatchCall {
  5760  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5761  	return c
  5762  }
  5763  
  5764  // Context sets the context to be used in this call's Do method.
  5765  func (c *DatabasesPatchCall) Context(ctx context.Context) *DatabasesPatchCall {
  5766  	c.ctx_ = ctx
  5767  	return c
  5768  }
  5769  
  5770  // Header returns a http.Header that can be modified by the caller to add
  5771  // headers to the request.
  5772  func (c *DatabasesPatchCall) Header() http.Header {
  5773  	if c.header_ == nil {
  5774  		c.header_ = make(http.Header)
  5775  	}
  5776  	return c.header_
  5777  }
  5778  
  5779  func (c *DatabasesPatchCall) doRequest(alt string) (*http.Response, error) {
  5780  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  5781  	var body io.Reader = nil
  5782  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.database2)
  5783  	if err != nil {
  5784  		return nil, err
  5785  	}
  5786  	c.urlParams_.Set("alt", alt)
  5787  	c.urlParams_.Set("prettyPrint", "false")
  5788  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{project}/instances/{instance}/databases/{database}")
  5789  	urls += "?" + c.urlParams_.Encode()
  5790  	req, err := http.NewRequest("PATCH", urls, body)
  5791  	if err != nil {
  5792  		return nil, err
  5793  	}
  5794  	req.Header = reqHeaders
  5795  	googleapi.Expand(req.URL, map[string]string{
  5796  		"project":  c.project,
  5797  		"instance": c.instance,
  5798  		"database": c.database,
  5799  	})
  5800  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5801  }
  5802  
  5803  // Do executes the "sql.databases.patch" call.
  5804  // Any non-2xx status code is an error. Response headers are in either
  5805  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  5806  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5807  // whether the returned error was because http.StatusNotModified was returned.
  5808  func (c *DatabasesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  5809  	gensupport.SetOptions(c.urlParams_, opts...)
  5810  	res, err := c.doRequest("json")
  5811  	if res != nil && res.StatusCode == http.StatusNotModified {
  5812  		if res.Body != nil {
  5813  			res.Body.Close()
  5814  		}
  5815  		return nil, gensupport.WrapError(&googleapi.Error{
  5816  			Code:   res.StatusCode,
  5817  			Header: res.Header,
  5818  		})
  5819  	}
  5820  	if err != nil {
  5821  		return nil, err
  5822  	}
  5823  	defer googleapi.CloseBody(res)
  5824  	if err := googleapi.CheckResponse(res); err != nil {
  5825  		return nil, gensupport.WrapError(err)
  5826  	}
  5827  	ret := &Operation{
  5828  		ServerResponse: googleapi.ServerResponse{
  5829  			Header:         res.Header,
  5830  			HTTPStatusCode: res.StatusCode,
  5831  		},
  5832  	}
  5833  	target := &ret
  5834  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5835  		return nil, err
  5836  	}
  5837  	return ret, nil
  5838  }
  5839  
  5840  type DatabasesUpdateCall struct {
  5841  	s          *Service
  5842  	project    string
  5843  	instance   string
  5844  	database   string
  5845  	database2  *Database
  5846  	urlParams_ gensupport.URLParams
  5847  	ctx_       context.Context
  5848  	header_    http.Header
  5849  }
  5850  
  5851  // Update: Updates a resource containing information about a database inside a
  5852  // Cloud SQL instance.
  5853  //
  5854  // - database: Name of the database to be updated in the instance.
  5855  // - instance: Database instance ID. This does not include the project ID.
  5856  // - project: Project ID of the project that contains the instance.
  5857  func (r *DatabasesService) Update(project string, instance string, database string, database2 *Database) *DatabasesUpdateCall {
  5858  	c := &DatabasesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5859  	c.project = project
  5860  	c.instance = instance
  5861  	c.database = database
  5862  	c.database2 = database2
  5863  	return c
  5864  }
  5865  
  5866  // Fields allows partial responses to be retrieved. See
  5867  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5868  // details.
  5869  func (c *DatabasesUpdateCall) Fields(s ...googleapi.Field) *DatabasesUpdateCall {
  5870  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5871  	return c
  5872  }
  5873  
  5874  // Context sets the context to be used in this call's Do method.
  5875  func (c *DatabasesUpdateCall) Context(ctx context.Context) *DatabasesUpdateCall {
  5876  	c.ctx_ = ctx
  5877  	return c
  5878  }
  5879  
  5880  // Header returns a http.Header that can be modified by the caller to add
  5881  // headers to the request.
  5882  func (c *DatabasesUpdateCall) Header() http.Header {
  5883  	if c.header_ == nil {
  5884  		c.header_ = make(http.Header)
  5885  	}
  5886  	return c.header_
  5887  }
  5888  
  5889  func (c *DatabasesUpdateCall) doRequest(alt string) (*http.Response, error) {
  5890  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  5891  	var body io.Reader = nil
  5892  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.database2)
  5893  	if err != nil {
  5894  		return nil, err
  5895  	}
  5896  	c.urlParams_.Set("alt", alt)
  5897  	c.urlParams_.Set("prettyPrint", "false")
  5898  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{project}/instances/{instance}/databases/{database}")
  5899  	urls += "?" + c.urlParams_.Encode()
  5900  	req, err := http.NewRequest("PUT", urls, body)
  5901  	if err != nil {
  5902  		return nil, err
  5903  	}
  5904  	req.Header = reqHeaders
  5905  	googleapi.Expand(req.URL, map[string]string{
  5906  		"project":  c.project,
  5907  		"instance": c.instance,
  5908  		"database": c.database,
  5909  	})
  5910  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5911  }
  5912  
  5913  // Do executes the "sql.databases.update" call.
  5914  // Any non-2xx status code is an error. Response headers are in either
  5915  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  5916  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5917  // whether the returned error was because http.StatusNotModified was returned.
  5918  func (c *DatabasesUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  5919  	gensupport.SetOptions(c.urlParams_, opts...)
  5920  	res, err := c.doRequest("json")
  5921  	if res != nil && res.StatusCode == http.StatusNotModified {
  5922  		if res.Body != nil {
  5923  			res.Body.Close()
  5924  		}
  5925  		return nil, gensupport.WrapError(&googleapi.Error{
  5926  			Code:   res.StatusCode,
  5927  			Header: res.Header,
  5928  		})
  5929  	}
  5930  	if err != nil {
  5931  		return nil, err
  5932  	}
  5933  	defer googleapi.CloseBody(res)
  5934  	if err := googleapi.CheckResponse(res); err != nil {
  5935  		return nil, gensupport.WrapError(err)
  5936  	}
  5937  	ret := &Operation{
  5938  		ServerResponse: googleapi.ServerResponse{
  5939  			Header:         res.Header,
  5940  			HTTPStatusCode: res.StatusCode,
  5941  		},
  5942  	}
  5943  	target := &ret
  5944  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5945  		return nil, err
  5946  	}
  5947  	return ret, nil
  5948  }
  5949  
  5950  type FlagsListCall struct {
  5951  	s            *Service
  5952  	urlParams_   gensupport.URLParams
  5953  	ifNoneMatch_ string
  5954  	ctx_         context.Context
  5955  	header_      http.Header
  5956  }
  5957  
  5958  // List: Lists all available database flags for Cloud SQL instances.
  5959  func (r *FlagsService) List() *FlagsListCall {
  5960  	c := &FlagsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5961  	return c
  5962  }
  5963  
  5964  // DatabaseVersion sets the optional parameter "databaseVersion": Database type
  5965  // and version you want to retrieve flags for. By default, this method returns
  5966  // flags for all database types and versions.
  5967  func (c *FlagsListCall) DatabaseVersion(databaseVersion string) *FlagsListCall {
  5968  	c.urlParams_.Set("databaseVersion", databaseVersion)
  5969  	return c
  5970  }
  5971  
  5972  // Fields allows partial responses to be retrieved. See
  5973  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5974  // details.
  5975  func (c *FlagsListCall) Fields(s ...googleapi.Field) *FlagsListCall {
  5976  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5977  	return c
  5978  }
  5979  
  5980  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5981  // object's ETag matches the given value. This is useful for getting updates
  5982  // only after the object has changed since the last request.
  5983  func (c *FlagsListCall) IfNoneMatch(entityTag string) *FlagsListCall {
  5984  	c.ifNoneMatch_ = entityTag
  5985  	return c
  5986  }
  5987  
  5988  // Context sets the context to be used in this call's Do method.
  5989  func (c *FlagsListCall) Context(ctx context.Context) *FlagsListCall {
  5990  	c.ctx_ = ctx
  5991  	return c
  5992  }
  5993  
  5994  // Header returns a http.Header that can be modified by the caller to add
  5995  // headers to the request.
  5996  func (c *FlagsListCall) Header() http.Header {
  5997  	if c.header_ == nil {
  5998  		c.header_ = make(http.Header)
  5999  	}
  6000  	return c.header_
  6001  }
  6002  
  6003  func (c *FlagsListCall) doRequest(alt string) (*http.Response, error) {
  6004  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6005  	if c.ifNoneMatch_ != "" {
  6006  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  6007  	}
  6008  	var body io.Reader = nil
  6009  	c.urlParams_.Set("alt", alt)
  6010  	c.urlParams_.Set("prettyPrint", "false")
  6011  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/flags")
  6012  	urls += "?" + c.urlParams_.Encode()
  6013  	req, err := http.NewRequest("GET", urls, body)
  6014  	if err != nil {
  6015  		return nil, err
  6016  	}
  6017  	req.Header = reqHeaders
  6018  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6019  }
  6020  
  6021  // Do executes the "sql.flags.list" call.
  6022  // Any non-2xx status code is an error. Response headers are in either
  6023  // *FlagsListResponse.ServerResponse.Header or (if a response was returned at
  6024  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  6025  // check whether the returned error was because http.StatusNotModified was
  6026  // returned.
  6027  func (c *FlagsListCall) Do(opts ...googleapi.CallOption) (*FlagsListResponse, error) {
  6028  	gensupport.SetOptions(c.urlParams_, opts...)
  6029  	res, err := c.doRequest("json")
  6030  	if res != nil && res.StatusCode == http.StatusNotModified {
  6031  		if res.Body != nil {
  6032  			res.Body.Close()
  6033  		}
  6034  		return nil, gensupport.WrapError(&googleapi.Error{
  6035  			Code:   res.StatusCode,
  6036  			Header: res.Header,
  6037  		})
  6038  	}
  6039  	if err != nil {
  6040  		return nil, err
  6041  	}
  6042  	defer googleapi.CloseBody(res)
  6043  	if err := googleapi.CheckResponse(res); err != nil {
  6044  		return nil, gensupport.WrapError(err)
  6045  	}
  6046  	ret := &FlagsListResponse{
  6047  		ServerResponse: googleapi.ServerResponse{
  6048  			Header:         res.Header,
  6049  			HTTPStatusCode: res.StatusCode,
  6050  		},
  6051  	}
  6052  	target := &ret
  6053  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6054  		return nil, err
  6055  	}
  6056  	return ret, nil
  6057  }
  6058  
  6059  type InstancesAcquireSsrsLeaseCall struct {
  6060  	s                                *Service
  6061  	project                          string
  6062  	instance                         string
  6063  	instancesacquiressrsleaserequest *InstancesAcquireSsrsLeaseRequest
  6064  	urlParams_                       gensupport.URLParams
  6065  	ctx_                             context.Context
  6066  	header_                          http.Header
  6067  }
  6068  
  6069  // AcquireSsrsLease: Acquire a lease for the setup of SQL Server Reporting
  6070  // Services (SSRS).
  6071  //
  6072  //   - instance: Cloud SQL instance ID. This doesn't include the project ID. It's
  6073  //     composed of lowercase letters, numbers, and hyphens, and it must start
  6074  //     with a letter. The total length must be 98 characters or less (Example:
  6075  //     instance-id).
  6076  //   - project: Project ID of the project that contains the instance (Example:
  6077  //     project-id).
  6078  func (r *InstancesService) AcquireSsrsLease(project string, instance string, instancesacquiressrsleaserequest *InstancesAcquireSsrsLeaseRequest) *InstancesAcquireSsrsLeaseCall {
  6079  	c := &InstancesAcquireSsrsLeaseCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6080  	c.project = project
  6081  	c.instance = instance
  6082  	c.instancesacquiressrsleaserequest = instancesacquiressrsleaserequest
  6083  	return c
  6084  }
  6085  
  6086  // Fields allows partial responses to be retrieved. See
  6087  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6088  // details.
  6089  func (c *InstancesAcquireSsrsLeaseCall) Fields(s ...googleapi.Field) *InstancesAcquireSsrsLeaseCall {
  6090  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6091  	return c
  6092  }
  6093  
  6094  // Context sets the context to be used in this call's Do method.
  6095  func (c *InstancesAcquireSsrsLeaseCall) Context(ctx context.Context) *InstancesAcquireSsrsLeaseCall {
  6096  	c.ctx_ = ctx
  6097  	return c
  6098  }
  6099  
  6100  // Header returns a http.Header that can be modified by the caller to add
  6101  // headers to the request.
  6102  func (c *InstancesAcquireSsrsLeaseCall) Header() http.Header {
  6103  	if c.header_ == nil {
  6104  		c.header_ = make(http.Header)
  6105  	}
  6106  	return c.header_
  6107  }
  6108  
  6109  func (c *InstancesAcquireSsrsLeaseCall) doRequest(alt string) (*http.Response, error) {
  6110  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6111  	var body io.Reader = nil
  6112  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.instancesacquiressrsleaserequest)
  6113  	if err != nil {
  6114  		return nil, err
  6115  	}
  6116  	c.urlParams_.Set("alt", alt)
  6117  	c.urlParams_.Set("prettyPrint", "false")
  6118  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{project}/instances/{instance}/acquireSsrsLease")
  6119  	urls += "?" + c.urlParams_.Encode()
  6120  	req, err := http.NewRequest("POST", urls, body)
  6121  	if err != nil {
  6122  		return nil, err
  6123  	}
  6124  	req.Header = reqHeaders
  6125  	googleapi.Expand(req.URL, map[string]string{
  6126  		"project":  c.project,
  6127  		"instance": c.instance,
  6128  	})
  6129  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6130  }
  6131  
  6132  // Do executes the "sql.instances.acquireSsrsLease" call.
  6133  // Any non-2xx status code is an error. Response headers are in either
  6134  // *SqlInstancesAcquireSsrsLeaseResponse.ServerResponse.Header or (if a
  6135  // response was returned at all) in error.(*googleapi.Error).Header. Use
  6136  // googleapi.IsNotModified to check whether the returned error was because
  6137  // http.StatusNotModified was returned.
  6138  func (c *InstancesAcquireSsrsLeaseCall) Do(opts ...googleapi.CallOption) (*SqlInstancesAcquireSsrsLeaseResponse, error) {
  6139  	gensupport.SetOptions(c.urlParams_, opts...)
  6140  	res, err := c.doRequest("json")
  6141  	if res != nil && res.StatusCode == http.StatusNotModified {
  6142  		if res.Body != nil {
  6143  			res.Body.Close()
  6144  		}
  6145  		return nil, gensupport.WrapError(&googleapi.Error{
  6146  			Code:   res.StatusCode,
  6147  			Header: res.Header,
  6148  		})
  6149  	}
  6150  	if err != nil {
  6151  		return nil, err
  6152  	}
  6153  	defer googleapi.CloseBody(res)
  6154  	if err := googleapi.CheckResponse(res); err != nil {
  6155  		return nil, gensupport.WrapError(err)
  6156  	}
  6157  	ret := &SqlInstancesAcquireSsrsLeaseResponse{
  6158  		ServerResponse: googleapi.ServerResponse{
  6159  			Header:         res.Header,
  6160  			HTTPStatusCode: res.StatusCode,
  6161  		},
  6162  	}
  6163  	target := &ret
  6164  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6165  		return nil, err
  6166  	}
  6167  	return ret, nil
  6168  }
  6169  
  6170  type InstancesAddServerCaCall struct {
  6171  	s          *Service
  6172  	project    string
  6173  	instance   string
  6174  	urlParams_ gensupport.URLParams
  6175  	ctx_       context.Context
  6176  	header_    http.Header
  6177  }
  6178  
  6179  // AddServerCa: Adds a new trusted Certificate Authority (CA) version for the
  6180  // specified instance. Required to prepare for a certificate rotation. If a CA
  6181  // version was previously added but never used in a certificate rotation, this
  6182  // operation replaces that version. There cannot be more than one CA version
  6183  // waiting to be rotated in.
  6184  //
  6185  // - instance: Cloud SQL instance ID. This does not include the project ID.
  6186  // - project: Project ID of the project that contains the instance.
  6187  func (r *InstancesService) AddServerCa(project string, instance string) *InstancesAddServerCaCall {
  6188  	c := &InstancesAddServerCaCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6189  	c.project = project
  6190  	c.instance = instance
  6191  	return c
  6192  }
  6193  
  6194  // Fields allows partial responses to be retrieved. See
  6195  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6196  // details.
  6197  func (c *InstancesAddServerCaCall) Fields(s ...googleapi.Field) *InstancesAddServerCaCall {
  6198  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6199  	return c
  6200  }
  6201  
  6202  // Context sets the context to be used in this call's Do method.
  6203  func (c *InstancesAddServerCaCall) Context(ctx context.Context) *InstancesAddServerCaCall {
  6204  	c.ctx_ = ctx
  6205  	return c
  6206  }
  6207  
  6208  // Header returns a http.Header that can be modified by the caller to add
  6209  // headers to the request.
  6210  func (c *InstancesAddServerCaCall) Header() http.Header {
  6211  	if c.header_ == nil {
  6212  		c.header_ = make(http.Header)
  6213  	}
  6214  	return c.header_
  6215  }
  6216  
  6217  func (c *InstancesAddServerCaCall) doRequest(alt string) (*http.Response, error) {
  6218  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6219  	var body io.Reader = nil
  6220  	c.urlParams_.Set("alt", alt)
  6221  	c.urlParams_.Set("prettyPrint", "false")
  6222  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{project}/instances/{instance}/addServerCa")
  6223  	urls += "?" + c.urlParams_.Encode()
  6224  	req, err := http.NewRequest("POST", urls, body)
  6225  	if err != nil {
  6226  		return nil, err
  6227  	}
  6228  	req.Header = reqHeaders
  6229  	googleapi.Expand(req.URL, map[string]string{
  6230  		"project":  c.project,
  6231  		"instance": c.instance,
  6232  	})
  6233  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6234  }
  6235  
  6236  // Do executes the "sql.instances.addServerCa" call.
  6237  // Any non-2xx status code is an error. Response headers are in either
  6238  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  6239  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6240  // whether the returned error was because http.StatusNotModified was returned.
  6241  func (c *InstancesAddServerCaCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  6242  	gensupport.SetOptions(c.urlParams_, opts...)
  6243  	res, err := c.doRequest("json")
  6244  	if res != nil && res.StatusCode == http.StatusNotModified {
  6245  		if res.Body != nil {
  6246  			res.Body.Close()
  6247  		}
  6248  		return nil, gensupport.WrapError(&googleapi.Error{
  6249  			Code:   res.StatusCode,
  6250  			Header: res.Header,
  6251  		})
  6252  	}
  6253  	if err != nil {
  6254  		return nil, err
  6255  	}
  6256  	defer googleapi.CloseBody(res)
  6257  	if err := googleapi.CheckResponse(res); err != nil {
  6258  		return nil, gensupport.WrapError(err)
  6259  	}
  6260  	ret := &Operation{
  6261  		ServerResponse: googleapi.ServerResponse{
  6262  			Header:         res.Header,
  6263  			HTTPStatusCode: res.StatusCode,
  6264  		},
  6265  	}
  6266  	target := &ret
  6267  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6268  		return nil, err
  6269  	}
  6270  	return ret, nil
  6271  }
  6272  
  6273  type InstancesCloneCall struct {
  6274  	s                     *Service
  6275  	project               string
  6276  	instance              string
  6277  	instancesclonerequest *InstancesCloneRequest
  6278  	urlParams_            gensupport.URLParams
  6279  	ctx_                  context.Context
  6280  	header_               http.Header
  6281  }
  6282  
  6283  // Clone: Creates a Cloud SQL instance as a clone of the source instance. Using
  6284  // this operation might cause your instance to restart.
  6285  //
  6286  //   - instance: The ID of the Cloud SQL instance to be cloned (source). This
  6287  //     does not include the project ID.
  6288  //   - project: Project ID of the source as well as the clone Cloud SQL instance.
  6289  func (r *InstancesService) Clone(project string, instance string, instancesclonerequest *InstancesCloneRequest) *InstancesCloneCall {
  6290  	c := &InstancesCloneCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6291  	c.project = project
  6292  	c.instance = instance
  6293  	c.instancesclonerequest = instancesclonerequest
  6294  	return c
  6295  }
  6296  
  6297  // Fields allows partial responses to be retrieved. See
  6298  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6299  // details.
  6300  func (c *InstancesCloneCall) Fields(s ...googleapi.Field) *InstancesCloneCall {
  6301  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6302  	return c
  6303  }
  6304  
  6305  // Context sets the context to be used in this call's Do method.
  6306  func (c *InstancesCloneCall) Context(ctx context.Context) *InstancesCloneCall {
  6307  	c.ctx_ = ctx
  6308  	return c
  6309  }
  6310  
  6311  // Header returns a http.Header that can be modified by the caller to add
  6312  // headers to the request.
  6313  func (c *InstancesCloneCall) Header() http.Header {
  6314  	if c.header_ == nil {
  6315  		c.header_ = make(http.Header)
  6316  	}
  6317  	return c.header_
  6318  }
  6319  
  6320  func (c *InstancesCloneCall) doRequest(alt string) (*http.Response, error) {
  6321  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6322  	var body io.Reader = nil
  6323  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.instancesclonerequest)
  6324  	if err != nil {
  6325  		return nil, err
  6326  	}
  6327  	c.urlParams_.Set("alt", alt)
  6328  	c.urlParams_.Set("prettyPrint", "false")
  6329  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{project}/instances/{instance}/clone")
  6330  	urls += "?" + c.urlParams_.Encode()
  6331  	req, err := http.NewRequest("POST", urls, body)
  6332  	if err != nil {
  6333  		return nil, err
  6334  	}
  6335  	req.Header = reqHeaders
  6336  	googleapi.Expand(req.URL, map[string]string{
  6337  		"project":  c.project,
  6338  		"instance": c.instance,
  6339  	})
  6340  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6341  }
  6342  
  6343  // Do executes the "sql.instances.clone" call.
  6344  // Any non-2xx status code is an error. Response headers are in either
  6345  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  6346  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6347  // whether the returned error was because http.StatusNotModified was returned.
  6348  func (c *InstancesCloneCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  6349  	gensupport.SetOptions(c.urlParams_, opts...)
  6350  	res, err := c.doRequest("json")
  6351  	if res != nil && res.StatusCode == http.StatusNotModified {
  6352  		if res.Body != nil {
  6353  			res.Body.Close()
  6354  		}
  6355  		return nil, gensupport.WrapError(&googleapi.Error{
  6356  			Code:   res.StatusCode,
  6357  			Header: res.Header,
  6358  		})
  6359  	}
  6360  	if err != nil {
  6361  		return nil, err
  6362  	}
  6363  	defer googleapi.CloseBody(res)
  6364  	if err := googleapi.CheckResponse(res); err != nil {
  6365  		return nil, gensupport.WrapError(err)
  6366  	}
  6367  	ret := &Operation{
  6368  		ServerResponse: googleapi.ServerResponse{
  6369  			Header:         res.Header,
  6370  			HTTPStatusCode: res.StatusCode,
  6371  		},
  6372  	}
  6373  	target := &ret
  6374  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6375  		return nil, err
  6376  	}
  6377  	return ret, nil
  6378  }
  6379  
  6380  type InstancesDeleteCall struct {
  6381  	s          *Service
  6382  	project    string
  6383  	instance   string
  6384  	urlParams_ gensupport.URLParams
  6385  	ctx_       context.Context
  6386  	header_    http.Header
  6387  }
  6388  
  6389  // Delete: Deletes a Cloud SQL instance.
  6390  //
  6391  //   - instance: Cloud SQL instance ID. This does not include the project ID.
  6392  //   - project: Project ID of the project that contains the instance to be
  6393  //     deleted.
  6394  func (r *InstancesService) Delete(project string, instance string) *InstancesDeleteCall {
  6395  	c := &InstancesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6396  	c.project = project
  6397  	c.instance = instance
  6398  	return c
  6399  }
  6400  
  6401  // Fields allows partial responses to be retrieved. See
  6402  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6403  // details.
  6404  func (c *InstancesDeleteCall) Fields(s ...googleapi.Field) *InstancesDeleteCall {
  6405  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6406  	return c
  6407  }
  6408  
  6409  // Context sets the context to be used in this call's Do method.
  6410  func (c *InstancesDeleteCall) Context(ctx context.Context) *InstancesDeleteCall {
  6411  	c.ctx_ = ctx
  6412  	return c
  6413  }
  6414  
  6415  // Header returns a http.Header that can be modified by the caller to add
  6416  // headers to the request.
  6417  func (c *InstancesDeleteCall) Header() http.Header {
  6418  	if c.header_ == nil {
  6419  		c.header_ = make(http.Header)
  6420  	}
  6421  	return c.header_
  6422  }
  6423  
  6424  func (c *InstancesDeleteCall) doRequest(alt string) (*http.Response, error) {
  6425  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6426  	var body io.Reader = nil
  6427  	c.urlParams_.Set("alt", alt)
  6428  	c.urlParams_.Set("prettyPrint", "false")
  6429  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{project}/instances/{instance}")
  6430  	urls += "?" + c.urlParams_.Encode()
  6431  	req, err := http.NewRequest("DELETE", urls, body)
  6432  	if err != nil {
  6433  		return nil, err
  6434  	}
  6435  	req.Header = reqHeaders
  6436  	googleapi.Expand(req.URL, map[string]string{
  6437  		"project":  c.project,
  6438  		"instance": c.instance,
  6439  	})
  6440  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6441  }
  6442  
  6443  // Do executes the "sql.instances.delete" call.
  6444  // Any non-2xx status code is an error. Response headers are in either
  6445  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  6446  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6447  // whether the returned error was because http.StatusNotModified was returned.
  6448  func (c *InstancesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  6449  	gensupport.SetOptions(c.urlParams_, opts...)
  6450  	res, err := c.doRequest("json")
  6451  	if res != nil && res.StatusCode == http.StatusNotModified {
  6452  		if res.Body != nil {
  6453  			res.Body.Close()
  6454  		}
  6455  		return nil, gensupport.WrapError(&googleapi.Error{
  6456  			Code:   res.StatusCode,
  6457  			Header: res.Header,
  6458  		})
  6459  	}
  6460  	if err != nil {
  6461  		return nil, err
  6462  	}
  6463  	defer googleapi.CloseBody(res)
  6464  	if err := googleapi.CheckResponse(res); err != nil {
  6465  		return nil, gensupport.WrapError(err)
  6466  	}
  6467  	ret := &Operation{
  6468  		ServerResponse: googleapi.ServerResponse{
  6469  			Header:         res.Header,
  6470  			HTTPStatusCode: res.StatusCode,
  6471  		},
  6472  	}
  6473  	target := &ret
  6474  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6475  		return nil, err
  6476  	}
  6477  	return ret, nil
  6478  }
  6479  
  6480  type InstancesDemoteCall struct {
  6481  	s                      *Service
  6482  	project                string
  6483  	instance               string
  6484  	instancesdemoterequest *InstancesDemoteRequest
  6485  	urlParams_             gensupport.URLParams
  6486  	ctx_                   context.Context
  6487  	header_                http.Header
  6488  }
  6489  
  6490  // Demote: Demotes an existing standalone instance to be a Cloud SQL read
  6491  // replica for an external database server.
  6492  //
  6493  // - instance: Cloud SQL instance name.
  6494  // - project: ID of the project that contains the instance.
  6495  func (r *InstancesService) Demote(project string, instance string, instancesdemoterequest *InstancesDemoteRequest) *InstancesDemoteCall {
  6496  	c := &InstancesDemoteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6497  	c.project = project
  6498  	c.instance = instance
  6499  	c.instancesdemoterequest = instancesdemoterequest
  6500  	return c
  6501  }
  6502  
  6503  // Fields allows partial responses to be retrieved. See
  6504  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6505  // details.
  6506  func (c *InstancesDemoteCall) Fields(s ...googleapi.Field) *InstancesDemoteCall {
  6507  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6508  	return c
  6509  }
  6510  
  6511  // Context sets the context to be used in this call's Do method.
  6512  func (c *InstancesDemoteCall) Context(ctx context.Context) *InstancesDemoteCall {
  6513  	c.ctx_ = ctx
  6514  	return c
  6515  }
  6516  
  6517  // Header returns a http.Header that can be modified by the caller to add
  6518  // headers to the request.
  6519  func (c *InstancesDemoteCall) Header() http.Header {
  6520  	if c.header_ == nil {
  6521  		c.header_ = make(http.Header)
  6522  	}
  6523  	return c.header_
  6524  }
  6525  
  6526  func (c *InstancesDemoteCall) doRequest(alt string) (*http.Response, error) {
  6527  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6528  	var body io.Reader = nil
  6529  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.instancesdemoterequest)
  6530  	if err != nil {
  6531  		return nil, err
  6532  	}
  6533  	c.urlParams_.Set("alt", alt)
  6534  	c.urlParams_.Set("prettyPrint", "false")
  6535  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{project}/instances/{instance}/demote")
  6536  	urls += "?" + c.urlParams_.Encode()
  6537  	req, err := http.NewRequest("POST", urls, body)
  6538  	if err != nil {
  6539  		return nil, err
  6540  	}
  6541  	req.Header = reqHeaders
  6542  	googleapi.Expand(req.URL, map[string]string{
  6543  		"project":  c.project,
  6544  		"instance": c.instance,
  6545  	})
  6546  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6547  }
  6548  
  6549  // Do executes the "sql.instances.demote" call.
  6550  // Any non-2xx status code is an error. Response headers are in either
  6551  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  6552  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6553  // whether the returned error was because http.StatusNotModified was returned.
  6554  func (c *InstancesDemoteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  6555  	gensupport.SetOptions(c.urlParams_, opts...)
  6556  	res, err := c.doRequest("json")
  6557  	if res != nil && res.StatusCode == http.StatusNotModified {
  6558  		if res.Body != nil {
  6559  			res.Body.Close()
  6560  		}
  6561  		return nil, gensupport.WrapError(&googleapi.Error{
  6562  			Code:   res.StatusCode,
  6563  			Header: res.Header,
  6564  		})
  6565  	}
  6566  	if err != nil {
  6567  		return nil, err
  6568  	}
  6569  	defer googleapi.CloseBody(res)
  6570  	if err := googleapi.CheckResponse(res); err != nil {
  6571  		return nil, gensupport.WrapError(err)
  6572  	}
  6573  	ret := &Operation{
  6574  		ServerResponse: googleapi.ServerResponse{
  6575  			Header:         res.Header,
  6576  			HTTPStatusCode: res.StatusCode,
  6577  		},
  6578  	}
  6579  	target := &ret
  6580  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6581  		return nil, err
  6582  	}
  6583  	return ret, nil
  6584  }
  6585  
  6586  type InstancesDemoteMasterCall struct {
  6587  	s                            *Service
  6588  	project                      string
  6589  	instance                     string
  6590  	instancesdemotemasterrequest *InstancesDemoteMasterRequest
  6591  	urlParams_                   gensupport.URLParams
  6592  	ctx_                         context.Context
  6593  	header_                      http.Header
  6594  }
  6595  
  6596  // DemoteMaster: Demotes the stand-alone instance to be a Cloud SQL read
  6597  // replica for an external database server.
  6598  //
  6599  // - instance: Cloud SQL instance name.
  6600  // - project: ID of the project that contains the instance.
  6601  func (r *InstancesService) DemoteMaster(project string, instance string, instancesdemotemasterrequest *InstancesDemoteMasterRequest) *InstancesDemoteMasterCall {
  6602  	c := &InstancesDemoteMasterCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6603  	c.project = project
  6604  	c.instance = instance
  6605  	c.instancesdemotemasterrequest = instancesdemotemasterrequest
  6606  	return c
  6607  }
  6608  
  6609  // Fields allows partial responses to be retrieved. See
  6610  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6611  // details.
  6612  func (c *InstancesDemoteMasterCall) Fields(s ...googleapi.Field) *InstancesDemoteMasterCall {
  6613  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6614  	return c
  6615  }
  6616  
  6617  // Context sets the context to be used in this call's Do method.
  6618  func (c *InstancesDemoteMasterCall) Context(ctx context.Context) *InstancesDemoteMasterCall {
  6619  	c.ctx_ = ctx
  6620  	return c
  6621  }
  6622  
  6623  // Header returns a http.Header that can be modified by the caller to add
  6624  // headers to the request.
  6625  func (c *InstancesDemoteMasterCall) Header() http.Header {
  6626  	if c.header_ == nil {
  6627  		c.header_ = make(http.Header)
  6628  	}
  6629  	return c.header_
  6630  }
  6631  
  6632  func (c *InstancesDemoteMasterCall) doRequest(alt string) (*http.Response, error) {
  6633  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6634  	var body io.Reader = nil
  6635  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.instancesdemotemasterrequest)
  6636  	if err != nil {
  6637  		return nil, err
  6638  	}
  6639  	c.urlParams_.Set("alt", alt)
  6640  	c.urlParams_.Set("prettyPrint", "false")
  6641  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{project}/instances/{instance}/demoteMaster")
  6642  	urls += "?" + c.urlParams_.Encode()
  6643  	req, err := http.NewRequest("POST", urls, body)
  6644  	if err != nil {
  6645  		return nil, err
  6646  	}
  6647  	req.Header = reqHeaders
  6648  	googleapi.Expand(req.URL, map[string]string{
  6649  		"project":  c.project,
  6650  		"instance": c.instance,
  6651  	})
  6652  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6653  }
  6654  
  6655  // Do executes the "sql.instances.demoteMaster" call.
  6656  // Any non-2xx status code is an error. Response headers are in either
  6657  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  6658  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6659  // whether the returned error was because http.StatusNotModified was returned.
  6660  func (c *InstancesDemoteMasterCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  6661  	gensupport.SetOptions(c.urlParams_, opts...)
  6662  	res, err := c.doRequest("json")
  6663  	if res != nil && res.StatusCode == http.StatusNotModified {
  6664  		if res.Body != nil {
  6665  			res.Body.Close()
  6666  		}
  6667  		return nil, gensupport.WrapError(&googleapi.Error{
  6668  			Code:   res.StatusCode,
  6669  			Header: res.Header,
  6670  		})
  6671  	}
  6672  	if err != nil {
  6673  		return nil, err
  6674  	}
  6675  	defer googleapi.CloseBody(res)
  6676  	if err := googleapi.CheckResponse(res); err != nil {
  6677  		return nil, gensupport.WrapError(err)
  6678  	}
  6679  	ret := &Operation{
  6680  		ServerResponse: googleapi.ServerResponse{
  6681  			Header:         res.Header,
  6682  			HTTPStatusCode: res.StatusCode,
  6683  		},
  6684  	}
  6685  	target := &ret
  6686  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6687  		return nil, err
  6688  	}
  6689  	return ret, nil
  6690  }
  6691  
  6692  type InstancesExportCall struct {
  6693  	s                      *Service
  6694  	project                string
  6695  	instance               string
  6696  	instancesexportrequest *InstancesExportRequest
  6697  	urlParams_             gensupport.URLParams
  6698  	ctx_                   context.Context
  6699  	header_                http.Header
  6700  }
  6701  
  6702  // Export: Exports data from a Cloud SQL instance to a Cloud Storage bucket as
  6703  // a SQL dump or CSV file.
  6704  //
  6705  //   - instance: Cloud SQL instance ID. This does not include the project ID.
  6706  //   - project: Project ID of the project that contains the instance to be
  6707  //     exported.
  6708  func (r *InstancesService) Export(project string, instance string, instancesexportrequest *InstancesExportRequest) *InstancesExportCall {
  6709  	c := &InstancesExportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6710  	c.project = project
  6711  	c.instance = instance
  6712  	c.instancesexportrequest = instancesexportrequest
  6713  	return c
  6714  }
  6715  
  6716  // Fields allows partial responses to be retrieved. See
  6717  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6718  // details.
  6719  func (c *InstancesExportCall) Fields(s ...googleapi.Field) *InstancesExportCall {
  6720  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6721  	return c
  6722  }
  6723  
  6724  // Context sets the context to be used in this call's Do method.
  6725  func (c *InstancesExportCall) Context(ctx context.Context) *InstancesExportCall {
  6726  	c.ctx_ = ctx
  6727  	return c
  6728  }
  6729  
  6730  // Header returns a http.Header that can be modified by the caller to add
  6731  // headers to the request.
  6732  func (c *InstancesExportCall) Header() http.Header {
  6733  	if c.header_ == nil {
  6734  		c.header_ = make(http.Header)
  6735  	}
  6736  	return c.header_
  6737  }
  6738  
  6739  func (c *InstancesExportCall) doRequest(alt string) (*http.Response, error) {
  6740  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6741  	var body io.Reader = nil
  6742  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.instancesexportrequest)
  6743  	if err != nil {
  6744  		return nil, err
  6745  	}
  6746  	c.urlParams_.Set("alt", alt)
  6747  	c.urlParams_.Set("prettyPrint", "false")
  6748  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{project}/instances/{instance}/export")
  6749  	urls += "?" + c.urlParams_.Encode()
  6750  	req, err := http.NewRequest("POST", urls, body)
  6751  	if err != nil {
  6752  		return nil, err
  6753  	}
  6754  	req.Header = reqHeaders
  6755  	googleapi.Expand(req.URL, map[string]string{
  6756  		"project":  c.project,
  6757  		"instance": c.instance,
  6758  	})
  6759  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6760  }
  6761  
  6762  // Do executes the "sql.instances.export" call.
  6763  // Any non-2xx status code is an error. Response headers are in either
  6764  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  6765  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6766  // whether the returned error was because http.StatusNotModified was returned.
  6767  func (c *InstancesExportCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  6768  	gensupport.SetOptions(c.urlParams_, opts...)
  6769  	res, err := c.doRequest("json")
  6770  	if res != nil && res.StatusCode == http.StatusNotModified {
  6771  		if res.Body != nil {
  6772  			res.Body.Close()
  6773  		}
  6774  		return nil, gensupport.WrapError(&googleapi.Error{
  6775  			Code:   res.StatusCode,
  6776  			Header: res.Header,
  6777  		})
  6778  	}
  6779  	if err != nil {
  6780  		return nil, err
  6781  	}
  6782  	defer googleapi.CloseBody(res)
  6783  	if err := googleapi.CheckResponse(res); err != nil {
  6784  		return nil, gensupport.WrapError(err)
  6785  	}
  6786  	ret := &Operation{
  6787  		ServerResponse: googleapi.ServerResponse{
  6788  			Header:         res.Header,
  6789  			HTTPStatusCode: res.StatusCode,
  6790  		},
  6791  	}
  6792  	target := &ret
  6793  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6794  		return nil, err
  6795  	}
  6796  	return ret, nil
  6797  }
  6798  
  6799  type InstancesFailoverCall struct {
  6800  	s                        *Service
  6801  	project                  string
  6802  	instance                 string
  6803  	instancesfailoverrequest *InstancesFailoverRequest
  6804  	urlParams_               gensupport.URLParams
  6805  	ctx_                     context.Context
  6806  	header_                  http.Header
  6807  }
  6808  
  6809  // Failover: Initiates a manual failover of a high availability (HA) primary
  6810  // instance to a standby instance, which becomes the primary instance. Users
  6811  // are then rerouted to the new primary. For more information, see the Overview
  6812  // of high availability
  6813  // (https://cloud.google.com/sql/docs/mysql/high-availability) page in the
  6814  // Cloud SQL documentation. If using Legacy HA (MySQL only), this causes the
  6815  // instance to failover to its failover replica instance.
  6816  //
  6817  // - instance: Cloud SQL instance ID. This does not include the project ID.
  6818  // - project: ID of the project that contains the read replica.
  6819  func (r *InstancesService) Failover(project string, instance string, instancesfailoverrequest *InstancesFailoverRequest) *InstancesFailoverCall {
  6820  	c := &InstancesFailoverCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6821  	c.project = project
  6822  	c.instance = instance
  6823  	c.instancesfailoverrequest = instancesfailoverrequest
  6824  	return c
  6825  }
  6826  
  6827  // Fields allows partial responses to be retrieved. See
  6828  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6829  // details.
  6830  func (c *InstancesFailoverCall) Fields(s ...googleapi.Field) *InstancesFailoverCall {
  6831  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6832  	return c
  6833  }
  6834  
  6835  // Context sets the context to be used in this call's Do method.
  6836  func (c *InstancesFailoverCall) Context(ctx context.Context) *InstancesFailoverCall {
  6837  	c.ctx_ = ctx
  6838  	return c
  6839  }
  6840  
  6841  // Header returns a http.Header that can be modified by the caller to add
  6842  // headers to the request.
  6843  func (c *InstancesFailoverCall) Header() http.Header {
  6844  	if c.header_ == nil {
  6845  		c.header_ = make(http.Header)
  6846  	}
  6847  	return c.header_
  6848  }
  6849  
  6850  func (c *InstancesFailoverCall) doRequest(alt string) (*http.Response, error) {
  6851  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6852  	var body io.Reader = nil
  6853  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.instancesfailoverrequest)
  6854  	if err != nil {
  6855  		return nil, err
  6856  	}
  6857  	c.urlParams_.Set("alt", alt)
  6858  	c.urlParams_.Set("prettyPrint", "false")
  6859  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{project}/instances/{instance}/failover")
  6860  	urls += "?" + c.urlParams_.Encode()
  6861  	req, err := http.NewRequest("POST", urls, body)
  6862  	if err != nil {
  6863  		return nil, err
  6864  	}
  6865  	req.Header = reqHeaders
  6866  	googleapi.Expand(req.URL, map[string]string{
  6867  		"project":  c.project,
  6868  		"instance": c.instance,
  6869  	})
  6870  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6871  }
  6872  
  6873  // Do executes the "sql.instances.failover" call.
  6874  // Any non-2xx status code is an error. Response headers are in either
  6875  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  6876  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6877  // whether the returned error was because http.StatusNotModified was returned.
  6878  func (c *InstancesFailoverCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  6879  	gensupport.SetOptions(c.urlParams_, opts...)
  6880  	res, err := c.doRequest("json")
  6881  	if res != nil && res.StatusCode == http.StatusNotModified {
  6882  		if res.Body != nil {
  6883  			res.Body.Close()
  6884  		}
  6885  		return nil, gensupport.WrapError(&googleapi.Error{
  6886  			Code:   res.StatusCode,
  6887  			Header: res.Header,
  6888  		})
  6889  	}
  6890  	if err != nil {
  6891  		return nil, err
  6892  	}
  6893  	defer googleapi.CloseBody(res)
  6894  	if err := googleapi.CheckResponse(res); err != nil {
  6895  		return nil, gensupport.WrapError(err)
  6896  	}
  6897  	ret := &Operation{
  6898  		ServerResponse: googleapi.ServerResponse{
  6899  			Header:         res.Header,
  6900  			HTTPStatusCode: res.StatusCode,
  6901  		},
  6902  	}
  6903  	target := &ret
  6904  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6905  		return nil, err
  6906  	}
  6907  	return ret, nil
  6908  }
  6909  
  6910  type InstancesGetCall struct {
  6911  	s            *Service
  6912  	project      string
  6913  	instance     string
  6914  	urlParams_   gensupport.URLParams
  6915  	ifNoneMatch_ string
  6916  	ctx_         context.Context
  6917  	header_      http.Header
  6918  }
  6919  
  6920  // Get: Retrieves a resource containing information about a Cloud SQL instance.
  6921  //
  6922  // - instance: Database instance ID. This does not include the project ID.
  6923  // - project: Project ID of the project that contains the instance.
  6924  func (r *InstancesService) Get(project string, instance string) *InstancesGetCall {
  6925  	c := &InstancesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6926  	c.project = project
  6927  	c.instance = instance
  6928  	return c
  6929  }
  6930  
  6931  // Fields allows partial responses to be retrieved. See
  6932  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6933  // details.
  6934  func (c *InstancesGetCall) Fields(s ...googleapi.Field) *InstancesGetCall {
  6935  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6936  	return c
  6937  }
  6938  
  6939  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  6940  // object's ETag matches the given value. This is useful for getting updates
  6941  // only after the object has changed since the last request.
  6942  func (c *InstancesGetCall) IfNoneMatch(entityTag string) *InstancesGetCall {
  6943  	c.ifNoneMatch_ = entityTag
  6944  	return c
  6945  }
  6946  
  6947  // Context sets the context to be used in this call's Do method.
  6948  func (c *InstancesGetCall) Context(ctx context.Context) *InstancesGetCall {
  6949  	c.ctx_ = ctx
  6950  	return c
  6951  }
  6952  
  6953  // Header returns a http.Header that can be modified by the caller to add
  6954  // headers to the request.
  6955  func (c *InstancesGetCall) Header() http.Header {
  6956  	if c.header_ == nil {
  6957  		c.header_ = make(http.Header)
  6958  	}
  6959  	return c.header_
  6960  }
  6961  
  6962  func (c *InstancesGetCall) doRequest(alt string) (*http.Response, error) {
  6963  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6964  	if c.ifNoneMatch_ != "" {
  6965  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  6966  	}
  6967  	var body io.Reader = nil
  6968  	c.urlParams_.Set("alt", alt)
  6969  	c.urlParams_.Set("prettyPrint", "false")
  6970  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{project}/instances/{instance}")
  6971  	urls += "?" + c.urlParams_.Encode()
  6972  	req, err := http.NewRequest("GET", urls, body)
  6973  	if err != nil {
  6974  		return nil, err
  6975  	}
  6976  	req.Header = reqHeaders
  6977  	googleapi.Expand(req.URL, map[string]string{
  6978  		"project":  c.project,
  6979  		"instance": c.instance,
  6980  	})
  6981  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6982  }
  6983  
  6984  // Do executes the "sql.instances.get" call.
  6985  // Any non-2xx status code is an error. Response headers are in either
  6986  // *DatabaseInstance.ServerResponse.Header or (if a response was returned at
  6987  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  6988  // check whether the returned error was because http.StatusNotModified was
  6989  // returned.
  6990  func (c *InstancesGetCall) Do(opts ...googleapi.CallOption) (*DatabaseInstance, error) {
  6991  	gensupport.SetOptions(c.urlParams_, opts...)
  6992  	res, err := c.doRequest("json")
  6993  	if res != nil && res.StatusCode == http.StatusNotModified {
  6994  		if res.Body != nil {
  6995  			res.Body.Close()
  6996  		}
  6997  		return nil, gensupport.WrapError(&googleapi.Error{
  6998  			Code:   res.StatusCode,
  6999  			Header: res.Header,
  7000  		})
  7001  	}
  7002  	if err != nil {
  7003  		return nil, err
  7004  	}
  7005  	defer googleapi.CloseBody(res)
  7006  	if err := googleapi.CheckResponse(res); err != nil {
  7007  		return nil, gensupport.WrapError(err)
  7008  	}
  7009  	ret := &DatabaseInstance{
  7010  		ServerResponse: googleapi.ServerResponse{
  7011  			Header:         res.Header,
  7012  			HTTPStatusCode: res.StatusCode,
  7013  		},
  7014  	}
  7015  	target := &ret
  7016  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7017  		return nil, err
  7018  	}
  7019  	return ret, nil
  7020  }
  7021  
  7022  type InstancesImportCall struct {
  7023  	s                      *Service
  7024  	project                string
  7025  	instance               string
  7026  	instancesimportrequest *InstancesImportRequest
  7027  	urlParams_             gensupport.URLParams
  7028  	ctx_                   context.Context
  7029  	header_                http.Header
  7030  }
  7031  
  7032  // Import: Imports data into a Cloud SQL instance from a SQL dump or CSV file
  7033  // in Cloud Storage.
  7034  //
  7035  // - instance: Cloud SQL instance ID. This does not include the project ID.
  7036  // - project: Project ID of the project that contains the instance.
  7037  func (r *InstancesService) Import(project string, instance string, instancesimportrequest *InstancesImportRequest) *InstancesImportCall {
  7038  	c := &InstancesImportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7039  	c.project = project
  7040  	c.instance = instance
  7041  	c.instancesimportrequest = instancesimportrequest
  7042  	return c
  7043  }
  7044  
  7045  // Fields allows partial responses to be retrieved. See
  7046  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7047  // details.
  7048  func (c *InstancesImportCall) Fields(s ...googleapi.Field) *InstancesImportCall {
  7049  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7050  	return c
  7051  }
  7052  
  7053  // Context sets the context to be used in this call's Do method.
  7054  func (c *InstancesImportCall) Context(ctx context.Context) *InstancesImportCall {
  7055  	c.ctx_ = ctx
  7056  	return c
  7057  }
  7058  
  7059  // Header returns a http.Header that can be modified by the caller to add
  7060  // headers to the request.
  7061  func (c *InstancesImportCall) Header() http.Header {
  7062  	if c.header_ == nil {
  7063  		c.header_ = make(http.Header)
  7064  	}
  7065  	return c.header_
  7066  }
  7067  
  7068  func (c *InstancesImportCall) doRequest(alt string) (*http.Response, error) {
  7069  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  7070  	var body io.Reader = nil
  7071  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.instancesimportrequest)
  7072  	if err != nil {
  7073  		return nil, err
  7074  	}
  7075  	c.urlParams_.Set("alt", alt)
  7076  	c.urlParams_.Set("prettyPrint", "false")
  7077  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{project}/instances/{instance}/import")
  7078  	urls += "?" + c.urlParams_.Encode()
  7079  	req, err := http.NewRequest("POST", urls, body)
  7080  	if err != nil {
  7081  		return nil, err
  7082  	}
  7083  	req.Header = reqHeaders
  7084  	googleapi.Expand(req.URL, map[string]string{
  7085  		"project":  c.project,
  7086  		"instance": c.instance,
  7087  	})
  7088  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7089  }
  7090  
  7091  // Do executes the "sql.instances.import" call.
  7092  // Any non-2xx status code is an error. Response headers are in either
  7093  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  7094  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7095  // whether the returned error was because http.StatusNotModified was returned.
  7096  func (c *InstancesImportCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  7097  	gensupport.SetOptions(c.urlParams_, opts...)
  7098  	res, err := c.doRequest("json")
  7099  	if res != nil && res.StatusCode == http.StatusNotModified {
  7100  		if res.Body != nil {
  7101  			res.Body.Close()
  7102  		}
  7103  		return nil, gensupport.WrapError(&googleapi.Error{
  7104  			Code:   res.StatusCode,
  7105  			Header: res.Header,
  7106  		})
  7107  	}
  7108  	if err != nil {
  7109  		return nil, err
  7110  	}
  7111  	defer googleapi.CloseBody(res)
  7112  	if err := googleapi.CheckResponse(res); err != nil {
  7113  		return nil, gensupport.WrapError(err)
  7114  	}
  7115  	ret := &Operation{
  7116  		ServerResponse: googleapi.ServerResponse{
  7117  			Header:         res.Header,
  7118  			HTTPStatusCode: res.StatusCode,
  7119  		},
  7120  	}
  7121  	target := &ret
  7122  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7123  		return nil, err
  7124  	}
  7125  	return ret, nil
  7126  }
  7127  
  7128  type InstancesInsertCall struct {
  7129  	s                *Service
  7130  	project          string
  7131  	databaseinstance *DatabaseInstance
  7132  	urlParams_       gensupport.URLParams
  7133  	ctx_             context.Context
  7134  	header_          http.Header
  7135  }
  7136  
  7137  // Insert: Creates a new Cloud SQL instance.
  7138  //
  7139  //   - project: Project ID of the project to which the newly created Cloud SQL
  7140  //     instances should belong.
  7141  func (r *InstancesService) Insert(project string, databaseinstance *DatabaseInstance) *InstancesInsertCall {
  7142  	c := &InstancesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7143  	c.project = project
  7144  	c.databaseinstance = databaseinstance
  7145  	return c
  7146  }
  7147  
  7148  // Fields allows partial responses to be retrieved. See
  7149  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7150  // details.
  7151  func (c *InstancesInsertCall) Fields(s ...googleapi.Field) *InstancesInsertCall {
  7152  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7153  	return c
  7154  }
  7155  
  7156  // Context sets the context to be used in this call's Do method.
  7157  func (c *InstancesInsertCall) Context(ctx context.Context) *InstancesInsertCall {
  7158  	c.ctx_ = ctx
  7159  	return c
  7160  }
  7161  
  7162  // Header returns a http.Header that can be modified by the caller to add
  7163  // headers to the request.
  7164  func (c *InstancesInsertCall) Header() http.Header {
  7165  	if c.header_ == nil {
  7166  		c.header_ = make(http.Header)
  7167  	}
  7168  	return c.header_
  7169  }
  7170  
  7171  func (c *InstancesInsertCall) doRequest(alt string) (*http.Response, error) {
  7172  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  7173  	var body io.Reader = nil
  7174  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.databaseinstance)
  7175  	if err != nil {
  7176  		return nil, err
  7177  	}
  7178  	c.urlParams_.Set("alt", alt)
  7179  	c.urlParams_.Set("prettyPrint", "false")
  7180  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{project}/instances")
  7181  	urls += "?" + c.urlParams_.Encode()
  7182  	req, err := http.NewRequest("POST", urls, body)
  7183  	if err != nil {
  7184  		return nil, err
  7185  	}
  7186  	req.Header = reqHeaders
  7187  	googleapi.Expand(req.URL, map[string]string{
  7188  		"project": c.project,
  7189  	})
  7190  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7191  }
  7192  
  7193  // Do executes the "sql.instances.insert" call.
  7194  // Any non-2xx status code is an error. Response headers are in either
  7195  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  7196  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7197  // whether the returned error was because http.StatusNotModified was returned.
  7198  func (c *InstancesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  7199  	gensupport.SetOptions(c.urlParams_, opts...)
  7200  	res, err := c.doRequest("json")
  7201  	if res != nil && res.StatusCode == http.StatusNotModified {
  7202  		if res.Body != nil {
  7203  			res.Body.Close()
  7204  		}
  7205  		return nil, gensupport.WrapError(&googleapi.Error{
  7206  			Code:   res.StatusCode,
  7207  			Header: res.Header,
  7208  		})
  7209  	}
  7210  	if err != nil {
  7211  		return nil, err
  7212  	}
  7213  	defer googleapi.CloseBody(res)
  7214  	if err := googleapi.CheckResponse(res); err != nil {
  7215  		return nil, gensupport.WrapError(err)
  7216  	}
  7217  	ret := &Operation{
  7218  		ServerResponse: googleapi.ServerResponse{
  7219  			Header:         res.Header,
  7220  			HTTPStatusCode: res.StatusCode,
  7221  		},
  7222  	}
  7223  	target := &ret
  7224  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7225  		return nil, err
  7226  	}
  7227  	return ret, nil
  7228  }
  7229  
  7230  type InstancesListCall struct {
  7231  	s            *Service
  7232  	project      string
  7233  	urlParams_   gensupport.URLParams
  7234  	ifNoneMatch_ string
  7235  	ctx_         context.Context
  7236  	header_      http.Header
  7237  }
  7238  
  7239  // List: Lists instances under a given project.
  7240  //
  7241  // - project: Project ID of the project for which to list Cloud SQL instances.
  7242  func (r *InstancesService) List(project string) *InstancesListCall {
  7243  	c := &InstancesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7244  	c.project = project
  7245  	return c
  7246  }
  7247  
  7248  // Filter sets the optional parameter "filter": A filter expression that
  7249  // filters resources listed in the response. The expression is in the form of
  7250  // field:value. For example, 'instanceType:CLOUD_SQL_INSTANCE'. Fields can be
  7251  // nested as needed as per their JSON representation, such as
  7252  // 'settings.userLabels.auto_start:true'. Multiple filter queries are
  7253  // space-separated. For example. 'state:RUNNABLE
  7254  // instanceType:CLOUD_SQL_INSTANCE'. By default, each expression is an AND
  7255  // expression. However, you can include AND and OR expressions explicitly.
  7256  func (c *InstancesListCall) Filter(filter string) *InstancesListCall {
  7257  	c.urlParams_.Set("filter", filter)
  7258  	return c
  7259  }
  7260  
  7261  // MaxResults sets the optional parameter "maxResults": The maximum number of
  7262  // instances to return. The service may return fewer than this value. If
  7263  // unspecified, at most 500 instances are returned. The maximum value is 1000;
  7264  // values above 1000 are coerced to 1000.
  7265  func (c *InstancesListCall) MaxResults(maxResults int64) *InstancesListCall {
  7266  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
  7267  	return c
  7268  }
  7269  
  7270  // PageToken sets the optional parameter "pageToken": A previously-returned
  7271  // page token representing part of the larger set of results to view.
  7272  func (c *InstancesListCall) PageToken(pageToken string) *InstancesListCall {
  7273  	c.urlParams_.Set("pageToken", pageToken)
  7274  	return c
  7275  }
  7276  
  7277  // Fields allows partial responses to be retrieved. See
  7278  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7279  // details.
  7280  func (c *InstancesListCall) Fields(s ...googleapi.Field) *InstancesListCall {
  7281  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7282  	return c
  7283  }
  7284  
  7285  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  7286  // object's ETag matches the given value. This is useful for getting updates
  7287  // only after the object has changed since the last request.
  7288  func (c *InstancesListCall) IfNoneMatch(entityTag string) *InstancesListCall {
  7289  	c.ifNoneMatch_ = entityTag
  7290  	return c
  7291  }
  7292  
  7293  // Context sets the context to be used in this call's Do method.
  7294  func (c *InstancesListCall) Context(ctx context.Context) *InstancesListCall {
  7295  	c.ctx_ = ctx
  7296  	return c
  7297  }
  7298  
  7299  // Header returns a http.Header that can be modified by the caller to add
  7300  // headers to the request.
  7301  func (c *InstancesListCall) Header() http.Header {
  7302  	if c.header_ == nil {
  7303  		c.header_ = make(http.Header)
  7304  	}
  7305  	return c.header_
  7306  }
  7307  
  7308  func (c *InstancesListCall) doRequest(alt string) (*http.Response, error) {
  7309  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7310  	if c.ifNoneMatch_ != "" {
  7311  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  7312  	}
  7313  	var body io.Reader = nil
  7314  	c.urlParams_.Set("alt", alt)
  7315  	c.urlParams_.Set("prettyPrint", "false")
  7316  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{project}/instances")
  7317  	urls += "?" + c.urlParams_.Encode()
  7318  	req, err := http.NewRequest("GET", urls, body)
  7319  	if err != nil {
  7320  		return nil, err
  7321  	}
  7322  	req.Header = reqHeaders
  7323  	googleapi.Expand(req.URL, map[string]string{
  7324  		"project": c.project,
  7325  	})
  7326  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7327  }
  7328  
  7329  // Do executes the "sql.instances.list" call.
  7330  // Any non-2xx status code is an error. Response headers are in either
  7331  // *InstancesListResponse.ServerResponse.Header or (if a response was returned
  7332  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  7333  // check whether the returned error was because http.StatusNotModified was
  7334  // returned.
  7335  func (c *InstancesListCall) Do(opts ...googleapi.CallOption) (*InstancesListResponse, error) {
  7336  	gensupport.SetOptions(c.urlParams_, opts...)
  7337  	res, err := c.doRequest("json")
  7338  	if res != nil && res.StatusCode == http.StatusNotModified {
  7339  		if res.Body != nil {
  7340  			res.Body.Close()
  7341  		}
  7342  		return nil, gensupport.WrapError(&googleapi.Error{
  7343  			Code:   res.StatusCode,
  7344  			Header: res.Header,
  7345  		})
  7346  	}
  7347  	if err != nil {
  7348  		return nil, err
  7349  	}
  7350  	defer googleapi.CloseBody(res)
  7351  	if err := googleapi.CheckResponse(res); err != nil {
  7352  		return nil, gensupport.WrapError(err)
  7353  	}
  7354  	ret := &InstancesListResponse{
  7355  		ServerResponse: googleapi.ServerResponse{
  7356  			Header:         res.Header,
  7357  			HTTPStatusCode: res.StatusCode,
  7358  		},
  7359  	}
  7360  	target := &ret
  7361  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7362  		return nil, err
  7363  	}
  7364  	return ret, nil
  7365  }
  7366  
  7367  // Pages invokes f for each page of results.
  7368  // A non-nil error returned from f will halt the iteration.
  7369  // The provided context supersedes any context provided to the Context method.
  7370  func (c *InstancesListCall) Pages(ctx context.Context, f func(*InstancesListResponse) error) error {
  7371  	c.ctx_ = ctx
  7372  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  7373  	for {
  7374  		x, err := c.Do()
  7375  		if err != nil {
  7376  			return err
  7377  		}
  7378  		if err := f(x); err != nil {
  7379  			return err
  7380  		}
  7381  		if x.NextPageToken == "" {
  7382  			return nil
  7383  		}
  7384  		c.PageToken(x.NextPageToken)
  7385  	}
  7386  }
  7387  
  7388  type InstancesListServerCasCall struct {
  7389  	s            *Service
  7390  	project      string
  7391  	instance     string
  7392  	urlParams_   gensupport.URLParams
  7393  	ifNoneMatch_ string
  7394  	ctx_         context.Context
  7395  	header_      http.Header
  7396  }
  7397  
  7398  // ListServerCas: Lists all of the trusted Certificate Authorities (CAs) for
  7399  // the specified instance. There can be up to three CAs listed: the CA that was
  7400  // used to sign the certificate that is currently in use, a CA that has been
  7401  // added but not yet used to sign a certificate, and a CA used to sign a
  7402  // certificate that has previously rotated out.
  7403  //
  7404  // - instance: Cloud SQL instance ID. This does not include the project ID.
  7405  // - project: Project ID of the project that contains the instance.
  7406  func (r *InstancesService) ListServerCas(project string, instance string) *InstancesListServerCasCall {
  7407  	c := &InstancesListServerCasCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7408  	c.project = project
  7409  	c.instance = instance
  7410  	return c
  7411  }
  7412  
  7413  // Fields allows partial responses to be retrieved. See
  7414  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7415  // details.
  7416  func (c *InstancesListServerCasCall) Fields(s ...googleapi.Field) *InstancesListServerCasCall {
  7417  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7418  	return c
  7419  }
  7420  
  7421  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  7422  // object's ETag matches the given value. This is useful for getting updates
  7423  // only after the object has changed since the last request.
  7424  func (c *InstancesListServerCasCall) IfNoneMatch(entityTag string) *InstancesListServerCasCall {
  7425  	c.ifNoneMatch_ = entityTag
  7426  	return c
  7427  }
  7428  
  7429  // Context sets the context to be used in this call's Do method.
  7430  func (c *InstancesListServerCasCall) Context(ctx context.Context) *InstancesListServerCasCall {
  7431  	c.ctx_ = ctx
  7432  	return c
  7433  }
  7434  
  7435  // Header returns a http.Header that can be modified by the caller to add
  7436  // headers to the request.
  7437  func (c *InstancesListServerCasCall) Header() http.Header {
  7438  	if c.header_ == nil {
  7439  		c.header_ = make(http.Header)
  7440  	}
  7441  	return c.header_
  7442  }
  7443  
  7444  func (c *InstancesListServerCasCall) doRequest(alt string) (*http.Response, error) {
  7445  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7446  	if c.ifNoneMatch_ != "" {
  7447  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  7448  	}
  7449  	var body io.Reader = nil
  7450  	c.urlParams_.Set("alt", alt)
  7451  	c.urlParams_.Set("prettyPrint", "false")
  7452  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{project}/instances/{instance}/listServerCas")
  7453  	urls += "?" + c.urlParams_.Encode()
  7454  	req, err := http.NewRequest("GET", urls, body)
  7455  	if err != nil {
  7456  		return nil, err
  7457  	}
  7458  	req.Header = reqHeaders
  7459  	googleapi.Expand(req.URL, map[string]string{
  7460  		"project":  c.project,
  7461  		"instance": c.instance,
  7462  	})
  7463  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7464  }
  7465  
  7466  // Do executes the "sql.instances.listServerCas" call.
  7467  // Any non-2xx status code is an error. Response headers are in either
  7468  // *InstancesListServerCasResponse.ServerResponse.Header or (if a response was
  7469  // returned at all) in error.(*googleapi.Error).Header. Use
  7470  // googleapi.IsNotModified to check whether the returned error was because
  7471  // http.StatusNotModified was returned.
  7472  func (c *InstancesListServerCasCall) Do(opts ...googleapi.CallOption) (*InstancesListServerCasResponse, error) {
  7473  	gensupport.SetOptions(c.urlParams_, opts...)
  7474  	res, err := c.doRequest("json")
  7475  	if res != nil && res.StatusCode == http.StatusNotModified {
  7476  		if res.Body != nil {
  7477  			res.Body.Close()
  7478  		}
  7479  		return nil, gensupport.WrapError(&googleapi.Error{
  7480  			Code:   res.StatusCode,
  7481  			Header: res.Header,
  7482  		})
  7483  	}
  7484  	if err != nil {
  7485  		return nil, err
  7486  	}
  7487  	defer googleapi.CloseBody(res)
  7488  	if err := googleapi.CheckResponse(res); err != nil {
  7489  		return nil, gensupport.WrapError(err)
  7490  	}
  7491  	ret := &InstancesListServerCasResponse{
  7492  		ServerResponse: googleapi.ServerResponse{
  7493  			Header:         res.Header,
  7494  			HTTPStatusCode: res.StatusCode,
  7495  		},
  7496  	}
  7497  	target := &ret
  7498  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7499  		return nil, err
  7500  	}
  7501  	return ret, nil
  7502  }
  7503  
  7504  type InstancesPatchCall struct {
  7505  	s                *Service
  7506  	project          string
  7507  	instance         string
  7508  	databaseinstance *DatabaseInstance
  7509  	urlParams_       gensupport.URLParams
  7510  	ctx_             context.Context
  7511  	header_          http.Header
  7512  }
  7513  
  7514  // Patch: Partially updates settings of a Cloud SQL instance by merging the
  7515  // request with the current configuration. This method supports patch
  7516  // semantics.
  7517  //
  7518  // - instance: Cloud SQL instance ID. This does not include the project ID.
  7519  // - project: Project ID of the project that contains the instance.
  7520  func (r *InstancesService) Patch(project string, instance string, databaseinstance *DatabaseInstance) *InstancesPatchCall {
  7521  	c := &InstancesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7522  	c.project = project
  7523  	c.instance = instance
  7524  	c.databaseinstance = databaseinstance
  7525  	return c
  7526  }
  7527  
  7528  // Fields allows partial responses to be retrieved. See
  7529  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7530  // details.
  7531  func (c *InstancesPatchCall) Fields(s ...googleapi.Field) *InstancesPatchCall {
  7532  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7533  	return c
  7534  }
  7535  
  7536  // Context sets the context to be used in this call's Do method.
  7537  func (c *InstancesPatchCall) Context(ctx context.Context) *InstancesPatchCall {
  7538  	c.ctx_ = ctx
  7539  	return c
  7540  }
  7541  
  7542  // Header returns a http.Header that can be modified by the caller to add
  7543  // headers to the request.
  7544  func (c *InstancesPatchCall) Header() http.Header {
  7545  	if c.header_ == nil {
  7546  		c.header_ = make(http.Header)
  7547  	}
  7548  	return c.header_
  7549  }
  7550  
  7551  func (c *InstancesPatchCall) doRequest(alt string) (*http.Response, error) {
  7552  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  7553  	var body io.Reader = nil
  7554  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.databaseinstance)
  7555  	if err != nil {
  7556  		return nil, err
  7557  	}
  7558  	c.urlParams_.Set("alt", alt)
  7559  	c.urlParams_.Set("prettyPrint", "false")
  7560  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{project}/instances/{instance}")
  7561  	urls += "?" + c.urlParams_.Encode()
  7562  	req, err := http.NewRequest("PATCH", urls, body)
  7563  	if err != nil {
  7564  		return nil, err
  7565  	}
  7566  	req.Header = reqHeaders
  7567  	googleapi.Expand(req.URL, map[string]string{
  7568  		"project":  c.project,
  7569  		"instance": c.instance,
  7570  	})
  7571  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7572  }
  7573  
  7574  // Do executes the "sql.instances.patch" call.
  7575  // Any non-2xx status code is an error. Response headers are in either
  7576  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  7577  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7578  // whether the returned error was because http.StatusNotModified was returned.
  7579  func (c *InstancesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  7580  	gensupport.SetOptions(c.urlParams_, opts...)
  7581  	res, err := c.doRequest("json")
  7582  	if res != nil && res.StatusCode == http.StatusNotModified {
  7583  		if res.Body != nil {
  7584  			res.Body.Close()
  7585  		}
  7586  		return nil, gensupport.WrapError(&googleapi.Error{
  7587  			Code:   res.StatusCode,
  7588  			Header: res.Header,
  7589  		})
  7590  	}
  7591  	if err != nil {
  7592  		return nil, err
  7593  	}
  7594  	defer googleapi.CloseBody(res)
  7595  	if err := googleapi.CheckResponse(res); err != nil {
  7596  		return nil, gensupport.WrapError(err)
  7597  	}
  7598  	ret := &Operation{
  7599  		ServerResponse: googleapi.ServerResponse{
  7600  			Header:         res.Header,
  7601  			HTTPStatusCode: res.StatusCode,
  7602  		},
  7603  	}
  7604  	target := &ret
  7605  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7606  		return nil, err
  7607  	}
  7608  	return ret, nil
  7609  }
  7610  
  7611  type InstancesPromoteReplicaCall struct {
  7612  	s          *Service
  7613  	project    string
  7614  	instance   string
  7615  	urlParams_ gensupport.URLParams
  7616  	ctx_       context.Context
  7617  	header_    http.Header
  7618  }
  7619  
  7620  // PromoteReplica: Promotes the read replica instance to be an independent
  7621  // Cloud SQL primary instance. Using this operation might cause your instance
  7622  // to restart.
  7623  //
  7624  // - instance: Cloud SQL read replica instance name.
  7625  // - project: ID of the project that contains the read replica.
  7626  func (r *InstancesService) PromoteReplica(project string, instance string) *InstancesPromoteReplicaCall {
  7627  	c := &InstancesPromoteReplicaCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7628  	c.project = project
  7629  	c.instance = instance
  7630  	return c
  7631  }
  7632  
  7633  // Failover sets the optional parameter "failover": Set to true to invoke a
  7634  // replica failover to the designated DR replica. As part of replica failover,
  7635  // the promote operation attempts to add the original primary instance as a
  7636  // replica of the promoted DR replica when the original primary instance comes
  7637  // back online. If set to false or not specified, then the original primary
  7638  // instance becomes an independent Cloud SQL primary instance. Only applicable
  7639  // to MySQL.
  7640  func (c *InstancesPromoteReplicaCall) Failover(failover bool) *InstancesPromoteReplicaCall {
  7641  	c.urlParams_.Set("failover", fmt.Sprint(failover))
  7642  	return c
  7643  }
  7644  
  7645  // Fields allows partial responses to be retrieved. See
  7646  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7647  // details.
  7648  func (c *InstancesPromoteReplicaCall) Fields(s ...googleapi.Field) *InstancesPromoteReplicaCall {
  7649  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7650  	return c
  7651  }
  7652  
  7653  // Context sets the context to be used in this call's Do method.
  7654  func (c *InstancesPromoteReplicaCall) Context(ctx context.Context) *InstancesPromoteReplicaCall {
  7655  	c.ctx_ = ctx
  7656  	return c
  7657  }
  7658  
  7659  // Header returns a http.Header that can be modified by the caller to add
  7660  // headers to the request.
  7661  func (c *InstancesPromoteReplicaCall) Header() http.Header {
  7662  	if c.header_ == nil {
  7663  		c.header_ = make(http.Header)
  7664  	}
  7665  	return c.header_
  7666  }
  7667  
  7668  func (c *InstancesPromoteReplicaCall) doRequest(alt string) (*http.Response, error) {
  7669  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7670  	var body io.Reader = nil
  7671  	c.urlParams_.Set("alt", alt)
  7672  	c.urlParams_.Set("prettyPrint", "false")
  7673  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{project}/instances/{instance}/promoteReplica")
  7674  	urls += "?" + c.urlParams_.Encode()
  7675  	req, err := http.NewRequest("POST", urls, body)
  7676  	if err != nil {
  7677  		return nil, err
  7678  	}
  7679  	req.Header = reqHeaders
  7680  	googleapi.Expand(req.URL, map[string]string{
  7681  		"project":  c.project,
  7682  		"instance": c.instance,
  7683  	})
  7684  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7685  }
  7686  
  7687  // Do executes the "sql.instances.promoteReplica" call.
  7688  // Any non-2xx status code is an error. Response headers are in either
  7689  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  7690  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7691  // whether the returned error was because http.StatusNotModified was returned.
  7692  func (c *InstancesPromoteReplicaCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  7693  	gensupport.SetOptions(c.urlParams_, opts...)
  7694  	res, err := c.doRequest("json")
  7695  	if res != nil && res.StatusCode == http.StatusNotModified {
  7696  		if res.Body != nil {
  7697  			res.Body.Close()
  7698  		}
  7699  		return nil, gensupport.WrapError(&googleapi.Error{
  7700  			Code:   res.StatusCode,
  7701  			Header: res.Header,
  7702  		})
  7703  	}
  7704  	if err != nil {
  7705  		return nil, err
  7706  	}
  7707  	defer googleapi.CloseBody(res)
  7708  	if err := googleapi.CheckResponse(res); err != nil {
  7709  		return nil, gensupport.WrapError(err)
  7710  	}
  7711  	ret := &Operation{
  7712  		ServerResponse: googleapi.ServerResponse{
  7713  			Header:         res.Header,
  7714  			HTTPStatusCode: res.StatusCode,
  7715  		},
  7716  	}
  7717  	target := &ret
  7718  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7719  		return nil, err
  7720  	}
  7721  	return ret, nil
  7722  }
  7723  
  7724  type InstancesReencryptCall struct {
  7725  	s                         *Service
  7726  	project                   string
  7727  	instance                  string
  7728  	instancesreencryptrequest *InstancesReencryptRequest
  7729  	urlParams_                gensupport.URLParams
  7730  	ctx_                      context.Context
  7731  	header_                   http.Header
  7732  }
  7733  
  7734  // Reencrypt: Reencrypt CMEK instance with latest key version.
  7735  //
  7736  // - instance: Cloud SQL instance ID. This does not include the project ID.
  7737  // - project: ID of the project that contains the instance.
  7738  func (r *InstancesService) Reencrypt(project string, instance string, instancesreencryptrequest *InstancesReencryptRequest) *InstancesReencryptCall {
  7739  	c := &InstancesReencryptCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7740  	c.project = project
  7741  	c.instance = instance
  7742  	c.instancesreencryptrequest = instancesreencryptrequest
  7743  	return c
  7744  }
  7745  
  7746  // Fields allows partial responses to be retrieved. See
  7747  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7748  // details.
  7749  func (c *InstancesReencryptCall) Fields(s ...googleapi.Field) *InstancesReencryptCall {
  7750  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7751  	return c
  7752  }
  7753  
  7754  // Context sets the context to be used in this call's Do method.
  7755  func (c *InstancesReencryptCall) Context(ctx context.Context) *InstancesReencryptCall {
  7756  	c.ctx_ = ctx
  7757  	return c
  7758  }
  7759  
  7760  // Header returns a http.Header that can be modified by the caller to add
  7761  // headers to the request.
  7762  func (c *InstancesReencryptCall) Header() http.Header {
  7763  	if c.header_ == nil {
  7764  		c.header_ = make(http.Header)
  7765  	}
  7766  	return c.header_
  7767  }
  7768  
  7769  func (c *InstancesReencryptCall) doRequest(alt string) (*http.Response, error) {
  7770  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  7771  	var body io.Reader = nil
  7772  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.instancesreencryptrequest)
  7773  	if err != nil {
  7774  		return nil, err
  7775  	}
  7776  	c.urlParams_.Set("alt", alt)
  7777  	c.urlParams_.Set("prettyPrint", "false")
  7778  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{project}/instances/{instance}/reencrypt")
  7779  	urls += "?" + c.urlParams_.Encode()
  7780  	req, err := http.NewRequest("POST", urls, body)
  7781  	if err != nil {
  7782  		return nil, err
  7783  	}
  7784  	req.Header = reqHeaders
  7785  	googleapi.Expand(req.URL, map[string]string{
  7786  		"project":  c.project,
  7787  		"instance": c.instance,
  7788  	})
  7789  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7790  }
  7791  
  7792  // Do executes the "sql.instances.reencrypt" call.
  7793  // Any non-2xx status code is an error. Response headers are in either
  7794  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  7795  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7796  // whether the returned error was because http.StatusNotModified was returned.
  7797  func (c *InstancesReencryptCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  7798  	gensupport.SetOptions(c.urlParams_, opts...)
  7799  	res, err := c.doRequest("json")
  7800  	if res != nil && res.StatusCode == http.StatusNotModified {
  7801  		if res.Body != nil {
  7802  			res.Body.Close()
  7803  		}
  7804  		return nil, gensupport.WrapError(&googleapi.Error{
  7805  			Code:   res.StatusCode,
  7806  			Header: res.Header,
  7807  		})
  7808  	}
  7809  	if err != nil {
  7810  		return nil, err
  7811  	}
  7812  	defer googleapi.CloseBody(res)
  7813  	if err := googleapi.CheckResponse(res); err != nil {
  7814  		return nil, gensupport.WrapError(err)
  7815  	}
  7816  	ret := &Operation{
  7817  		ServerResponse: googleapi.ServerResponse{
  7818  			Header:         res.Header,
  7819  			HTTPStatusCode: res.StatusCode,
  7820  		},
  7821  	}
  7822  	target := &ret
  7823  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7824  		return nil, err
  7825  	}
  7826  	return ret, nil
  7827  }
  7828  
  7829  type InstancesReleaseSsrsLeaseCall struct {
  7830  	s          *Service
  7831  	project    string
  7832  	instance   string
  7833  	urlParams_ gensupport.URLParams
  7834  	ctx_       context.Context
  7835  	header_    http.Header
  7836  }
  7837  
  7838  // ReleaseSsrsLease: Release a lease for the setup of SQL Server Reporting
  7839  // Services (SSRS).
  7840  //
  7841  //   - instance: The Cloud SQL instance ID. This doesn't include the project ID.
  7842  //     The instance ID contains lowercase letters, numbers, and hyphens, and it
  7843  //     must start with a letter. This ID can have a maximum length of 98
  7844  //     characters.
  7845  //   - project: The project ID that contains the instance.
  7846  func (r *InstancesService) ReleaseSsrsLease(project string, instance string) *InstancesReleaseSsrsLeaseCall {
  7847  	c := &InstancesReleaseSsrsLeaseCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7848  	c.project = project
  7849  	c.instance = instance
  7850  	return c
  7851  }
  7852  
  7853  // Fields allows partial responses to be retrieved. See
  7854  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7855  // details.
  7856  func (c *InstancesReleaseSsrsLeaseCall) Fields(s ...googleapi.Field) *InstancesReleaseSsrsLeaseCall {
  7857  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7858  	return c
  7859  }
  7860  
  7861  // Context sets the context to be used in this call's Do method.
  7862  func (c *InstancesReleaseSsrsLeaseCall) Context(ctx context.Context) *InstancesReleaseSsrsLeaseCall {
  7863  	c.ctx_ = ctx
  7864  	return c
  7865  }
  7866  
  7867  // Header returns a http.Header that can be modified by the caller to add
  7868  // headers to the request.
  7869  func (c *InstancesReleaseSsrsLeaseCall) Header() http.Header {
  7870  	if c.header_ == nil {
  7871  		c.header_ = make(http.Header)
  7872  	}
  7873  	return c.header_
  7874  }
  7875  
  7876  func (c *InstancesReleaseSsrsLeaseCall) doRequest(alt string) (*http.Response, error) {
  7877  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7878  	var body io.Reader = nil
  7879  	c.urlParams_.Set("alt", alt)
  7880  	c.urlParams_.Set("prettyPrint", "false")
  7881  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{project}/instances/{instance}/releaseSsrsLease")
  7882  	urls += "?" + c.urlParams_.Encode()
  7883  	req, err := http.NewRequest("POST", urls, body)
  7884  	if err != nil {
  7885  		return nil, err
  7886  	}
  7887  	req.Header = reqHeaders
  7888  	googleapi.Expand(req.URL, map[string]string{
  7889  		"project":  c.project,
  7890  		"instance": c.instance,
  7891  	})
  7892  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7893  }
  7894  
  7895  // Do executes the "sql.instances.releaseSsrsLease" call.
  7896  // Any non-2xx status code is an error. Response headers are in either
  7897  // *SqlInstancesReleaseSsrsLeaseResponse.ServerResponse.Header or (if a
  7898  // response was returned at all) in error.(*googleapi.Error).Header. Use
  7899  // googleapi.IsNotModified to check whether the returned error was because
  7900  // http.StatusNotModified was returned.
  7901  func (c *InstancesReleaseSsrsLeaseCall) Do(opts ...googleapi.CallOption) (*SqlInstancesReleaseSsrsLeaseResponse, error) {
  7902  	gensupport.SetOptions(c.urlParams_, opts...)
  7903  	res, err := c.doRequest("json")
  7904  	if res != nil && res.StatusCode == http.StatusNotModified {
  7905  		if res.Body != nil {
  7906  			res.Body.Close()
  7907  		}
  7908  		return nil, gensupport.WrapError(&googleapi.Error{
  7909  			Code:   res.StatusCode,
  7910  			Header: res.Header,
  7911  		})
  7912  	}
  7913  	if err != nil {
  7914  		return nil, err
  7915  	}
  7916  	defer googleapi.CloseBody(res)
  7917  	if err := googleapi.CheckResponse(res); err != nil {
  7918  		return nil, gensupport.WrapError(err)
  7919  	}
  7920  	ret := &SqlInstancesReleaseSsrsLeaseResponse{
  7921  		ServerResponse: googleapi.ServerResponse{
  7922  			Header:         res.Header,
  7923  			HTTPStatusCode: res.StatusCode,
  7924  		},
  7925  	}
  7926  	target := &ret
  7927  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7928  		return nil, err
  7929  	}
  7930  	return ret, nil
  7931  }
  7932  
  7933  type InstancesResetSslConfigCall struct {
  7934  	s          *Service
  7935  	project    string
  7936  	instance   string
  7937  	urlParams_ gensupport.URLParams
  7938  	ctx_       context.Context
  7939  	header_    http.Header
  7940  }
  7941  
  7942  // ResetSslConfig: Deletes all client certificates and generates a new server
  7943  // SSL certificate for the instance.
  7944  //
  7945  // - instance: Cloud SQL instance ID. This does not include the project ID.
  7946  // - project: Project ID of the project that contains the instance.
  7947  func (r *InstancesService) ResetSslConfig(project string, instance string) *InstancesResetSslConfigCall {
  7948  	c := &InstancesResetSslConfigCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7949  	c.project = project
  7950  	c.instance = instance
  7951  	return c
  7952  }
  7953  
  7954  // Fields allows partial responses to be retrieved. See
  7955  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7956  // details.
  7957  func (c *InstancesResetSslConfigCall) Fields(s ...googleapi.Field) *InstancesResetSslConfigCall {
  7958  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7959  	return c
  7960  }
  7961  
  7962  // Context sets the context to be used in this call's Do method.
  7963  func (c *InstancesResetSslConfigCall) Context(ctx context.Context) *InstancesResetSslConfigCall {
  7964  	c.ctx_ = ctx
  7965  	return c
  7966  }
  7967  
  7968  // Header returns a http.Header that can be modified by the caller to add
  7969  // headers to the request.
  7970  func (c *InstancesResetSslConfigCall) Header() http.Header {
  7971  	if c.header_ == nil {
  7972  		c.header_ = make(http.Header)
  7973  	}
  7974  	return c.header_
  7975  }
  7976  
  7977  func (c *InstancesResetSslConfigCall) doRequest(alt string) (*http.Response, error) {
  7978  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7979  	var body io.Reader = nil
  7980  	c.urlParams_.Set("alt", alt)
  7981  	c.urlParams_.Set("prettyPrint", "false")
  7982  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{project}/instances/{instance}/resetSslConfig")
  7983  	urls += "?" + c.urlParams_.Encode()
  7984  	req, err := http.NewRequest("POST", urls, body)
  7985  	if err != nil {
  7986  		return nil, err
  7987  	}
  7988  	req.Header = reqHeaders
  7989  	googleapi.Expand(req.URL, map[string]string{
  7990  		"project":  c.project,
  7991  		"instance": c.instance,
  7992  	})
  7993  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7994  }
  7995  
  7996  // Do executes the "sql.instances.resetSslConfig" call.
  7997  // Any non-2xx status code is an error. Response headers are in either
  7998  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  7999  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8000  // whether the returned error was because http.StatusNotModified was returned.
  8001  func (c *InstancesResetSslConfigCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  8002  	gensupport.SetOptions(c.urlParams_, opts...)
  8003  	res, err := c.doRequest("json")
  8004  	if res != nil && res.StatusCode == http.StatusNotModified {
  8005  		if res.Body != nil {
  8006  			res.Body.Close()
  8007  		}
  8008  		return nil, gensupport.WrapError(&googleapi.Error{
  8009  			Code:   res.StatusCode,
  8010  			Header: res.Header,
  8011  		})
  8012  	}
  8013  	if err != nil {
  8014  		return nil, err
  8015  	}
  8016  	defer googleapi.CloseBody(res)
  8017  	if err := googleapi.CheckResponse(res); err != nil {
  8018  		return nil, gensupport.WrapError(err)
  8019  	}
  8020  	ret := &Operation{
  8021  		ServerResponse: googleapi.ServerResponse{
  8022  			Header:         res.Header,
  8023  			HTTPStatusCode: res.StatusCode,
  8024  		},
  8025  	}
  8026  	target := &ret
  8027  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8028  		return nil, err
  8029  	}
  8030  	return ret, nil
  8031  }
  8032  
  8033  type InstancesRestartCall struct {
  8034  	s          *Service
  8035  	project    string
  8036  	instance   string
  8037  	urlParams_ gensupport.URLParams
  8038  	ctx_       context.Context
  8039  	header_    http.Header
  8040  }
  8041  
  8042  // Restart: Restarts a Cloud SQL instance.
  8043  //
  8044  //   - instance: Cloud SQL instance ID. This does not include the project ID.
  8045  //   - project: Project ID of the project that contains the instance to be
  8046  //     restarted.
  8047  func (r *InstancesService) Restart(project string, instance string) *InstancesRestartCall {
  8048  	c := &InstancesRestartCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8049  	c.project = project
  8050  	c.instance = instance
  8051  	return c
  8052  }
  8053  
  8054  // Fields allows partial responses to be retrieved. See
  8055  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8056  // details.
  8057  func (c *InstancesRestartCall) Fields(s ...googleapi.Field) *InstancesRestartCall {
  8058  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8059  	return c
  8060  }
  8061  
  8062  // Context sets the context to be used in this call's Do method.
  8063  func (c *InstancesRestartCall) Context(ctx context.Context) *InstancesRestartCall {
  8064  	c.ctx_ = ctx
  8065  	return c
  8066  }
  8067  
  8068  // Header returns a http.Header that can be modified by the caller to add
  8069  // headers to the request.
  8070  func (c *InstancesRestartCall) Header() http.Header {
  8071  	if c.header_ == nil {
  8072  		c.header_ = make(http.Header)
  8073  	}
  8074  	return c.header_
  8075  }
  8076  
  8077  func (c *InstancesRestartCall) doRequest(alt string) (*http.Response, error) {
  8078  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8079  	var body io.Reader = nil
  8080  	c.urlParams_.Set("alt", alt)
  8081  	c.urlParams_.Set("prettyPrint", "false")
  8082  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{project}/instances/{instance}/restart")
  8083  	urls += "?" + c.urlParams_.Encode()
  8084  	req, err := http.NewRequest("POST", urls, body)
  8085  	if err != nil {
  8086  		return nil, err
  8087  	}
  8088  	req.Header = reqHeaders
  8089  	googleapi.Expand(req.URL, map[string]string{
  8090  		"project":  c.project,
  8091  		"instance": c.instance,
  8092  	})
  8093  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8094  }
  8095  
  8096  // Do executes the "sql.instances.restart" call.
  8097  // Any non-2xx status code is an error. Response headers are in either
  8098  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  8099  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8100  // whether the returned error was because http.StatusNotModified was returned.
  8101  func (c *InstancesRestartCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  8102  	gensupport.SetOptions(c.urlParams_, opts...)
  8103  	res, err := c.doRequest("json")
  8104  	if res != nil && res.StatusCode == http.StatusNotModified {
  8105  		if res.Body != nil {
  8106  			res.Body.Close()
  8107  		}
  8108  		return nil, gensupport.WrapError(&googleapi.Error{
  8109  			Code:   res.StatusCode,
  8110  			Header: res.Header,
  8111  		})
  8112  	}
  8113  	if err != nil {
  8114  		return nil, err
  8115  	}
  8116  	defer googleapi.CloseBody(res)
  8117  	if err := googleapi.CheckResponse(res); err != nil {
  8118  		return nil, gensupport.WrapError(err)
  8119  	}
  8120  	ret := &Operation{
  8121  		ServerResponse: googleapi.ServerResponse{
  8122  			Header:         res.Header,
  8123  			HTTPStatusCode: res.StatusCode,
  8124  		},
  8125  	}
  8126  	target := &ret
  8127  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8128  		return nil, err
  8129  	}
  8130  	return ret, nil
  8131  }
  8132  
  8133  type InstancesRestoreBackupCall struct {
  8134  	s                             *Service
  8135  	project                       string
  8136  	instance                      string
  8137  	instancesrestorebackuprequest *InstancesRestoreBackupRequest
  8138  	urlParams_                    gensupport.URLParams
  8139  	ctx_                          context.Context
  8140  	header_                       http.Header
  8141  }
  8142  
  8143  // RestoreBackup: Restores a backup of a Cloud SQL instance. Using this
  8144  // operation might cause your instance to restart.
  8145  //
  8146  // - instance: Cloud SQL instance ID. This does not include the project ID.
  8147  // - project: Project ID of the project that contains the instance.
  8148  func (r *InstancesService) RestoreBackup(project string, instance string, instancesrestorebackuprequest *InstancesRestoreBackupRequest) *InstancesRestoreBackupCall {
  8149  	c := &InstancesRestoreBackupCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8150  	c.project = project
  8151  	c.instance = instance
  8152  	c.instancesrestorebackuprequest = instancesrestorebackuprequest
  8153  	return c
  8154  }
  8155  
  8156  // Fields allows partial responses to be retrieved. See
  8157  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8158  // details.
  8159  func (c *InstancesRestoreBackupCall) Fields(s ...googleapi.Field) *InstancesRestoreBackupCall {
  8160  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8161  	return c
  8162  }
  8163  
  8164  // Context sets the context to be used in this call's Do method.
  8165  func (c *InstancesRestoreBackupCall) Context(ctx context.Context) *InstancesRestoreBackupCall {
  8166  	c.ctx_ = ctx
  8167  	return c
  8168  }
  8169  
  8170  // Header returns a http.Header that can be modified by the caller to add
  8171  // headers to the request.
  8172  func (c *InstancesRestoreBackupCall) Header() http.Header {
  8173  	if c.header_ == nil {
  8174  		c.header_ = make(http.Header)
  8175  	}
  8176  	return c.header_
  8177  }
  8178  
  8179  func (c *InstancesRestoreBackupCall) doRequest(alt string) (*http.Response, error) {
  8180  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  8181  	var body io.Reader = nil
  8182  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.instancesrestorebackuprequest)
  8183  	if err != nil {
  8184  		return nil, err
  8185  	}
  8186  	c.urlParams_.Set("alt", alt)
  8187  	c.urlParams_.Set("prettyPrint", "false")
  8188  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{project}/instances/{instance}/restoreBackup")
  8189  	urls += "?" + c.urlParams_.Encode()
  8190  	req, err := http.NewRequest("POST", urls, body)
  8191  	if err != nil {
  8192  		return nil, err
  8193  	}
  8194  	req.Header = reqHeaders
  8195  	googleapi.Expand(req.URL, map[string]string{
  8196  		"project":  c.project,
  8197  		"instance": c.instance,
  8198  	})
  8199  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8200  }
  8201  
  8202  // Do executes the "sql.instances.restoreBackup" call.
  8203  // Any non-2xx status code is an error. Response headers are in either
  8204  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  8205  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8206  // whether the returned error was because http.StatusNotModified was returned.
  8207  func (c *InstancesRestoreBackupCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  8208  	gensupport.SetOptions(c.urlParams_, opts...)
  8209  	res, err := c.doRequest("json")
  8210  	if res != nil && res.StatusCode == http.StatusNotModified {
  8211  		if res.Body != nil {
  8212  			res.Body.Close()
  8213  		}
  8214  		return nil, gensupport.WrapError(&googleapi.Error{
  8215  			Code:   res.StatusCode,
  8216  			Header: res.Header,
  8217  		})
  8218  	}
  8219  	if err != nil {
  8220  		return nil, err
  8221  	}
  8222  	defer googleapi.CloseBody(res)
  8223  	if err := googleapi.CheckResponse(res); err != nil {
  8224  		return nil, gensupport.WrapError(err)
  8225  	}
  8226  	ret := &Operation{
  8227  		ServerResponse: googleapi.ServerResponse{
  8228  			Header:         res.Header,
  8229  			HTTPStatusCode: res.StatusCode,
  8230  		},
  8231  	}
  8232  	target := &ret
  8233  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8234  		return nil, err
  8235  	}
  8236  	return ret, nil
  8237  }
  8238  
  8239  type InstancesRotateServerCaCall struct {
  8240  	s                              *Service
  8241  	project                        string
  8242  	instance                       string
  8243  	instancesrotateservercarequest *InstancesRotateServerCaRequest
  8244  	urlParams_                     gensupport.URLParams
  8245  	ctx_                           context.Context
  8246  	header_                        http.Header
  8247  }
  8248  
  8249  // RotateServerCa: Rotates the server certificate to one signed by the
  8250  // Certificate Authority (CA) version previously added with the addServerCA
  8251  // method.
  8252  //
  8253  // - instance: Cloud SQL instance ID. This does not include the project ID.
  8254  // - project: Project ID of the project that contains the instance.
  8255  func (r *InstancesService) RotateServerCa(project string, instance string, instancesrotateservercarequest *InstancesRotateServerCaRequest) *InstancesRotateServerCaCall {
  8256  	c := &InstancesRotateServerCaCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8257  	c.project = project
  8258  	c.instance = instance
  8259  	c.instancesrotateservercarequest = instancesrotateservercarequest
  8260  	return c
  8261  }
  8262  
  8263  // Fields allows partial responses to be retrieved. See
  8264  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8265  // details.
  8266  func (c *InstancesRotateServerCaCall) Fields(s ...googleapi.Field) *InstancesRotateServerCaCall {
  8267  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8268  	return c
  8269  }
  8270  
  8271  // Context sets the context to be used in this call's Do method.
  8272  func (c *InstancesRotateServerCaCall) Context(ctx context.Context) *InstancesRotateServerCaCall {
  8273  	c.ctx_ = ctx
  8274  	return c
  8275  }
  8276  
  8277  // Header returns a http.Header that can be modified by the caller to add
  8278  // headers to the request.
  8279  func (c *InstancesRotateServerCaCall) Header() http.Header {
  8280  	if c.header_ == nil {
  8281  		c.header_ = make(http.Header)
  8282  	}
  8283  	return c.header_
  8284  }
  8285  
  8286  func (c *InstancesRotateServerCaCall) doRequest(alt string) (*http.Response, error) {
  8287  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  8288  	var body io.Reader = nil
  8289  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.instancesrotateservercarequest)
  8290  	if err != nil {
  8291  		return nil, err
  8292  	}
  8293  	c.urlParams_.Set("alt", alt)
  8294  	c.urlParams_.Set("prettyPrint", "false")
  8295  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{project}/instances/{instance}/rotateServerCa")
  8296  	urls += "?" + c.urlParams_.Encode()
  8297  	req, err := http.NewRequest("POST", urls, body)
  8298  	if err != nil {
  8299  		return nil, err
  8300  	}
  8301  	req.Header = reqHeaders
  8302  	googleapi.Expand(req.URL, map[string]string{
  8303  		"project":  c.project,
  8304  		"instance": c.instance,
  8305  	})
  8306  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8307  }
  8308  
  8309  // Do executes the "sql.instances.rotateServerCa" call.
  8310  // Any non-2xx status code is an error. Response headers are in either
  8311  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  8312  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8313  // whether the returned error was because http.StatusNotModified was returned.
  8314  func (c *InstancesRotateServerCaCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  8315  	gensupport.SetOptions(c.urlParams_, opts...)
  8316  	res, err := c.doRequest("json")
  8317  	if res != nil && res.StatusCode == http.StatusNotModified {
  8318  		if res.Body != nil {
  8319  			res.Body.Close()
  8320  		}
  8321  		return nil, gensupport.WrapError(&googleapi.Error{
  8322  			Code:   res.StatusCode,
  8323  			Header: res.Header,
  8324  		})
  8325  	}
  8326  	if err != nil {
  8327  		return nil, err
  8328  	}
  8329  	defer googleapi.CloseBody(res)
  8330  	if err := googleapi.CheckResponse(res); err != nil {
  8331  		return nil, gensupport.WrapError(err)
  8332  	}
  8333  	ret := &Operation{
  8334  		ServerResponse: googleapi.ServerResponse{
  8335  			Header:         res.Header,
  8336  			HTTPStatusCode: res.StatusCode,
  8337  		},
  8338  	}
  8339  	target := &ret
  8340  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8341  		return nil, err
  8342  	}
  8343  	return ret, nil
  8344  }
  8345  
  8346  type InstancesStartReplicaCall struct {
  8347  	s          *Service
  8348  	project    string
  8349  	instance   string
  8350  	urlParams_ gensupport.URLParams
  8351  	ctx_       context.Context
  8352  	header_    http.Header
  8353  }
  8354  
  8355  // StartReplica: Starts the replication in the read replica instance.
  8356  //
  8357  // - instance: Cloud SQL read replica instance name.
  8358  // - project: ID of the project that contains the read replica.
  8359  func (r *InstancesService) StartReplica(project string, instance string) *InstancesStartReplicaCall {
  8360  	c := &InstancesStartReplicaCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8361  	c.project = project
  8362  	c.instance = instance
  8363  	return c
  8364  }
  8365  
  8366  // Fields allows partial responses to be retrieved. See
  8367  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8368  // details.
  8369  func (c *InstancesStartReplicaCall) Fields(s ...googleapi.Field) *InstancesStartReplicaCall {
  8370  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8371  	return c
  8372  }
  8373  
  8374  // Context sets the context to be used in this call's Do method.
  8375  func (c *InstancesStartReplicaCall) Context(ctx context.Context) *InstancesStartReplicaCall {
  8376  	c.ctx_ = ctx
  8377  	return c
  8378  }
  8379  
  8380  // Header returns a http.Header that can be modified by the caller to add
  8381  // headers to the request.
  8382  func (c *InstancesStartReplicaCall) Header() http.Header {
  8383  	if c.header_ == nil {
  8384  		c.header_ = make(http.Header)
  8385  	}
  8386  	return c.header_
  8387  }
  8388  
  8389  func (c *InstancesStartReplicaCall) doRequest(alt string) (*http.Response, error) {
  8390  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8391  	var body io.Reader = nil
  8392  	c.urlParams_.Set("alt", alt)
  8393  	c.urlParams_.Set("prettyPrint", "false")
  8394  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{project}/instances/{instance}/startReplica")
  8395  	urls += "?" + c.urlParams_.Encode()
  8396  	req, err := http.NewRequest("POST", urls, body)
  8397  	if err != nil {
  8398  		return nil, err
  8399  	}
  8400  	req.Header = reqHeaders
  8401  	googleapi.Expand(req.URL, map[string]string{
  8402  		"project":  c.project,
  8403  		"instance": c.instance,
  8404  	})
  8405  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8406  }
  8407  
  8408  // Do executes the "sql.instances.startReplica" call.
  8409  // Any non-2xx status code is an error. Response headers are in either
  8410  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  8411  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8412  // whether the returned error was because http.StatusNotModified was returned.
  8413  func (c *InstancesStartReplicaCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  8414  	gensupport.SetOptions(c.urlParams_, opts...)
  8415  	res, err := c.doRequest("json")
  8416  	if res != nil && res.StatusCode == http.StatusNotModified {
  8417  		if res.Body != nil {
  8418  			res.Body.Close()
  8419  		}
  8420  		return nil, gensupport.WrapError(&googleapi.Error{
  8421  			Code:   res.StatusCode,
  8422  			Header: res.Header,
  8423  		})
  8424  	}
  8425  	if err != nil {
  8426  		return nil, err
  8427  	}
  8428  	defer googleapi.CloseBody(res)
  8429  	if err := googleapi.CheckResponse(res); err != nil {
  8430  		return nil, gensupport.WrapError(err)
  8431  	}
  8432  	ret := &Operation{
  8433  		ServerResponse: googleapi.ServerResponse{
  8434  			Header:         res.Header,
  8435  			HTTPStatusCode: res.StatusCode,
  8436  		},
  8437  	}
  8438  	target := &ret
  8439  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8440  		return nil, err
  8441  	}
  8442  	return ret, nil
  8443  }
  8444  
  8445  type InstancesStopReplicaCall struct {
  8446  	s          *Service
  8447  	project    string
  8448  	instance   string
  8449  	urlParams_ gensupport.URLParams
  8450  	ctx_       context.Context
  8451  	header_    http.Header
  8452  }
  8453  
  8454  // StopReplica: Stops the replication in the read replica instance.
  8455  //
  8456  // - instance: Cloud SQL read replica instance name.
  8457  // - project: ID of the project that contains the read replica.
  8458  func (r *InstancesService) StopReplica(project string, instance string) *InstancesStopReplicaCall {
  8459  	c := &InstancesStopReplicaCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8460  	c.project = project
  8461  	c.instance = instance
  8462  	return c
  8463  }
  8464  
  8465  // Fields allows partial responses to be retrieved. See
  8466  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8467  // details.
  8468  func (c *InstancesStopReplicaCall) Fields(s ...googleapi.Field) *InstancesStopReplicaCall {
  8469  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8470  	return c
  8471  }
  8472  
  8473  // Context sets the context to be used in this call's Do method.
  8474  func (c *InstancesStopReplicaCall) Context(ctx context.Context) *InstancesStopReplicaCall {
  8475  	c.ctx_ = ctx
  8476  	return c
  8477  }
  8478  
  8479  // Header returns a http.Header that can be modified by the caller to add
  8480  // headers to the request.
  8481  func (c *InstancesStopReplicaCall) Header() http.Header {
  8482  	if c.header_ == nil {
  8483  		c.header_ = make(http.Header)
  8484  	}
  8485  	return c.header_
  8486  }
  8487  
  8488  func (c *InstancesStopReplicaCall) doRequest(alt string) (*http.Response, error) {
  8489  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8490  	var body io.Reader = nil
  8491  	c.urlParams_.Set("alt", alt)
  8492  	c.urlParams_.Set("prettyPrint", "false")
  8493  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{project}/instances/{instance}/stopReplica")
  8494  	urls += "?" + c.urlParams_.Encode()
  8495  	req, err := http.NewRequest("POST", urls, body)
  8496  	if err != nil {
  8497  		return nil, err
  8498  	}
  8499  	req.Header = reqHeaders
  8500  	googleapi.Expand(req.URL, map[string]string{
  8501  		"project":  c.project,
  8502  		"instance": c.instance,
  8503  	})
  8504  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8505  }
  8506  
  8507  // Do executes the "sql.instances.stopReplica" call.
  8508  // Any non-2xx status code is an error. Response headers are in either
  8509  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  8510  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8511  // whether the returned error was because http.StatusNotModified was returned.
  8512  func (c *InstancesStopReplicaCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  8513  	gensupport.SetOptions(c.urlParams_, opts...)
  8514  	res, err := c.doRequest("json")
  8515  	if res != nil && res.StatusCode == http.StatusNotModified {
  8516  		if res.Body != nil {
  8517  			res.Body.Close()
  8518  		}
  8519  		return nil, gensupport.WrapError(&googleapi.Error{
  8520  			Code:   res.StatusCode,
  8521  			Header: res.Header,
  8522  		})
  8523  	}
  8524  	if err != nil {
  8525  		return nil, err
  8526  	}
  8527  	defer googleapi.CloseBody(res)
  8528  	if err := googleapi.CheckResponse(res); err != nil {
  8529  		return nil, gensupport.WrapError(err)
  8530  	}
  8531  	ret := &Operation{
  8532  		ServerResponse: googleapi.ServerResponse{
  8533  			Header:         res.Header,
  8534  			HTTPStatusCode: res.StatusCode,
  8535  		},
  8536  	}
  8537  	target := &ret
  8538  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8539  		return nil, err
  8540  	}
  8541  	return ret, nil
  8542  }
  8543  
  8544  type InstancesSwitchoverCall struct {
  8545  	s          *Service
  8546  	project    string
  8547  	instance   string
  8548  	urlParams_ gensupport.URLParams
  8549  	ctx_       context.Context
  8550  	header_    http.Header
  8551  }
  8552  
  8553  // Switchover: Switches over from the primary instance to the designated DR
  8554  // replica instance.
  8555  //
  8556  // - instance: Cloud SQL read replica instance name.
  8557  // - project: ID of the project that contains the replica.
  8558  func (r *InstancesService) Switchover(project string, instance string) *InstancesSwitchoverCall {
  8559  	c := &InstancesSwitchoverCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8560  	c.project = project
  8561  	c.instance = instance
  8562  	return c
  8563  }
  8564  
  8565  // DbTimeout sets the optional parameter "dbTimeout": (MySQL only) Cloud SQL
  8566  // instance operations timeout, which is a sum of all database operations.
  8567  // Default value is 10 minutes and can be modified to a maximum value of 24
  8568  // hours.
  8569  func (c *InstancesSwitchoverCall) DbTimeout(dbTimeout string) *InstancesSwitchoverCall {
  8570  	c.urlParams_.Set("dbTimeout", dbTimeout)
  8571  	return c
  8572  }
  8573  
  8574  // Fields allows partial responses to be retrieved. See
  8575  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8576  // details.
  8577  func (c *InstancesSwitchoverCall) Fields(s ...googleapi.Field) *InstancesSwitchoverCall {
  8578  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8579  	return c
  8580  }
  8581  
  8582  // Context sets the context to be used in this call's Do method.
  8583  func (c *InstancesSwitchoverCall) Context(ctx context.Context) *InstancesSwitchoverCall {
  8584  	c.ctx_ = ctx
  8585  	return c
  8586  }
  8587  
  8588  // Header returns a http.Header that can be modified by the caller to add
  8589  // headers to the request.
  8590  func (c *InstancesSwitchoverCall) Header() http.Header {
  8591  	if c.header_ == nil {
  8592  		c.header_ = make(http.Header)
  8593  	}
  8594  	return c.header_
  8595  }
  8596  
  8597  func (c *InstancesSwitchoverCall) doRequest(alt string) (*http.Response, error) {
  8598  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8599  	var body io.Reader = nil
  8600  	c.urlParams_.Set("alt", alt)
  8601  	c.urlParams_.Set("prettyPrint", "false")
  8602  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{project}/instances/{instance}/switchover")
  8603  	urls += "?" + c.urlParams_.Encode()
  8604  	req, err := http.NewRequest("POST", urls, body)
  8605  	if err != nil {
  8606  		return nil, err
  8607  	}
  8608  	req.Header = reqHeaders
  8609  	googleapi.Expand(req.URL, map[string]string{
  8610  		"project":  c.project,
  8611  		"instance": c.instance,
  8612  	})
  8613  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8614  }
  8615  
  8616  // Do executes the "sql.instances.switchover" call.
  8617  // Any non-2xx status code is an error. Response headers are in either
  8618  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  8619  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8620  // whether the returned error was because http.StatusNotModified was returned.
  8621  func (c *InstancesSwitchoverCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  8622  	gensupport.SetOptions(c.urlParams_, opts...)
  8623  	res, err := c.doRequest("json")
  8624  	if res != nil && res.StatusCode == http.StatusNotModified {
  8625  		if res.Body != nil {
  8626  			res.Body.Close()
  8627  		}
  8628  		return nil, gensupport.WrapError(&googleapi.Error{
  8629  			Code:   res.StatusCode,
  8630  			Header: res.Header,
  8631  		})
  8632  	}
  8633  	if err != nil {
  8634  		return nil, err
  8635  	}
  8636  	defer googleapi.CloseBody(res)
  8637  	if err := googleapi.CheckResponse(res); err != nil {
  8638  		return nil, gensupport.WrapError(err)
  8639  	}
  8640  	ret := &Operation{
  8641  		ServerResponse: googleapi.ServerResponse{
  8642  			Header:         res.Header,
  8643  			HTTPStatusCode: res.StatusCode,
  8644  		},
  8645  	}
  8646  	target := &ret
  8647  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8648  		return nil, err
  8649  	}
  8650  	return ret, nil
  8651  }
  8652  
  8653  type InstancesTruncateLogCall struct {
  8654  	s                           *Service
  8655  	project                     string
  8656  	instance                    string
  8657  	instancestruncatelogrequest *InstancesTruncateLogRequest
  8658  	urlParams_                  gensupport.URLParams
  8659  	ctx_                        context.Context
  8660  	header_                     http.Header
  8661  }
  8662  
  8663  // TruncateLog: Truncate MySQL general and slow query log tables MySQL only.
  8664  //
  8665  // - instance: Cloud SQL instance ID. This does not include the project ID.
  8666  // - project: Project ID of the Cloud SQL project.
  8667  func (r *InstancesService) TruncateLog(project string, instance string, instancestruncatelogrequest *InstancesTruncateLogRequest) *InstancesTruncateLogCall {
  8668  	c := &InstancesTruncateLogCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8669  	c.project = project
  8670  	c.instance = instance
  8671  	c.instancestruncatelogrequest = instancestruncatelogrequest
  8672  	return c
  8673  }
  8674  
  8675  // Fields allows partial responses to be retrieved. See
  8676  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8677  // details.
  8678  func (c *InstancesTruncateLogCall) Fields(s ...googleapi.Field) *InstancesTruncateLogCall {
  8679  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8680  	return c
  8681  }
  8682  
  8683  // Context sets the context to be used in this call's Do method.
  8684  func (c *InstancesTruncateLogCall) Context(ctx context.Context) *InstancesTruncateLogCall {
  8685  	c.ctx_ = ctx
  8686  	return c
  8687  }
  8688  
  8689  // Header returns a http.Header that can be modified by the caller to add
  8690  // headers to the request.
  8691  func (c *InstancesTruncateLogCall) Header() http.Header {
  8692  	if c.header_ == nil {
  8693  		c.header_ = make(http.Header)
  8694  	}
  8695  	return c.header_
  8696  }
  8697  
  8698  func (c *InstancesTruncateLogCall) doRequest(alt string) (*http.Response, error) {
  8699  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  8700  	var body io.Reader = nil
  8701  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.instancestruncatelogrequest)
  8702  	if err != nil {
  8703  		return nil, err
  8704  	}
  8705  	c.urlParams_.Set("alt", alt)
  8706  	c.urlParams_.Set("prettyPrint", "false")
  8707  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{project}/instances/{instance}/truncateLog")
  8708  	urls += "?" + c.urlParams_.Encode()
  8709  	req, err := http.NewRequest("POST", urls, body)
  8710  	if err != nil {
  8711  		return nil, err
  8712  	}
  8713  	req.Header = reqHeaders
  8714  	googleapi.Expand(req.URL, map[string]string{
  8715  		"project":  c.project,
  8716  		"instance": c.instance,
  8717  	})
  8718  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8719  }
  8720  
  8721  // Do executes the "sql.instances.truncateLog" call.
  8722  // Any non-2xx status code is an error. Response headers are in either
  8723  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  8724  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8725  // whether the returned error was because http.StatusNotModified was returned.
  8726  func (c *InstancesTruncateLogCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  8727  	gensupport.SetOptions(c.urlParams_, opts...)
  8728  	res, err := c.doRequest("json")
  8729  	if res != nil && res.StatusCode == http.StatusNotModified {
  8730  		if res.Body != nil {
  8731  			res.Body.Close()
  8732  		}
  8733  		return nil, gensupport.WrapError(&googleapi.Error{
  8734  			Code:   res.StatusCode,
  8735  			Header: res.Header,
  8736  		})
  8737  	}
  8738  	if err != nil {
  8739  		return nil, err
  8740  	}
  8741  	defer googleapi.CloseBody(res)
  8742  	if err := googleapi.CheckResponse(res); err != nil {
  8743  		return nil, gensupport.WrapError(err)
  8744  	}
  8745  	ret := &Operation{
  8746  		ServerResponse: googleapi.ServerResponse{
  8747  			Header:         res.Header,
  8748  			HTTPStatusCode: res.StatusCode,
  8749  		},
  8750  	}
  8751  	target := &ret
  8752  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8753  		return nil, err
  8754  	}
  8755  	return ret, nil
  8756  }
  8757  
  8758  type InstancesUpdateCall struct {
  8759  	s                *Service
  8760  	project          string
  8761  	instance         string
  8762  	databaseinstance *DatabaseInstance
  8763  	urlParams_       gensupport.URLParams
  8764  	ctx_             context.Context
  8765  	header_          http.Header
  8766  }
  8767  
  8768  // Update: Updates settings of a Cloud SQL instance. Using this operation might
  8769  // cause your instance to restart.
  8770  //
  8771  // - instance: Cloud SQL instance ID. This does not include the project ID.
  8772  // - project: Project ID of the project that contains the instance.
  8773  func (r *InstancesService) Update(project string, instance string, databaseinstance *DatabaseInstance) *InstancesUpdateCall {
  8774  	c := &InstancesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8775  	c.project = project
  8776  	c.instance = instance
  8777  	c.databaseinstance = databaseinstance
  8778  	return c
  8779  }
  8780  
  8781  // Fields allows partial responses to be retrieved. See
  8782  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8783  // details.
  8784  func (c *InstancesUpdateCall) Fields(s ...googleapi.Field) *InstancesUpdateCall {
  8785  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8786  	return c
  8787  }
  8788  
  8789  // Context sets the context to be used in this call's Do method.
  8790  func (c *InstancesUpdateCall) Context(ctx context.Context) *InstancesUpdateCall {
  8791  	c.ctx_ = ctx
  8792  	return c
  8793  }
  8794  
  8795  // Header returns a http.Header that can be modified by the caller to add
  8796  // headers to the request.
  8797  func (c *InstancesUpdateCall) Header() http.Header {
  8798  	if c.header_ == nil {
  8799  		c.header_ = make(http.Header)
  8800  	}
  8801  	return c.header_
  8802  }
  8803  
  8804  func (c *InstancesUpdateCall) doRequest(alt string) (*http.Response, error) {
  8805  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  8806  	var body io.Reader = nil
  8807  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.databaseinstance)
  8808  	if err != nil {
  8809  		return nil, err
  8810  	}
  8811  	c.urlParams_.Set("alt", alt)
  8812  	c.urlParams_.Set("prettyPrint", "false")
  8813  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{project}/instances/{instance}")
  8814  	urls += "?" + c.urlParams_.Encode()
  8815  	req, err := http.NewRequest("PUT", urls, body)
  8816  	if err != nil {
  8817  		return nil, err
  8818  	}
  8819  	req.Header = reqHeaders
  8820  	googleapi.Expand(req.URL, map[string]string{
  8821  		"project":  c.project,
  8822  		"instance": c.instance,
  8823  	})
  8824  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8825  }
  8826  
  8827  // Do executes the "sql.instances.update" call.
  8828  // Any non-2xx status code is an error. Response headers are in either
  8829  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  8830  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8831  // whether the returned error was because http.StatusNotModified was returned.
  8832  func (c *InstancesUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  8833  	gensupport.SetOptions(c.urlParams_, opts...)
  8834  	res, err := c.doRequest("json")
  8835  	if res != nil && res.StatusCode == http.StatusNotModified {
  8836  		if res.Body != nil {
  8837  			res.Body.Close()
  8838  		}
  8839  		return nil, gensupport.WrapError(&googleapi.Error{
  8840  			Code:   res.StatusCode,
  8841  			Header: res.Header,
  8842  		})
  8843  	}
  8844  	if err != nil {
  8845  		return nil, err
  8846  	}
  8847  	defer googleapi.CloseBody(res)
  8848  	if err := googleapi.CheckResponse(res); err != nil {
  8849  		return nil, gensupport.WrapError(err)
  8850  	}
  8851  	ret := &Operation{
  8852  		ServerResponse: googleapi.ServerResponse{
  8853  			Header:         res.Header,
  8854  			HTTPStatusCode: res.StatusCode,
  8855  		},
  8856  	}
  8857  	target := &ret
  8858  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8859  		return nil, err
  8860  	}
  8861  	return ret, nil
  8862  }
  8863  
  8864  type OperationsCancelCall struct {
  8865  	s          *Service
  8866  	project    string
  8867  	operation  string
  8868  	urlParams_ gensupport.URLParams
  8869  	ctx_       context.Context
  8870  	header_    http.Header
  8871  }
  8872  
  8873  // Cancel: Cancels an instance operation that has been performed on an
  8874  // instance.
  8875  //
  8876  // - operation: Instance operation ID.
  8877  // - project: Project ID of the project that contains the instance.
  8878  func (r *OperationsService) Cancel(project string, operation string) *OperationsCancelCall {
  8879  	c := &OperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8880  	c.project = project
  8881  	c.operation = operation
  8882  	return c
  8883  }
  8884  
  8885  // Fields allows partial responses to be retrieved. See
  8886  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8887  // details.
  8888  func (c *OperationsCancelCall) Fields(s ...googleapi.Field) *OperationsCancelCall {
  8889  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8890  	return c
  8891  }
  8892  
  8893  // Context sets the context to be used in this call's Do method.
  8894  func (c *OperationsCancelCall) Context(ctx context.Context) *OperationsCancelCall {
  8895  	c.ctx_ = ctx
  8896  	return c
  8897  }
  8898  
  8899  // Header returns a http.Header that can be modified by the caller to add
  8900  // headers to the request.
  8901  func (c *OperationsCancelCall) Header() http.Header {
  8902  	if c.header_ == nil {
  8903  		c.header_ = make(http.Header)
  8904  	}
  8905  	return c.header_
  8906  }
  8907  
  8908  func (c *OperationsCancelCall) doRequest(alt string) (*http.Response, error) {
  8909  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8910  	var body io.Reader = nil
  8911  	c.urlParams_.Set("alt", alt)
  8912  	c.urlParams_.Set("prettyPrint", "false")
  8913  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{project}/operations/{operation}/cancel")
  8914  	urls += "?" + c.urlParams_.Encode()
  8915  	req, err := http.NewRequest("POST", urls, body)
  8916  	if err != nil {
  8917  		return nil, err
  8918  	}
  8919  	req.Header = reqHeaders
  8920  	googleapi.Expand(req.URL, map[string]string{
  8921  		"project":   c.project,
  8922  		"operation": c.operation,
  8923  	})
  8924  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8925  }
  8926  
  8927  // Do executes the "sql.operations.cancel" call.
  8928  // Any non-2xx status code is an error. Response headers are in either
  8929  // *Empty.ServerResponse.Header or (if a response was returned at all) in
  8930  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8931  // whether the returned error was because http.StatusNotModified was returned.
  8932  func (c *OperationsCancelCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
  8933  	gensupport.SetOptions(c.urlParams_, opts...)
  8934  	res, err := c.doRequest("json")
  8935  	if res != nil && res.StatusCode == http.StatusNotModified {
  8936  		if res.Body != nil {
  8937  			res.Body.Close()
  8938  		}
  8939  		return nil, gensupport.WrapError(&googleapi.Error{
  8940  			Code:   res.StatusCode,
  8941  			Header: res.Header,
  8942  		})
  8943  	}
  8944  	if err != nil {
  8945  		return nil, err
  8946  	}
  8947  	defer googleapi.CloseBody(res)
  8948  	if err := googleapi.CheckResponse(res); err != nil {
  8949  		return nil, gensupport.WrapError(err)
  8950  	}
  8951  	ret := &Empty{
  8952  		ServerResponse: googleapi.ServerResponse{
  8953  			Header:         res.Header,
  8954  			HTTPStatusCode: res.StatusCode,
  8955  		},
  8956  	}
  8957  	target := &ret
  8958  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8959  		return nil, err
  8960  	}
  8961  	return ret, nil
  8962  }
  8963  
  8964  type OperationsGetCall struct {
  8965  	s            *Service
  8966  	project      string
  8967  	operation    string
  8968  	urlParams_   gensupport.URLParams
  8969  	ifNoneMatch_ string
  8970  	ctx_         context.Context
  8971  	header_      http.Header
  8972  }
  8973  
  8974  // Get: Retrieves an instance operation that has been performed on an instance.
  8975  //
  8976  // - operation: Instance operation ID.
  8977  // - project: Project ID of the project that contains the instance.
  8978  func (r *OperationsService) Get(project string, operation string) *OperationsGetCall {
  8979  	c := &OperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8980  	c.project = project
  8981  	c.operation = operation
  8982  	return c
  8983  }
  8984  
  8985  // Fields allows partial responses to be retrieved. See
  8986  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8987  // details.
  8988  func (c *OperationsGetCall) Fields(s ...googleapi.Field) *OperationsGetCall {
  8989  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8990  	return c
  8991  }
  8992  
  8993  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  8994  // object's ETag matches the given value. This is useful for getting updates
  8995  // only after the object has changed since the last request.
  8996  func (c *OperationsGetCall) IfNoneMatch(entityTag string) *OperationsGetCall {
  8997  	c.ifNoneMatch_ = entityTag
  8998  	return c
  8999  }
  9000  
  9001  // Context sets the context to be used in this call's Do method.
  9002  func (c *OperationsGetCall) Context(ctx context.Context) *OperationsGetCall {
  9003  	c.ctx_ = ctx
  9004  	return c
  9005  }
  9006  
  9007  // Header returns a http.Header that can be modified by the caller to add
  9008  // headers to the request.
  9009  func (c *OperationsGetCall) Header() http.Header {
  9010  	if c.header_ == nil {
  9011  		c.header_ = make(http.Header)
  9012  	}
  9013  	return c.header_
  9014  }
  9015  
  9016  func (c *OperationsGetCall) doRequest(alt string) (*http.Response, error) {
  9017  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9018  	if c.ifNoneMatch_ != "" {
  9019  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  9020  	}
  9021  	var body io.Reader = nil
  9022  	c.urlParams_.Set("alt", alt)
  9023  	c.urlParams_.Set("prettyPrint", "false")
  9024  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{project}/operations/{operation}")
  9025  	urls += "?" + c.urlParams_.Encode()
  9026  	req, err := http.NewRequest("GET", urls, body)
  9027  	if err != nil {
  9028  		return nil, err
  9029  	}
  9030  	req.Header = reqHeaders
  9031  	googleapi.Expand(req.URL, map[string]string{
  9032  		"project":   c.project,
  9033  		"operation": c.operation,
  9034  	})
  9035  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9036  }
  9037  
  9038  // Do executes the "sql.operations.get" call.
  9039  // Any non-2xx status code is an error. Response headers are in either
  9040  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  9041  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9042  // whether the returned error was because http.StatusNotModified was returned.
  9043  func (c *OperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  9044  	gensupport.SetOptions(c.urlParams_, opts...)
  9045  	res, err := c.doRequest("json")
  9046  	if res != nil && res.StatusCode == http.StatusNotModified {
  9047  		if res.Body != nil {
  9048  			res.Body.Close()
  9049  		}
  9050  		return nil, gensupport.WrapError(&googleapi.Error{
  9051  			Code:   res.StatusCode,
  9052  			Header: res.Header,
  9053  		})
  9054  	}
  9055  	if err != nil {
  9056  		return nil, err
  9057  	}
  9058  	defer googleapi.CloseBody(res)
  9059  	if err := googleapi.CheckResponse(res); err != nil {
  9060  		return nil, gensupport.WrapError(err)
  9061  	}
  9062  	ret := &Operation{
  9063  		ServerResponse: googleapi.ServerResponse{
  9064  			Header:         res.Header,
  9065  			HTTPStatusCode: res.StatusCode,
  9066  		},
  9067  	}
  9068  	target := &ret
  9069  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9070  		return nil, err
  9071  	}
  9072  	return ret, nil
  9073  }
  9074  
  9075  type OperationsListCall struct {
  9076  	s            *Service
  9077  	project      string
  9078  	urlParams_   gensupport.URLParams
  9079  	ifNoneMatch_ string
  9080  	ctx_         context.Context
  9081  	header_      http.Header
  9082  }
  9083  
  9084  // List: Lists all instance operations that have been performed on the given
  9085  // Cloud SQL instance in the reverse chronological order of the start time.
  9086  //
  9087  // - project: Project ID of the project that contains the instance.
  9088  func (r *OperationsService) List(project string) *OperationsListCall {
  9089  	c := &OperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9090  	c.project = project
  9091  	return c
  9092  }
  9093  
  9094  // Instance sets the optional parameter "instance": Cloud SQL instance ID. This
  9095  // does not include the project ID.
  9096  func (c *OperationsListCall) Instance(instance string) *OperationsListCall {
  9097  	c.urlParams_.Set("instance", instance)
  9098  	return c
  9099  }
  9100  
  9101  // MaxResults sets the optional parameter "maxResults": Maximum number of
  9102  // operations per response.
  9103  func (c *OperationsListCall) MaxResults(maxResults int64) *OperationsListCall {
  9104  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
  9105  	return c
  9106  }
  9107  
  9108  // PageToken sets the optional parameter "pageToken": A previously-returned
  9109  // page token representing part of the larger set of results to view.
  9110  func (c *OperationsListCall) PageToken(pageToken string) *OperationsListCall {
  9111  	c.urlParams_.Set("pageToken", pageToken)
  9112  	return c
  9113  }
  9114  
  9115  // Fields allows partial responses to be retrieved. See
  9116  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9117  // details.
  9118  func (c *OperationsListCall) Fields(s ...googleapi.Field) *OperationsListCall {
  9119  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9120  	return c
  9121  }
  9122  
  9123  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  9124  // object's ETag matches the given value. This is useful for getting updates
  9125  // only after the object has changed since the last request.
  9126  func (c *OperationsListCall) IfNoneMatch(entityTag string) *OperationsListCall {
  9127  	c.ifNoneMatch_ = entityTag
  9128  	return c
  9129  }
  9130  
  9131  // Context sets the context to be used in this call's Do method.
  9132  func (c *OperationsListCall) Context(ctx context.Context) *OperationsListCall {
  9133  	c.ctx_ = ctx
  9134  	return c
  9135  }
  9136  
  9137  // Header returns a http.Header that can be modified by the caller to add
  9138  // headers to the request.
  9139  func (c *OperationsListCall) Header() http.Header {
  9140  	if c.header_ == nil {
  9141  		c.header_ = make(http.Header)
  9142  	}
  9143  	return c.header_
  9144  }
  9145  
  9146  func (c *OperationsListCall) doRequest(alt string) (*http.Response, error) {
  9147  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9148  	if c.ifNoneMatch_ != "" {
  9149  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  9150  	}
  9151  	var body io.Reader = nil
  9152  	c.urlParams_.Set("alt", alt)
  9153  	c.urlParams_.Set("prettyPrint", "false")
  9154  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{project}/operations")
  9155  	urls += "?" + c.urlParams_.Encode()
  9156  	req, err := http.NewRequest("GET", urls, body)
  9157  	if err != nil {
  9158  		return nil, err
  9159  	}
  9160  	req.Header = reqHeaders
  9161  	googleapi.Expand(req.URL, map[string]string{
  9162  		"project": c.project,
  9163  	})
  9164  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9165  }
  9166  
  9167  // Do executes the "sql.operations.list" call.
  9168  // Any non-2xx status code is an error. Response headers are in either
  9169  // *OperationsListResponse.ServerResponse.Header or (if a response was returned
  9170  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  9171  // check whether the returned error was because http.StatusNotModified was
  9172  // returned.
  9173  func (c *OperationsListCall) Do(opts ...googleapi.CallOption) (*OperationsListResponse, error) {
  9174  	gensupport.SetOptions(c.urlParams_, opts...)
  9175  	res, err := c.doRequest("json")
  9176  	if res != nil && res.StatusCode == http.StatusNotModified {
  9177  		if res.Body != nil {
  9178  			res.Body.Close()
  9179  		}
  9180  		return nil, gensupport.WrapError(&googleapi.Error{
  9181  			Code:   res.StatusCode,
  9182  			Header: res.Header,
  9183  		})
  9184  	}
  9185  	if err != nil {
  9186  		return nil, err
  9187  	}
  9188  	defer googleapi.CloseBody(res)
  9189  	if err := googleapi.CheckResponse(res); err != nil {
  9190  		return nil, gensupport.WrapError(err)
  9191  	}
  9192  	ret := &OperationsListResponse{
  9193  		ServerResponse: googleapi.ServerResponse{
  9194  			Header:         res.Header,
  9195  			HTTPStatusCode: res.StatusCode,
  9196  		},
  9197  	}
  9198  	target := &ret
  9199  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9200  		return nil, err
  9201  	}
  9202  	return ret, nil
  9203  }
  9204  
  9205  // Pages invokes f for each page of results.
  9206  // A non-nil error returned from f will halt the iteration.
  9207  // The provided context supersedes any context provided to the Context method.
  9208  func (c *OperationsListCall) Pages(ctx context.Context, f func(*OperationsListResponse) error) error {
  9209  	c.ctx_ = ctx
  9210  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  9211  	for {
  9212  		x, err := c.Do()
  9213  		if err != nil {
  9214  			return err
  9215  		}
  9216  		if err := f(x); err != nil {
  9217  			return err
  9218  		}
  9219  		if x.NextPageToken == "" {
  9220  			return nil
  9221  		}
  9222  		c.PageToken(x.NextPageToken)
  9223  	}
  9224  }
  9225  
  9226  type ProjectsInstancesGetDiskShrinkConfigCall struct {
  9227  	s            *Service
  9228  	project      string
  9229  	instance     string
  9230  	urlParams_   gensupport.URLParams
  9231  	ifNoneMatch_ string
  9232  	ctx_         context.Context
  9233  	header_      http.Header
  9234  }
  9235  
  9236  // GetDiskShrinkConfig: Get Disk Shrink Config for a given instance.
  9237  //
  9238  // - instance: Cloud SQL instance ID. This does not include the project ID.
  9239  // - project: Project ID of the project that contains the instance.
  9240  func (r *ProjectsInstancesService) GetDiskShrinkConfig(project string, instance string) *ProjectsInstancesGetDiskShrinkConfigCall {
  9241  	c := &ProjectsInstancesGetDiskShrinkConfigCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9242  	c.project = project
  9243  	c.instance = instance
  9244  	return c
  9245  }
  9246  
  9247  // Fields allows partial responses to be retrieved. See
  9248  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9249  // details.
  9250  func (c *ProjectsInstancesGetDiskShrinkConfigCall) Fields(s ...googleapi.Field) *ProjectsInstancesGetDiskShrinkConfigCall {
  9251  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9252  	return c
  9253  }
  9254  
  9255  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  9256  // object's ETag matches the given value. This is useful for getting updates
  9257  // only after the object has changed since the last request.
  9258  func (c *ProjectsInstancesGetDiskShrinkConfigCall) IfNoneMatch(entityTag string) *ProjectsInstancesGetDiskShrinkConfigCall {
  9259  	c.ifNoneMatch_ = entityTag
  9260  	return c
  9261  }
  9262  
  9263  // Context sets the context to be used in this call's Do method.
  9264  func (c *ProjectsInstancesGetDiskShrinkConfigCall) Context(ctx context.Context) *ProjectsInstancesGetDiskShrinkConfigCall {
  9265  	c.ctx_ = ctx
  9266  	return c
  9267  }
  9268  
  9269  // Header returns a http.Header that can be modified by the caller to add
  9270  // headers to the request.
  9271  func (c *ProjectsInstancesGetDiskShrinkConfigCall) Header() http.Header {
  9272  	if c.header_ == nil {
  9273  		c.header_ = make(http.Header)
  9274  	}
  9275  	return c.header_
  9276  }
  9277  
  9278  func (c *ProjectsInstancesGetDiskShrinkConfigCall) doRequest(alt string) (*http.Response, error) {
  9279  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9280  	if c.ifNoneMatch_ != "" {
  9281  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  9282  	}
  9283  	var body io.Reader = nil
  9284  	c.urlParams_.Set("alt", alt)
  9285  	c.urlParams_.Set("prettyPrint", "false")
  9286  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{project}/instances/{instance}/getDiskShrinkConfig")
  9287  	urls += "?" + c.urlParams_.Encode()
  9288  	req, err := http.NewRequest("GET", urls, body)
  9289  	if err != nil {
  9290  		return nil, err
  9291  	}
  9292  	req.Header = reqHeaders
  9293  	googleapi.Expand(req.URL, map[string]string{
  9294  		"project":  c.project,
  9295  		"instance": c.instance,
  9296  	})
  9297  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9298  }
  9299  
  9300  // Do executes the "sql.projects.instances.getDiskShrinkConfig" call.
  9301  // Any non-2xx status code is an error. Response headers are in either
  9302  // *SqlInstancesGetDiskShrinkConfigResponse.ServerResponse.Header or (if a
  9303  // response was returned at all) in error.(*googleapi.Error).Header. Use
  9304  // googleapi.IsNotModified to check whether the returned error was because
  9305  // http.StatusNotModified was returned.
  9306  func (c *ProjectsInstancesGetDiskShrinkConfigCall) Do(opts ...googleapi.CallOption) (*SqlInstancesGetDiskShrinkConfigResponse, error) {
  9307  	gensupport.SetOptions(c.urlParams_, opts...)
  9308  	res, err := c.doRequest("json")
  9309  	if res != nil && res.StatusCode == http.StatusNotModified {
  9310  		if res.Body != nil {
  9311  			res.Body.Close()
  9312  		}
  9313  		return nil, gensupport.WrapError(&googleapi.Error{
  9314  			Code:   res.StatusCode,
  9315  			Header: res.Header,
  9316  		})
  9317  	}
  9318  	if err != nil {
  9319  		return nil, err
  9320  	}
  9321  	defer googleapi.CloseBody(res)
  9322  	if err := googleapi.CheckResponse(res); err != nil {
  9323  		return nil, gensupport.WrapError(err)
  9324  	}
  9325  	ret := &SqlInstancesGetDiskShrinkConfigResponse{
  9326  		ServerResponse: googleapi.ServerResponse{
  9327  			Header:         res.Header,
  9328  			HTTPStatusCode: res.StatusCode,
  9329  		},
  9330  	}
  9331  	target := &ret
  9332  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9333  		return nil, err
  9334  	}
  9335  	return ret, nil
  9336  }
  9337  
  9338  type ProjectsInstancesGetLatestRecoveryTimeCall struct {
  9339  	s            *Service
  9340  	project      string
  9341  	instance     string
  9342  	urlParams_   gensupport.URLParams
  9343  	ifNoneMatch_ string
  9344  	ctx_         context.Context
  9345  	header_      http.Header
  9346  }
  9347  
  9348  // GetLatestRecoveryTime: Get Latest Recovery Time for a given instance.
  9349  //
  9350  // - instance: Cloud SQL instance ID. This does not include the project ID.
  9351  // - project: Project ID of the project that contains the instance.
  9352  func (r *ProjectsInstancesService) GetLatestRecoveryTime(project string, instance string) *ProjectsInstancesGetLatestRecoveryTimeCall {
  9353  	c := &ProjectsInstancesGetLatestRecoveryTimeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9354  	c.project = project
  9355  	c.instance = instance
  9356  	return c
  9357  }
  9358  
  9359  // Fields allows partial responses to be retrieved. See
  9360  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9361  // details.
  9362  func (c *ProjectsInstancesGetLatestRecoveryTimeCall) Fields(s ...googleapi.Field) *ProjectsInstancesGetLatestRecoveryTimeCall {
  9363  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9364  	return c
  9365  }
  9366  
  9367  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  9368  // object's ETag matches the given value. This is useful for getting updates
  9369  // only after the object has changed since the last request.
  9370  func (c *ProjectsInstancesGetLatestRecoveryTimeCall) IfNoneMatch(entityTag string) *ProjectsInstancesGetLatestRecoveryTimeCall {
  9371  	c.ifNoneMatch_ = entityTag
  9372  	return c
  9373  }
  9374  
  9375  // Context sets the context to be used in this call's Do method.
  9376  func (c *ProjectsInstancesGetLatestRecoveryTimeCall) Context(ctx context.Context) *ProjectsInstancesGetLatestRecoveryTimeCall {
  9377  	c.ctx_ = ctx
  9378  	return c
  9379  }
  9380  
  9381  // Header returns a http.Header that can be modified by the caller to add
  9382  // headers to the request.
  9383  func (c *ProjectsInstancesGetLatestRecoveryTimeCall) Header() http.Header {
  9384  	if c.header_ == nil {
  9385  		c.header_ = make(http.Header)
  9386  	}
  9387  	return c.header_
  9388  }
  9389  
  9390  func (c *ProjectsInstancesGetLatestRecoveryTimeCall) doRequest(alt string) (*http.Response, error) {
  9391  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9392  	if c.ifNoneMatch_ != "" {
  9393  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  9394  	}
  9395  	var body io.Reader = nil
  9396  	c.urlParams_.Set("alt", alt)
  9397  	c.urlParams_.Set("prettyPrint", "false")
  9398  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{project}/instances/{instance}/getLatestRecoveryTime")
  9399  	urls += "?" + c.urlParams_.Encode()
  9400  	req, err := http.NewRequest("GET", urls, body)
  9401  	if err != nil {
  9402  		return nil, err
  9403  	}
  9404  	req.Header = reqHeaders
  9405  	googleapi.Expand(req.URL, map[string]string{
  9406  		"project":  c.project,
  9407  		"instance": c.instance,
  9408  	})
  9409  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9410  }
  9411  
  9412  // Do executes the "sql.projects.instances.getLatestRecoveryTime" call.
  9413  // Any non-2xx status code is an error. Response headers are in either
  9414  // *SqlInstancesGetLatestRecoveryTimeResponse.ServerResponse.Header or (if a
  9415  // response was returned at all) in error.(*googleapi.Error).Header. Use
  9416  // googleapi.IsNotModified to check whether the returned error was because
  9417  // http.StatusNotModified was returned.
  9418  func (c *ProjectsInstancesGetLatestRecoveryTimeCall) Do(opts ...googleapi.CallOption) (*SqlInstancesGetLatestRecoveryTimeResponse, error) {
  9419  	gensupport.SetOptions(c.urlParams_, opts...)
  9420  	res, err := c.doRequest("json")
  9421  	if res != nil && res.StatusCode == http.StatusNotModified {
  9422  		if res.Body != nil {
  9423  			res.Body.Close()
  9424  		}
  9425  		return nil, gensupport.WrapError(&googleapi.Error{
  9426  			Code:   res.StatusCode,
  9427  			Header: res.Header,
  9428  		})
  9429  	}
  9430  	if err != nil {
  9431  		return nil, err
  9432  	}
  9433  	defer googleapi.CloseBody(res)
  9434  	if err := googleapi.CheckResponse(res); err != nil {
  9435  		return nil, gensupport.WrapError(err)
  9436  	}
  9437  	ret := &SqlInstancesGetLatestRecoveryTimeResponse{
  9438  		ServerResponse: googleapi.ServerResponse{
  9439  			Header:         res.Header,
  9440  			HTTPStatusCode: res.StatusCode,
  9441  		},
  9442  	}
  9443  	target := &ret
  9444  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9445  		return nil, err
  9446  	}
  9447  	return ret, nil
  9448  }
  9449  
  9450  type ProjectsInstancesPerformDiskShrinkCall struct {
  9451  	s                        *Service
  9452  	project                  string
  9453  	instance                 string
  9454  	performdiskshrinkcontext *PerformDiskShrinkContext
  9455  	urlParams_               gensupport.URLParams
  9456  	ctx_                     context.Context
  9457  	header_                  http.Header
  9458  }
  9459  
  9460  // PerformDiskShrink: Perform Disk Shrink on primary instance.
  9461  //
  9462  // - instance: Cloud SQL instance ID. This does not include the project ID.
  9463  // - project: Project ID of the project that contains the instance.
  9464  func (r *ProjectsInstancesService) PerformDiskShrink(project string, instance string, performdiskshrinkcontext *PerformDiskShrinkContext) *ProjectsInstancesPerformDiskShrinkCall {
  9465  	c := &ProjectsInstancesPerformDiskShrinkCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9466  	c.project = project
  9467  	c.instance = instance
  9468  	c.performdiskshrinkcontext = performdiskshrinkcontext
  9469  	return c
  9470  }
  9471  
  9472  // Fields allows partial responses to be retrieved. See
  9473  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9474  // details.
  9475  func (c *ProjectsInstancesPerformDiskShrinkCall) Fields(s ...googleapi.Field) *ProjectsInstancesPerformDiskShrinkCall {
  9476  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9477  	return c
  9478  }
  9479  
  9480  // Context sets the context to be used in this call's Do method.
  9481  func (c *ProjectsInstancesPerformDiskShrinkCall) Context(ctx context.Context) *ProjectsInstancesPerformDiskShrinkCall {
  9482  	c.ctx_ = ctx
  9483  	return c
  9484  }
  9485  
  9486  // Header returns a http.Header that can be modified by the caller to add
  9487  // headers to the request.
  9488  func (c *ProjectsInstancesPerformDiskShrinkCall) Header() http.Header {
  9489  	if c.header_ == nil {
  9490  		c.header_ = make(http.Header)
  9491  	}
  9492  	return c.header_
  9493  }
  9494  
  9495  func (c *ProjectsInstancesPerformDiskShrinkCall) doRequest(alt string) (*http.Response, error) {
  9496  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  9497  	var body io.Reader = nil
  9498  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.performdiskshrinkcontext)
  9499  	if err != nil {
  9500  		return nil, err
  9501  	}
  9502  	c.urlParams_.Set("alt", alt)
  9503  	c.urlParams_.Set("prettyPrint", "false")
  9504  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{project}/instances/{instance}/performDiskShrink")
  9505  	urls += "?" + c.urlParams_.Encode()
  9506  	req, err := http.NewRequest("POST", urls, body)
  9507  	if err != nil {
  9508  		return nil, err
  9509  	}
  9510  	req.Header = reqHeaders
  9511  	googleapi.Expand(req.URL, map[string]string{
  9512  		"project":  c.project,
  9513  		"instance": c.instance,
  9514  	})
  9515  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9516  }
  9517  
  9518  // Do executes the "sql.projects.instances.performDiskShrink" call.
  9519  // Any non-2xx status code is an error. Response headers are in either
  9520  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  9521  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9522  // whether the returned error was because http.StatusNotModified was returned.
  9523  func (c *ProjectsInstancesPerformDiskShrinkCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  9524  	gensupport.SetOptions(c.urlParams_, opts...)
  9525  	res, err := c.doRequest("json")
  9526  	if res != nil && res.StatusCode == http.StatusNotModified {
  9527  		if res.Body != nil {
  9528  			res.Body.Close()
  9529  		}
  9530  		return nil, gensupport.WrapError(&googleapi.Error{
  9531  			Code:   res.StatusCode,
  9532  			Header: res.Header,
  9533  		})
  9534  	}
  9535  	if err != nil {
  9536  		return nil, err
  9537  	}
  9538  	defer googleapi.CloseBody(res)
  9539  	if err := googleapi.CheckResponse(res); err != nil {
  9540  		return nil, gensupport.WrapError(err)
  9541  	}
  9542  	ret := &Operation{
  9543  		ServerResponse: googleapi.ServerResponse{
  9544  			Header:         res.Header,
  9545  			HTTPStatusCode: res.StatusCode,
  9546  		},
  9547  	}
  9548  	target := &ret
  9549  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9550  		return nil, err
  9551  	}
  9552  	return ret, nil
  9553  }
  9554  
  9555  type ProjectsInstancesRescheduleMaintenanceCall struct {
  9556  	s                                            *Service
  9557  	project                                      string
  9558  	instance                                     string
  9559  	sqlinstancesreschedulemaintenancerequestbody *SqlInstancesRescheduleMaintenanceRequestBody
  9560  	urlParams_                                   gensupport.URLParams
  9561  	ctx_                                         context.Context
  9562  	header_                                      http.Header
  9563  }
  9564  
  9565  // RescheduleMaintenance: Reschedules the maintenance on the given instance.
  9566  //
  9567  // - instance: Cloud SQL instance ID. This does not include the project ID.
  9568  // - project: ID of the project that contains the instance.
  9569  func (r *ProjectsInstancesService) RescheduleMaintenance(project string, instance string, sqlinstancesreschedulemaintenancerequestbody *SqlInstancesRescheduleMaintenanceRequestBody) *ProjectsInstancesRescheduleMaintenanceCall {
  9570  	c := &ProjectsInstancesRescheduleMaintenanceCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9571  	c.project = project
  9572  	c.instance = instance
  9573  	c.sqlinstancesreschedulemaintenancerequestbody = sqlinstancesreschedulemaintenancerequestbody
  9574  	return c
  9575  }
  9576  
  9577  // Fields allows partial responses to be retrieved. See
  9578  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9579  // details.
  9580  func (c *ProjectsInstancesRescheduleMaintenanceCall) Fields(s ...googleapi.Field) *ProjectsInstancesRescheduleMaintenanceCall {
  9581  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9582  	return c
  9583  }
  9584  
  9585  // Context sets the context to be used in this call's Do method.
  9586  func (c *ProjectsInstancesRescheduleMaintenanceCall) Context(ctx context.Context) *ProjectsInstancesRescheduleMaintenanceCall {
  9587  	c.ctx_ = ctx
  9588  	return c
  9589  }
  9590  
  9591  // Header returns a http.Header that can be modified by the caller to add
  9592  // headers to the request.
  9593  func (c *ProjectsInstancesRescheduleMaintenanceCall) Header() http.Header {
  9594  	if c.header_ == nil {
  9595  		c.header_ = make(http.Header)
  9596  	}
  9597  	return c.header_
  9598  }
  9599  
  9600  func (c *ProjectsInstancesRescheduleMaintenanceCall) doRequest(alt string) (*http.Response, error) {
  9601  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  9602  	var body io.Reader = nil
  9603  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.sqlinstancesreschedulemaintenancerequestbody)
  9604  	if err != nil {
  9605  		return nil, err
  9606  	}
  9607  	c.urlParams_.Set("alt", alt)
  9608  	c.urlParams_.Set("prettyPrint", "false")
  9609  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{project}/instances/{instance}/rescheduleMaintenance")
  9610  	urls += "?" + c.urlParams_.Encode()
  9611  	req, err := http.NewRequest("POST", urls, body)
  9612  	if err != nil {
  9613  		return nil, err
  9614  	}
  9615  	req.Header = reqHeaders
  9616  	googleapi.Expand(req.URL, map[string]string{
  9617  		"project":  c.project,
  9618  		"instance": c.instance,
  9619  	})
  9620  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9621  }
  9622  
  9623  // Do executes the "sql.projects.instances.rescheduleMaintenance" call.
  9624  // Any non-2xx status code is an error. Response headers are in either
  9625  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  9626  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9627  // whether the returned error was because http.StatusNotModified was returned.
  9628  func (c *ProjectsInstancesRescheduleMaintenanceCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  9629  	gensupport.SetOptions(c.urlParams_, opts...)
  9630  	res, err := c.doRequest("json")
  9631  	if res != nil && res.StatusCode == http.StatusNotModified {
  9632  		if res.Body != nil {
  9633  			res.Body.Close()
  9634  		}
  9635  		return nil, gensupport.WrapError(&googleapi.Error{
  9636  			Code:   res.StatusCode,
  9637  			Header: res.Header,
  9638  		})
  9639  	}
  9640  	if err != nil {
  9641  		return nil, err
  9642  	}
  9643  	defer googleapi.CloseBody(res)
  9644  	if err := googleapi.CheckResponse(res); err != nil {
  9645  		return nil, gensupport.WrapError(err)
  9646  	}
  9647  	ret := &Operation{
  9648  		ServerResponse: googleapi.ServerResponse{
  9649  			Header:         res.Header,
  9650  			HTTPStatusCode: res.StatusCode,
  9651  		},
  9652  	}
  9653  	target := &ret
  9654  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9655  		return nil, err
  9656  	}
  9657  	return ret, nil
  9658  }
  9659  
  9660  type ProjectsInstancesResetReplicaSizeCall struct {
  9661  	s                                   *Service
  9662  	project                             string
  9663  	instance                            string
  9664  	sqlinstancesresetreplicasizerequest *SqlInstancesResetReplicaSizeRequest
  9665  	urlParams_                          gensupport.URLParams
  9666  	ctx_                                context.Context
  9667  	header_                             http.Header
  9668  }
  9669  
  9670  // ResetReplicaSize: Reset Replica Size to primary instance disk size.
  9671  //
  9672  // - instance: Cloud SQL read replica instance name.
  9673  // - project: ID of the project that contains the read replica.
  9674  func (r *ProjectsInstancesService) ResetReplicaSize(project string, instance string, sqlinstancesresetreplicasizerequest *SqlInstancesResetReplicaSizeRequest) *ProjectsInstancesResetReplicaSizeCall {
  9675  	c := &ProjectsInstancesResetReplicaSizeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9676  	c.project = project
  9677  	c.instance = instance
  9678  	c.sqlinstancesresetreplicasizerequest = sqlinstancesresetreplicasizerequest
  9679  	return c
  9680  }
  9681  
  9682  // Fields allows partial responses to be retrieved. See
  9683  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9684  // details.
  9685  func (c *ProjectsInstancesResetReplicaSizeCall) Fields(s ...googleapi.Field) *ProjectsInstancesResetReplicaSizeCall {
  9686  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9687  	return c
  9688  }
  9689  
  9690  // Context sets the context to be used in this call's Do method.
  9691  func (c *ProjectsInstancesResetReplicaSizeCall) Context(ctx context.Context) *ProjectsInstancesResetReplicaSizeCall {
  9692  	c.ctx_ = ctx
  9693  	return c
  9694  }
  9695  
  9696  // Header returns a http.Header that can be modified by the caller to add
  9697  // headers to the request.
  9698  func (c *ProjectsInstancesResetReplicaSizeCall) Header() http.Header {
  9699  	if c.header_ == nil {
  9700  		c.header_ = make(http.Header)
  9701  	}
  9702  	return c.header_
  9703  }
  9704  
  9705  func (c *ProjectsInstancesResetReplicaSizeCall) doRequest(alt string) (*http.Response, error) {
  9706  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  9707  	var body io.Reader = nil
  9708  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.sqlinstancesresetreplicasizerequest)
  9709  	if err != nil {
  9710  		return nil, err
  9711  	}
  9712  	c.urlParams_.Set("alt", alt)
  9713  	c.urlParams_.Set("prettyPrint", "false")
  9714  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{project}/instances/{instance}/resetReplicaSize")
  9715  	urls += "?" + c.urlParams_.Encode()
  9716  	req, err := http.NewRequest("POST", urls, body)
  9717  	if err != nil {
  9718  		return nil, err
  9719  	}
  9720  	req.Header = reqHeaders
  9721  	googleapi.Expand(req.URL, map[string]string{
  9722  		"project":  c.project,
  9723  		"instance": c.instance,
  9724  	})
  9725  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9726  }
  9727  
  9728  // Do executes the "sql.projects.instances.resetReplicaSize" call.
  9729  // Any non-2xx status code is an error. Response headers are in either
  9730  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  9731  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9732  // whether the returned error was because http.StatusNotModified was returned.
  9733  func (c *ProjectsInstancesResetReplicaSizeCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  9734  	gensupport.SetOptions(c.urlParams_, opts...)
  9735  	res, err := c.doRequest("json")
  9736  	if res != nil && res.StatusCode == http.StatusNotModified {
  9737  		if res.Body != nil {
  9738  			res.Body.Close()
  9739  		}
  9740  		return nil, gensupport.WrapError(&googleapi.Error{
  9741  			Code:   res.StatusCode,
  9742  			Header: res.Header,
  9743  		})
  9744  	}
  9745  	if err != nil {
  9746  		return nil, err
  9747  	}
  9748  	defer googleapi.CloseBody(res)
  9749  	if err := googleapi.CheckResponse(res); err != nil {
  9750  		return nil, gensupport.WrapError(err)
  9751  	}
  9752  	ret := &Operation{
  9753  		ServerResponse: googleapi.ServerResponse{
  9754  			Header:         res.Header,
  9755  			HTTPStatusCode: res.StatusCode,
  9756  		},
  9757  	}
  9758  	target := &ret
  9759  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9760  		return nil, err
  9761  	}
  9762  	return ret, nil
  9763  }
  9764  
  9765  type ProjectsInstancesStartExternalSyncCall struct {
  9766  	s                                    *Service
  9767  	project                              string
  9768  	instance                             string
  9769  	sqlinstancesstartexternalsyncrequest *SqlInstancesStartExternalSyncRequest
  9770  	urlParams_                           gensupport.URLParams
  9771  	ctx_                                 context.Context
  9772  	header_                              http.Header
  9773  }
  9774  
  9775  // StartExternalSync: Start External primary instance migration.
  9776  //
  9777  // - instance: Cloud SQL instance ID. This does not include the project ID.
  9778  // - project: ID of the project that contains the instance.
  9779  func (r *ProjectsInstancesService) StartExternalSync(project string, instance string, sqlinstancesstartexternalsyncrequest *SqlInstancesStartExternalSyncRequest) *ProjectsInstancesStartExternalSyncCall {
  9780  	c := &ProjectsInstancesStartExternalSyncCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9781  	c.project = project
  9782  	c.instance = instance
  9783  	c.sqlinstancesstartexternalsyncrequest = sqlinstancesstartexternalsyncrequest
  9784  	return c
  9785  }
  9786  
  9787  // Fields allows partial responses to be retrieved. See
  9788  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9789  // details.
  9790  func (c *ProjectsInstancesStartExternalSyncCall) Fields(s ...googleapi.Field) *ProjectsInstancesStartExternalSyncCall {
  9791  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9792  	return c
  9793  }
  9794  
  9795  // Context sets the context to be used in this call's Do method.
  9796  func (c *ProjectsInstancesStartExternalSyncCall) Context(ctx context.Context) *ProjectsInstancesStartExternalSyncCall {
  9797  	c.ctx_ = ctx
  9798  	return c
  9799  }
  9800  
  9801  // Header returns a http.Header that can be modified by the caller to add
  9802  // headers to the request.
  9803  func (c *ProjectsInstancesStartExternalSyncCall) Header() http.Header {
  9804  	if c.header_ == nil {
  9805  		c.header_ = make(http.Header)
  9806  	}
  9807  	return c.header_
  9808  }
  9809  
  9810  func (c *ProjectsInstancesStartExternalSyncCall) doRequest(alt string) (*http.Response, error) {
  9811  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  9812  	var body io.Reader = nil
  9813  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.sqlinstancesstartexternalsyncrequest)
  9814  	if err != nil {
  9815  		return nil, err
  9816  	}
  9817  	c.urlParams_.Set("alt", alt)
  9818  	c.urlParams_.Set("prettyPrint", "false")
  9819  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{project}/instances/{instance}/startExternalSync")
  9820  	urls += "?" + c.urlParams_.Encode()
  9821  	req, err := http.NewRequest("POST", urls, body)
  9822  	if err != nil {
  9823  		return nil, err
  9824  	}
  9825  	req.Header = reqHeaders
  9826  	googleapi.Expand(req.URL, map[string]string{
  9827  		"project":  c.project,
  9828  		"instance": c.instance,
  9829  	})
  9830  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9831  }
  9832  
  9833  // Do executes the "sql.projects.instances.startExternalSync" call.
  9834  // Any non-2xx status code is an error. Response headers are in either
  9835  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  9836  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9837  // whether the returned error was because http.StatusNotModified was returned.
  9838  func (c *ProjectsInstancesStartExternalSyncCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  9839  	gensupport.SetOptions(c.urlParams_, opts...)
  9840  	res, err := c.doRequest("json")
  9841  	if res != nil && res.StatusCode == http.StatusNotModified {
  9842  		if res.Body != nil {
  9843  			res.Body.Close()
  9844  		}
  9845  		return nil, gensupport.WrapError(&googleapi.Error{
  9846  			Code:   res.StatusCode,
  9847  			Header: res.Header,
  9848  		})
  9849  	}
  9850  	if err != nil {
  9851  		return nil, err
  9852  	}
  9853  	defer googleapi.CloseBody(res)
  9854  	if err := googleapi.CheckResponse(res); err != nil {
  9855  		return nil, gensupport.WrapError(err)
  9856  	}
  9857  	ret := &Operation{
  9858  		ServerResponse: googleapi.ServerResponse{
  9859  			Header:         res.Header,
  9860  			HTTPStatusCode: res.StatusCode,
  9861  		},
  9862  	}
  9863  	target := &ret
  9864  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9865  		return nil, err
  9866  	}
  9867  	return ret, nil
  9868  }
  9869  
  9870  type ProjectsInstancesVerifyExternalSyncSettingsCall struct {
  9871  	s                                             *Service
  9872  	project                                       string
  9873  	instance                                      string
  9874  	sqlinstancesverifyexternalsyncsettingsrequest *SqlInstancesVerifyExternalSyncSettingsRequest
  9875  	urlParams_                                    gensupport.URLParams
  9876  	ctx_                                          context.Context
  9877  	header_                                       http.Header
  9878  }
  9879  
  9880  // VerifyExternalSyncSettings: Verify External primary instance external sync
  9881  // settings.
  9882  //
  9883  // - instance: Cloud SQL instance ID. This does not include the project ID.
  9884  // - project: Project ID of the project that contains the instance.
  9885  func (r *ProjectsInstancesService) VerifyExternalSyncSettings(project string, instance string, sqlinstancesverifyexternalsyncsettingsrequest *SqlInstancesVerifyExternalSyncSettingsRequest) *ProjectsInstancesVerifyExternalSyncSettingsCall {
  9886  	c := &ProjectsInstancesVerifyExternalSyncSettingsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9887  	c.project = project
  9888  	c.instance = instance
  9889  	c.sqlinstancesverifyexternalsyncsettingsrequest = sqlinstancesverifyexternalsyncsettingsrequest
  9890  	return c
  9891  }
  9892  
  9893  // Fields allows partial responses to be retrieved. See
  9894  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9895  // details.
  9896  func (c *ProjectsInstancesVerifyExternalSyncSettingsCall) Fields(s ...googleapi.Field) *ProjectsInstancesVerifyExternalSyncSettingsCall {
  9897  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9898  	return c
  9899  }
  9900  
  9901  // Context sets the context to be used in this call's Do method.
  9902  func (c *ProjectsInstancesVerifyExternalSyncSettingsCall) Context(ctx context.Context) *ProjectsInstancesVerifyExternalSyncSettingsCall {
  9903  	c.ctx_ = ctx
  9904  	return c
  9905  }
  9906  
  9907  // Header returns a http.Header that can be modified by the caller to add
  9908  // headers to the request.
  9909  func (c *ProjectsInstancesVerifyExternalSyncSettingsCall) Header() http.Header {
  9910  	if c.header_ == nil {
  9911  		c.header_ = make(http.Header)
  9912  	}
  9913  	return c.header_
  9914  }
  9915  
  9916  func (c *ProjectsInstancesVerifyExternalSyncSettingsCall) doRequest(alt string) (*http.Response, error) {
  9917  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  9918  	var body io.Reader = nil
  9919  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.sqlinstancesverifyexternalsyncsettingsrequest)
  9920  	if err != nil {
  9921  		return nil, err
  9922  	}
  9923  	c.urlParams_.Set("alt", alt)
  9924  	c.urlParams_.Set("prettyPrint", "false")
  9925  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{project}/instances/{instance}/verifyExternalSyncSettings")
  9926  	urls += "?" + c.urlParams_.Encode()
  9927  	req, err := http.NewRequest("POST", urls, body)
  9928  	if err != nil {
  9929  		return nil, err
  9930  	}
  9931  	req.Header = reqHeaders
  9932  	googleapi.Expand(req.URL, map[string]string{
  9933  		"project":  c.project,
  9934  		"instance": c.instance,
  9935  	})
  9936  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9937  }
  9938  
  9939  // Do executes the "sql.projects.instances.verifyExternalSyncSettings" call.
  9940  // Any non-2xx status code is an error. Response headers are in either
  9941  // *SqlInstancesVerifyExternalSyncSettingsResponse.ServerResponse.Header or (if
  9942  // a response was returned at all) in error.(*googleapi.Error).Header. Use
  9943  // googleapi.IsNotModified to check whether the returned error was because
  9944  // http.StatusNotModified was returned.
  9945  func (c *ProjectsInstancesVerifyExternalSyncSettingsCall) Do(opts ...googleapi.CallOption) (*SqlInstancesVerifyExternalSyncSettingsResponse, error) {
  9946  	gensupport.SetOptions(c.urlParams_, opts...)
  9947  	res, err := c.doRequest("json")
  9948  	if res != nil && res.StatusCode == http.StatusNotModified {
  9949  		if res.Body != nil {
  9950  			res.Body.Close()
  9951  		}
  9952  		return nil, gensupport.WrapError(&googleapi.Error{
  9953  			Code:   res.StatusCode,
  9954  			Header: res.Header,
  9955  		})
  9956  	}
  9957  	if err != nil {
  9958  		return nil, err
  9959  	}
  9960  	defer googleapi.CloseBody(res)
  9961  	if err := googleapi.CheckResponse(res); err != nil {
  9962  		return nil, gensupport.WrapError(err)
  9963  	}
  9964  	ret := &SqlInstancesVerifyExternalSyncSettingsResponse{
  9965  		ServerResponse: googleapi.ServerResponse{
  9966  			Header:         res.Header,
  9967  			HTTPStatusCode: res.StatusCode,
  9968  		},
  9969  	}
  9970  	target := &ret
  9971  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9972  		return nil, err
  9973  	}
  9974  	return ret, nil
  9975  }
  9976  
  9977  type SslCertsCreateEphemeralCall struct {
  9978  	s                              *Service
  9979  	project                        string
  9980  	instance                       string
  9981  	sslcertscreateephemeralrequest *SslCertsCreateEphemeralRequest
  9982  	urlParams_                     gensupport.URLParams
  9983  	ctx_                           context.Context
  9984  	header_                        http.Header
  9985  }
  9986  
  9987  // CreateEphemeral: Generates a short-lived X509 certificate containing the
  9988  // provided public key and signed by a private key specific to the target
  9989  // instance. Users may use the certificate to authenticate as themselves when
  9990  // connecting to the database.
  9991  //
  9992  // - instance: Cloud SQL instance ID. This does not include the project ID.
  9993  // - project: Project ID of the Cloud SQL project.
  9994  func (r *SslCertsService) CreateEphemeral(project string, instance string, sslcertscreateephemeralrequest *SslCertsCreateEphemeralRequest) *SslCertsCreateEphemeralCall {
  9995  	c := &SslCertsCreateEphemeralCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9996  	c.project = project
  9997  	c.instance = instance
  9998  	c.sslcertscreateephemeralrequest = sslcertscreateephemeralrequest
  9999  	return c
 10000  }
 10001  
 10002  // Fields allows partial responses to be retrieved. See
 10003  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10004  // details.
 10005  func (c *SslCertsCreateEphemeralCall) Fields(s ...googleapi.Field) *SslCertsCreateEphemeralCall {
 10006  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10007  	return c
 10008  }
 10009  
 10010  // Context sets the context to be used in this call's Do method.
 10011  func (c *SslCertsCreateEphemeralCall) Context(ctx context.Context) *SslCertsCreateEphemeralCall {
 10012  	c.ctx_ = ctx
 10013  	return c
 10014  }
 10015  
 10016  // Header returns a http.Header that can be modified by the caller to add
 10017  // headers to the request.
 10018  func (c *SslCertsCreateEphemeralCall) Header() http.Header {
 10019  	if c.header_ == nil {
 10020  		c.header_ = make(http.Header)
 10021  	}
 10022  	return c.header_
 10023  }
 10024  
 10025  func (c *SslCertsCreateEphemeralCall) doRequest(alt string) (*http.Response, error) {
 10026  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 10027  	var body io.Reader = nil
 10028  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.sslcertscreateephemeralrequest)
 10029  	if err != nil {
 10030  		return nil, err
 10031  	}
 10032  	c.urlParams_.Set("alt", alt)
 10033  	c.urlParams_.Set("prettyPrint", "false")
 10034  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{project}/instances/{instance}/createEphemeral")
 10035  	urls += "?" + c.urlParams_.Encode()
 10036  	req, err := http.NewRequest("POST", urls, body)
 10037  	if err != nil {
 10038  		return nil, err
 10039  	}
 10040  	req.Header = reqHeaders
 10041  	googleapi.Expand(req.URL, map[string]string{
 10042  		"project":  c.project,
 10043  		"instance": c.instance,
 10044  	})
 10045  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10046  }
 10047  
 10048  // Do executes the "sql.sslCerts.createEphemeral" call.
 10049  // Any non-2xx status code is an error. Response headers are in either
 10050  // *SslCert.ServerResponse.Header or (if a response was returned at all) in
 10051  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 10052  // whether the returned error was because http.StatusNotModified was returned.
 10053  func (c *SslCertsCreateEphemeralCall) Do(opts ...googleapi.CallOption) (*SslCert, error) {
 10054  	gensupport.SetOptions(c.urlParams_, opts...)
 10055  	res, err := c.doRequest("json")
 10056  	if res != nil && res.StatusCode == http.StatusNotModified {
 10057  		if res.Body != nil {
 10058  			res.Body.Close()
 10059  		}
 10060  		return nil, gensupport.WrapError(&googleapi.Error{
 10061  			Code:   res.StatusCode,
 10062  			Header: res.Header,
 10063  		})
 10064  	}
 10065  	if err != nil {
 10066  		return nil, err
 10067  	}
 10068  	defer googleapi.CloseBody(res)
 10069  	if err := googleapi.CheckResponse(res); err != nil {
 10070  		return nil, gensupport.WrapError(err)
 10071  	}
 10072  	ret := &SslCert{
 10073  		ServerResponse: googleapi.ServerResponse{
 10074  			Header:         res.Header,
 10075  			HTTPStatusCode: res.StatusCode,
 10076  		},
 10077  	}
 10078  	target := &ret
 10079  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10080  		return nil, err
 10081  	}
 10082  	return ret, nil
 10083  }
 10084  
 10085  type SslCertsDeleteCall struct {
 10086  	s               *Service
 10087  	project         string
 10088  	instance        string
 10089  	sha1Fingerprint string
 10090  	urlParams_      gensupport.URLParams
 10091  	ctx_            context.Context
 10092  	header_         http.Header
 10093  }
 10094  
 10095  // Delete: Deletes the SSL certificate. For First Generation instances, the
 10096  // certificate remains valid until the instance is restarted.
 10097  //
 10098  // - instance: Cloud SQL instance ID. This does not include the project ID.
 10099  // - project: Project ID of the project that contains the instance.
 10100  // - sha1Fingerprint: Sha1 FingerPrint.
 10101  func (r *SslCertsService) Delete(project string, instance string, sha1Fingerprint string) *SslCertsDeleteCall {
 10102  	c := &SslCertsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10103  	c.project = project
 10104  	c.instance = instance
 10105  	c.sha1Fingerprint = sha1Fingerprint
 10106  	return c
 10107  }
 10108  
 10109  // Fields allows partial responses to be retrieved. See
 10110  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10111  // details.
 10112  func (c *SslCertsDeleteCall) Fields(s ...googleapi.Field) *SslCertsDeleteCall {
 10113  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10114  	return c
 10115  }
 10116  
 10117  // Context sets the context to be used in this call's Do method.
 10118  func (c *SslCertsDeleteCall) Context(ctx context.Context) *SslCertsDeleteCall {
 10119  	c.ctx_ = ctx
 10120  	return c
 10121  }
 10122  
 10123  // Header returns a http.Header that can be modified by the caller to add
 10124  // headers to the request.
 10125  func (c *SslCertsDeleteCall) Header() http.Header {
 10126  	if c.header_ == nil {
 10127  		c.header_ = make(http.Header)
 10128  	}
 10129  	return c.header_
 10130  }
 10131  
 10132  func (c *SslCertsDeleteCall) doRequest(alt string) (*http.Response, error) {
 10133  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 10134  	var body io.Reader = nil
 10135  	c.urlParams_.Set("alt", alt)
 10136  	c.urlParams_.Set("prettyPrint", "false")
 10137  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{project}/instances/{instance}/sslCerts/{sha1Fingerprint}")
 10138  	urls += "?" + c.urlParams_.Encode()
 10139  	req, err := http.NewRequest("DELETE", urls, body)
 10140  	if err != nil {
 10141  		return nil, err
 10142  	}
 10143  	req.Header = reqHeaders
 10144  	googleapi.Expand(req.URL, map[string]string{
 10145  		"project":         c.project,
 10146  		"instance":        c.instance,
 10147  		"sha1Fingerprint": c.sha1Fingerprint,
 10148  	})
 10149  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10150  }
 10151  
 10152  // Do executes the "sql.sslCerts.delete" call.
 10153  // Any non-2xx status code is an error. Response headers are in either
 10154  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 10155  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 10156  // whether the returned error was because http.StatusNotModified was returned.
 10157  func (c *SslCertsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 10158  	gensupport.SetOptions(c.urlParams_, opts...)
 10159  	res, err := c.doRequest("json")
 10160  	if res != nil && res.StatusCode == http.StatusNotModified {
 10161  		if res.Body != nil {
 10162  			res.Body.Close()
 10163  		}
 10164  		return nil, gensupport.WrapError(&googleapi.Error{
 10165  			Code:   res.StatusCode,
 10166  			Header: res.Header,
 10167  		})
 10168  	}
 10169  	if err != nil {
 10170  		return nil, err
 10171  	}
 10172  	defer googleapi.CloseBody(res)
 10173  	if err := googleapi.CheckResponse(res); err != nil {
 10174  		return nil, gensupport.WrapError(err)
 10175  	}
 10176  	ret := &Operation{
 10177  		ServerResponse: googleapi.ServerResponse{
 10178  			Header:         res.Header,
 10179  			HTTPStatusCode: res.StatusCode,
 10180  		},
 10181  	}
 10182  	target := &ret
 10183  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10184  		return nil, err
 10185  	}
 10186  	return ret, nil
 10187  }
 10188  
 10189  type SslCertsGetCall struct {
 10190  	s               *Service
 10191  	project         string
 10192  	instance        string
 10193  	sha1Fingerprint string
 10194  	urlParams_      gensupport.URLParams
 10195  	ifNoneMatch_    string
 10196  	ctx_            context.Context
 10197  	header_         http.Header
 10198  }
 10199  
 10200  // Get: Retrieves a particular SSL certificate. Does not include the private
 10201  // key (required for usage). The private key must be saved from the response to
 10202  // initial creation.
 10203  //
 10204  // - instance: Cloud SQL instance ID. This does not include the project ID.
 10205  // - project: Project ID of the project that contains the instance.
 10206  // - sha1Fingerprint: Sha1 FingerPrint.
 10207  func (r *SslCertsService) Get(project string, instance string, sha1Fingerprint string) *SslCertsGetCall {
 10208  	c := &SslCertsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10209  	c.project = project
 10210  	c.instance = instance
 10211  	c.sha1Fingerprint = sha1Fingerprint
 10212  	return c
 10213  }
 10214  
 10215  // Fields allows partial responses to be retrieved. See
 10216  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10217  // details.
 10218  func (c *SslCertsGetCall) Fields(s ...googleapi.Field) *SslCertsGetCall {
 10219  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10220  	return c
 10221  }
 10222  
 10223  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 10224  // object's ETag matches the given value. This is useful for getting updates
 10225  // only after the object has changed since the last request.
 10226  func (c *SslCertsGetCall) IfNoneMatch(entityTag string) *SslCertsGetCall {
 10227  	c.ifNoneMatch_ = entityTag
 10228  	return c
 10229  }
 10230  
 10231  // Context sets the context to be used in this call's Do method.
 10232  func (c *SslCertsGetCall) Context(ctx context.Context) *SslCertsGetCall {
 10233  	c.ctx_ = ctx
 10234  	return c
 10235  }
 10236  
 10237  // Header returns a http.Header that can be modified by the caller to add
 10238  // headers to the request.
 10239  func (c *SslCertsGetCall) Header() http.Header {
 10240  	if c.header_ == nil {
 10241  		c.header_ = make(http.Header)
 10242  	}
 10243  	return c.header_
 10244  }
 10245  
 10246  func (c *SslCertsGetCall) doRequest(alt string) (*http.Response, error) {
 10247  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 10248  	if c.ifNoneMatch_ != "" {
 10249  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 10250  	}
 10251  	var body io.Reader = nil
 10252  	c.urlParams_.Set("alt", alt)
 10253  	c.urlParams_.Set("prettyPrint", "false")
 10254  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{project}/instances/{instance}/sslCerts/{sha1Fingerprint}")
 10255  	urls += "?" + c.urlParams_.Encode()
 10256  	req, err := http.NewRequest("GET", urls, body)
 10257  	if err != nil {
 10258  		return nil, err
 10259  	}
 10260  	req.Header = reqHeaders
 10261  	googleapi.Expand(req.URL, map[string]string{
 10262  		"project":         c.project,
 10263  		"instance":        c.instance,
 10264  		"sha1Fingerprint": c.sha1Fingerprint,
 10265  	})
 10266  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10267  }
 10268  
 10269  // Do executes the "sql.sslCerts.get" call.
 10270  // Any non-2xx status code is an error. Response headers are in either
 10271  // *SslCert.ServerResponse.Header or (if a response was returned at all) in
 10272  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 10273  // whether the returned error was because http.StatusNotModified was returned.
 10274  func (c *SslCertsGetCall) Do(opts ...googleapi.CallOption) (*SslCert, error) {
 10275  	gensupport.SetOptions(c.urlParams_, opts...)
 10276  	res, err := c.doRequest("json")
 10277  	if res != nil && res.StatusCode == http.StatusNotModified {
 10278  		if res.Body != nil {
 10279  			res.Body.Close()
 10280  		}
 10281  		return nil, gensupport.WrapError(&googleapi.Error{
 10282  			Code:   res.StatusCode,
 10283  			Header: res.Header,
 10284  		})
 10285  	}
 10286  	if err != nil {
 10287  		return nil, err
 10288  	}
 10289  	defer googleapi.CloseBody(res)
 10290  	if err := googleapi.CheckResponse(res); err != nil {
 10291  		return nil, gensupport.WrapError(err)
 10292  	}
 10293  	ret := &SslCert{
 10294  		ServerResponse: googleapi.ServerResponse{
 10295  			Header:         res.Header,
 10296  			HTTPStatusCode: res.StatusCode,
 10297  		},
 10298  	}
 10299  	target := &ret
 10300  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10301  		return nil, err
 10302  	}
 10303  	return ret, nil
 10304  }
 10305  
 10306  type SslCertsInsertCall struct {
 10307  	s                     *Service
 10308  	project               string
 10309  	instance              string
 10310  	sslcertsinsertrequest *SslCertsInsertRequest
 10311  	urlParams_            gensupport.URLParams
 10312  	ctx_                  context.Context
 10313  	header_               http.Header
 10314  }
 10315  
 10316  // Insert: Creates an SSL certificate and returns it along with the private key
 10317  // and server certificate authority. The new certificate will not be usable
 10318  // until the instance is restarted.
 10319  //
 10320  // - instance: Cloud SQL instance ID. This does not include the project ID.
 10321  // - project: Project ID of the project that contains the instance.
 10322  func (r *SslCertsService) Insert(project string, instance string, sslcertsinsertrequest *SslCertsInsertRequest) *SslCertsInsertCall {
 10323  	c := &SslCertsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10324  	c.project = project
 10325  	c.instance = instance
 10326  	c.sslcertsinsertrequest = sslcertsinsertrequest
 10327  	return c
 10328  }
 10329  
 10330  // Fields allows partial responses to be retrieved. See
 10331  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10332  // details.
 10333  func (c *SslCertsInsertCall) Fields(s ...googleapi.Field) *SslCertsInsertCall {
 10334  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10335  	return c
 10336  }
 10337  
 10338  // Context sets the context to be used in this call's Do method.
 10339  func (c *SslCertsInsertCall) Context(ctx context.Context) *SslCertsInsertCall {
 10340  	c.ctx_ = ctx
 10341  	return c
 10342  }
 10343  
 10344  // Header returns a http.Header that can be modified by the caller to add
 10345  // headers to the request.
 10346  func (c *SslCertsInsertCall) Header() http.Header {
 10347  	if c.header_ == nil {
 10348  		c.header_ = make(http.Header)
 10349  	}
 10350  	return c.header_
 10351  }
 10352  
 10353  func (c *SslCertsInsertCall) doRequest(alt string) (*http.Response, error) {
 10354  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 10355  	var body io.Reader = nil
 10356  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.sslcertsinsertrequest)
 10357  	if err != nil {
 10358  		return nil, err
 10359  	}
 10360  	c.urlParams_.Set("alt", alt)
 10361  	c.urlParams_.Set("prettyPrint", "false")
 10362  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{project}/instances/{instance}/sslCerts")
 10363  	urls += "?" + c.urlParams_.Encode()
 10364  	req, err := http.NewRequest("POST", urls, body)
 10365  	if err != nil {
 10366  		return nil, err
 10367  	}
 10368  	req.Header = reqHeaders
 10369  	googleapi.Expand(req.URL, map[string]string{
 10370  		"project":  c.project,
 10371  		"instance": c.instance,
 10372  	})
 10373  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10374  }
 10375  
 10376  // Do executes the "sql.sslCerts.insert" call.
 10377  // Any non-2xx status code is an error. Response headers are in either
 10378  // *SslCertsInsertResponse.ServerResponse.Header or (if a response was returned
 10379  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 10380  // check whether the returned error was because http.StatusNotModified was
 10381  // returned.
 10382  func (c *SslCertsInsertCall) Do(opts ...googleapi.CallOption) (*SslCertsInsertResponse, error) {
 10383  	gensupport.SetOptions(c.urlParams_, opts...)
 10384  	res, err := c.doRequest("json")
 10385  	if res != nil && res.StatusCode == http.StatusNotModified {
 10386  		if res.Body != nil {
 10387  			res.Body.Close()
 10388  		}
 10389  		return nil, gensupport.WrapError(&googleapi.Error{
 10390  			Code:   res.StatusCode,
 10391  			Header: res.Header,
 10392  		})
 10393  	}
 10394  	if err != nil {
 10395  		return nil, err
 10396  	}
 10397  	defer googleapi.CloseBody(res)
 10398  	if err := googleapi.CheckResponse(res); err != nil {
 10399  		return nil, gensupport.WrapError(err)
 10400  	}
 10401  	ret := &SslCertsInsertResponse{
 10402  		ServerResponse: googleapi.ServerResponse{
 10403  			Header:         res.Header,
 10404  			HTTPStatusCode: res.StatusCode,
 10405  		},
 10406  	}
 10407  	target := &ret
 10408  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10409  		return nil, err
 10410  	}
 10411  	return ret, nil
 10412  }
 10413  
 10414  type SslCertsListCall struct {
 10415  	s            *Service
 10416  	project      string
 10417  	instance     string
 10418  	urlParams_   gensupport.URLParams
 10419  	ifNoneMatch_ string
 10420  	ctx_         context.Context
 10421  	header_      http.Header
 10422  }
 10423  
 10424  // List: Lists all of the current SSL certificates for the instance.
 10425  //
 10426  // - instance: Cloud SQL instance ID. This does not include the project ID.
 10427  // - project: Project ID of the project that contains the instance.
 10428  func (r *SslCertsService) List(project string, instance string) *SslCertsListCall {
 10429  	c := &SslCertsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10430  	c.project = project
 10431  	c.instance = instance
 10432  	return c
 10433  }
 10434  
 10435  // Fields allows partial responses to be retrieved. See
 10436  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10437  // details.
 10438  func (c *SslCertsListCall) Fields(s ...googleapi.Field) *SslCertsListCall {
 10439  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10440  	return c
 10441  }
 10442  
 10443  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 10444  // object's ETag matches the given value. This is useful for getting updates
 10445  // only after the object has changed since the last request.
 10446  func (c *SslCertsListCall) IfNoneMatch(entityTag string) *SslCertsListCall {
 10447  	c.ifNoneMatch_ = entityTag
 10448  	return c
 10449  }
 10450  
 10451  // Context sets the context to be used in this call's Do method.
 10452  func (c *SslCertsListCall) Context(ctx context.Context) *SslCertsListCall {
 10453  	c.ctx_ = ctx
 10454  	return c
 10455  }
 10456  
 10457  // Header returns a http.Header that can be modified by the caller to add
 10458  // headers to the request.
 10459  func (c *SslCertsListCall) Header() http.Header {
 10460  	if c.header_ == nil {
 10461  		c.header_ = make(http.Header)
 10462  	}
 10463  	return c.header_
 10464  }
 10465  
 10466  func (c *SslCertsListCall) doRequest(alt string) (*http.Response, error) {
 10467  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 10468  	if c.ifNoneMatch_ != "" {
 10469  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 10470  	}
 10471  	var body io.Reader = nil
 10472  	c.urlParams_.Set("alt", alt)
 10473  	c.urlParams_.Set("prettyPrint", "false")
 10474  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{project}/instances/{instance}/sslCerts")
 10475  	urls += "?" + c.urlParams_.Encode()
 10476  	req, err := http.NewRequest("GET", urls, body)
 10477  	if err != nil {
 10478  		return nil, err
 10479  	}
 10480  	req.Header = reqHeaders
 10481  	googleapi.Expand(req.URL, map[string]string{
 10482  		"project":  c.project,
 10483  		"instance": c.instance,
 10484  	})
 10485  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10486  }
 10487  
 10488  // Do executes the "sql.sslCerts.list" call.
 10489  // Any non-2xx status code is an error. Response headers are in either
 10490  // *SslCertsListResponse.ServerResponse.Header or (if a response was returned
 10491  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 10492  // check whether the returned error was because http.StatusNotModified was
 10493  // returned.
 10494  func (c *SslCertsListCall) Do(opts ...googleapi.CallOption) (*SslCertsListResponse, error) {
 10495  	gensupport.SetOptions(c.urlParams_, opts...)
 10496  	res, err := c.doRequest("json")
 10497  	if res != nil && res.StatusCode == http.StatusNotModified {
 10498  		if res.Body != nil {
 10499  			res.Body.Close()
 10500  		}
 10501  		return nil, gensupport.WrapError(&googleapi.Error{
 10502  			Code:   res.StatusCode,
 10503  			Header: res.Header,
 10504  		})
 10505  	}
 10506  	if err != nil {
 10507  		return nil, err
 10508  	}
 10509  	defer googleapi.CloseBody(res)
 10510  	if err := googleapi.CheckResponse(res); err != nil {
 10511  		return nil, gensupport.WrapError(err)
 10512  	}
 10513  	ret := &SslCertsListResponse{
 10514  		ServerResponse: googleapi.ServerResponse{
 10515  			Header:         res.Header,
 10516  			HTTPStatusCode: res.StatusCode,
 10517  		},
 10518  	}
 10519  	target := &ret
 10520  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10521  		return nil, err
 10522  	}
 10523  	return ret, nil
 10524  }
 10525  
 10526  type TiersListCall struct {
 10527  	s            *Service
 10528  	project      string
 10529  	urlParams_   gensupport.URLParams
 10530  	ifNoneMatch_ string
 10531  	ctx_         context.Context
 10532  	header_      http.Header
 10533  }
 10534  
 10535  // List: Lists all available machine types (tiers) for Cloud SQL, for example,
 10536  // `db-custom-1-3840`. For more information, see
 10537  // https://cloud.google.com/sql/pricing.
 10538  //
 10539  // - project: Project ID of the project for which to list tiers.
 10540  func (r *TiersService) List(project string) *TiersListCall {
 10541  	c := &TiersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10542  	c.project = project
 10543  	return c
 10544  }
 10545  
 10546  // Fields allows partial responses to be retrieved. See
 10547  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10548  // details.
 10549  func (c *TiersListCall) Fields(s ...googleapi.Field) *TiersListCall {
 10550  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10551  	return c
 10552  }
 10553  
 10554  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 10555  // object's ETag matches the given value. This is useful for getting updates
 10556  // only after the object has changed since the last request.
 10557  func (c *TiersListCall) IfNoneMatch(entityTag string) *TiersListCall {
 10558  	c.ifNoneMatch_ = entityTag
 10559  	return c
 10560  }
 10561  
 10562  // Context sets the context to be used in this call's Do method.
 10563  func (c *TiersListCall) Context(ctx context.Context) *TiersListCall {
 10564  	c.ctx_ = ctx
 10565  	return c
 10566  }
 10567  
 10568  // Header returns a http.Header that can be modified by the caller to add
 10569  // headers to the request.
 10570  func (c *TiersListCall) Header() http.Header {
 10571  	if c.header_ == nil {
 10572  		c.header_ = make(http.Header)
 10573  	}
 10574  	return c.header_
 10575  }
 10576  
 10577  func (c *TiersListCall) doRequest(alt string) (*http.Response, error) {
 10578  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 10579  	if c.ifNoneMatch_ != "" {
 10580  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 10581  	}
 10582  	var body io.Reader = nil
 10583  	c.urlParams_.Set("alt", alt)
 10584  	c.urlParams_.Set("prettyPrint", "false")
 10585  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{project}/tiers")
 10586  	urls += "?" + c.urlParams_.Encode()
 10587  	req, err := http.NewRequest("GET", urls, body)
 10588  	if err != nil {
 10589  		return nil, err
 10590  	}
 10591  	req.Header = reqHeaders
 10592  	googleapi.Expand(req.URL, map[string]string{
 10593  		"project": c.project,
 10594  	})
 10595  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10596  }
 10597  
 10598  // Do executes the "sql.tiers.list" call.
 10599  // Any non-2xx status code is an error. Response headers are in either
 10600  // *TiersListResponse.ServerResponse.Header or (if a response was returned at
 10601  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 10602  // check whether the returned error was because http.StatusNotModified was
 10603  // returned.
 10604  func (c *TiersListCall) Do(opts ...googleapi.CallOption) (*TiersListResponse, error) {
 10605  	gensupport.SetOptions(c.urlParams_, opts...)
 10606  	res, err := c.doRequest("json")
 10607  	if res != nil && res.StatusCode == http.StatusNotModified {
 10608  		if res.Body != nil {
 10609  			res.Body.Close()
 10610  		}
 10611  		return nil, gensupport.WrapError(&googleapi.Error{
 10612  			Code:   res.StatusCode,
 10613  			Header: res.Header,
 10614  		})
 10615  	}
 10616  	if err != nil {
 10617  		return nil, err
 10618  	}
 10619  	defer googleapi.CloseBody(res)
 10620  	if err := googleapi.CheckResponse(res); err != nil {
 10621  		return nil, gensupport.WrapError(err)
 10622  	}
 10623  	ret := &TiersListResponse{
 10624  		ServerResponse: googleapi.ServerResponse{
 10625  			Header:         res.Header,
 10626  			HTTPStatusCode: res.StatusCode,
 10627  		},
 10628  	}
 10629  	target := &ret
 10630  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10631  		return nil, err
 10632  	}
 10633  	return ret, nil
 10634  }
 10635  
 10636  type UsersDeleteCall struct {
 10637  	s          *Service
 10638  	project    string
 10639  	instance   string
 10640  	urlParams_ gensupport.URLParams
 10641  	ctx_       context.Context
 10642  	header_    http.Header
 10643  }
 10644  
 10645  // Delete: Deletes a user from a Cloud SQL instance.
 10646  //
 10647  // - instance: Database instance ID. This does not include the project ID.
 10648  // - project: Project ID of the project that contains the instance.
 10649  func (r *UsersService) Delete(project string, instance string) *UsersDeleteCall {
 10650  	c := &UsersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10651  	c.project = project
 10652  	c.instance = instance
 10653  	return c
 10654  }
 10655  
 10656  // Host sets the optional parameter "host": Host of the user in the instance.
 10657  func (c *UsersDeleteCall) Host(host string) *UsersDeleteCall {
 10658  	c.urlParams_.Set("host", host)
 10659  	return c
 10660  }
 10661  
 10662  // Name sets the optional parameter "name": Name of the user in the instance.
 10663  func (c *UsersDeleteCall) Name(name string) *UsersDeleteCall {
 10664  	c.urlParams_.Set("name", name)
 10665  	return c
 10666  }
 10667  
 10668  // Fields allows partial responses to be retrieved. See
 10669  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10670  // details.
 10671  func (c *UsersDeleteCall) Fields(s ...googleapi.Field) *UsersDeleteCall {
 10672  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10673  	return c
 10674  }
 10675  
 10676  // Context sets the context to be used in this call's Do method.
 10677  func (c *UsersDeleteCall) Context(ctx context.Context) *UsersDeleteCall {
 10678  	c.ctx_ = ctx
 10679  	return c
 10680  }
 10681  
 10682  // Header returns a http.Header that can be modified by the caller to add
 10683  // headers to the request.
 10684  func (c *UsersDeleteCall) Header() http.Header {
 10685  	if c.header_ == nil {
 10686  		c.header_ = make(http.Header)
 10687  	}
 10688  	return c.header_
 10689  }
 10690  
 10691  func (c *UsersDeleteCall) doRequest(alt string) (*http.Response, error) {
 10692  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 10693  	var body io.Reader = nil
 10694  	c.urlParams_.Set("alt", alt)
 10695  	c.urlParams_.Set("prettyPrint", "false")
 10696  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{project}/instances/{instance}/users")
 10697  	urls += "?" + c.urlParams_.Encode()
 10698  	req, err := http.NewRequest("DELETE", urls, body)
 10699  	if err != nil {
 10700  		return nil, err
 10701  	}
 10702  	req.Header = reqHeaders
 10703  	googleapi.Expand(req.URL, map[string]string{
 10704  		"project":  c.project,
 10705  		"instance": c.instance,
 10706  	})
 10707  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10708  }
 10709  
 10710  // Do executes the "sql.users.delete" call.
 10711  // Any non-2xx status code is an error. Response headers are in either
 10712  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 10713  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 10714  // whether the returned error was because http.StatusNotModified was returned.
 10715  func (c *UsersDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 10716  	gensupport.SetOptions(c.urlParams_, opts...)
 10717  	res, err := c.doRequest("json")
 10718  	if res != nil && res.StatusCode == http.StatusNotModified {
 10719  		if res.Body != nil {
 10720  			res.Body.Close()
 10721  		}
 10722  		return nil, gensupport.WrapError(&googleapi.Error{
 10723  			Code:   res.StatusCode,
 10724  			Header: res.Header,
 10725  		})
 10726  	}
 10727  	if err != nil {
 10728  		return nil, err
 10729  	}
 10730  	defer googleapi.CloseBody(res)
 10731  	if err := googleapi.CheckResponse(res); err != nil {
 10732  		return nil, gensupport.WrapError(err)
 10733  	}
 10734  	ret := &Operation{
 10735  		ServerResponse: googleapi.ServerResponse{
 10736  			Header:         res.Header,
 10737  			HTTPStatusCode: res.StatusCode,
 10738  		},
 10739  	}
 10740  	target := &ret
 10741  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10742  		return nil, err
 10743  	}
 10744  	return ret, nil
 10745  }
 10746  
 10747  type UsersGetCall struct {
 10748  	s            *Service
 10749  	project      string
 10750  	instance     string
 10751  	name         string
 10752  	urlParams_   gensupport.URLParams
 10753  	ifNoneMatch_ string
 10754  	ctx_         context.Context
 10755  	header_      http.Header
 10756  }
 10757  
 10758  // Get: Retrieves a resource containing information about a user.
 10759  //
 10760  // - instance: Database instance ID. This does not include the project ID.
 10761  // - name: User of the instance.
 10762  // - project: Project ID of the project that contains the instance.
 10763  func (r *UsersService) Get(project string, instance string, name string) *UsersGetCall {
 10764  	c := &UsersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10765  	c.project = project
 10766  	c.instance = instance
 10767  	c.name = name
 10768  	return c
 10769  }
 10770  
 10771  // Host sets the optional parameter "host": Host of a user of the instance.
 10772  func (c *UsersGetCall) Host(host string) *UsersGetCall {
 10773  	c.urlParams_.Set("host", host)
 10774  	return c
 10775  }
 10776  
 10777  // Fields allows partial responses to be retrieved. See
 10778  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10779  // details.
 10780  func (c *UsersGetCall) Fields(s ...googleapi.Field) *UsersGetCall {
 10781  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10782  	return c
 10783  }
 10784  
 10785  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 10786  // object's ETag matches the given value. This is useful for getting updates
 10787  // only after the object has changed since the last request.
 10788  func (c *UsersGetCall) IfNoneMatch(entityTag string) *UsersGetCall {
 10789  	c.ifNoneMatch_ = entityTag
 10790  	return c
 10791  }
 10792  
 10793  // Context sets the context to be used in this call's Do method.
 10794  func (c *UsersGetCall) Context(ctx context.Context) *UsersGetCall {
 10795  	c.ctx_ = ctx
 10796  	return c
 10797  }
 10798  
 10799  // Header returns a http.Header that can be modified by the caller to add
 10800  // headers to the request.
 10801  func (c *UsersGetCall) Header() http.Header {
 10802  	if c.header_ == nil {
 10803  		c.header_ = make(http.Header)
 10804  	}
 10805  	return c.header_
 10806  }
 10807  
 10808  func (c *UsersGetCall) doRequest(alt string) (*http.Response, error) {
 10809  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 10810  	if c.ifNoneMatch_ != "" {
 10811  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 10812  	}
 10813  	var body io.Reader = nil
 10814  	c.urlParams_.Set("alt", alt)
 10815  	c.urlParams_.Set("prettyPrint", "false")
 10816  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{project}/instances/{instance}/users/{name}")
 10817  	urls += "?" + c.urlParams_.Encode()
 10818  	req, err := http.NewRequest("GET", urls, body)
 10819  	if err != nil {
 10820  		return nil, err
 10821  	}
 10822  	req.Header = reqHeaders
 10823  	googleapi.Expand(req.URL, map[string]string{
 10824  		"project":  c.project,
 10825  		"instance": c.instance,
 10826  		"name":     c.name,
 10827  	})
 10828  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10829  }
 10830  
 10831  // Do executes the "sql.users.get" call.
 10832  // Any non-2xx status code is an error. Response headers are in either
 10833  // *User.ServerResponse.Header or (if a response was returned at all) in
 10834  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 10835  // whether the returned error was because http.StatusNotModified was returned.
 10836  func (c *UsersGetCall) Do(opts ...googleapi.CallOption) (*User, error) {
 10837  	gensupport.SetOptions(c.urlParams_, opts...)
 10838  	res, err := c.doRequest("json")
 10839  	if res != nil && res.StatusCode == http.StatusNotModified {
 10840  		if res.Body != nil {
 10841  			res.Body.Close()
 10842  		}
 10843  		return nil, gensupport.WrapError(&googleapi.Error{
 10844  			Code:   res.StatusCode,
 10845  			Header: res.Header,
 10846  		})
 10847  	}
 10848  	if err != nil {
 10849  		return nil, err
 10850  	}
 10851  	defer googleapi.CloseBody(res)
 10852  	if err := googleapi.CheckResponse(res); err != nil {
 10853  		return nil, gensupport.WrapError(err)
 10854  	}
 10855  	ret := &User{
 10856  		ServerResponse: googleapi.ServerResponse{
 10857  			Header:         res.Header,
 10858  			HTTPStatusCode: res.StatusCode,
 10859  		},
 10860  	}
 10861  	target := &ret
 10862  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10863  		return nil, err
 10864  	}
 10865  	return ret, nil
 10866  }
 10867  
 10868  type UsersInsertCall struct {
 10869  	s          *Service
 10870  	project    string
 10871  	instance   string
 10872  	user       *User
 10873  	urlParams_ gensupport.URLParams
 10874  	ctx_       context.Context
 10875  	header_    http.Header
 10876  }
 10877  
 10878  // Insert: Creates a new user in a Cloud SQL instance.
 10879  //
 10880  // - instance: Database instance ID. This does not include the project ID.
 10881  // - project: Project ID of the project that contains the instance.
 10882  func (r *UsersService) Insert(project string, instance string, user *User) *UsersInsertCall {
 10883  	c := &UsersInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10884  	c.project = project
 10885  	c.instance = instance
 10886  	c.user = user
 10887  	return c
 10888  }
 10889  
 10890  // Fields allows partial responses to be retrieved. See
 10891  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10892  // details.
 10893  func (c *UsersInsertCall) Fields(s ...googleapi.Field) *UsersInsertCall {
 10894  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10895  	return c
 10896  }
 10897  
 10898  // Context sets the context to be used in this call's Do method.
 10899  func (c *UsersInsertCall) Context(ctx context.Context) *UsersInsertCall {
 10900  	c.ctx_ = ctx
 10901  	return c
 10902  }
 10903  
 10904  // Header returns a http.Header that can be modified by the caller to add
 10905  // headers to the request.
 10906  func (c *UsersInsertCall) Header() http.Header {
 10907  	if c.header_ == nil {
 10908  		c.header_ = make(http.Header)
 10909  	}
 10910  	return c.header_
 10911  }
 10912  
 10913  func (c *UsersInsertCall) doRequest(alt string) (*http.Response, error) {
 10914  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 10915  	var body io.Reader = nil
 10916  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.user)
 10917  	if err != nil {
 10918  		return nil, err
 10919  	}
 10920  	c.urlParams_.Set("alt", alt)
 10921  	c.urlParams_.Set("prettyPrint", "false")
 10922  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{project}/instances/{instance}/users")
 10923  	urls += "?" + c.urlParams_.Encode()
 10924  	req, err := http.NewRequest("POST", urls, body)
 10925  	if err != nil {
 10926  		return nil, err
 10927  	}
 10928  	req.Header = reqHeaders
 10929  	googleapi.Expand(req.URL, map[string]string{
 10930  		"project":  c.project,
 10931  		"instance": c.instance,
 10932  	})
 10933  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10934  }
 10935  
 10936  // Do executes the "sql.users.insert" call.
 10937  // Any non-2xx status code is an error. Response headers are in either
 10938  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 10939  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 10940  // whether the returned error was because http.StatusNotModified was returned.
 10941  func (c *UsersInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 10942  	gensupport.SetOptions(c.urlParams_, opts...)
 10943  	res, err := c.doRequest("json")
 10944  	if res != nil && res.StatusCode == http.StatusNotModified {
 10945  		if res.Body != nil {
 10946  			res.Body.Close()
 10947  		}
 10948  		return nil, gensupport.WrapError(&googleapi.Error{
 10949  			Code:   res.StatusCode,
 10950  			Header: res.Header,
 10951  		})
 10952  	}
 10953  	if err != nil {
 10954  		return nil, err
 10955  	}
 10956  	defer googleapi.CloseBody(res)
 10957  	if err := googleapi.CheckResponse(res); err != nil {
 10958  		return nil, gensupport.WrapError(err)
 10959  	}
 10960  	ret := &Operation{
 10961  		ServerResponse: googleapi.ServerResponse{
 10962  			Header:         res.Header,
 10963  			HTTPStatusCode: res.StatusCode,
 10964  		},
 10965  	}
 10966  	target := &ret
 10967  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10968  		return nil, err
 10969  	}
 10970  	return ret, nil
 10971  }
 10972  
 10973  type UsersListCall struct {
 10974  	s            *Service
 10975  	project      string
 10976  	instance     string
 10977  	urlParams_   gensupport.URLParams
 10978  	ifNoneMatch_ string
 10979  	ctx_         context.Context
 10980  	header_      http.Header
 10981  }
 10982  
 10983  // List: Lists users in the specified Cloud SQL instance.
 10984  //
 10985  // - instance: Database instance ID. This does not include the project ID.
 10986  // - project: Project ID of the project that contains the instance.
 10987  func (r *UsersService) List(project string, instance string) *UsersListCall {
 10988  	c := &UsersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10989  	c.project = project
 10990  	c.instance = instance
 10991  	return c
 10992  }
 10993  
 10994  // Fields allows partial responses to be retrieved. See
 10995  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10996  // details.
 10997  func (c *UsersListCall) Fields(s ...googleapi.Field) *UsersListCall {
 10998  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10999  	return c
 11000  }
 11001  
 11002  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 11003  // object's ETag matches the given value. This is useful for getting updates
 11004  // only after the object has changed since the last request.
 11005  func (c *UsersListCall) IfNoneMatch(entityTag string) *UsersListCall {
 11006  	c.ifNoneMatch_ = entityTag
 11007  	return c
 11008  }
 11009  
 11010  // Context sets the context to be used in this call's Do method.
 11011  func (c *UsersListCall) Context(ctx context.Context) *UsersListCall {
 11012  	c.ctx_ = ctx
 11013  	return c
 11014  }
 11015  
 11016  // Header returns a http.Header that can be modified by the caller to add
 11017  // headers to the request.
 11018  func (c *UsersListCall) Header() http.Header {
 11019  	if c.header_ == nil {
 11020  		c.header_ = make(http.Header)
 11021  	}
 11022  	return c.header_
 11023  }
 11024  
 11025  func (c *UsersListCall) doRequest(alt string) (*http.Response, error) {
 11026  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 11027  	if c.ifNoneMatch_ != "" {
 11028  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 11029  	}
 11030  	var body io.Reader = nil
 11031  	c.urlParams_.Set("alt", alt)
 11032  	c.urlParams_.Set("prettyPrint", "false")
 11033  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{project}/instances/{instance}/users")
 11034  	urls += "?" + c.urlParams_.Encode()
 11035  	req, err := http.NewRequest("GET", urls, body)
 11036  	if err != nil {
 11037  		return nil, err
 11038  	}
 11039  	req.Header = reqHeaders
 11040  	googleapi.Expand(req.URL, map[string]string{
 11041  		"project":  c.project,
 11042  		"instance": c.instance,
 11043  	})
 11044  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11045  }
 11046  
 11047  // Do executes the "sql.users.list" call.
 11048  // Any non-2xx status code is an error. Response headers are in either
 11049  // *UsersListResponse.ServerResponse.Header or (if a response was returned at
 11050  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 11051  // check whether the returned error was because http.StatusNotModified was
 11052  // returned.
 11053  func (c *UsersListCall) Do(opts ...googleapi.CallOption) (*UsersListResponse, error) {
 11054  	gensupport.SetOptions(c.urlParams_, opts...)
 11055  	res, err := c.doRequest("json")
 11056  	if res != nil && res.StatusCode == http.StatusNotModified {
 11057  		if res.Body != nil {
 11058  			res.Body.Close()
 11059  		}
 11060  		return nil, gensupport.WrapError(&googleapi.Error{
 11061  			Code:   res.StatusCode,
 11062  			Header: res.Header,
 11063  		})
 11064  	}
 11065  	if err != nil {
 11066  		return nil, err
 11067  	}
 11068  	defer googleapi.CloseBody(res)
 11069  	if err := googleapi.CheckResponse(res); err != nil {
 11070  		return nil, gensupport.WrapError(err)
 11071  	}
 11072  	ret := &UsersListResponse{
 11073  		ServerResponse: googleapi.ServerResponse{
 11074  			Header:         res.Header,
 11075  			HTTPStatusCode: res.StatusCode,
 11076  		},
 11077  	}
 11078  	target := &ret
 11079  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11080  		return nil, err
 11081  	}
 11082  	return ret, nil
 11083  }
 11084  
 11085  type UsersUpdateCall struct {
 11086  	s          *Service
 11087  	project    string
 11088  	instance   string
 11089  	user       *User
 11090  	urlParams_ gensupport.URLParams
 11091  	ctx_       context.Context
 11092  	header_    http.Header
 11093  }
 11094  
 11095  // Update: Updates an existing user in a Cloud SQL instance.
 11096  //
 11097  // - instance: Database instance ID. This does not include the project ID.
 11098  // - project: Project ID of the project that contains the instance.
 11099  func (r *UsersService) Update(project string, instance string, user *User) *UsersUpdateCall {
 11100  	c := &UsersUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11101  	c.project = project
 11102  	c.instance = instance
 11103  	c.user = user
 11104  	return c
 11105  }
 11106  
 11107  // Host sets the optional parameter "host": Host of the user in the instance.
 11108  func (c *UsersUpdateCall) Host(host string) *UsersUpdateCall {
 11109  	c.urlParams_.Set("host", host)
 11110  	return c
 11111  }
 11112  
 11113  // Name sets the optional parameter "name": Name of the user in the instance.
 11114  func (c *UsersUpdateCall) Name(name string) *UsersUpdateCall {
 11115  	c.urlParams_.Set("name", name)
 11116  	return c
 11117  }
 11118  
 11119  // Fields allows partial responses to be retrieved. See
 11120  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11121  // details.
 11122  func (c *UsersUpdateCall) Fields(s ...googleapi.Field) *UsersUpdateCall {
 11123  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11124  	return c
 11125  }
 11126  
 11127  // Context sets the context to be used in this call's Do method.
 11128  func (c *UsersUpdateCall) Context(ctx context.Context) *UsersUpdateCall {
 11129  	c.ctx_ = ctx
 11130  	return c
 11131  }
 11132  
 11133  // Header returns a http.Header that can be modified by the caller to add
 11134  // headers to the request.
 11135  func (c *UsersUpdateCall) Header() http.Header {
 11136  	if c.header_ == nil {
 11137  		c.header_ = make(http.Header)
 11138  	}
 11139  	return c.header_
 11140  }
 11141  
 11142  func (c *UsersUpdateCall) doRequest(alt string) (*http.Response, error) {
 11143  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 11144  	var body io.Reader = nil
 11145  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.user)
 11146  	if err != nil {
 11147  		return nil, err
 11148  	}
 11149  	c.urlParams_.Set("alt", alt)
 11150  	c.urlParams_.Set("prettyPrint", "false")
 11151  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{project}/instances/{instance}/users")
 11152  	urls += "?" + c.urlParams_.Encode()
 11153  	req, err := http.NewRequest("PUT", urls, body)
 11154  	if err != nil {
 11155  		return nil, err
 11156  	}
 11157  	req.Header = reqHeaders
 11158  	googleapi.Expand(req.URL, map[string]string{
 11159  		"project":  c.project,
 11160  		"instance": c.instance,
 11161  	})
 11162  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11163  }
 11164  
 11165  // Do executes the "sql.users.update" call.
 11166  // Any non-2xx status code is an error. Response headers are in either
 11167  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 11168  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 11169  // whether the returned error was because http.StatusNotModified was returned.
 11170  func (c *UsersUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 11171  	gensupport.SetOptions(c.urlParams_, opts...)
 11172  	res, err := c.doRequest("json")
 11173  	if res != nil && res.StatusCode == http.StatusNotModified {
 11174  		if res.Body != nil {
 11175  			res.Body.Close()
 11176  		}
 11177  		return nil, gensupport.WrapError(&googleapi.Error{
 11178  			Code:   res.StatusCode,
 11179  			Header: res.Header,
 11180  		})
 11181  	}
 11182  	if err != nil {
 11183  		return nil, err
 11184  	}
 11185  	defer googleapi.CloseBody(res)
 11186  	if err := googleapi.CheckResponse(res); err != nil {
 11187  		return nil, gensupport.WrapError(err)
 11188  	}
 11189  	ret := &Operation{
 11190  		ServerResponse: googleapi.ServerResponse{
 11191  			Header:         res.Header,
 11192  			HTTPStatusCode: res.StatusCode,
 11193  		},
 11194  	}
 11195  	target := &ret
 11196  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11197  		return nil, err
 11198  	}
 11199  	return ret, nil
 11200  }
 11201  

View as plain text