...

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

Documentation: google.golang.org/api/datamigration/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 datamigration provides access to the Database Migration API.
     8  //
     9  // For product documentation, see: https://cloud.google.com/database-migration/
    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/datamigration/v1"
    27  //	...
    28  //	ctx := context.Background()
    29  //	datamigrationService, err := datamigration.NewService(ctx)
    30  //
    31  // In this example, Google Application Default Credentials are used for
    32  // authentication. For information on how to create and obtain Application
    33  // Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials.
    34  //
    35  // # Other authentication options
    36  //
    37  // To use an API key for authentication (note: some APIs do not support API
    38  // keys), use [google.golang.org/api/option.WithAPIKey]:
    39  //
    40  //	datamigrationService, err := datamigration.NewService(ctx, option.WithAPIKey("AIza..."))
    41  //
    42  // To use an OAuth token (e.g., a user token obtained via a three-legged OAuth
    43  // flow, use [google.golang.org/api/option.WithTokenSource]:
    44  //
    45  //	config := &oauth2.Config{...}
    46  //	// ...
    47  //	token, err := config.Exchange(ctx, ...)
    48  //	datamigrationService, err := datamigration.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
    49  //
    50  // See [google.golang.org/api/option.ClientOption] for details on options.
    51  package datamigration // import "google.golang.org/api/datamigration/v1"
    52  
    53  import (
    54  	"bytes"
    55  	"context"
    56  	"encoding/json"
    57  	"errors"
    58  	"fmt"
    59  	"io"
    60  	"net/http"
    61  	"net/url"
    62  	"strconv"
    63  	"strings"
    64  
    65  	googleapi "google.golang.org/api/googleapi"
    66  	internal "google.golang.org/api/internal"
    67  	gensupport "google.golang.org/api/internal/gensupport"
    68  	option "google.golang.org/api/option"
    69  	internaloption "google.golang.org/api/option/internaloption"
    70  	htransport "google.golang.org/api/transport/http"
    71  )
    72  
    73  // Always reference these packages, just in case the auto-generated code
    74  // below doesn't.
    75  var _ = bytes.NewBuffer
    76  var _ = strconv.Itoa
    77  var _ = fmt.Sprintf
    78  var _ = json.NewDecoder
    79  var _ = io.Copy
    80  var _ = url.Parse
    81  var _ = gensupport.MarshalJSON
    82  var _ = googleapi.Version
    83  var _ = errors.New
    84  var _ = strings.Replace
    85  var _ = context.Canceled
    86  var _ = internaloption.WithDefaultEndpoint
    87  var _ = internal.Version
    88  
    89  const apiId = "datamigration:v1"
    90  const apiName = "datamigration"
    91  const apiVersion = "v1"
    92  const basePath = "https://datamigration.googleapis.com/"
    93  const basePathTemplate = "https://datamigration.UNIVERSE_DOMAIN/"
    94  const mtlsBasePath = "https://datamigration.mtls.googleapis.com/"
    95  
    96  // OAuth2 scopes used by this API.
    97  const (
    98  	// See, edit, configure, and delete your Google Cloud data and see the email
    99  	// address for your Google Account.
   100  	CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"
   101  )
   102  
   103  // NewService creates a new Service.
   104  func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
   105  	scopesOption := internaloption.WithDefaultScopes(
   106  		"https://www.googleapis.com/auth/cloud-platform",
   107  	)
   108  	// NOTE: prepend, so we don't override user-specified scopes.
   109  	opts = append([]option.ClientOption{scopesOption}, opts...)
   110  	opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
   111  	opts = append(opts, internaloption.WithDefaultEndpointTemplate(basePathTemplate))
   112  	opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath))
   113  	opts = append(opts, internaloption.EnableNewAuthLibrary())
   114  	client, endpoint, err := htransport.NewClient(ctx, opts...)
   115  	if err != nil {
   116  		return nil, err
   117  	}
   118  	s, err := New(client)
   119  	if err != nil {
   120  		return nil, err
   121  	}
   122  	if endpoint != "" {
   123  		s.BasePath = endpoint
   124  	}
   125  	return s, nil
   126  }
   127  
   128  // New creates a new Service. It uses the provided http.Client for requests.
   129  //
   130  // Deprecated: please use NewService instead.
   131  // To provide a custom HTTP client, use option.WithHTTPClient.
   132  // If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
   133  func New(client *http.Client) (*Service, error) {
   134  	if client == nil {
   135  		return nil, errors.New("client is nil")
   136  	}
   137  	s := &Service{client: client, BasePath: basePath}
   138  	s.Projects = NewProjectsService(s)
   139  	return s, nil
   140  }
   141  
   142  type Service struct {
   143  	client    *http.Client
   144  	BasePath  string // API endpoint base URL
   145  	UserAgent string // optional additional User-Agent fragment
   146  
   147  	Projects *ProjectsService
   148  }
   149  
   150  func (s *Service) userAgent() string {
   151  	if s.UserAgent == "" {
   152  		return googleapi.UserAgent
   153  	}
   154  	return googleapi.UserAgent + " " + s.UserAgent
   155  }
   156  
   157  func NewProjectsService(s *Service) *ProjectsService {
   158  	rs := &ProjectsService{s: s}
   159  	rs.Locations = NewProjectsLocationsService(s)
   160  	return rs
   161  }
   162  
   163  type ProjectsService struct {
   164  	s *Service
   165  
   166  	Locations *ProjectsLocationsService
   167  }
   168  
   169  func NewProjectsLocationsService(s *Service) *ProjectsLocationsService {
   170  	rs := &ProjectsLocationsService{s: s}
   171  	rs.ConnectionProfiles = NewProjectsLocationsConnectionProfilesService(s)
   172  	rs.ConversionWorkspaces = NewProjectsLocationsConversionWorkspacesService(s)
   173  	rs.MigrationJobs = NewProjectsLocationsMigrationJobsService(s)
   174  	rs.Operations = NewProjectsLocationsOperationsService(s)
   175  	rs.PrivateConnections = NewProjectsLocationsPrivateConnectionsService(s)
   176  	return rs
   177  }
   178  
   179  type ProjectsLocationsService struct {
   180  	s *Service
   181  
   182  	ConnectionProfiles *ProjectsLocationsConnectionProfilesService
   183  
   184  	ConversionWorkspaces *ProjectsLocationsConversionWorkspacesService
   185  
   186  	MigrationJobs *ProjectsLocationsMigrationJobsService
   187  
   188  	Operations *ProjectsLocationsOperationsService
   189  
   190  	PrivateConnections *ProjectsLocationsPrivateConnectionsService
   191  }
   192  
   193  func NewProjectsLocationsConnectionProfilesService(s *Service) *ProjectsLocationsConnectionProfilesService {
   194  	rs := &ProjectsLocationsConnectionProfilesService{s: s}
   195  	return rs
   196  }
   197  
   198  type ProjectsLocationsConnectionProfilesService struct {
   199  	s *Service
   200  }
   201  
   202  func NewProjectsLocationsConversionWorkspacesService(s *Service) *ProjectsLocationsConversionWorkspacesService {
   203  	rs := &ProjectsLocationsConversionWorkspacesService{s: s}
   204  	rs.MappingRules = NewProjectsLocationsConversionWorkspacesMappingRulesService(s)
   205  	return rs
   206  }
   207  
   208  type ProjectsLocationsConversionWorkspacesService struct {
   209  	s *Service
   210  
   211  	MappingRules *ProjectsLocationsConversionWorkspacesMappingRulesService
   212  }
   213  
   214  func NewProjectsLocationsConversionWorkspacesMappingRulesService(s *Service) *ProjectsLocationsConversionWorkspacesMappingRulesService {
   215  	rs := &ProjectsLocationsConversionWorkspacesMappingRulesService{s: s}
   216  	return rs
   217  }
   218  
   219  type ProjectsLocationsConversionWorkspacesMappingRulesService struct {
   220  	s *Service
   221  }
   222  
   223  func NewProjectsLocationsMigrationJobsService(s *Service) *ProjectsLocationsMigrationJobsService {
   224  	rs := &ProjectsLocationsMigrationJobsService{s: s}
   225  	return rs
   226  }
   227  
   228  type ProjectsLocationsMigrationJobsService struct {
   229  	s *Service
   230  }
   231  
   232  func NewProjectsLocationsOperationsService(s *Service) *ProjectsLocationsOperationsService {
   233  	rs := &ProjectsLocationsOperationsService{s: s}
   234  	return rs
   235  }
   236  
   237  type ProjectsLocationsOperationsService struct {
   238  	s *Service
   239  }
   240  
   241  func NewProjectsLocationsPrivateConnectionsService(s *Service) *ProjectsLocationsPrivateConnectionsService {
   242  	rs := &ProjectsLocationsPrivateConnectionsService{s: s}
   243  	return rs
   244  }
   245  
   246  type ProjectsLocationsPrivateConnectionsService struct {
   247  	s *Service
   248  }
   249  
   250  // AlloyDbConnectionProfile: Specifies required connection parameters, and the
   251  // parameters required to create an AlloyDB destination cluster.
   252  type AlloyDbConnectionProfile struct {
   253  	// ClusterId: Required. The AlloyDB cluster ID that this connection profile is
   254  	// associated with.
   255  	ClusterId string `json:"clusterId,omitempty"`
   256  	// Settings: Immutable. Metadata used to create the destination AlloyDB
   257  	// cluster.
   258  	Settings *AlloyDbSettings `json:"settings,omitempty"`
   259  	// ForceSendFields is a list of field names (e.g. "ClusterId") to
   260  	// unconditionally include in API requests. By default, fields with empty or
   261  	// default values are omitted from API requests. See
   262  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   263  	// details.
   264  	ForceSendFields []string `json:"-"`
   265  	// NullFields is a list of field names (e.g. "ClusterId") to include in API
   266  	// requests with the JSON null value. By default, fields with empty values are
   267  	// omitted from API requests. See
   268  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   269  	NullFields []string `json:"-"`
   270  }
   271  
   272  func (s *AlloyDbConnectionProfile) MarshalJSON() ([]byte, error) {
   273  	type NoMethod AlloyDbConnectionProfile
   274  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   275  }
   276  
   277  // AlloyDbSettings: Settings for creating an AlloyDB cluster.
   278  type AlloyDbSettings struct {
   279  	// DatabaseVersion: Optional. The database engine major version. This is an
   280  	// optional field. If a database version is not supplied at cluster creation
   281  	// time, then a default database version will be used.
   282  	//
   283  	// Possible values:
   284  	//   "DATABASE_VERSION_UNSPECIFIED" - This is an unknown database version.
   285  	//   "POSTGRES_14" - The database version is Postgres 14.
   286  	//   "POSTGRES_15" - The database version is Postgres 15.
   287  	DatabaseVersion string `json:"databaseVersion,omitempty"`
   288  	// EncryptionConfig: Optional. The encryption config can be specified to
   289  	// encrypt the data disks and other persistent data resources of a cluster with
   290  	// a customer-managed encryption key (CMEK). When this field is not specified,
   291  	// the cluster will then use default encryption scheme to protect the user
   292  	// data.
   293  	EncryptionConfig *EncryptionConfig `json:"encryptionConfig,omitempty"`
   294  	// InitialUser: Required. Input only. Initial user to setup during cluster
   295  	// creation. Required.
   296  	InitialUser *UserPassword `json:"initialUser,omitempty"`
   297  	// Labels: Labels for the AlloyDB cluster created by DMS. An object containing
   298  	// a list of 'key', 'value' pairs.
   299  	Labels                  map[string]string        `json:"labels,omitempty"`
   300  	PrimaryInstanceSettings *PrimaryInstanceSettings `json:"primaryInstanceSettings,omitempty"`
   301  	// VpcNetwork: Required. The resource link for the VPC network in which cluster
   302  	// resources are created and from which they are accessible via Private IP. The
   303  	// network must belong to the same project as the cluster. It is specified in
   304  	// the form: "projects/{project_number}/global/networks/{network_id}". This is
   305  	// required to create a cluster.
   306  	VpcNetwork string `json:"vpcNetwork,omitempty"`
   307  	// ForceSendFields is a list of field names (e.g. "DatabaseVersion") 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. "DatabaseVersion") 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 *AlloyDbSettings) MarshalJSON() ([]byte, error) {
   321  	type NoMethod AlloyDbSettings
   322  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   323  }
   324  
   325  // ApplyConversionWorkspaceRequest: Request message for
   326  // 'ApplyConversionWorkspace' request.
   327  type ApplyConversionWorkspaceRequest struct {
   328  	// AutoCommit: Optional. Specifies whether the conversion workspace is to be
   329  	// committed automatically after the apply.
   330  	AutoCommit bool `json:"autoCommit,omitempty"`
   331  	// ConnectionProfile: Optional. Fully qualified (Uri) name of the destination
   332  	// connection profile.
   333  	ConnectionProfile string `json:"connectionProfile,omitempty"`
   334  	// DryRun: Optional. Only validates the apply process, but doesn't change the
   335  	// destination database. Only works for PostgreSQL destination connection
   336  	// profile.
   337  	DryRun bool `json:"dryRun,omitempty"`
   338  	// Filter: Filter which entities to apply. Leaving this field empty will apply
   339  	// all of the entities. Supports Google AIP 160 based filtering.
   340  	Filter string `json:"filter,omitempty"`
   341  	// ForceSendFields is a list of field names (e.g. "AutoCommit") to
   342  	// unconditionally include in API requests. By default, fields with empty or
   343  	// default values are omitted from API requests. See
   344  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   345  	// details.
   346  	ForceSendFields []string `json:"-"`
   347  	// NullFields is a list of field names (e.g. "AutoCommit") to include in API
   348  	// requests with the JSON null value. By default, fields with empty values are
   349  	// omitted from API requests. See
   350  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   351  	NullFields []string `json:"-"`
   352  }
   353  
   354  func (s *ApplyConversionWorkspaceRequest) MarshalJSON() ([]byte, error) {
   355  	type NoMethod ApplyConversionWorkspaceRequest
   356  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   357  }
   358  
   359  // ApplyHash: Apply a hash function on the value.
   360  type ApplyHash struct {
   361  	// UuidFromBytes: Optional. Generate UUID from the data's byte array
   362  	UuidFromBytes *Empty `json:"uuidFromBytes,omitempty"`
   363  	// ForceSendFields is a list of field names (e.g. "UuidFromBytes") to
   364  	// unconditionally include in API requests. By default, fields with empty or
   365  	// default values are omitted from API requests. See
   366  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   367  	// details.
   368  	ForceSendFields []string `json:"-"`
   369  	// NullFields is a list of field names (e.g. "UuidFromBytes") to include in API
   370  	// requests with the JSON null value. By default, fields with empty values are
   371  	// omitted from API requests. See
   372  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   373  	NullFields []string `json:"-"`
   374  }
   375  
   376  func (s *ApplyHash) MarshalJSON() ([]byte, error) {
   377  	type NoMethod ApplyHash
   378  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   379  }
   380  
   381  // ApplyJobDetails: Details regarding an Apply background job.
   382  type ApplyJobDetails struct {
   383  	// ConnectionProfile: Output only. The connection profile which was used for
   384  	// the apply job.
   385  	ConnectionProfile string `json:"connectionProfile,omitempty"`
   386  	// Filter: Output only. AIP-160 based filter used to specify the entities to
   387  	// apply
   388  	Filter string `json:"filter,omitempty"`
   389  	// ForceSendFields is a list of field names (e.g. "ConnectionProfile") to
   390  	// unconditionally include in API requests. By default, fields with empty or
   391  	// default values are omitted from API requests. See
   392  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   393  	// details.
   394  	ForceSendFields []string `json:"-"`
   395  	// NullFields is a list of field names (e.g. "ConnectionProfile") to include in
   396  	// API requests with the JSON null value. By default, fields with empty values
   397  	// are omitted from API requests. See
   398  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   399  	NullFields []string `json:"-"`
   400  }
   401  
   402  func (s *ApplyJobDetails) MarshalJSON() ([]byte, error) {
   403  	type NoMethod ApplyJobDetails
   404  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   405  }
   406  
   407  // AssignSpecificValue: Set to a specific value (value is converted to fit the
   408  // target data type)
   409  type AssignSpecificValue struct {
   410  	// Value: Required. Specific value to be assigned
   411  	Value string `json:"value,omitempty"`
   412  	// ForceSendFields is a list of field names (e.g. "Value") to unconditionally
   413  	// include in API requests. By default, fields with empty or default values are
   414  	// omitted from API requests. See
   415  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   416  	// details.
   417  	ForceSendFields []string `json:"-"`
   418  	// NullFields is a list of field names (e.g. "Value") to include in API
   419  	// requests with the JSON null value. By default, fields with empty values are
   420  	// omitted from API requests. See
   421  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   422  	NullFields []string `json:"-"`
   423  }
   424  
   425  func (s *AssignSpecificValue) MarshalJSON() ([]byte, error) {
   426  	type NoMethod AssignSpecificValue
   427  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   428  }
   429  
   430  // AuditConfig: Specifies the audit configuration for a service. The
   431  // configuration determines which permission types are logged, and what
   432  // identities, if any, are exempted from logging. An AuditConfig must have one
   433  // or more AuditLogConfigs. If there are AuditConfigs for both `allServices`
   434  // and a specific service, the union of the two AuditConfigs is used for that
   435  // service: the log_types specified in each AuditConfig are enabled, and the
   436  // exempted_members in each AuditLogConfig are exempted. Example Policy with
   437  // multiple AuditConfigs: { "audit_configs": [ { "service": "allServices",
   438  // "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [
   439  // "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type":
   440  // "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com",
   441  // "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type":
   442  // "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For
   443  // sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
   444  // logging. It also exempts `jose@example.com` from DATA_READ logging, and
   445  // `aliya@example.com` from DATA_WRITE logging.
   446  type AuditConfig struct {
   447  	// AuditLogConfigs: The configuration for logging of each type of permission.
   448  	AuditLogConfigs []*AuditLogConfig `json:"auditLogConfigs,omitempty"`
   449  	// Service: Specifies a service that will be enabled for audit logging. For
   450  	// example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices`
   451  	// is a special value that covers all services.
   452  	Service string `json:"service,omitempty"`
   453  	// ForceSendFields is a list of field names (e.g. "AuditLogConfigs") to
   454  	// unconditionally include in API requests. By default, fields with empty or
   455  	// default values are omitted from API requests. See
   456  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   457  	// details.
   458  	ForceSendFields []string `json:"-"`
   459  	// NullFields is a list of field names (e.g. "AuditLogConfigs") to include in
   460  	// API requests with the JSON null value. By default, fields with empty values
   461  	// are omitted from API requests. See
   462  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   463  	NullFields []string `json:"-"`
   464  }
   465  
   466  func (s *AuditConfig) MarshalJSON() ([]byte, error) {
   467  	type NoMethod AuditConfig
   468  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   469  }
   470  
   471  // AuditLogConfig: Provides the configuration for logging a type of
   472  // permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ",
   473  // "exempted_members": [ "user:jose@example.com" ] }, { "log_type":
   474  // "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while
   475  // exempting jose@example.com from DATA_READ logging.
   476  type AuditLogConfig struct {
   477  	// ExemptedMembers: Specifies the identities that do not cause logging for this
   478  	// type of permission. Follows the same format of Binding.members.
   479  	ExemptedMembers []string `json:"exemptedMembers,omitempty"`
   480  	// LogType: The log type that this config enables.
   481  	//
   482  	// Possible values:
   483  	//   "LOG_TYPE_UNSPECIFIED" - Default case. Should never be this.
   484  	//   "ADMIN_READ" - Admin reads. Example: CloudIAM getIamPolicy
   485  	//   "DATA_WRITE" - Data writes. Example: CloudSQL Users create
   486  	//   "DATA_READ" - Data reads. Example: CloudSQL Users list
   487  	LogType string `json:"logType,omitempty"`
   488  	// ForceSendFields is a list of field names (e.g. "ExemptedMembers") to
   489  	// unconditionally include in API requests. By default, fields with empty or
   490  	// default values are omitted from API requests. See
   491  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   492  	// details.
   493  	ForceSendFields []string `json:"-"`
   494  	// NullFields is a list of field names (e.g. "ExemptedMembers") to include in
   495  	// API requests with the JSON null value. By default, fields with empty values
   496  	// are omitted from API requests. See
   497  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   498  	NullFields []string `json:"-"`
   499  }
   500  
   501  func (s *AuditLogConfig) MarshalJSON() ([]byte, error) {
   502  	type NoMethod AuditLogConfig
   503  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   504  }
   505  
   506  // BackgroundJobLogEntry: Execution log of a background job.
   507  type BackgroundJobLogEntry struct {
   508  	// ApplyJobDetails: Output only. Apply job details.
   509  	ApplyJobDetails *ApplyJobDetails `json:"applyJobDetails,omitempty"`
   510  	// CompletionComment: Output only. Job completion comment, such as how many
   511  	// entities were seeded, how many warnings were found during conversion, and
   512  	// similar information.
   513  	CompletionComment string `json:"completionComment,omitempty"`
   514  	// CompletionState: Output only. Job completion state, i.e. the final state
   515  	// after the job completed.
   516  	//
   517  	// Possible values:
   518  	//   "JOB_COMPLETION_STATE_UNSPECIFIED" - The status is not specified. This
   519  	// state is used when job is not yet finished.
   520  	//   "SUCCEEDED" - Success.
   521  	//   "FAILED" - Error.
   522  	CompletionState string `json:"completionState,omitempty"`
   523  	// ConvertJobDetails: Output only. Convert job details.
   524  	ConvertJobDetails *ConvertJobDetails `json:"convertJobDetails,omitempty"`
   525  	// FinishTime: The timestamp when the background job was finished.
   526  	FinishTime string `json:"finishTime,omitempty"`
   527  	// Id: The background job log entry ID.
   528  	Id string `json:"id,omitempty"`
   529  	// ImportRulesJobDetails: Output only. Import rules job details.
   530  	ImportRulesJobDetails *ImportRulesJobDetails `json:"importRulesJobDetails,omitempty"`
   531  	// JobType: The type of job that was executed.
   532  	//
   533  	// Possible values:
   534  	//   "BACKGROUND_JOB_TYPE_UNSPECIFIED" - Unspecified background job type.
   535  	//   "BACKGROUND_JOB_TYPE_SOURCE_SEED" - Job to seed from the source database.
   536  	//   "BACKGROUND_JOB_TYPE_CONVERT" - Job to convert the source database into a
   537  	// draft of the destination database.
   538  	//   "BACKGROUND_JOB_TYPE_APPLY_DESTINATION" - Job to apply the draft tree onto
   539  	// the destination.
   540  	//   "BACKGROUND_JOB_TYPE_IMPORT_RULES_FILE" - Job to import and convert
   541  	// mapping rules from an external source such as an ora2pg config file.
   542  	JobType string `json:"jobType,omitempty"`
   543  	// RequestAutocommit: Output only. Whether the client requested the conversion
   544  	// workspace to be committed after a successful completion of the job.
   545  	RequestAutocommit bool `json:"requestAutocommit,omitempty"`
   546  	// SeedJobDetails: Output only. Seed job details.
   547  	SeedJobDetails *SeedJobDetails `json:"seedJobDetails,omitempty"`
   548  	// StartTime: The timestamp when the background job was started.
   549  	StartTime string `json:"startTime,omitempty"`
   550  	// ForceSendFields is a list of field names (e.g. "ApplyJobDetails") to
   551  	// unconditionally include in API requests. By default, fields with empty or
   552  	// default values are omitted from API requests. See
   553  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   554  	// details.
   555  	ForceSendFields []string `json:"-"`
   556  	// NullFields is a list of field names (e.g. "ApplyJobDetails") to include in
   557  	// API requests with the JSON null value. By default, fields with empty values
   558  	// are omitted from API requests. See
   559  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   560  	NullFields []string `json:"-"`
   561  }
   562  
   563  func (s *BackgroundJobLogEntry) MarshalJSON() ([]byte, error) {
   564  	type NoMethod BackgroundJobLogEntry
   565  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   566  }
   567  
   568  // Binding: Associates `members`, or principals, with a `role`.
   569  type Binding struct {
   570  	// Condition: The condition that is associated with this binding. If the
   571  	// condition evaluates to `true`, then this binding applies to the current
   572  	// request. If the condition evaluates to `false`, then this binding does not
   573  	// apply to the current request. However, a different role binding might grant
   574  	// the same role to one or more of the principals in this binding. To learn
   575  	// which resources support conditions in their IAM policies, see the IAM
   576  	// documentation
   577  	// (https://cloud.google.com/iam/help/conditions/resource-policies).
   578  	Condition *Expr `json:"condition,omitempty"`
   579  	// Members: Specifies the principals requesting access for a Google Cloud
   580  	// resource. `members` can have the following values: * `allUsers`: A special
   581  	// identifier that represents anyone who is on the internet; with or without a
   582  	// Google account. * `allAuthenticatedUsers`: A special identifier that
   583  	// represents anyone who is authenticated with a Google account or a service
   584  	// account. Does not include identities that come from external identity
   585  	// providers (IdPs) through identity federation. * `user:{emailid}`: An email
   586  	// address that represents a specific Google account. For example,
   587  	// `alice@example.com` . * `serviceAccount:{emailid}`: An email address that
   588  	// represents a Google service account. For example,
   589  	// `my-other-app@appspot.gserviceaccount.com`. *
   590  	// `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An
   591  	// identifier for a Kubernetes service account
   592  	// (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts).
   593  	// For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. *
   594  	// `group:{emailid}`: An email address that represents a Google group. For
   595  	// example, `admins@example.com`. * `domain:{domain}`: The G Suite domain
   596  	// (primary) that represents all the users of that domain. For example,
   597  	// `google.com` or `example.com`. *
   598  	// `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/sub
   599  	// ject/{subject_attribute_value}`: A single identity in a workforce identity
   600  	// pool. *
   601  	// `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/
   602  	// group/{group_id}`: All workforce identities in a group. *
   603  	// `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/
   604  	// attribute.{attribute_name}/{attribute_value}`: All workforce identities with
   605  	// a specific attribute value. *
   606  	// `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/
   607  	// *`: All identities in a workforce identity pool. *
   608  	// `principal://iam.googleapis.com/projects/{project_number}/locations/global/wo
   609  	// rkloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single
   610  	// identity in a workload identity pool. *
   611  	// `principalSet://iam.googleapis.com/projects/{project_number}/locations/global
   612  	// /workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool
   613  	// group. *
   614  	// `principalSet://iam.googleapis.com/projects/{project_number}/locations/global
   615  	// /workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}
   616  	// `: All identities in a workload identity pool with a certain attribute. *
   617  	// `principalSet://iam.googleapis.com/projects/{project_number}/locations/global
   618  	// /workloadIdentityPools/{pool_id}/*`: All identities in a workload identity
   619  	// pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus
   620  	// unique identifier) representing a user that has been recently deleted. For
   621  	// example, `alice@example.com?uid=123456789012345678901`. If the user is
   622  	// recovered, this value reverts to `user:{emailid}` and the recovered user
   623  	// retains the role in the binding. *
   624  	// `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus
   625  	// unique identifier) representing a service account that has been recently
   626  	// deleted. For example,
   627  	// `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the
   628  	// service account is undeleted, this value reverts to
   629  	// `serviceAccount:{emailid}` and the undeleted service account retains the
   630  	// role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email
   631  	// address (plus unique identifier) representing a Google group that has been
   632  	// recently deleted. For example,
   633  	// `admins@example.com?uid=123456789012345678901`. If the group is recovered,
   634  	// this value reverts to `group:{emailid}` and the recovered group retains the
   635  	// role in the binding. *
   636  	// `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool
   637  	// _id}/subject/{subject_attribute_value}`: Deleted single identity in a
   638  	// workforce identity pool. For example,
   639  	// `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-po
   640  	// ol-id/subject/my-subject-attribute-value`.
   641  	Members []string `json:"members,omitempty"`
   642  	// Role: Role that is assigned to the list of `members`, or principals. For
   643  	// example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview
   644  	// of the IAM roles and permissions, see the IAM documentation
   645  	// (https://cloud.google.com/iam/docs/roles-overview). For a list of the
   646  	// available pre-defined roles, see here
   647  	// (https://cloud.google.com/iam/docs/understanding-roles).
   648  	Role string `json:"role,omitempty"`
   649  	// ForceSendFields is a list of field names (e.g. "Condition") to
   650  	// unconditionally include in API requests. By default, fields with empty or
   651  	// default values are omitted from API requests. See
   652  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   653  	// details.
   654  	ForceSendFields []string `json:"-"`
   655  	// NullFields is a list of field names (e.g. "Condition") to include in API
   656  	// requests with the JSON null value. By default, fields with empty values are
   657  	// omitted from API requests. See
   658  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   659  	NullFields []string `json:"-"`
   660  }
   661  
   662  func (s *Binding) MarshalJSON() ([]byte, error) {
   663  	type NoMethod Binding
   664  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   665  }
   666  
   667  // CancelOperationRequest: The request message for Operations.CancelOperation.
   668  type CancelOperationRequest struct {
   669  }
   670  
   671  // CloudSqlConnectionProfile: Specifies required connection parameters, and,
   672  // optionally, the parameters required to create a Cloud SQL destination
   673  // database instance.
   674  type CloudSqlConnectionProfile struct {
   675  	// AdditionalPublicIp: Output only. The Cloud SQL database instance's
   676  	// additional (outgoing) public IP. Used when the Cloud SQL database
   677  	// availability type is REGIONAL (i.e. multiple zones / highly available).
   678  	AdditionalPublicIp string `json:"additionalPublicIp,omitempty"`
   679  	// CloudSqlId: Output only. The Cloud SQL instance ID that this connection
   680  	// profile is associated with.
   681  	CloudSqlId string `json:"cloudSqlId,omitempty"`
   682  	// PrivateIp: Output only. The Cloud SQL database instance's private IP.
   683  	PrivateIp string `json:"privateIp,omitempty"`
   684  	// PublicIp: Output only. The Cloud SQL database instance's public IP.
   685  	PublicIp string `json:"publicIp,omitempty"`
   686  	// Settings: Immutable. Metadata used to create the destination Cloud SQL
   687  	// database.
   688  	Settings *CloudSqlSettings `json:"settings,omitempty"`
   689  	// ForceSendFields is a list of field names (e.g. "AdditionalPublicIp") to
   690  	// unconditionally include in API requests. By default, fields with empty or
   691  	// default values are omitted from API requests. See
   692  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   693  	// details.
   694  	ForceSendFields []string `json:"-"`
   695  	// NullFields is a list of field names (e.g. "AdditionalPublicIp") to include
   696  	// in API requests with the JSON null value. By default, fields with empty
   697  	// values are omitted from API requests. See
   698  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   699  	NullFields []string `json:"-"`
   700  }
   701  
   702  func (s *CloudSqlConnectionProfile) MarshalJSON() ([]byte, error) {
   703  	type NoMethod CloudSqlConnectionProfile
   704  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   705  }
   706  
   707  // CloudSqlSettings: Settings for creating a Cloud SQL database instance.
   708  type CloudSqlSettings struct {
   709  	// ActivationPolicy: The activation policy specifies when the instance is
   710  	// activated; it is applicable only when the instance state is 'RUNNABLE'.
   711  	// Valid values: 'ALWAYS': The instance is on, and remains so even in the
   712  	// absence of connection requests. `NEVER`: The instance is off; it is not
   713  	// activated, even if a connection request arrives.
   714  	//
   715  	// Possible values:
   716  	//   "SQL_ACTIVATION_POLICY_UNSPECIFIED" - unspecified policy.
   717  	//   "ALWAYS" - The instance is always up and running.
   718  	//   "NEVER" - The instance should never spin up.
   719  	ActivationPolicy string `json:"activationPolicy,omitempty"`
   720  	// AutoStorageIncrease: [default: ON] If you enable this setting, Cloud SQL
   721  	// checks your available storage every 30 seconds. If the available storage
   722  	// falls below a threshold size, Cloud SQL automatically adds additional
   723  	// storage capacity. If the available storage repeatedly falls below the
   724  	// threshold size, Cloud SQL continues to add storage until it reaches the
   725  	// maximum of 30 TB.
   726  	AutoStorageIncrease bool `json:"autoStorageIncrease,omitempty"`
   727  	// AvailabilityType: Optional. Availability type. Potential values: * `ZONAL`:
   728  	// The instance serves data from only one zone. Outages in that zone affect
   729  	// data availability. * `REGIONAL`: The instance can serve data from more than
   730  	// one zone in a region (it is highly available).
   731  	//
   732  	// Possible values:
   733  	//   "SQL_AVAILABILITY_TYPE_UNSPECIFIED" - This is an unknown Availability
   734  	// type.
   735  	//   "ZONAL" - Zonal availablility instance.
   736  	//   "REGIONAL" - Regional availability instance.
   737  	AvailabilityType string `json:"availabilityType,omitempty"`
   738  	// CmekKeyName: The KMS key name used for the csql instance.
   739  	CmekKeyName string `json:"cmekKeyName,omitempty"`
   740  	// Collation: The Cloud SQL default instance level collation.
   741  	Collation string `json:"collation,omitempty"`
   742  	// DataCacheConfig: Optional. Data cache is an optional feature available for
   743  	// Cloud SQL for MySQL Enterprise Plus edition only. For more information on
   744  	// data cache, see Data cache overview
   745  	// (https://cloud.google.com/sql/help/mysql-data-cache) in Cloud SQL
   746  	// documentation.
   747  	DataCacheConfig *DataCacheConfig `json:"dataCacheConfig,omitempty"`
   748  	// DataDiskSizeGb: The storage capacity available to the database, in GB. The
   749  	// minimum (and default) size is 10GB.
   750  	DataDiskSizeGb int64 `json:"dataDiskSizeGb,omitempty,string"`
   751  	// DataDiskType: The type of storage: `PD_SSD` (default) or `PD_HDD`.
   752  	//
   753  	// Possible values:
   754  	//   "SQL_DATA_DISK_TYPE_UNSPECIFIED" - Unspecified.
   755  	//   "PD_SSD" - SSD disk.
   756  	//   "PD_HDD" - HDD disk.
   757  	DataDiskType string `json:"dataDiskType,omitempty"`
   758  	// DatabaseFlags: The database flags passed to the Cloud SQL instance at
   759  	// startup. An object containing a list of "key": value pairs. Example: {
   760  	// "name": "wrench", "mass": "1.3kg", "count": "3" }.
   761  	DatabaseFlags map[string]string `json:"databaseFlags,omitempty"`
   762  	// DatabaseVersion: The database engine type and version.
   763  	//
   764  	// Possible values:
   765  	//   "SQL_DATABASE_VERSION_UNSPECIFIED" - Unspecified version.
   766  	//   "MYSQL_5_6" - MySQL 5.6.
   767  	//   "MYSQL_5_7" - MySQL 5.7.
   768  	//   "MYSQL_8_0" - MySQL 8.0.
   769  	//   "MYSQL_8_0_18" - The database major version is MySQL 8.0 and the minor
   770  	// version is 18.
   771  	//   "MYSQL_8_0_26" - The database major version is MySQL 8.0 and the minor
   772  	// version is 26.
   773  	//   "MYSQL_8_0_27" - The database major version is MySQL 8.0 and the minor
   774  	// version is 27.
   775  	//   "MYSQL_8_0_28" - The database major version is MySQL 8.0 and the minor
   776  	// version is 28.
   777  	//   "MYSQL_8_0_30" - The database major version is MySQL 8.0 and the minor
   778  	// version is 30.
   779  	//   "MYSQL_8_0_31" - The database major version is MySQL 8.0 and the minor
   780  	// version is 31.
   781  	//   "MYSQL_8_0_32" - The database major version is MySQL 8.0 and the minor
   782  	// version is 32.
   783  	//   "MYSQL_8_0_33" - The database major version is MySQL 8.0 and the minor
   784  	// version is 33.
   785  	//   "MYSQL_8_0_34" - The database major version is MySQL 8.0 and the minor
   786  	// version is 34.
   787  	//   "MYSQL_8_0_35" - The database major version is MySQL 8.0 and the minor
   788  	// version is 35.
   789  	//   "MYSQL_8_0_36" - The database major version is MySQL 8.0 and the minor
   790  	// version is 36.
   791  	//   "POSTGRES_9_6" - PostgreSQL 9.6.
   792  	//   "POSTGRES_11" - PostgreSQL 11.
   793  	//   "POSTGRES_10" - PostgreSQL 10.
   794  	//   "POSTGRES_12" - PostgreSQL 12.
   795  	//   "POSTGRES_13" - PostgreSQL 13.
   796  	//   "POSTGRES_14" - PostgreSQL 14.
   797  	//   "POSTGRES_15" - PostgreSQL 15.
   798  	DatabaseVersion string `json:"databaseVersion,omitempty"`
   799  	// Edition: Optional. The edition of the given Cloud SQL instance.
   800  	//
   801  	// Possible values:
   802  	//   "EDITION_UNSPECIFIED" - The instance did not specify the edition.
   803  	//   "ENTERPRISE" - The instance is an enterprise edition.
   804  	//   "ENTERPRISE_PLUS" - The instance is an enterprise plus edition.
   805  	Edition string `json:"edition,omitempty"`
   806  	// IpConfig: The settings for IP Management. This allows to enable or disable
   807  	// the instance IP and manage which external networks can connect to the
   808  	// instance. The IPv4 address cannot be disabled.
   809  	IpConfig *SqlIpConfig `json:"ipConfig,omitempty"`
   810  	// RootPassword: Input only. Initial root password.
   811  	RootPassword string `json:"rootPassword,omitempty"`
   812  	// RootPasswordSet: Output only. Indicates If this connection profile root
   813  	// password is stored.
   814  	RootPasswordSet bool `json:"rootPasswordSet,omitempty"`
   815  	// SecondaryZone: Optional. The Google Cloud Platform zone where the failover
   816  	// Cloud SQL database instance is located. Used when the Cloud SQL database
   817  	// availability type is REGIONAL (i.e. multiple zones / highly available).
   818  	SecondaryZone string `json:"secondaryZone,omitempty"`
   819  	// SourceId: The Database Migration Service source connection profile ID, in
   820  	// the format:
   821  	// `projects/my_project_name/locations/us-central1/connectionProfiles/connection
   822  	// _profile_ID`
   823  	SourceId string `json:"sourceId,omitempty"`
   824  	// StorageAutoResizeLimit: The maximum size to which storage capacity can be
   825  	// automatically increased. The default value is 0, which specifies that there
   826  	// is no limit.
   827  	StorageAutoResizeLimit int64 `json:"storageAutoResizeLimit,omitempty,string"`
   828  	// Tier: The tier (or machine type) for this instance, for example:
   829  	// `db-n1-standard-1` (MySQL instances) or `db-custom-1-3840` (PostgreSQL
   830  	// instances). For more information, see Cloud SQL Instance Settings
   831  	// (https://cloud.google.com/sql/docs/mysql/instance-settings).
   832  	Tier string `json:"tier,omitempty"`
   833  	// UserLabels: The resource labels for a Cloud SQL instance to use to annotate
   834  	// any related underlying resources such as Compute Engine VMs. An object
   835  	// containing a list of "key": "value" pairs. Example: `{ "name": "wrench",
   836  	// "mass": "18kg", "count": "3" }`.
   837  	UserLabels map[string]string `json:"userLabels,omitempty"`
   838  	// Zone: The Google Cloud Platform zone where your Cloud SQL database instance
   839  	// is located.
   840  	Zone string `json:"zone,omitempty"`
   841  	// ForceSendFields is a list of field names (e.g. "ActivationPolicy") to
   842  	// unconditionally include in API requests. By default, fields with empty or
   843  	// default values are omitted from API requests. See
   844  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   845  	// details.
   846  	ForceSendFields []string `json:"-"`
   847  	// NullFields is a list of field names (e.g. "ActivationPolicy") to include in
   848  	// API requests with the JSON null value. By default, fields with empty values
   849  	// are omitted from API requests. See
   850  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   851  	NullFields []string `json:"-"`
   852  }
   853  
   854  func (s *CloudSqlSettings) MarshalJSON() ([]byte, error) {
   855  	type NoMethod CloudSqlSettings
   856  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   857  }
   858  
   859  // ColumnEntity: Column is not used as an independent entity, it is retrieved
   860  // as part of a Table entity.
   861  type ColumnEntity struct {
   862  	// Array: Is the column of array type.
   863  	Array bool `json:"array,omitempty"`
   864  	// ArrayLength: If the column is array, of which length.
   865  	ArrayLength int64 `json:"arrayLength,omitempty"`
   866  	// AutoGenerated: Is the column auto-generated/identity.
   867  	AutoGenerated bool `json:"autoGenerated,omitempty"`
   868  	// Charset: Charset override - instead of table level charset.
   869  	Charset string `json:"charset,omitempty"`
   870  	// Collation: Collation override - instead of table level collation.
   871  	Collation string `json:"collation,omitempty"`
   872  	// Comment: Comment associated with the column.
   873  	Comment string `json:"comment,omitempty"`
   874  	// CustomFeatures: Custom engine specific features.
   875  	CustomFeatures googleapi.RawMessage `json:"customFeatures,omitempty"`
   876  	// DataType: Column data type.
   877  	DataType string `json:"dataType,omitempty"`
   878  	// DefaultValue: Default value of the column.
   879  	DefaultValue string `json:"defaultValue,omitempty"`
   880  	// FractionalSecondsPrecision: Column fractional second precision - used for
   881  	// timestamp based datatypes.
   882  	FractionalSecondsPrecision int64 `json:"fractionalSecondsPrecision,omitempty"`
   883  	// Length: Column length - e.g. varchar (50).
   884  	Length int64 `json:"length,omitempty,string"`
   885  	// Name: Column name.
   886  	Name string `json:"name,omitempty"`
   887  	// Nullable: Is the column nullable.
   888  	Nullable bool `json:"nullable,omitempty"`
   889  	// OrdinalPosition: Column order in the table.
   890  	OrdinalPosition int64 `json:"ordinalPosition,omitempty"`
   891  	// Precision: Column precision - when relevant.
   892  	Precision int64 `json:"precision,omitempty"`
   893  	// Scale: Column scale - when relevant.
   894  	Scale int64 `json:"scale,omitempty"`
   895  	// SetValues: Specifies the list of values allowed in the column. Only used for
   896  	// set data type.
   897  	SetValues []string `json:"setValues,omitempty"`
   898  	// Udt: Is the column a UDT.
   899  	Udt bool `json:"udt,omitempty"`
   900  	// ForceSendFields is a list of field names (e.g. "Array") to unconditionally
   901  	// include in API requests. By default, fields with empty or default values are
   902  	// omitted from API requests. See
   903  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   904  	// details.
   905  	ForceSendFields []string `json:"-"`
   906  	// NullFields is a list of field names (e.g. "Array") to include in API
   907  	// requests with the JSON null value. By default, fields with empty values are
   908  	// omitted from API requests. See
   909  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   910  	NullFields []string `json:"-"`
   911  }
   912  
   913  func (s *ColumnEntity) MarshalJSON() ([]byte, error) {
   914  	type NoMethod ColumnEntity
   915  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   916  }
   917  
   918  // CommitConversionWorkspaceRequest: Request message for
   919  // 'CommitConversionWorkspace' request.
   920  type CommitConversionWorkspaceRequest struct {
   921  	// CommitName: Optional. Optional name of the commit.
   922  	CommitName string `json:"commitName,omitempty"`
   923  	// ForceSendFields is a list of field names (e.g. "CommitName") to
   924  	// unconditionally include in API requests. By default, fields with empty or
   925  	// default values are omitted from API requests. See
   926  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   927  	// details.
   928  	ForceSendFields []string `json:"-"`
   929  	// NullFields is a list of field names (e.g. "CommitName") to include in API
   930  	// requests with the JSON null value. By default, fields with empty values are
   931  	// omitted from API requests. See
   932  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   933  	NullFields []string `json:"-"`
   934  }
   935  
   936  func (s *CommitConversionWorkspaceRequest) MarshalJSON() ([]byte, error) {
   937  	type NoMethod CommitConversionWorkspaceRequest
   938  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   939  }
   940  
   941  // ConditionalColumnSetValue: Options to configure rule type
   942  // ConditionalColumnSetValue. The rule is used to transform the data which is
   943  // being replicated/migrated. The rule filter field can refer to one or more
   944  // entities. The rule scope can be one of: Column.
   945  type ConditionalColumnSetValue struct {
   946  	// CustomFeatures: Optional. Custom engine specific features.
   947  	CustomFeatures googleapi.RawMessage `json:"customFeatures,omitempty"`
   948  	// SourceNumericFilter: Optional. Optional filter on source column precision
   949  	// and scale. Used for fixed point numbers such as NUMERIC/NUMBER data types.
   950  	SourceNumericFilter *SourceNumericFilter `json:"sourceNumericFilter,omitempty"`
   951  	// SourceTextFilter: Optional. Optional filter on source column length. Used
   952  	// for text based data types like varchar.
   953  	SourceTextFilter *SourceTextFilter `json:"sourceTextFilter,omitempty"`
   954  	// ValueTransformation: Required. Description of data transformation during
   955  	// migration.
   956  	ValueTransformation *ValueTransformation `json:"valueTransformation,omitempty"`
   957  	// ForceSendFields is a list of field names (e.g. "CustomFeatures") to
   958  	// unconditionally include in API requests. By default, fields with empty or
   959  	// default values are omitted from API requests. See
   960  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   961  	// details.
   962  	ForceSendFields []string `json:"-"`
   963  	// NullFields is a list of field names (e.g. "CustomFeatures") to include in
   964  	// API requests with the JSON null value. By default, fields with empty values
   965  	// are omitted from API requests. See
   966  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   967  	NullFields []string `json:"-"`
   968  }
   969  
   970  func (s *ConditionalColumnSetValue) MarshalJSON() ([]byte, error) {
   971  	type NoMethod ConditionalColumnSetValue
   972  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   973  }
   974  
   975  // ConnectionProfile: A connection profile definition.
   976  type ConnectionProfile struct {
   977  	// Alloydb: An AlloyDB cluster connection profile.
   978  	Alloydb *AlloyDbConnectionProfile `json:"alloydb,omitempty"`
   979  	// Cloudsql: A CloudSQL database connection profile.
   980  	Cloudsql *CloudSqlConnectionProfile `json:"cloudsql,omitempty"`
   981  	// CreateTime: Output only. The timestamp when the resource was created. A
   982  	// timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example:
   983  	// "2014-10-02T15:01:23.045123456Z".
   984  	CreateTime string `json:"createTime,omitempty"`
   985  	// DisplayName: The connection profile display name.
   986  	DisplayName string `json:"displayName,omitempty"`
   987  	// Error: Output only. The error details in case of state FAILED.
   988  	Error *Status `json:"error,omitempty"`
   989  	// Labels: The resource labels for connection profile to use to annotate any
   990  	// related underlying resources such as Compute Engine VMs. An object
   991  	// containing a list of "key": "value" pairs. Example: `{ "name": "wrench",
   992  	// "mass": "1.3kg", "count": "3" }`.
   993  	Labels map[string]string `json:"labels,omitempty"`
   994  	// Mysql: A MySQL database connection profile.
   995  	Mysql *MySqlConnectionProfile `json:"mysql,omitempty"`
   996  	// Name: The name of this connection profile resource in the form of
   997  	// projects/{project}/locations/{location}/connectionProfiles/{connectionProfile
   998  	// }.
   999  	Name string `json:"name,omitempty"`
  1000  	// Oracle: An Oracle database connection profile.
  1001  	Oracle *OracleConnectionProfile `json:"oracle,omitempty"`
  1002  	// Postgresql: A PostgreSQL database connection profile.
  1003  	Postgresql *PostgreSqlConnectionProfile `json:"postgresql,omitempty"`
  1004  	// Provider: The database provider.
  1005  	//
  1006  	// Possible values:
  1007  	//   "DATABASE_PROVIDER_UNSPECIFIED" - Use this value for on-premise source
  1008  	// database instances.
  1009  	//   "CLOUDSQL" - Cloud SQL is the source instance provider.
  1010  	//   "RDS" - Amazon RDS is the source instance provider.
  1011  	//   "AURORA" - Amazon Aurora is the source instance provider.
  1012  	//   "ALLOYDB" - AlloyDB for PostgreSQL is the source instance provider.
  1013  	Provider string `json:"provider,omitempty"`
  1014  	// Sqlserver: Connection profile for a SQL Server data source.
  1015  	Sqlserver *SqlServerConnectionProfile `json:"sqlserver,omitempty"`
  1016  	// State: The current connection profile state (e.g. DRAFT, READY, or FAILED).
  1017  	//
  1018  	// Possible values:
  1019  	//   "STATE_UNSPECIFIED" - The state of the connection profile is unknown.
  1020  	//   "DRAFT" - The connection profile is in draft mode and fully editable.
  1021  	//   "CREATING" - The connection profile is being created.
  1022  	//   "READY" - The connection profile is ready.
  1023  	//   "UPDATING" - The connection profile is being updated.
  1024  	//   "DELETING" - The connection profile is being deleted.
  1025  	//   "DELETED" - The connection profile has been deleted.
  1026  	//   "FAILED" - The last action on the connection profile failed.
  1027  	State string `json:"state,omitempty"`
  1028  	// UpdateTime: Output only. The timestamp when the resource was last updated. A
  1029  	// timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example:
  1030  	// "2014-10-02T15:01:23.045123456Z".
  1031  	UpdateTime string `json:"updateTime,omitempty"`
  1032  
  1033  	// ServerResponse contains the HTTP response code and headers from the server.
  1034  	googleapi.ServerResponse `json:"-"`
  1035  	// ForceSendFields is a list of field names (e.g. "Alloydb") to unconditionally
  1036  	// include in API requests. By default, fields with empty or default values are
  1037  	// omitted from API requests. See
  1038  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1039  	// details.
  1040  	ForceSendFields []string `json:"-"`
  1041  	// NullFields is a list of field names (e.g. "Alloydb") to include in API
  1042  	// requests with the JSON null value. By default, fields with empty values are
  1043  	// omitted from API requests. See
  1044  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1045  	NullFields []string `json:"-"`
  1046  }
  1047  
  1048  func (s *ConnectionProfile) MarshalJSON() ([]byte, error) {
  1049  	type NoMethod ConnectionProfile
  1050  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1051  }
  1052  
  1053  // ConstraintEntity: Constraint is not used as an independent entity, it is
  1054  // retrieved as part of another entity such as Table or View.
  1055  type ConstraintEntity struct {
  1056  	// CustomFeatures: Custom engine specific features.
  1057  	CustomFeatures googleapi.RawMessage `json:"customFeatures,omitempty"`
  1058  	// Name: The name of the table constraint.
  1059  	Name string `json:"name,omitempty"`
  1060  	// ReferenceColumns: Reference columns which may be associated with the
  1061  	// constraint. For example, if the constraint is a FOREIGN_KEY, this represents
  1062  	// the list of full names of referenced columns by the foreign key.
  1063  	ReferenceColumns []string `json:"referenceColumns,omitempty"`
  1064  	// ReferenceTable: Reference table which may be associated with the constraint.
  1065  	// For example, if the constraint is a FOREIGN_KEY, this represents the list of
  1066  	// full name of the referenced table by the foreign key.
  1067  	ReferenceTable string `json:"referenceTable,omitempty"`
  1068  	// TableColumns: Table columns used as part of the Constraint, for example
  1069  	// primary key constraint should list the columns which constitutes the key.
  1070  	TableColumns []string `json:"tableColumns,omitempty"`
  1071  	// TableName: Table which is associated with the constraint. In case the
  1072  	// constraint is defined on a table, this field is left empty as this
  1073  	// information is stored in parent_name. However, if constraint is defined on a
  1074  	// view, this field stores the table name on which the view is defined.
  1075  	TableName string `json:"tableName,omitempty"`
  1076  	// Type: Type of constraint, for example unique, primary key, foreign key
  1077  	// (currently only primary key is supported).
  1078  	Type string `json:"type,omitempty"`
  1079  	// ForceSendFields is a list of field names (e.g. "CustomFeatures") to
  1080  	// unconditionally include in API requests. By default, fields with empty or
  1081  	// default values are omitted from API requests. See
  1082  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1083  	// details.
  1084  	ForceSendFields []string `json:"-"`
  1085  	// NullFields is a list of field names (e.g. "CustomFeatures") to include in
  1086  	// API requests with the JSON null value. By default, fields with empty values
  1087  	// are omitted from API requests. See
  1088  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1089  	NullFields []string `json:"-"`
  1090  }
  1091  
  1092  func (s *ConstraintEntity) MarshalJSON() ([]byte, error) {
  1093  	type NoMethod ConstraintEntity
  1094  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1095  }
  1096  
  1097  // ConversionWorkspace: The main conversion workspace resource entity.
  1098  type ConversionWorkspace struct {
  1099  	// CreateTime: Output only. The timestamp when the workspace resource was
  1100  	// created.
  1101  	CreateTime string `json:"createTime,omitempty"`
  1102  	// Destination: Required. The destination engine details.
  1103  	Destination *DatabaseEngineInfo `json:"destination,omitempty"`
  1104  	// DisplayName: Optional. The display name for the workspace.
  1105  	DisplayName string `json:"displayName,omitempty"`
  1106  	// GlobalSettings: Optional. A generic list of settings for the workspace. The
  1107  	// settings are database pair dependant and can indicate default behavior for
  1108  	// the mapping rules engine or turn on or off specific features. Such examples
  1109  	// can be: convert_foreign_key_to_interleave=true, skip_triggers=false,
  1110  	// ignore_non_table_synonyms=true
  1111  	GlobalSettings map[string]string `json:"globalSettings,omitempty"`
  1112  	// HasUncommittedChanges: Output only. Whether the workspace has uncommitted
  1113  	// changes (changes which were made after the workspace was committed).
  1114  	HasUncommittedChanges bool `json:"hasUncommittedChanges,omitempty"`
  1115  	// LatestCommitId: Output only. The latest commit ID.
  1116  	LatestCommitId string `json:"latestCommitId,omitempty"`
  1117  	// LatestCommitTime: Output only. The timestamp when the workspace was
  1118  	// committed.
  1119  	LatestCommitTime string `json:"latestCommitTime,omitempty"`
  1120  	// Name: Full name of the workspace resource, in the form of:
  1121  	// projects/{project}/locations/{location}/conversionWorkspaces/{conversion_work
  1122  	// space}.
  1123  	Name string `json:"name,omitempty"`
  1124  	// Source: Required. The source engine details.
  1125  	Source *DatabaseEngineInfo `json:"source,omitempty"`
  1126  	// UpdateTime: Output only. The timestamp when the workspace resource was last
  1127  	// updated.
  1128  	UpdateTime string `json:"updateTime,omitempty"`
  1129  
  1130  	// ServerResponse contains the HTTP response code and headers from the server.
  1131  	googleapi.ServerResponse `json:"-"`
  1132  	// ForceSendFields is a list of field names (e.g. "CreateTime") to
  1133  	// unconditionally include in API requests. By default, fields with empty or
  1134  	// default values are omitted from API requests. See
  1135  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1136  	// details.
  1137  	ForceSendFields []string `json:"-"`
  1138  	// NullFields is a list of field names (e.g. "CreateTime") to include in API
  1139  	// requests with the JSON null value. By default, fields with empty values are
  1140  	// omitted from API requests. See
  1141  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1142  	NullFields []string `json:"-"`
  1143  }
  1144  
  1145  func (s *ConversionWorkspace) MarshalJSON() ([]byte, error) {
  1146  	type NoMethod ConversionWorkspace
  1147  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1148  }
  1149  
  1150  // ConversionWorkspaceInfo: A conversion workspace's version.
  1151  type ConversionWorkspaceInfo struct {
  1152  	// CommitId: The commit ID of the conversion workspace.
  1153  	CommitId string `json:"commitId,omitempty"`
  1154  	// Name: The resource name (URI) of the conversion workspace.
  1155  	Name string `json:"name,omitempty"`
  1156  	// ForceSendFields is a list of field names (e.g. "CommitId") to
  1157  	// unconditionally include in API requests. By default, fields with empty or
  1158  	// default values are omitted from API requests. See
  1159  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1160  	// details.
  1161  	ForceSendFields []string `json:"-"`
  1162  	// NullFields is a list of field names (e.g. "CommitId") to include in API
  1163  	// requests with the JSON null value. By default, fields with empty values are
  1164  	// omitted from API requests. See
  1165  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1166  	NullFields []string `json:"-"`
  1167  }
  1168  
  1169  func (s *ConversionWorkspaceInfo) MarshalJSON() ([]byte, error) {
  1170  	type NoMethod ConversionWorkspaceInfo
  1171  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1172  }
  1173  
  1174  // ConvertConversionWorkspaceRequest: Request message for
  1175  // 'ConvertConversionWorkspace' request.
  1176  type ConvertConversionWorkspaceRequest struct {
  1177  	// AutoCommit: Optional. Specifies whether the conversion workspace is to be
  1178  	// committed automatically after the conversion.
  1179  	AutoCommit bool `json:"autoCommit,omitempty"`
  1180  	// ConvertFullPath: Optional. Automatically convert the full entity path for
  1181  	// each entity specified by the filter. For example, if the filter specifies a
  1182  	// table, that table schema (and database if there is one) will also be
  1183  	// converted.
  1184  	ConvertFullPath bool `json:"convertFullPath,omitempty"`
  1185  	// Filter: Optional. Filter the entities to convert. Leaving this field empty
  1186  	// will convert all of the entities. Supports Google AIP-160 style filtering.
  1187  	Filter string `json:"filter,omitempty"`
  1188  	// ForceSendFields is a list of field names (e.g. "AutoCommit") to
  1189  	// unconditionally include in API requests. By default, fields with empty or
  1190  	// default values are omitted from API requests. See
  1191  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1192  	// details.
  1193  	ForceSendFields []string `json:"-"`
  1194  	// NullFields is a list of field names (e.g. "AutoCommit") to include in API
  1195  	// requests with the JSON null value. By default, fields with empty values are
  1196  	// omitted from API requests. See
  1197  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1198  	NullFields []string `json:"-"`
  1199  }
  1200  
  1201  func (s *ConvertConversionWorkspaceRequest) MarshalJSON() ([]byte, error) {
  1202  	type NoMethod ConvertConversionWorkspaceRequest
  1203  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1204  }
  1205  
  1206  // ConvertJobDetails: Details regarding a Convert background job.
  1207  type ConvertJobDetails struct {
  1208  	// Filter: Output only. AIP-160 based filter used to specify the entities to
  1209  	// convert
  1210  	Filter string `json:"filter,omitempty"`
  1211  	// ForceSendFields is a list of field names (e.g. "Filter") to unconditionally
  1212  	// include in API requests. By default, fields with empty or default values are
  1213  	// omitted from API requests. See
  1214  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1215  	// details.
  1216  	ForceSendFields []string `json:"-"`
  1217  	// NullFields is a list of field names (e.g. "Filter") to include in API
  1218  	// requests with the JSON null value. By default, fields with empty values are
  1219  	// omitted from API requests. See
  1220  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1221  	NullFields []string `json:"-"`
  1222  }
  1223  
  1224  func (s *ConvertJobDetails) MarshalJSON() ([]byte, error) {
  1225  	type NoMethod ConvertJobDetails
  1226  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1227  }
  1228  
  1229  // ConvertRowIdToColumn: Options to configure rule type ConvertROWIDToColumn.
  1230  // The rule is used to add column rowid to destination tables based on an
  1231  // Oracle rowid function/property. The rule filter field can refer to one or
  1232  // more entities. The rule scope can be one of: Table. This rule requires
  1233  // additional filter to be specified beyond the basic rule filter field, which
  1234  // is whether or not to work on tables which already have a primary key
  1235  // defined.
  1236  type ConvertRowIdToColumn struct {
  1237  	// OnlyIfNoPrimaryKey: Required. Only work on tables without primary key
  1238  	// defined
  1239  	OnlyIfNoPrimaryKey bool `json:"onlyIfNoPrimaryKey,omitempty"`
  1240  	// ForceSendFields is a list of field names (e.g. "OnlyIfNoPrimaryKey") to
  1241  	// unconditionally include in API requests. By default, fields with empty or
  1242  	// default values are omitted from API requests. See
  1243  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1244  	// details.
  1245  	ForceSendFields []string `json:"-"`
  1246  	// NullFields is a list of field names (e.g. "OnlyIfNoPrimaryKey") to include
  1247  	// in API requests with the JSON null value. By default, fields with empty
  1248  	// values are omitted from API requests. See
  1249  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1250  	NullFields []string `json:"-"`
  1251  }
  1252  
  1253  func (s *ConvertRowIdToColumn) MarshalJSON() ([]byte, error) {
  1254  	type NoMethod ConvertRowIdToColumn
  1255  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1256  }
  1257  
  1258  // DataCacheConfig: Data cache is an optional feature available for Cloud SQL
  1259  // for MySQL Enterprise Plus edition only. For more information on data cache,
  1260  // see Data cache overview (https://cloud.google.com/sql/help/mysql-data-cache)
  1261  // in Cloud SQL documentation.
  1262  type DataCacheConfig struct {
  1263  	// DataCacheEnabled: Optional. Whether data cache is enabled for the instance.
  1264  	DataCacheEnabled bool `json:"dataCacheEnabled,omitempty"`
  1265  	// ForceSendFields is a list of field names (e.g. "DataCacheEnabled") to
  1266  	// unconditionally include in API requests. By default, fields with empty or
  1267  	// default values are omitted from API requests. See
  1268  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1269  	// details.
  1270  	ForceSendFields []string `json:"-"`
  1271  	// NullFields is a list of field names (e.g. "DataCacheEnabled") to include in
  1272  	// API requests with the JSON null value. By default, fields with empty values
  1273  	// are omitted from API requests. See
  1274  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1275  	NullFields []string `json:"-"`
  1276  }
  1277  
  1278  func (s *DataCacheConfig) MarshalJSON() ([]byte, error) {
  1279  	type NoMethod DataCacheConfig
  1280  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1281  }
  1282  
  1283  // DatabaseEngineInfo: The type and version of a source or destination
  1284  // database.
  1285  type DatabaseEngineInfo struct {
  1286  	// Engine: Required. Engine type.
  1287  	//
  1288  	// Possible values:
  1289  	//   "DATABASE_ENGINE_UNSPECIFIED" - The source database engine of the
  1290  	// migration job is unknown.
  1291  	//   "MYSQL" - The source engine is MySQL.
  1292  	//   "POSTGRESQL" - The source engine is PostgreSQL.
  1293  	//   "SQLSERVER" - The source engine is SQL Server.
  1294  	//   "ORACLE" - The source engine is Oracle.
  1295  	Engine string `json:"engine,omitempty"`
  1296  	// Version: Required. Engine version, for example "12.c.1".
  1297  	Version string `json:"version,omitempty"`
  1298  	// ForceSendFields is a list of field names (e.g. "Engine") to unconditionally
  1299  	// include in API requests. By default, fields with empty or default values are
  1300  	// omitted from API requests. See
  1301  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1302  	// details.
  1303  	ForceSendFields []string `json:"-"`
  1304  	// NullFields is a list of field names (e.g. "Engine") to include in API
  1305  	// requests with the JSON null value. By default, fields with empty values are
  1306  	// omitted from API requests. See
  1307  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1308  	NullFields []string `json:"-"`
  1309  }
  1310  
  1311  func (s *DatabaseEngineInfo) MarshalJSON() ([]byte, error) {
  1312  	type NoMethod DatabaseEngineInfo
  1313  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1314  }
  1315  
  1316  // DatabaseEntity: The base entity type for all the database related entities.
  1317  // The message contains the entity name, the name of its parent, the entity
  1318  // type, and the specific details per entity type.
  1319  type DatabaseEntity struct {
  1320  	// Database: Database.
  1321  	Database *DatabaseInstanceEntity `json:"database,omitempty"`
  1322  	// DatabaseFunction: Function.
  1323  	DatabaseFunction *FunctionEntity `json:"databaseFunction,omitempty"`
  1324  	// DatabasePackage: Package.
  1325  	DatabasePackage *PackageEntity `json:"databasePackage,omitempty"`
  1326  	// EntityDdl: Details about the entity DDL script. Multiple DDL scripts are
  1327  	// provided for child entities such as a table entity will have one DDL for the
  1328  	// table with additional DDLs for each index, constraint and such.
  1329  	EntityDdl []*EntityDdl `json:"entityDdl,omitempty"`
  1330  	// EntityType: The type of the database entity (table, view, index, ...).
  1331  	//
  1332  	// Possible values:
  1333  	//   "DATABASE_ENTITY_TYPE_UNSPECIFIED" - Unspecified database entity type.
  1334  	//   "DATABASE_ENTITY_TYPE_SCHEMA" - Schema.
  1335  	//   "DATABASE_ENTITY_TYPE_TABLE" - Table.
  1336  	//   "DATABASE_ENTITY_TYPE_COLUMN" - Column.
  1337  	//   "DATABASE_ENTITY_TYPE_CONSTRAINT" - Constraint.
  1338  	//   "DATABASE_ENTITY_TYPE_INDEX" - Index.
  1339  	//   "DATABASE_ENTITY_TYPE_TRIGGER" - Trigger.
  1340  	//   "DATABASE_ENTITY_TYPE_VIEW" - View.
  1341  	//   "DATABASE_ENTITY_TYPE_SEQUENCE" - Sequence.
  1342  	//   "DATABASE_ENTITY_TYPE_STORED_PROCEDURE" - Stored Procedure.
  1343  	//   "DATABASE_ENTITY_TYPE_FUNCTION" - Function.
  1344  	//   "DATABASE_ENTITY_TYPE_SYNONYM" - Synonym.
  1345  	//   "DATABASE_ENTITY_TYPE_DATABASE_PACKAGE" - Package.
  1346  	//   "DATABASE_ENTITY_TYPE_UDT" - UDT.
  1347  	//   "DATABASE_ENTITY_TYPE_MATERIALIZED_VIEW" - Materialized View.
  1348  	//   "DATABASE_ENTITY_TYPE_DATABASE" - Database.
  1349  	EntityType string `json:"entityType,omitempty"`
  1350  	// Issues: Details about the various issues found for the entity.
  1351  	Issues []*EntityIssue `json:"issues,omitempty"`
  1352  	// Mappings: Details about entity mappings. For source tree entities, this
  1353  	// holds the draft entities which were generated by the mapping rules. For
  1354  	// draft tree entities, this holds the source entities which were converted to
  1355  	// form the draft entity. Destination entities will have no mapping details.
  1356  	Mappings []*EntityMapping `json:"mappings,omitempty"`
  1357  	// MaterializedView: Materialized view.
  1358  	MaterializedView *MaterializedViewEntity `json:"materializedView,omitempty"`
  1359  	// ParentEntity: The full name of the parent entity (e.g. schema name).
  1360  	ParentEntity string `json:"parentEntity,omitempty"`
  1361  	// Schema: Schema.
  1362  	Schema *SchemaEntity `json:"schema,omitempty"`
  1363  	// Sequence: Sequence.
  1364  	Sequence *SequenceEntity `json:"sequence,omitempty"`
  1365  	// ShortName: The short name (e.g. table name) of the entity.
  1366  	ShortName string `json:"shortName,omitempty"`
  1367  	// StoredProcedure: Stored procedure.
  1368  	StoredProcedure *StoredProcedureEntity `json:"storedProcedure,omitempty"`
  1369  	// Synonym: Synonym.
  1370  	Synonym *SynonymEntity `json:"synonym,omitempty"`
  1371  	// Table: Table.
  1372  	Table *TableEntity `json:"table,omitempty"`
  1373  	// Tree: The type of tree the entity belongs to.
  1374  	//
  1375  	// Possible values:
  1376  	//   "TREE_TYPE_UNSPECIFIED" - Tree type unspecified.
  1377  	//   "SOURCE" - Tree of entities loaded from a source database.
  1378  	//   "DRAFT" - Tree of entities converted from the source tree using the
  1379  	// mapping rules.
  1380  	//   "DESTINATION" - Tree of entities observed on the destination database.
  1381  	Tree string `json:"tree,omitempty"`
  1382  	// Udt: UDT.
  1383  	Udt *UDTEntity `json:"udt,omitempty"`
  1384  	// View: View.
  1385  	View *ViewEntity `json:"view,omitempty"`
  1386  	// ForceSendFields is a list of field names (e.g. "Database") to
  1387  	// unconditionally include in API requests. By default, fields with empty or
  1388  	// default values are omitted from API requests. See
  1389  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1390  	// details.
  1391  	ForceSendFields []string `json:"-"`
  1392  	// NullFields is a list of field names (e.g. "Database") to include in API
  1393  	// requests with the JSON null value. By default, fields with empty values are
  1394  	// omitted from API requests. See
  1395  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1396  	NullFields []string `json:"-"`
  1397  }
  1398  
  1399  func (s *DatabaseEntity) MarshalJSON() ([]byte, error) {
  1400  	type NoMethod DatabaseEntity
  1401  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1402  }
  1403  
  1404  // DatabaseInstanceEntity: DatabaseInstance acts as a parent entity to other
  1405  // database entities.
  1406  type DatabaseInstanceEntity struct {
  1407  	// CustomFeatures: Custom engine specific features.
  1408  	CustomFeatures googleapi.RawMessage `json:"customFeatures,omitempty"`
  1409  	// ForceSendFields is a list of field names (e.g. "CustomFeatures") to
  1410  	// unconditionally include in API requests. By default, fields with empty or
  1411  	// default values are omitted from API requests. See
  1412  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1413  	// details.
  1414  	ForceSendFields []string `json:"-"`
  1415  	// NullFields is a list of field names (e.g. "CustomFeatures") to include in
  1416  	// API requests with the JSON null value. By default, fields with empty values
  1417  	// are omitted from API requests. See
  1418  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1419  	NullFields []string `json:"-"`
  1420  }
  1421  
  1422  func (s *DatabaseInstanceEntity) MarshalJSON() ([]byte, error) {
  1423  	type NoMethod DatabaseInstanceEntity
  1424  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1425  }
  1426  
  1427  // DatabaseType: A message defining the database engine and provider.
  1428  type DatabaseType struct {
  1429  	// Engine: The database engine.
  1430  	//
  1431  	// Possible values:
  1432  	//   "DATABASE_ENGINE_UNSPECIFIED" - The source database engine of the
  1433  	// migration job is unknown.
  1434  	//   "MYSQL" - The source engine is MySQL.
  1435  	//   "POSTGRESQL" - The source engine is PostgreSQL.
  1436  	//   "SQLSERVER" - The source engine is SQL Server.
  1437  	//   "ORACLE" - The source engine is Oracle.
  1438  	Engine string `json:"engine,omitempty"`
  1439  	// Provider: The database provider.
  1440  	//
  1441  	// Possible values:
  1442  	//   "DATABASE_PROVIDER_UNSPECIFIED" - Use this value for on-premise source
  1443  	// database instances.
  1444  	//   "CLOUDSQL" - Cloud SQL is the source instance provider.
  1445  	//   "RDS" - Amazon RDS is the source instance provider.
  1446  	//   "AURORA" - Amazon Aurora is the source instance provider.
  1447  	//   "ALLOYDB" - AlloyDB for PostgreSQL is the source instance provider.
  1448  	Provider string `json:"provider,omitempty"`
  1449  	// ForceSendFields is a list of field names (e.g. "Engine") to unconditionally
  1450  	// include in API requests. By default, fields with empty or default values are
  1451  	// omitted from API requests. See
  1452  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1453  	// details.
  1454  	ForceSendFields []string `json:"-"`
  1455  	// NullFields is a list of field names (e.g. "Engine") to include in API
  1456  	// requests with the JSON null value. By default, fields with empty values are
  1457  	// omitted from API requests. See
  1458  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1459  	NullFields []string `json:"-"`
  1460  }
  1461  
  1462  func (s *DatabaseType) MarshalJSON() ([]byte, error) {
  1463  	type NoMethod DatabaseType
  1464  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1465  }
  1466  
  1467  // DemoteDestinationRequest: Request message for 'DemoteDestination' request.
  1468  type DemoteDestinationRequest struct {
  1469  }
  1470  
  1471  // DescribeConversionWorkspaceRevisionsResponse: Response message for
  1472  // 'DescribeConversionWorkspaceRevisions' request.
  1473  type DescribeConversionWorkspaceRevisionsResponse struct {
  1474  	// Revisions: The list of conversion workspace revisions.
  1475  	Revisions []*ConversionWorkspace `json:"revisions,omitempty"`
  1476  
  1477  	// ServerResponse contains the HTTP response code and headers from the server.
  1478  	googleapi.ServerResponse `json:"-"`
  1479  	// ForceSendFields is a list of field names (e.g. "Revisions") to
  1480  	// unconditionally include in API requests. By default, fields with empty or
  1481  	// default values are omitted from API requests. See
  1482  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1483  	// details.
  1484  	ForceSendFields []string `json:"-"`
  1485  	// NullFields is a list of field names (e.g. "Revisions") to include in API
  1486  	// requests with the JSON null value. By default, fields with empty values are
  1487  	// omitted from API requests. See
  1488  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1489  	NullFields []string `json:"-"`
  1490  }
  1491  
  1492  func (s *DescribeConversionWorkspaceRevisionsResponse) MarshalJSON() ([]byte, error) {
  1493  	type NoMethod DescribeConversionWorkspaceRevisionsResponse
  1494  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1495  }
  1496  
  1497  // DescribeDatabaseEntitiesResponse: Response message for
  1498  // 'DescribeDatabaseEntities' request.
  1499  type DescribeDatabaseEntitiesResponse struct {
  1500  	// DatabaseEntities: The list of database entities for the conversion
  1501  	// workspace.
  1502  	DatabaseEntities []*DatabaseEntity `json:"databaseEntities,omitempty"`
  1503  	// NextPageToken: A token which can be sent as `page_token` to retrieve the
  1504  	// next page. If this field is omitted, there are no subsequent pages.
  1505  	NextPageToken string `json:"nextPageToken,omitempty"`
  1506  
  1507  	// ServerResponse contains the HTTP response code and headers from the server.
  1508  	googleapi.ServerResponse `json:"-"`
  1509  	// ForceSendFields is a list of field names (e.g. "DatabaseEntities") to
  1510  	// unconditionally include in API requests. By default, fields with empty or
  1511  	// default values are omitted from API requests. See
  1512  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1513  	// details.
  1514  	ForceSendFields []string `json:"-"`
  1515  	// NullFields is a list of field names (e.g. "DatabaseEntities") to include in
  1516  	// API requests with the JSON null value. By default, fields with empty values
  1517  	// are omitted from API requests. See
  1518  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1519  	NullFields []string `json:"-"`
  1520  }
  1521  
  1522  func (s *DescribeDatabaseEntitiesResponse) MarshalJSON() ([]byte, error) {
  1523  	type NoMethod DescribeDatabaseEntitiesResponse
  1524  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1525  }
  1526  
  1527  // DoubleComparisonFilter: Filter based on relation between source value and
  1528  // compare value of type double in ConditionalColumnSetValue
  1529  type DoubleComparisonFilter struct {
  1530  	// Value: Required. Double compare value to be used
  1531  	Value float64 `json:"value,omitempty"`
  1532  	// ValueComparison: Required. Relation between source value and compare value
  1533  	//
  1534  	// Possible values:
  1535  	//   "VALUE_COMPARISON_UNSPECIFIED" - Value comparison unspecified.
  1536  	//   "VALUE_COMPARISON_IF_VALUE_SMALLER_THAN" - Value is smaller than the
  1537  	// Compare value.
  1538  	//   "VALUE_COMPARISON_IF_VALUE_SMALLER_EQUAL_THAN" - Value is smaller or equal
  1539  	// than the Compare value.
  1540  	//   "VALUE_COMPARISON_IF_VALUE_LARGER_THAN" - Value is larger than the Compare
  1541  	// value.
  1542  	//   "VALUE_COMPARISON_IF_VALUE_LARGER_EQUAL_THAN" - Value is larger or equal
  1543  	// than the Compare value.
  1544  	ValueComparison string `json:"valueComparison,omitempty"`
  1545  	// ForceSendFields is a list of field names (e.g. "Value") to unconditionally
  1546  	// include in API requests. By default, fields with empty or default values are
  1547  	// omitted from API requests. See
  1548  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1549  	// details.
  1550  	ForceSendFields []string `json:"-"`
  1551  	// NullFields is a list of field names (e.g. "Value") to include in API
  1552  	// requests with the JSON null value. By default, fields with empty values are
  1553  	// omitted from API requests. See
  1554  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1555  	NullFields []string `json:"-"`
  1556  }
  1557  
  1558  func (s *DoubleComparisonFilter) MarshalJSON() ([]byte, error) {
  1559  	type NoMethod DoubleComparisonFilter
  1560  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1561  }
  1562  
  1563  func (s *DoubleComparisonFilter) UnmarshalJSON(data []byte) error {
  1564  	type NoMethod DoubleComparisonFilter
  1565  	var s1 struct {
  1566  		Value gensupport.JSONFloat64 `json:"value"`
  1567  		*NoMethod
  1568  	}
  1569  	s1.NoMethod = (*NoMethod)(s)
  1570  	if err := json.Unmarshal(data, &s1); err != nil {
  1571  		return err
  1572  	}
  1573  	s.Value = float64(s1.Value)
  1574  	return nil
  1575  }
  1576  
  1577  // DumpFlag: Dump flag definition.
  1578  type DumpFlag struct {
  1579  	// Name: The name of the flag
  1580  	Name string `json:"name,omitempty"`
  1581  	// Value: The value of the flag.
  1582  	Value string `json:"value,omitempty"`
  1583  	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
  1584  	// include in API requests. By default, fields with empty or default values are
  1585  	// omitted from API requests. See
  1586  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1587  	// details.
  1588  	ForceSendFields []string `json:"-"`
  1589  	// NullFields is a list of field names (e.g. "Name") to include in API requests
  1590  	// with the JSON null value. By default, fields with empty values are omitted
  1591  	// from API requests. See
  1592  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1593  	NullFields []string `json:"-"`
  1594  }
  1595  
  1596  func (s *DumpFlag) MarshalJSON() ([]byte, error) {
  1597  	type NoMethod DumpFlag
  1598  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1599  }
  1600  
  1601  // DumpFlags: Dump flags definition.
  1602  type DumpFlags struct {
  1603  	// DumpFlags: The flags for the initial dump.
  1604  	DumpFlags []*DumpFlag `json:"dumpFlags,omitempty"`
  1605  	// ForceSendFields is a list of field names (e.g. "DumpFlags") to
  1606  	// unconditionally include in API requests. By default, fields with empty or
  1607  	// default values are omitted from API requests. See
  1608  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1609  	// details.
  1610  	ForceSendFields []string `json:"-"`
  1611  	// NullFields is a list of field names (e.g. "DumpFlags") to include in API
  1612  	// requests with the JSON null value. By default, fields with empty values are
  1613  	// omitted from API requests. See
  1614  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1615  	NullFields []string `json:"-"`
  1616  }
  1617  
  1618  func (s *DumpFlags) MarshalJSON() ([]byte, error) {
  1619  	type NoMethod DumpFlags
  1620  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1621  }
  1622  
  1623  // Empty: A generic empty message that you can re-use to avoid defining
  1624  // duplicated empty messages in your APIs. A typical example is to use it as
  1625  // the request or the response type of an API method. For instance: service Foo
  1626  // { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
  1627  type Empty struct {
  1628  	// ServerResponse contains the HTTP response code and headers from the server.
  1629  	googleapi.ServerResponse `json:"-"`
  1630  }
  1631  
  1632  // EncryptionConfig: EncryptionConfig describes the encryption config of a
  1633  // cluster that is encrypted with a CMEK (customer-managed encryption key).
  1634  type EncryptionConfig struct {
  1635  	// KmsKeyName: The fully-qualified resource name of the KMS key. Each Cloud KMS
  1636  	// key is regionalized and has the following format:
  1637  	// projects/[PROJECT]/locations/[REGION]/keyRings/[RING]/cryptoKeys/[KEY_NAME]
  1638  	KmsKeyName string `json:"kmsKeyName,omitempty"`
  1639  	// ForceSendFields is a list of field names (e.g. "KmsKeyName") to
  1640  	// unconditionally include in API requests. By default, fields with empty or
  1641  	// default values are omitted from API requests. See
  1642  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1643  	// details.
  1644  	ForceSendFields []string `json:"-"`
  1645  	// NullFields is a list of field names (e.g. "KmsKeyName") to include in API
  1646  	// requests with the JSON null value. By default, fields with empty values are
  1647  	// omitted from API requests. See
  1648  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1649  	NullFields []string `json:"-"`
  1650  }
  1651  
  1652  func (s *EncryptionConfig) MarshalJSON() ([]byte, error) {
  1653  	type NoMethod EncryptionConfig
  1654  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1655  }
  1656  
  1657  // EntityDdl: A single DDL statement for a specific entity
  1658  type EntityDdl struct {
  1659  	// Ddl: The actual ddl code.
  1660  	Ddl string `json:"ddl,omitempty"`
  1661  	// DdlType: Type of DDL (Create, Alter).
  1662  	DdlType string `json:"ddlType,omitempty"`
  1663  	// Entity: The name of the database entity the ddl refers to.
  1664  	Entity string `json:"entity,omitempty"`
  1665  	// EntityType: The entity type (if the DDL is for a sub entity).
  1666  	//
  1667  	// Possible values:
  1668  	//   "DATABASE_ENTITY_TYPE_UNSPECIFIED" - Unspecified database entity type.
  1669  	//   "DATABASE_ENTITY_TYPE_SCHEMA" - Schema.
  1670  	//   "DATABASE_ENTITY_TYPE_TABLE" - Table.
  1671  	//   "DATABASE_ENTITY_TYPE_COLUMN" - Column.
  1672  	//   "DATABASE_ENTITY_TYPE_CONSTRAINT" - Constraint.
  1673  	//   "DATABASE_ENTITY_TYPE_INDEX" - Index.
  1674  	//   "DATABASE_ENTITY_TYPE_TRIGGER" - Trigger.
  1675  	//   "DATABASE_ENTITY_TYPE_VIEW" - View.
  1676  	//   "DATABASE_ENTITY_TYPE_SEQUENCE" - Sequence.
  1677  	//   "DATABASE_ENTITY_TYPE_STORED_PROCEDURE" - Stored Procedure.
  1678  	//   "DATABASE_ENTITY_TYPE_FUNCTION" - Function.
  1679  	//   "DATABASE_ENTITY_TYPE_SYNONYM" - Synonym.
  1680  	//   "DATABASE_ENTITY_TYPE_DATABASE_PACKAGE" - Package.
  1681  	//   "DATABASE_ENTITY_TYPE_UDT" - UDT.
  1682  	//   "DATABASE_ENTITY_TYPE_MATERIALIZED_VIEW" - Materialized View.
  1683  	//   "DATABASE_ENTITY_TYPE_DATABASE" - Database.
  1684  	EntityType string `json:"entityType,omitempty"`
  1685  	// IssueId: EntityIssues found for this ddl.
  1686  	IssueId []string `json:"issueId,omitempty"`
  1687  	// ForceSendFields is a list of field names (e.g. "Ddl") to unconditionally
  1688  	// include in API requests. By default, fields with empty or default values are
  1689  	// omitted from API requests. See
  1690  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1691  	// details.
  1692  	ForceSendFields []string `json:"-"`
  1693  	// NullFields is a list of field names (e.g. "Ddl") to include in API requests
  1694  	// with the JSON null value. By default, fields with empty values are omitted
  1695  	// from API requests. See
  1696  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1697  	NullFields []string `json:"-"`
  1698  }
  1699  
  1700  func (s *EntityDdl) MarshalJSON() ([]byte, error) {
  1701  	type NoMethod EntityDdl
  1702  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1703  }
  1704  
  1705  // EntityIssue: Issue related to the entity.
  1706  type EntityIssue struct {
  1707  	// Code: Error/Warning code
  1708  	Code string `json:"code,omitempty"`
  1709  	// Ddl: The ddl which caused the issue, if relevant.
  1710  	Ddl string `json:"ddl,omitempty"`
  1711  	// EntityType: The entity type (if the DDL is for a sub entity).
  1712  	//
  1713  	// Possible values:
  1714  	//   "DATABASE_ENTITY_TYPE_UNSPECIFIED" - Unspecified database entity type.
  1715  	//   "DATABASE_ENTITY_TYPE_SCHEMA" - Schema.
  1716  	//   "DATABASE_ENTITY_TYPE_TABLE" - Table.
  1717  	//   "DATABASE_ENTITY_TYPE_COLUMN" - Column.
  1718  	//   "DATABASE_ENTITY_TYPE_CONSTRAINT" - Constraint.
  1719  	//   "DATABASE_ENTITY_TYPE_INDEX" - Index.
  1720  	//   "DATABASE_ENTITY_TYPE_TRIGGER" - Trigger.
  1721  	//   "DATABASE_ENTITY_TYPE_VIEW" - View.
  1722  	//   "DATABASE_ENTITY_TYPE_SEQUENCE" - Sequence.
  1723  	//   "DATABASE_ENTITY_TYPE_STORED_PROCEDURE" - Stored Procedure.
  1724  	//   "DATABASE_ENTITY_TYPE_FUNCTION" - Function.
  1725  	//   "DATABASE_ENTITY_TYPE_SYNONYM" - Synonym.
  1726  	//   "DATABASE_ENTITY_TYPE_DATABASE_PACKAGE" - Package.
  1727  	//   "DATABASE_ENTITY_TYPE_UDT" - UDT.
  1728  	//   "DATABASE_ENTITY_TYPE_MATERIALIZED_VIEW" - Materialized View.
  1729  	//   "DATABASE_ENTITY_TYPE_DATABASE" - Database.
  1730  	EntityType string `json:"entityType,omitempty"`
  1731  	// Id: Unique Issue ID.
  1732  	Id string `json:"id,omitempty"`
  1733  	// Message: Issue detailed message
  1734  	Message string `json:"message,omitempty"`
  1735  	// Position: The position of the issue found, if relevant.
  1736  	Position *Position `json:"position,omitempty"`
  1737  	// Severity: Severity of the issue
  1738  	//
  1739  	// Possible values:
  1740  	//   "ISSUE_SEVERITY_UNSPECIFIED" - Unspecified issue severity
  1741  	//   "ISSUE_SEVERITY_INFO" - Info
  1742  	//   "ISSUE_SEVERITY_WARNING" - Warning
  1743  	//   "ISSUE_SEVERITY_ERROR" - Error
  1744  	Severity string `json:"severity,omitempty"`
  1745  	// Type: The type of the issue.
  1746  	//
  1747  	// Possible values:
  1748  	//   "ISSUE_TYPE_UNSPECIFIED" - Unspecified issue type.
  1749  	//   "ISSUE_TYPE_DDL" - Issue originated from the DDL
  1750  	//   "ISSUE_TYPE_APPLY" - Issue originated during the apply process
  1751  	//   "ISSUE_TYPE_CONVERT" - Issue originated during the convert process
  1752  	Type string `json:"type,omitempty"`
  1753  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  1754  	// include in API requests. By default, fields with empty or default values are
  1755  	// omitted from API requests. See
  1756  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1757  	// details.
  1758  	ForceSendFields []string `json:"-"`
  1759  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  1760  	// with the JSON null value. By default, fields with empty values are omitted
  1761  	// from API requests. See
  1762  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1763  	NullFields []string `json:"-"`
  1764  }
  1765  
  1766  func (s *EntityIssue) MarshalJSON() ([]byte, error) {
  1767  	type NoMethod EntityIssue
  1768  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1769  }
  1770  
  1771  // EntityMapping: Details of the mappings of a database entity.
  1772  type EntityMapping struct {
  1773  	// DraftEntity: Target entity full name. The draft entity can also include a
  1774  	// column, index or constraint using the same naming notation
  1775  	// schema.table.column.
  1776  	DraftEntity string `json:"draftEntity,omitempty"`
  1777  	// DraftType: Type of draft entity.
  1778  	//
  1779  	// Possible values:
  1780  	//   "DATABASE_ENTITY_TYPE_UNSPECIFIED" - Unspecified database entity type.
  1781  	//   "DATABASE_ENTITY_TYPE_SCHEMA" - Schema.
  1782  	//   "DATABASE_ENTITY_TYPE_TABLE" - Table.
  1783  	//   "DATABASE_ENTITY_TYPE_COLUMN" - Column.
  1784  	//   "DATABASE_ENTITY_TYPE_CONSTRAINT" - Constraint.
  1785  	//   "DATABASE_ENTITY_TYPE_INDEX" - Index.
  1786  	//   "DATABASE_ENTITY_TYPE_TRIGGER" - Trigger.
  1787  	//   "DATABASE_ENTITY_TYPE_VIEW" - View.
  1788  	//   "DATABASE_ENTITY_TYPE_SEQUENCE" - Sequence.
  1789  	//   "DATABASE_ENTITY_TYPE_STORED_PROCEDURE" - Stored Procedure.
  1790  	//   "DATABASE_ENTITY_TYPE_FUNCTION" - Function.
  1791  	//   "DATABASE_ENTITY_TYPE_SYNONYM" - Synonym.
  1792  	//   "DATABASE_ENTITY_TYPE_DATABASE_PACKAGE" - Package.
  1793  	//   "DATABASE_ENTITY_TYPE_UDT" - UDT.
  1794  	//   "DATABASE_ENTITY_TYPE_MATERIALIZED_VIEW" - Materialized View.
  1795  	//   "DATABASE_ENTITY_TYPE_DATABASE" - Database.
  1796  	DraftType string `json:"draftType,omitempty"`
  1797  	// MappingLog: Entity mapping log entries. Multiple rules can be effective and
  1798  	// contribute changes to a converted entity, such as a rule can handle the
  1799  	// entity name, another rule can handle an entity type. In addition, rules
  1800  	// which did not change the entity are also logged along with the reason
  1801  	// preventing them to do so.
  1802  	MappingLog []*EntityMappingLogEntry `json:"mappingLog,omitempty"`
  1803  	// SourceEntity: Source entity full name. The source entity can also be a
  1804  	// column, index or constraint using the same naming notation
  1805  	// schema.table.column.
  1806  	SourceEntity string `json:"sourceEntity,omitempty"`
  1807  	// SourceType: Type of source entity.
  1808  	//
  1809  	// Possible values:
  1810  	//   "DATABASE_ENTITY_TYPE_UNSPECIFIED" - Unspecified database entity type.
  1811  	//   "DATABASE_ENTITY_TYPE_SCHEMA" - Schema.
  1812  	//   "DATABASE_ENTITY_TYPE_TABLE" - Table.
  1813  	//   "DATABASE_ENTITY_TYPE_COLUMN" - Column.
  1814  	//   "DATABASE_ENTITY_TYPE_CONSTRAINT" - Constraint.
  1815  	//   "DATABASE_ENTITY_TYPE_INDEX" - Index.
  1816  	//   "DATABASE_ENTITY_TYPE_TRIGGER" - Trigger.
  1817  	//   "DATABASE_ENTITY_TYPE_VIEW" - View.
  1818  	//   "DATABASE_ENTITY_TYPE_SEQUENCE" - Sequence.
  1819  	//   "DATABASE_ENTITY_TYPE_STORED_PROCEDURE" - Stored Procedure.
  1820  	//   "DATABASE_ENTITY_TYPE_FUNCTION" - Function.
  1821  	//   "DATABASE_ENTITY_TYPE_SYNONYM" - Synonym.
  1822  	//   "DATABASE_ENTITY_TYPE_DATABASE_PACKAGE" - Package.
  1823  	//   "DATABASE_ENTITY_TYPE_UDT" - UDT.
  1824  	//   "DATABASE_ENTITY_TYPE_MATERIALIZED_VIEW" - Materialized View.
  1825  	//   "DATABASE_ENTITY_TYPE_DATABASE" - Database.
  1826  	SourceType string `json:"sourceType,omitempty"`
  1827  	// ForceSendFields is a list of field names (e.g. "DraftEntity") to
  1828  	// unconditionally include in API requests. By default, fields with empty or
  1829  	// default values are omitted from API requests. See
  1830  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1831  	// details.
  1832  	ForceSendFields []string `json:"-"`
  1833  	// NullFields is a list of field names (e.g. "DraftEntity") to include in API
  1834  	// requests with the JSON null value. By default, fields with empty values are
  1835  	// omitted from API requests. See
  1836  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1837  	NullFields []string `json:"-"`
  1838  }
  1839  
  1840  func (s *EntityMapping) MarshalJSON() ([]byte, error) {
  1841  	type NoMethod EntityMapping
  1842  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1843  }
  1844  
  1845  // EntityMappingLogEntry: A single record of a rule which was used for a
  1846  // mapping.
  1847  type EntityMappingLogEntry struct {
  1848  	// MappingComment: Comment.
  1849  	MappingComment string `json:"mappingComment,omitempty"`
  1850  	// RuleId: Which rule caused this log entry.
  1851  	RuleId string `json:"ruleId,omitempty"`
  1852  	// RuleRevisionId: Rule revision ID.
  1853  	RuleRevisionId string `json:"ruleRevisionId,omitempty"`
  1854  	// ForceSendFields is a list of field names (e.g. "MappingComment") to
  1855  	// unconditionally include in API requests. By default, fields with empty or
  1856  	// default values are omitted from API requests. See
  1857  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1858  	// details.
  1859  	ForceSendFields []string `json:"-"`
  1860  	// NullFields is a list of field names (e.g. "MappingComment") to include in
  1861  	// API requests with the JSON null value. By default, fields with empty values
  1862  	// are omitted from API requests. See
  1863  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1864  	NullFields []string `json:"-"`
  1865  }
  1866  
  1867  func (s *EntityMappingLogEntry) MarshalJSON() ([]byte, error) {
  1868  	type NoMethod EntityMappingLogEntry
  1869  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1870  }
  1871  
  1872  // EntityMove: Options to configure rule type EntityMove. The rule is used to
  1873  // move an entity to a new schema. The rule filter field can refer to one or
  1874  // more entities. The rule scope can be one of: Table, Column, Constraint,
  1875  // Index, View, Function, Stored Procedure, Materialized View, Sequence, UDT
  1876  type EntityMove struct {
  1877  	// NewSchema: Required. The new schema
  1878  	NewSchema string `json:"newSchema,omitempty"`
  1879  	// ForceSendFields is a list of field names (e.g. "NewSchema") to
  1880  	// unconditionally include in API requests. By default, fields with empty or
  1881  	// default values are omitted from API requests. See
  1882  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1883  	// details.
  1884  	ForceSendFields []string `json:"-"`
  1885  	// NullFields is a list of field names (e.g. "NewSchema") to include in API
  1886  	// requests with the JSON null value. By default, fields with empty values are
  1887  	// omitted from API requests. See
  1888  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1889  	NullFields []string `json:"-"`
  1890  }
  1891  
  1892  func (s *EntityMove) MarshalJSON() ([]byte, error) {
  1893  	type NoMethod EntityMove
  1894  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1895  }
  1896  
  1897  // Expr: Represents a textual expression in the Common Expression Language
  1898  // (CEL) syntax. CEL is a C-like expression language. The syntax and semantics
  1899  // of CEL are documented at https://github.com/google/cel-spec. Example
  1900  // (Comparison): title: "Summary size limit" description: "Determines if a
  1901  // summary is less than 100 chars" expression: "document.summary.size() < 100"
  1902  // Example (Equality): title: "Requestor is owner" description: "Determines if
  1903  // requestor is the document owner" expression: "document.owner ==
  1904  // request.auth.claims.email" Example (Logic): title: "Public documents"
  1905  // description: "Determine whether the document should be publicly visible"
  1906  // expression: "document.type != 'private' && document.type != 'internal'"
  1907  // Example (Data Manipulation): title: "Notification string" description:
  1908  // "Create a notification string with a timestamp." expression: "'New message
  1909  // received at ' + string(document.create_time)" The exact variables and
  1910  // functions that may be referenced within an expression are determined by the
  1911  // service that evaluates it. See the service documentation for additional
  1912  // information.
  1913  type Expr struct {
  1914  	// Description: Optional. Description of the expression. This is a longer text
  1915  	// which describes the expression, e.g. when hovered over it in a UI.
  1916  	Description string `json:"description,omitempty"`
  1917  	// Expression: Textual representation of an expression in Common Expression
  1918  	// Language syntax.
  1919  	Expression string `json:"expression,omitempty"`
  1920  	// Location: Optional. String indicating the location of the expression for
  1921  	// error reporting, e.g. a file name and a position in the file.
  1922  	Location string `json:"location,omitempty"`
  1923  	// Title: Optional. Title for the expression, i.e. a short string describing
  1924  	// its purpose. This can be used e.g. in UIs which allow to enter the
  1925  	// expression.
  1926  	Title string `json:"title,omitempty"`
  1927  	// ForceSendFields is a list of field names (e.g. "Description") to
  1928  	// unconditionally include in API requests. By default, fields with empty or
  1929  	// default values are omitted from API requests. See
  1930  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1931  	// details.
  1932  	ForceSendFields []string `json:"-"`
  1933  	// NullFields is a list of field names (e.g. "Description") to include in API
  1934  	// requests with the JSON null value. By default, fields with empty values are
  1935  	// omitted from API requests. See
  1936  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1937  	NullFields []string `json:"-"`
  1938  }
  1939  
  1940  func (s *Expr) MarshalJSON() ([]byte, error) {
  1941  	type NoMethod Expr
  1942  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1943  }
  1944  
  1945  // FetchStaticIpsResponse: Response message for a 'FetchStaticIps' request.
  1946  type FetchStaticIpsResponse struct {
  1947  	// NextPageToken: A token that can be sent as `page_token` to retrieve the next
  1948  	// page. If this field is omitted, there are no subsequent pages.
  1949  	NextPageToken string `json:"nextPageToken,omitempty"`
  1950  	// StaticIps: List of static IPs.
  1951  	StaticIps []string `json:"staticIps,omitempty"`
  1952  
  1953  	// ServerResponse contains the HTTP response code and headers from the server.
  1954  	googleapi.ServerResponse `json:"-"`
  1955  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  1956  	// unconditionally include in API requests. By default, fields with empty or
  1957  	// default values are omitted from API requests. See
  1958  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1959  	// details.
  1960  	ForceSendFields []string `json:"-"`
  1961  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  1962  	// requests with the JSON null value. By default, fields with empty values are
  1963  	// omitted from API requests. See
  1964  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1965  	NullFields []string `json:"-"`
  1966  }
  1967  
  1968  func (s *FetchStaticIpsResponse) MarshalJSON() ([]byte, error) {
  1969  	type NoMethod FetchStaticIpsResponse
  1970  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1971  }
  1972  
  1973  // FilterTableColumns: Options to configure rule type FilterTableColumns. The
  1974  // rule is used to filter the list of columns to include or exclude from a
  1975  // table. The rule filter field can refer to one entity. The rule scope can be:
  1976  // Table Only one of the two lists can be specified for the rule.
  1977  type FilterTableColumns struct {
  1978  	// ExcludeColumns: Optional. List of columns to be excluded for a particular
  1979  	// table.
  1980  	ExcludeColumns []string `json:"excludeColumns,omitempty"`
  1981  	// IncludeColumns: Optional. List of columns to be included for a particular
  1982  	// table.
  1983  	IncludeColumns []string `json:"includeColumns,omitempty"`
  1984  	// ForceSendFields is a list of field names (e.g. "ExcludeColumns") to
  1985  	// unconditionally include in API requests. By default, fields with empty or
  1986  	// default values are omitted from API requests. See
  1987  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1988  	// details.
  1989  	ForceSendFields []string `json:"-"`
  1990  	// NullFields is a list of field names (e.g. "ExcludeColumns") to include in
  1991  	// API requests with the JSON null value. By default, fields with empty values
  1992  	// are omitted from API requests. See
  1993  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1994  	NullFields []string `json:"-"`
  1995  }
  1996  
  1997  func (s *FilterTableColumns) MarshalJSON() ([]byte, error) {
  1998  	type NoMethod FilterTableColumns
  1999  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2000  }
  2001  
  2002  // ForwardSshTunnelConnectivity: Forward SSH Tunnel connectivity.
  2003  type ForwardSshTunnelConnectivity struct {
  2004  	// Hostname: Required. Hostname for the SSH tunnel.
  2005  	Hostname string `json:"hostname,omitempty"`
  2006  	// Password: Input only. SSH password.
  2007  	Password string `json:"password,omitempty"`
  2008  	// Port: Port for the SSH tunnel, default value is 22.
  2009  	Port int64 `json:"port,omitempty"`
  2010  	// PrivateKey: Input only. SSH private key.
  2011  	PrivateKey string `json:"privateKey,omitempty"`
  2012  	// Username: Required. Username for the SSH tunnel.
  2013  	Username string `json:"username,omitempty"`
  2014  	// ForceSendFields is a list of field names (e.g. "Hostname") to
  2015  	// unconditionally include in API requests. By default, fields with empty or
  2016  	// default values are omitted from API requests. See
  2017  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2018  	// details.
  2019  	ForceSendFields []string `json:"-"`
  2020  	// NullFields is a list of field names (e.g. "Hostname") to include in API
  2021  	// requests with the JSON null value. By default, fields with empty values are
  2022  	// omitted from API requests. See
  2023  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2024  	NullFields []string `json:"-"`
  2025  }
  2026  
  2027  func (s *ForwardSshTunnelConnectivity) MarshalJSON() ([]byte, error) {
  2028  	type NoMethod ForwardSshTunnelConnectivity
  2029  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2030  }
  2031  
  2032  // FunctionEntity: Function's parent is a schema.
  2033  type FunctionEntity struct {
  2034  	// CustomFeatures: Custom engine specific features.
  2035  	CustomFeatures googleapi.RawMessage `json:"customFeatures,omitempty"`
  2036  	// SqlCode: The SQL code which creates the function.
  2037  	SqlCode string `json:"sqlCode,omitempty"`
  2038  	// ForceSendFields is a list of field names (e.g. "CustomFeatures") to
  2039  	// unconditionally include in API requests. By default, fields with empty or
  2040  	// default values are omitted from API requests. See
  2041  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2042  	// details.
  2043  	ForceSendFields []string `json:"-"`
  2044  	// NullFields is a list of field names (e.g. "CustomFeatures") to include in
  2045  	// API requests with the JSON null value. By default, fields with empty values
  2046  	// are omitted from API requests. See
  2047  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2048  	NullFields []string `json:"-"`
  2049  }
  2050  
  2051  func (s *FunctionEntity) MarshalJSON() ([]byte, error) {
  2052  	type NoMethod FunctionEntity
  2053  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2054  }
  2055  
  2056  // GenerateSshScriptRequest: Request message for 'GenerateSshScript' request.
  2057  type GenerateSshScriptRequest struct {
  2058  	// Vm: Required. Bastion VM Instance name to use or to create.
  2059  	Vm string `json:"vm,omitempty"`
  2060  	// VmCreationConfig: The VM creation configuration
  2061  	VmCreationConfig *VmCreationConfig `json:"vmCreationConfig,omitempty"`
  2062  	// VmPort: The port that will be open on the bastion host.
  2063  	VmPort int64 `json:"vmPort,omitempty"`
  2064  	// VmSelectionConfig: The VM selection configuration
  2065  	VmSelectionConfig *VmSelectionConfig `json:"vmSelectionConfig,omitempty"`
  2066  	// ForceSendFields is a list of field names (e.g. "Vm") to unconditionally
  2067  	// include in API requests. By default, fields with empty or default values are
  2068  	// omitted from API requests. See
  2069  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2070  	// details.
  2071  	ForceSendFields []string `json:"-"`
  2072  	// NullFields is a list of field names (e.g. "Vm") to include in API requests
  2073  	// with the JSON null value. By default, fields with empty values are omitted
  2074  	// from API requests. See
  2075  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2076  	NullFields []string `json:"-"`
  2077  }
  2078  
  2079  func (s *GenerateSshScriptRequest) MarshalJSON() ([]byte, error) {
  2080  	type NoMethod GenerateSshScriptRequest
  2081  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2082  }
  2083  
  2084  // GenerateTcpProxyScriptRequest: Request message for 'GenerateTcpProxyScript'
  2085  // request.
  2086  type GenerateTcpProxyScriptRequest struct {
  2087  	// VmMachineType: Required. The type of the Compute instance that will host the
  2088  	// proxy.
  2089  	VmMachineType string `json:"vmMachineType,omitempty"`
  2090  	// VmName: Required. The name of the Compute instance that will host the proxy.
  2091  	VmName string `json:"vmName,omitempty"`
  2092  	// VmSubnet: Required. The name of the subnet the Compute instance will use for
  2093  	// private connectivity. Must be supplied in the form of
  2094  	// projects/{project}/regions/{region}/subnetworks/{subnetwork}. Note: the
  2095  	// region for the subnet must match the Compute instance region.
  2096  	VmSubnet string `json:"vmSubnet,omitempty"`
  2097  	// VmZone: Optional. The Google Cloud Platform zone to create the VM in. The
  2098  	// fully qualified name of the zone must be specified, including the region
  2099  	// name, for example "us-central1-b". If not specified, uses the "-b" zone of
  2100  	// the destination Connection Profile's region.
  2101  	VmZone string `json:"vmZone,omitempty"`
  2102  	// ForceSendFields is a list of field names (e.g. "VmMachineType") to
  2103  	// unconditionally include in API requests. By default, fields with empty or
  2104  	// default values are omitted from API requests. See
  2105  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2106  	// details.
  2107  	ForceSendFields []string `json:"-"`
  2108  	// NullFields is a list of field names (e.g. "VmMachineType") to include in API
  2109  	// requests with the JSON null value. By default, fields with empty values are
  2110  	// omitted from API requests. See
  2111  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2112  	NullFields []string `json:"-"`
  2113  }
  2114  
  2115  func (s *GenerateTcpProxyScriptRequest) MarshalJSON() ([]byte, error) {
  2116  	type NoMethod GenerateTcpProxyScriptRequest
  2117  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2118  }
  2119  
  2120  // GoogleCloudClouddmsV1OperationMetadata: Represents the metadata of the
  2121  // long-running operation.
  2122  type GoogleCloudClouddmsV1OperationMetadata struct {
  2123  	// ApiVersion: Output only. API version used to start the operation.
  2124  	ApiVersion string `json:"apiVersion,omitempty"`
  2125  	// CreateTime: Output only. The time the operation was created.
  2126  	CreateTime string `json:"createTime,omitempty"`
  2127  	// EndTime: Output only. The time the operation finished running.
  2128  	EndTime string `json:"endTime,omitempty"`
  2129  	// RequestedCancellation: Output only. Identifies whether the user has
  2130  	// requested cancellation of the operation. Operations that have successfully
  2131  	// been cancelled have Operation.error value with a google.rpc.Status.code of
  2132  	// 1, corresponding to `Code.CANCELLED`.
  2133  	RequestedCancellation bool `json:"requestedCancellation,omitempty"`
  2134  	// StatusMessage: Output only. Human-readable status of the operation, if any.
  2135  	StatusMessage string `json:"statusMessage,omitempty"`
  2136  	// Target: Output only. Server-defined resource path for the target of the
  2137  	// operation.
  2138  	Target string `json:"target,omitempty"`
  2139  	// Verb: Output only. Name of the verb executed by the operation.
  2140  	Verb string `json:"verb,omitempty"`
  2141  	// ForceSendFields is a list of field names (e.g. "ApiVersion") to
  2142  	// unconditionally include in API requests. By default, fields with empty or
  2143  	// default values are omitted from API requests. See
  2144  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2145  	// details.
  2146  	ForceSendFields []string `json:"-"`
  2147  	// NullFields is a list of field names (e.g. "ApiVersion") to include in API
  2148  	// requests with the JSON null value. By default, fields with empty values are
  2149  	// omitted from API requests. See
  2150  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2151  	NullFields []string `json:"-"`
  2152  }
  2153  
  2154  func (s *GoogleCloudClouddmsV1OperationMetadata) MarshalJSON() ([]byte, error) {
  2155  	type NoMethod GoogleCloudClouddmsV1OperationMetadata
  2156  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2157  }
  2158  
  2159  // ImportMappingRulesRequest: Request message for 'ImportMappingRules' request.
  2160  type ImportMappingRulesRequest struct {
  2161  	// AutoCommit: Required. Should the conversion workspace be committed
  2162  	// automatically after the import operation.
  2163  	AutoCommit bool `json:"autoCommit,omitempty"`
  2164  	// RulesFiles: Required. One or more rules files.
  2165  	RulesFiles []*RulesFile `json:"rulesFiles,omitempty"`
  2166  	// RulesFormat: Required. The format of the rules content file.
  2167  	//
  2168  	// Possible values:
  2169  	//   "IMPORT_RULES_FILE_FORMAT_UNSPECIFIED" - Unspecified rules format.
  2170  	//   "IMPORT_RULES_FILE_FORMAT_HARBOUR_BRIDGE_SESSION_FILE" - HarbourBridge
  2171  	// session file.
  2172  	//   "IMPORT_RULES_FILE_FORMAT_ORATOPG_CONFIG_FILE" - Ora2Pg configuration
  2173  	// file.
  2174  	RulesFormat string `json:"rulesFormat,omitempty"`
  2175  	// ForceSendFields is a list of field names (e.g. "AutoCommit") to
  2176  	// unconditionally include in API requests. By default, fields with empty or
  2177  	// default values are omitted from API requests. See
  2178  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2179  	// details.
  2180  	ForceSendFields []string `json:"-"`
  2181  	// NullFields is a list of field names (e.g. "AutoCommit") to include in API
  2182  	// requests with the JSON null value. By default, fields with empty values are
  2183  	// omitted from API requests. See
  2184  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2185  	NullFields []string `json:"-"`
  2186  }
  2187  
  2188  func (s *ImportMappingRulesRequest) MarshalJSON() ([]byte, error) {
  2189  	type NoMethod ImportMappingRulesRequest
  2190  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2191  }
  2192  
  2193  // ImportRulesJobDetails: Details regarding an Import Rules background job.
  2194  type ImportRulesJobDetails struct {
  2195  	// FileFormat: Output only. The requested file format.
  2196  	//
  2197  	// Possible values:
  2198  	//   "IMPORT_RULES_FILE_FORMAT_UNSPECIFIED" - Unspecified rules format.
  2199  	//   "IMPORT_RULES_FILE_FORMAT_HARBOUR_BRIDGE_SESSION_FILE" - HarbourBridge
  2200  	// session file.
  2201  	//   "IMPORT_RULES_FILE_FORMAT_ORATOPG_CONFIG_FILE" - Ora2Pg configuration
  2202  	// file.
  2203  	FileFormat string `json:"fileFormat,omitempty"`
  2204  	// Files: Output only. File names used for the import rules job.
  2205  	Files []string `json:"files,omitempty"`
  2206  	// ForceSendFields is a list of field names (e.g. "FileFormat") to
  2207  	// unconditionally include in API requests. By default, fields with empty or
  2208  	// default values are omitted from API requests. See
  2209  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2210  	// details.
  2211  	ForceSendFields []string `json:"-"`
  2212  	// NullFields is a list of field names (e.g. "FileFormat") to include in API
  2213  	// requests with the JSON null value. By default, fields with empty values are
  2214  	// omitted from API requests. See
  2215  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2216  	NullFields []string `json:"-"`
  2217  }
  2218  
  2219  func (s *ImportRulesJobDetails) MarshalJSON() ([]byte, error) {
  2220  	type NoMethod ImportRulesJobDetails
  2221  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2222  }
  2223  
  2224  // IndexEntity: Index is not used as an independent entity, it is retrieved as
  2225  // part of a Table entity.
  2226  type IndexEntity struct {
  2227  	// CustomFeatures: Custom engine specific features.
  2228  	CustomFeatures googleapi.RawMessage `json:"customFeatures,omitempty"`
  2229  	// Name: The name of the index.
  2230  	Name string `json:"name,omitempty"`
  2231  	// TableColumns: Table columns used as part of the Index, for example B-TREE
  2232  	// index should list the columns which constitutes the index.
  2233  	TableColumns []string `json:"tableColumns,omitempty"`
  2234  	// TableColumnsDescending: For each table_column, mark whether it's sorting
  2235  	// order is ascending (false) or descending (true). If no value is defined,
  2236  	// assume all columns are sorted in ascending order. Otherwise, the number of
  2237  	// items must match that of table_columns with each value specifying the
  2238  	// direction of the matched column by its index.
  2239  	TableColumnsDescending []bool `json:"tableColumnsDescending,omitempty"`
  2240  	// Type: Type of index, for example B-TREE.
  2241  	Type string `json:"type,omitempty"`
  2242  	// Unique: Boolean value indicating whether the index is unique.
  2243  	Unique bool `json:"unique,omitempty"`
  2244  	// ForceSendFields is a list of field names (e.g. "CustomFeatures") to
  2245  	// unconditionally include in API requests. By default, fields with empty or
  2246  	// default values are omitted from API requests. See
  2247  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2248  	// details.
  2249  	ForceSendFields []string `json:"-"`
  2250  	// NullFields is a list of field names (e.g. "CustomFeatures") to include in
  2251  	// API requests with the JSON null value. By default, fields with empty values
  2252  	// are omitted from API requests. See
  2253  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2254  	NullFields []string `json:"-"`
  2255  }
  2256  
  2257  func (s *IndexEntity) MarshalJSON() ([]byte, error) {
  2258  	type NoMethod IndexEntity
  2259  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2260  }
  2261  
  2262  // IntComparisonFilter: Filter based on relation between source value and
  2263  // compare value of type integer in ConditionalColumnSetValue
  2264  type IntComparisonFilter struct {
  2265  	// Value: Required. Integer compare value to be used
  2266  	Value int64 `json:"value,omitempty,string"`
  2267  	// ValueComparison: Required. Relation between source value and compare value
  2268  	//
  2269  	// Possible values:
  2270  	//   "VALUE_COMPARISON_UNSPECIFIED" - Value comparison unspecified.
  2271  	//   "VALUE_COMPARISON_IF_VALUE_SMALLER_THAN" - Value is smaller than the
  2272  	// Compare value.
  2273  	//   "VALUE_COMPARISON_IF_VALUE_SMALLER_EQUAL_THAN" - Value is smaller or equal
  2274  	// than the Compare value.
  2275  	//   "VALUE_COMPARISON_IF_VALUE_LARGER_THAN" - Value is larger than the Compare
  2276  	// value.
  2277  	//   "VALUE_COMPARISON_IF_VALUE_LARGER_EQUAL_THAN" - Value is larger or equal
  2278  	// than the Compare value.
  2279  	ValueComparison string `json:"valueComparison,omitempty"`
  2280  	// ForceSendFields is a list of field names (e.g. "Value") to unconditionally
  2281  	// include in API requests. By default, fields with empty or default values are
  2282  	// omitted from API requests. See
  2283  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2284  	// details.
  2285  	ForceSendFields []string `json:"-"`
  2286  	// NullFields is a list of field names (e.g. "Value") to include in API
  2287  	// requests with the JSON null value. By default, fields with empty values are
  2288  	// omitted from API requests. See
  2289  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2290  	NullFields []string `json:"-"`
  2291  }
  2292  
  2293  func (s *IntComparisonFilter) MarshalJSON() ([]byte, error) {
  2294  	type NoMethod IntComparisonFilter
  2295  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2296  }
  2297  
  2298  // ListConnectionProfilesResponse: Response message for
  2299  // 'ListConnectionProfiles' request.
  2300  type ListConnectionProfilesResponse struct {
  2301  	// ConnectionProfiles: The response list of connection profiles.
  2302  	ConnectionProfiles []*ConnectionProfile `json:"connectionProfiles,omitempty"`
  2303  	// NextPageToken: A token which can be sent as `page_token` to retrieve the
  2304  	// next page. If this field is omitted, there are no subsequent pages.
  2305  	NextPageToken string `json:"nextPageToken,omitempty"`
  2306  	// Unreachable: Locations that could not be reached.
  2307  	Unreachable []string `json:"unreachable,omitempty"`
  2308  
  2309  	// ServerResponse contains the HTTP response code and headers from the server.
  2310  	googleapi.ServerResponse `json:"-"`
  2311  	// ForceSendFields is a list of field names (e.g. "ConnectionProfiles") to
  2312  	// unconditionally include in API requests. By default, fields with empty or
  2313  	// default values are omitted from API requests. See
  2314  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2315  	// details.
  2316  	ForceSendFields []string `json:"-"`
  2317  	// NullFields is a list of field names (e.g. "ConnectionProfiles") to include
  2318  	// in API requests with the JSON null value. By default, fields with empty
  2319  	// values are omitted from API requests. See
  2320  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2321  	NullFields []string `json:"-"`
  2322  }
  2323  
  2324  func (s *ListConnectionProfilesResponse) MarshalJSON() ([]byte, error) {
  2325  	type NoMethod ListConnectionProfilesResponse
  2326  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2327  }
  2328  
  2329  // ListConversionWorkspacesResponse: Response message for
  2330  // 'ListConversionWorkspaces' request.
  2331  type ListConversionWorkspacesResponse struct {
  2332  	// ConversionWorkspaces: The list of conversion workspace objects.
  2333  	ConversionWorkspaces []*ConversionWorkspace `json:"conversionWorkspaces,omitempty"`
  2334  	// NextPageToken: A token which can be sent as `page_token` to retrieve the
  2335  	// next page. If this field is omitted, there are no subsequent pages.
  2336  	NextPageToken string `json:"nextPageToken,omitempty"`
  2337  	// Unreachable: Locations that could not be reached.
  2338  	Unreachable []string `json:"unreachable,omitempty"`
  2339  
  2340  	// ServerResponse contains the HTTP response code and headers from the server.
  2341  	googleapi.ServerResponse `json:"-"`
  2342  	// ForceSendFields is a list of field names (e.g. "ConversionWorkspaces") to
  2343  	// unconditionally include in API requests. By default, fields with empty or
  2344  	// default values are omitted from API requests. See
  2345  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2346  	// details.
  2347  	ForceSendFields []string `json:"-"`
  2348  	// NullFields is a list of field names (e.g. "ConversionWorkspaces") to include
  2349  	// in API requests with the JSON null value. By default, fields with empty
  2350  	// values are omitted from API requests. See
  2351  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2352  	NullFields []string `json:"-"`
  2353  }
  2354  
  2355  func (s *ListConversionWorkspacesResponse) MarshalJSON() ([]byte, error) {
  2356  	type NoMethod ListConversionWorkspacesResponse
  2357  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2358  }
  2359  
  2360  // ListLocationsResponse: The response message for Locations.ListLocations.
  2361  type ListLocationsResponse struct {
  2362  	// Locations: A list of locations that matches the specified filter in the
  2363  	// request.
  2364  	Locations []*Location `json:"locations,omitempty"`
  2365  	// NextPageToken: The standard List next-page token.
  2366  	NextPageToken string `json:"nextPageToken,omitempty"`
  2367  
  2368  	// ServerResponse contains the HTTP response code and headers from the server.
  2369  	googleapi.ServerResponse `json:"-"`
  2370  	// ForceSendFields is a list of field names (e.g. "Locations") to
  2371  	// unconditionally include in API requests. By default, fields with empty or
  2372  	// default values are omitted from API requests. See
  2373  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2374  	// details.
  2375  	ForceSendFields []string `json:"-"`
  2376  	// NullFields is a list of field names (e.g. "Locations") to include in API
  2377  	// requests with the JSON null value. By default, fields with empty values are
  2378  	// omitted from API requests. See
  2379  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2380  	NullFields []string `json:"-"`
  2381  }
  2382  
  2383  func (s *ListLocationsResponse) MarshalJSON() ([]byte, error) {
  2384  	type NoMethod ListLocationsResponse
  2385  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2386  }
  2387  
  2388  // ListMappingRulesResponse: Response message for 'ListMappingRulesRequest'
  2389  // request.
  2390  type ListMappingRulesResponse struct {
  2391  	// MappingRules: The list of conversion workspace mapping rules.
  2392  	MappingRules []*MappingRule `json:"mappingRules,omitempty"`
  2393  	// NextPageToken: A token which can be sent as `page_token` to retrieve the
  2394  	// next page. If this field is omitted, there are no subsequent pages.
  2395  	NextPageToken string `json:"nextPageToken,omitempty"`
  2396  
  2397  	// ServerResponse contains the HTTP response code and headers from the server.
  2398  	googleapi.ServerResponse `json:"-"`
  2399  	// ForceSendFields is a list of field names (e.g. "MappingRules") to
  2400  	// unconditionally include in API requests. By default, fields with empty or
  2401  	// default values are omitted from API requests. See
  2402  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2403  	// details.
  2404  	ForceSendFields []string `json:"-"`
  2405  	// NullFields is a list of field names (e.g. "MappingRules") to include in API
  2406  	// requests with the JSON null value. By default, fields with empty values are
  2407  	// omitted from API requests. See
  2408  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2409  	NullFields []string `json:"-"`
  2410  }
  2411  
  2412  func (s *ListMappingRulesResponse) MarshalJSON() ([]byte, error) {
  2413  	type NoMethod ListMappingRulesResponse
  2414  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2415  }
  2416  
  2417  // ListMigrationJobsResponse: Response message for 'ListMigrationJobs' request.
  2418  type ListMigrationJobsResponse struct {
  2419  	// MigrationJobs: The list of migration jobs objects.
  2420  	MigrationJobs []*MigrationJob `json:"migrationJobs,omitempty"`
  2421  	// NextPageToken: A token which can be sent as `page_token` to retrieve the
  2422  	// next page. If this field is omitted, there are no subsequent pages.
  2423  	NextPageToken string `json:"nextPageToken,omitempty"`
  2424  	// Unreachable: Locations that could not be reached.
  2425  	Unreachable []string `json:"unreachable,omitempty"`
  2426  
  2427  	// ServerResponse contains the HTTP response code and headers from the server.
  2428  	googleapi.ServerResponse `json:"-"`
  2429  	// ForceSendFields is a list of field names (e.g. "MigrationJobs") to
  2430  	// unconditionally include in API requests. By default, fields with empty or
  2431  	// default values are omitted from API requests. See
  2432  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2433  	// details.
  2434  	ForceSendFields []string `json:"-"`
  2435  	// NullFields is a list of field names (e.g. "MigrationJobs") to include in API
  2436  	// requests with the JSON null value. By default, fields with empty values are
  2437  	// omitted from API requests. See
  2438  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2439  	NullFields []string `json:"-"`
  2440  }
  2441  
  2442  func (s *ListMigrationJobsResponse) MarshalJSON() ([]byte, error) {
  2443  	type NoMethod ListMigrationJobsResponse
  2444  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2445  }
  2446  
  2447  // ListOperationsResponse: The response message for Operations.ListOperations.
  2448  type ListOperationsResponse struct {
  2449  	// NextPageToken: The standard List next-page token.
  2450  	NextPageToken string `json:"nextPageToken,omitempty"`
  2451  	// Operations: A list of operations that matches the specified filter in the
  2452  	// request.
  2453  	Operations []*Operation `json:"operations,omitempty"`
  2454  
  2455  	// ServerResponse contains the HTTP response code and headers from the server.
  2456  	googleapi.ServerResponse `json:"-"`
  2457  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  2458  	// unconditionally include in API requests. By default, fields with empty or
  2459  	// default values are omitted from API requests. See
  2460  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2461  	// details.
  2462  	ForceSendFields []string `json:"-"`
  2463  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  2464  	// requests with the JSON null value. By default, fields with empty values are
  2465  	// omitted from API requests. See
  2466  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2467  	NullFields []string `json:"-"`
  2468  }
  2469  
  2470  func (s *ListOperationsResponse) MarshalJSON() ([]byte, error) {
  2471  	type NoMethod ListOperationsResponse
  2472  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2473  }
  2474  
  2475  // ListPrivateConnectionsResponse: Response message for
  2476  // 'ListPrivateConnections' request.
  2477  type ListPrivateConnectionsResponse struct {
  2478  	// NextPageToken: A token which can be sent as `page_token` to retrieve the
  2479  	// next page. If this field is omitted, there are no subsequent pages.
  2480  	NextPageToken string `json:"nextPageToken,omitempty"`
  2481  	// PrivateConnections: List of private connections.
  2482  	PrivateConnections []*PrivateConnection `json:"privateConnections,omitempty"`
  2483  	// Unreachable: Locations that could not be reached.
  2484  	Unreachable []string `json:"unreachable,omitempty"`
  2485  
  2486  	// ServerResponse contains the HTTP response code and headers from the server.
  2487  	googleapi.ServerResponse `json:"-"`
  2488  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  2489  	// unconditionally include in API requests. By default, fields with empty or
  2490  	// default values are omitted from API requests. See
  2491  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2492  	// details.
  2493  	ForceSendFields []string `json:"-"`
  2494  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  2495  	// requests with the JSON null value. By default, fields with empty values are
  2496  	// omitted from API requests. See
  2497  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2498  	NullFields []string `json:"-"`
  2499  }
  2500  
  2501  func (s *ListPrivateConnectionsResponse) MarshalJSON() ([]byte, error) {
  2502  	type NoMethod ListPrivateConnectionsResponse
  2503  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2504  }
  2505  
  2506  // Location: A resource that represents a Google Cloud location.
  2507  type Location struct {
  2508  	// DisplayName: The friendly name for this location, typically a nearby city
  2509  	// name. For example, "Tokyo".
  2510  	DisplayName string `json:"displayName,omitempty"`
  2511  	// Labels: Cross-service attributes for the location. For example
  2512  	// {"cloud.googleapis.com/region": "us-east1"}
  2513  	Labels map[string]string `json:"labels,omitempty"`
  2514  	// LocationId: The canonical id for this location. For example: "us-east1".
  2515  	LocationId string `json:"locationId,omitempty"`
  2516  	// Metadata: Service-specific metadata. For example the available capacity at
  2517  	// the given location.
  2518  	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
  2519  	// Name: Resource name for the location, which may vary between
  2520  	// implementations. For example:
  2521  	// "projects/example-project/locations/us-east1"
  2522  	Name string `json:"name,omitempty"`
  2523  
  2524  	// ServerResponse contains the HTTP response code and headers from the server.
  2525  	googleapi.ServerResponse `json:"-"`
  2526  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
  2527  	// unconditionally include in API requests. By default, fields with empty or
  2528  	// default values are omitted from API requests. See
  2529  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2530  	// details.
  2531  	ForceSendFields []string `json:"-"`
  2532  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
  2533  	// requests with the JSON null value. By default, fields with empty values are
  2534  	// omitted from API requests. See
  2535  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2536  	NullFields []string `json:"-"`
  2537  }
  2538  
  2539  func (s *Location) MarshalJSON() ([]byte, error) {
  2540  	type NoMethod Location
  2541  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2542  }
  2543  
  2544  // MachineConfig: MachineConfig describes the configuration of a machine.
  2545  type MachineConfig struct {
  2546  	// CpuCount: The number of CPU's in the VM instance.
  2547  	CpuCount int64 `json:"cpuCount,omitempty"`
  2548  	// ForceSendFields is a list of field names (e.g. "CpuCount") to
  2549  	// unconditionally include in API requests. By default, fields with empty or
  2550  	// default values are omitted from API requests. See
  2551  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2552  	// details.
  2553  	ForceSendFields []string `json:"-"`
  2554  	// NullFields is a list of field names (e.g. "CpuCount") to include in API
  2555  	// requests with the JSON null value. By default, fields with empty values are
  2556  	// omitted from API requests. See
  2557  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2558  	NullFields []string `json:"-"`
  2559  }
  2560  
  2561  func (s *MachineConfig) MarshalJSON() ([]byte, error) {
  2562  	type NoMethod MachineConfig
  2563  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2564  }
  2565  
  2566  // MappingRule: Definition of a transformation that is to be applied to a group
  2567  // of entities in the source schema. Several such transformations can be
  2568  // applied to an entity sequentially to define the corresponding entity in the
  2569  // target schema.
  2570  type MappingRule struct {
  2571  	// ConditionalColumnSetValue: Optional. Rule to specify how the data contained
  2572  	// in a column should be transformed (such as trimmed, rounded, etc) provided
  2573  	// that the data meets certain criteria.
  2574  	ConditionalColumnSetValue *ConditionalColumnSetValue `json:"conditionalColumnSetValue,omitempty"`
  2575  	// ConvertRowidColumn: Optional. Rule to specify how multiple tables should be
  2576  	// converted with an additional rowid column.
  2577  	ConvertRowidColumn *ConvertRowIdToColumn `json:"convertRowidColumn,omitempty"`
  2578  	// DisplayName: Optional. A human readable name
  2579  	DisplayName string `json:"displayName,omitempty"`
  2580  	// EntityMove: Optional. Rule to specify how multiple entities should be
  2581  	// relocated into a different schema.
  2582  	EntityMove *EntityMove `json:"entityMove,omitempty"`
  2583  	// Filter: Required. The rule filter
  2584  	Filter *MappingRuleFilter `json:"filter,omitempty"`
  2585  	// FilterTableColumns: Optional. Rule to specify the list of columns to include
  2586  	// or exclude from a table.
  2587  	FilterTableColumns *FilterTableColumns `json:"filterTableColumns,omitempty"`
  2588  	// MultiColumnDataTypeChange: Optional. Rule to specify how multiple columns
  2589  	// should be converted to a different data type.
  2590  	MultiColumnDataTypeChange *MultiColumnDatatypeChange `json:"multiColumnDataTypeChange,omitempty"`
  2591  	// MultiEntityRename: Optional. Rule to specify how multiple entities should be
  2592  	// renamed.
  2593  	MultiEntityRename *MultiEntityRename `json:"multiEntityRename,omitempty"`
  2594  	// Name: Full name of the mapping rule resource, in the form of:
  2595  	// projects/{project}/locations/{location}/conversionWorkspaces/{set}/mappingRul
  2596  	// e/{rule}.
  2597  	Name string `json:"name,omitempty"`
  2598  	// RevisionCreateTime: Output only. The timestamp that the revision was
  2599  	// created.
  2600  	RevisionCreateTime string `json:"revisionCreateTime,omitempty"`
  2601  	// RevisionId: Output only. The revision ID of the mapping rule. A new revision
  2602  	// is committed whenever the mapping rule is changed in any way. The format is
  2603  	// an 8-character hexadecimal string.
  2604  	RevisionId string `json:"revisionId,omitempty"`
  2605  	// RuleOrder: Required. The order in which the rule is applied. Lower order
  2606  	// rules are applied before higher value rules so they may end up being
  2607  	// overridden.
  2608  	RuleOrder int64 `json:"ruleOrder,omitempty,string"`
  2609  	// RuleScope: Required. The rule scope
  2610  	//
  2611  	// Possible values:
  2612  	//   "DATABASE_ENTITY_TYPE_UNSPECIFIED" - Unspecified database entity type.
  2613  	//   "DATABASE_ENTITY_TYPE_SCHEMA" - Schema.
  2614  	//   "DATABASE_ENTITY_TYPE_TABLE" - Table.
  2615  	//   "DATABASE_ENTITY_TYPE_COLUMN" - Column.
  2616  	//   "DATABASE_ENTITY_TYPE_CONSTRAINT" - Constraint.
  2617  	//   "DATABASE_ENTITY_TYPE_INDEX" - Index.
  2618  	//   "DATABASE_ENTITY_TYPE_TRIGGER" - Trigger.
  2619  	//   "DATABASE_ENTITY_TYPE_VIEW" - View.
  2620  	//   "DATABASE_ENTITY_TYPE_SEQUENCE" - Sequence.
  2621  	//   "DATABASE_ENTITY_TYPE_STORED_PROCEDURE" - Stored Procedure.
  2622  	//   "DATABASE_ENTITY_TYPE_FUNCTION" - Function.
  2623  	//   "DATABASE_ENTITY_TYPE_SYNONYM" - Synonym.
  2624  	//   "DATABASE_ENTITY_TYPE_DATABASE_PACKAGE" - Package.
  2625  	//   "DATABASE_ENTITY_TYPE_UDT" - UDT.
  2626  	//   "DATABASE_ENTITY_TYPE_MATERIALIZED_VIEW" - Materialized View.
  2627  	//   "DATABASE_ENTITY_TYPE_DATABASE" - Database.
  2628  	RuleScope string `json:"ruleScope,omitempty"`
  2629  	// SetTablePrimaryKey: Optional. Rule to specify the primary key for a table
  2630  	SetTablePrimaryKey *SetTablePrimaryKey `json:"setTablePrimaryKey,omitempty"`
  2631  	// SingleColumnChange: Optional. Rule to specify how a single column is
  2632  	// converted.
  2633  	SingleColumnChange *SingleColumnChange `json:"singleColumnChange,omitempty"`
  2634  	// SingleEntityRename: Optional. Rule to specify how a single entity should be
  2635  	// renamed.
  2636  	SingleEntityRename *SingleEntityRename `json:"singleEntityRename,omitempty"`
  2637  	// SinglePackageChange: Optional. Rule to specify how a single package is
  2638  	// converted.
  2639  	SinglePackageChange *SinglePackageChange `json:"singlePackageChange,omitempty"`
  2640  	// SourceSqlChange: Optional. Rule to change the sql code for an entity, for
  2641  	// example, function, procedure.
  2642  	SourceSqlChange *SourceSqlChange `json:"sourceSqlChange,omitempty"`
  2643  	// State: Optional. The mapping rule state
  2644  	//
  2645  	// Possible values:
  2646  	//   "STATE_UNSPECIFIED" - The state of the mapping rule is unknown.
  2647  	//   "ENABLED" - The rule is enabled.
  2648  	//   "DISABLED" - The rule is disabled.
  2649  	//   "DELETED" - The rule is logically deleted.
  2650  	State string `json:"state,omitempty"`
  2651  
  2652  	// ServerResponse contains the HTTP response code and headers from the server.
  2653  	googleapi.ServerResponse `json:"-"`
  2654  	// ForceSendFields is a list of field names (e.g. "ConditionalColumnSetValue")
  2655  	// to unconditionally include in API requests. By default, fields with empty or
  2656  	// default values are omitted from API requests. See
  2657  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2658  	// details.
  2659  	ForceSendFields []string `json:"-"`
  2660  	// NullFields is a list of field names (e.g. "ConditionalColumnSetValue") to
  2661  	// include in API requests with the JSON null value. By default, fields with
  2662  	// empty values are omitted from API requests. See
  2663  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2664  	NullFields []string `json:"-"`
  2665  }
  2666  
  2667  func (s *MappingRule) MarshalJSON() ([]byte, error) {
  2668  	type NoMethod MappingRule
  2669  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2670  }
  2671  
  2672  // MappingRuleFilter: A filter defining the entities that a mapping rule should
  2673  // be applied to. When more than one field is specified, the rule is applied
  2674  // only to entities which match all the fields.
  2675  type MappingRuleFilter struct {
  2676  	// Entities: Optional. The rule should be applied to specific entities defined
  2677  	// by their fully qualified names.
  2678  	Entities []string `json:"entities,omitempty"`
  2679  	// EntityNameContains: Optional. The rule should be applied to entities whose
  2680  	// non-qualified name contains the given string.
  2681  	EntityNameContains string `json:"entityNameContains,omitempty"`
  2682  	// EntityNamePrefix: Optional. The rule should be applied to entities whose
  2683  	// non-qualified name starts with the given prefix.
  2684  	EntityNamePrefix string `json:"entityNamePrefix,omitempty"`
  2685  	// EntityNameSuffix: Optional. The rule should be applied to entities whose
  2686  	// non-qualified name ends with the given suffix.
  2687  	EntityNameSuffix string `json:"entityNameSuffix,omitempty"`
  2688  	// ParentEntity: Optional. The rule should be applied to entities whose parent
  2689  	// entity (fully qualified name) matches the given value. For example, if the
  2690  	// rule applies to a table entity, the expected value should be a schema
  2691  	// (schema). If the rule applies to a column or index entity, the expected
  2692  	// value can be either a schema (schema) or a table (schema.table)
  2693  	ParentEntity string `json:"parentEntity,omitempty"`
  2694  	// ForceSendFields is a list of field names (e.g. "Entities") to
  2695  	// unconditionally include in API requests. By default, fields with empty or
  2696  	// default values are omitted from API requests. See
  2697  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2698  	// details.
  2699  	ForceSendFields []string `json:"-"`
  2700  	// NullFields is a list of field names (e.g. "Entities") to include in API
  2701  	// requests with the JSON null value. By default, fields with empty values are
  2702  	// omitted from API requests. See
  2703  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2704  	NullFields []string `json:"-"`
  2705  }
  2706  
  2707  func (s *MappingRuleFilter) MarshalJSON() ([]byte, error) {
  2708  	type NoMethod MappingRuleFilter
  2709  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2710  }
  2711  
  2712  // MaterializedViewEntity: MaterializedView's parent is a schema.
  2713  type MaterializedViewEntity struct {
  2714  	// CustomFeatures: Custom engine specific features.
  2715  	CustomFeatures googleapi.RawMessage `json:"customFeatures,omitempty"`
  2716  	// SqlCode: The SQL code which creates the view.
  2717  	SqlCode string `json:"sqlCode,omitempty"`
  2718  	// ForceSendFields is a list of field names (e.g. "CustomFeatures") to
  2719  	// unconditionally include in API requests. By default, fields with empty or
  2720  	// default values are omitted from API requests. See
  2721  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2722  	// details.
  2723  	ForceSendFields []string `json:"-"`
  2724  	// NullFields is a list of field names (e.g. "CustomFeatures") to include in
  2725  	// API requests with the JSON null value. By default, fields with empty values
  2726  	// are omitted from API requests. See
  2727  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2728  	NullFields []string `json:"-"`
  2729  }
  2730  
  2731  func (s *MaterializedViewEntity) MarshalJSON() ([]byte, error) {
  2732  	type NoMethod MaterializedViewEntity
  2733  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2734  }
  2735  
  2736  // MigrationJob: Represents a Database Migration Service migration job object.
  2737  type MigrationJob struct {
  2738  	// CmekKeyName: The CMEK (customer-managed encryption key) fully qualified key
  2739  	// name used for the migration job. This field supports all migration jobs
  2740  	// types except for: * Mysql to Mysql (use the cmek field in the cloudsql
  2741  	// connection profile instead). * PostrgeSQL to PostgreSQL (use the cmek field
  2742  	// in the cloudsql connection profile instead). * PostgreSQL to AlloyDB (use
  2743  	// the kms_key_name field in the alloydb connection profile instead). Each
  2744  	// Cloud CMEK key has the following format:
  2745  	// projects/[PROJECT]/locations/[REGION]/keyRings/[RING]/cryptoKeys/[KEY_NAME]
  2746  	CmekKeyName string `json:"cmekKeyName,omitempty"`
  2747  	// ConversionWorkspace: The conversion workspace used by the migration.
  2748  	ConversionWorkspace *ConversionWorkspaceInfo `json:"conversionWorkspace,omitempty"`
  2749  	// CreateTime: Output only. The timestamp when the migration job resource was
  2750  	// created. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds.
  2751  	// Example: "2014-10-02T15:01:23.045123456Z".
  2752  	CreateTime string `json:"createTime,omitempty"`
  2753  	// Destination: Required. The resource name (URI) of the destination connection
  2754  	// profile.
  2755  	Destination string `json:"destination,omitempty"`
  2756  	// DestinationDatabase: The database engine type and provider of the
  2757  	// destination.
  2758  	DestinationDatabase *DatabaseType `json:"destinationDatabase,omitempty"`
  2759  	// DisplayName: The migration job display name.
  2760  	DisplayName string `json:"displayName,omitempty"`
  2761  	// DumpFlags: The initial dump flags. This field and the "dump_path" field are
  2762  	// mutually exclusive.
  2763  	DumpFlags *DumpFlags `json:"dumpFlags,omitempty"`
  2764  	// DumpPath: The path to the dump file in Google Cloud Storage, in the format:
  2765  	// (gs://[BUCKET_NAME]/[OBJECT_NAME]). This field and the "dump_flags" field
  2766  	// are mutually exclusive.
  2767  	DumpPath string `json:"dumpPath,omitempty"`
  2768  	// DumpType: Optional. The type of the data dump. Supported for MySQL to
  2769  	// CloudSQL for MySQL migrations only.
  2770  	//
  2771  	// Possible values:
  2772  	//   "DUMP_TYPE_UNSPECIFIED" - If not specified, defaults to LOGICAL
  2773  	//   "LOGICAL" - Logical dump.
  2774  	//   "PHYSICAL" - Physical file-based dump. Supported for MySQL to CloudSQL for
  2775  	// MySQL migrations only.
  2776  	DumpType string `json:"dumpType,omitempty"`
  2777  	// Duration: Output only. The duration of the migration job (in seconds). A
  2778  	// duration in seconds with up to nine fractional digits, terminated by 's'.
  2779  	// Example: "3.5s".
  2780  	Duration string `json:"duration,omitempty"`
  2781  	// EndTime: Output only. If the migration job is completed, the time when it
  2782  	// was completed.
  2783  	EndTime string `json:"endTime,omitempty"`
  2784  	// Error: Output only. The error details in case of state FAILED.
  2785  	Error *Status `json:"error,omitempty"`
  2786  	// Filter: This field can be used to select the entities to migrate as part of
  2787  	// the migration job. It uses AIP-160 notation to select a subset of the
  2788  	// entities configured on the associated conversion-workspace. This field
  2789  	// should not be set on migration-jobs that are not associated with a
  2790  	// conversion workspace.
  2791  	Filter string `json:"filter,omitempty"`
  2792  	// Labels: The resource labels for migration job to use to annotate any related
  2793  	// underlying resources such as Compute Engine VMs. An object containing a list
  2794  	// of "key": "value" pairs. Example: `{ "name": "wrench", "mass": "1.3kg",
  2795  	// "count": "3" }`.
  2796  	Labels map[string]string `json:"labels,omitempty"`
  2797  	// Name: The name (URI) of this migration job resource, in the form of:
  2798  	// projects/{project}/locations/{location}/migrationJobs/{migrationJob}.
  2799  	Name string `json:"name,omitempty"`
  2800  	// PerformanceConfig: Optional. Data dump parallelism settings used by the
  2801  	// migration.
  2802  	PerformanceConfig *PerformanceConfig `json:"performanceConfig,omitempty"`
  2803  	// Phase: Output only. The current migration job phase.
  2804  	//
  2805  	// Possible values:
  2806  	//   "PHASE_UNSPECIFIED" - The phase of the migration job is unknown.
  2807  	//   "FULL_DUMP" - The migration job is in the full dump phase.
  2808  	//   "CDC" - The migration job is CDC phase.
  2809  	//   "PROMOTE_IN_PROGRESS" - The migration job is running the promote phase.
  2810  	//   "WAITING_FOR_SOURCE_WRITES_TO_STOP" - Only RDS flow - waiting for source
  2811  	// writes to stop
  2812  	//   "PREPARING_THE_DUMP" - Only RDS flow - the sources writes stopped, waiting
  2813  	// for dump to begin
  2814  	//   "READY_FOR_PROMOTE" - The migration job is ready to be promoted.
  2815  	Phase string `json:"phase,omitempty"`
  2816  	// ReverseSshConnectivity: The details needed to communicate to the source over
  2817  	// Reverse SSH tunnel connectivity.
  2818  	ReverseSshConnectivity *ReverseSshConnectivity `json:"reverseSshConnectivity,omitempty"`
  2819  	// Source: Required. The resource name (URI) of the source connection profile.
  2820  	Source string `json:"source,omitempty"`
  2821  	// SourceDatabase: The database engine type and provider of the source.
  2822  	SourceDatabase *DatabaseType `json:"sourceDatabase,omitempty"`
  2823  	// SqlserverHomogeneousMigrationJobConfig: Optional. Configuration for SQL
  2824  	// Server homogeneous migration.
  2825  	SqlserverHomogeneousMigrationJobConfig *SqlServerHomogeneousMigrationJobConfig `json:"sqlserverHomogeneousMigrationJobConfig,omitempty"`
  2826  	// State: The current migration job state.
  2827  	//
  2828  	// Possible values:
  2829  	//   "STATE_UNSPECIFIED" - The state of the migration job is unknown.
  2830  	//   "MAINTENANCE" - The migration job is down for maintenance.
  2831  	//   "DRAFT" - The migration job is in draft mode and no resources are created.
  2832  	//   "CREATING" - The migration job is being created.
  2833  	//   "NOT_STARTED" - The migration job is created and not started.
  2834  	//   "RUNNING" - The migration job is running.
  2835  	//   "FAILED" - The migration job failed.
  2836  	//   "COMPLETED" - The migration job has been completed.
  2837  	//   "DELETING" - The migration job is being deleted.
  2838  	//   "STOPPING" - The migration job is being stopped.
  2839  	//   "STOPPED" - The migration job is currently stopped.
  2840  	//   "DELETED" - The migration job has been deleted.
  2841  	//   "UPDATING" - The migration job is being updated.
  2842  	//   "STARTING" - The migration job is starting.
  2843  	//   "RESTARTING" - The migration job is restarting.
  2844  	//   "RESUMING" - The migration job is resuming.
  2845  	State string `json:"state,omitempty"`
  2846  	// StaticIpConnectivity: static ip connectivity data (default, no additional
  2847  	// details needed).
  2848  	StaticIpConnectivity *StaticIpConnectivity `json:"staticIpConnectivity,omitempty"`
  2849  	// Type: Required. The migration job type.
  2850  	//
  2851  	// Possible values:
  2852  	//   "TYPE_UNSPECIFIED" - The type of the migration job is unknown.
  2853  	//   "ONE_TIME" - The migration job is a one time migration.
  2854  	//   "CONTINUOUS" - The migration job is a continuous migration.
  2855  	Type string `json:"type,omitempty"`
  2856  	// UpdateTime: Output only. The timestamp when the migration job resource was
  2857  	// last updated. A timestamp in RFC3339 UTC "Zulu" format, accurate to
  2858  	// nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
  2859  	UpdateTime string `json:"updateTime,omitempty"`
  2860  	// VpcPeeringConnectivity: The details of the VPC network that the source
  2861  	// database is located in.
  2862  	VpcPeeringConnectivity *VpcPeeringConnectivity `json:"vpcPeeringConnectivity,omitempty"`
  2863  
  2864  	// ServerResponse contains the HTTP response code and headers from the server.
  2865  	googleapi.ServerResponse `json:"-"`
  2866  	// ForceSendFields is a list of field names (e.g. "CmekKeyName") to
  2867  	// unconditionally include in API requests. By default, fields with empty or
  2868  	// default values are omitted from API requests. See
  2869  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2870  	// details.
  2871  	ForceSendFields []string `json:"-"`
  2872  	// NullFields is a list of field names (e.g. "CmekKeyName") to include in API
  2873  	// requests with the JSON null value. By default, fields with empty values are
  2874  	// omitted from API requests. See
  2875  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2876  	NullFields []string `json:"-"`
  2877  }
  2878  
  2879  func (s *MigrationJob) MarshalJSON() ([]byte, error) {
  2880  	type NoMethod MigrationJob
  2881  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2882  }
  2883  
  2884  // MigrationJobVerificationError: Error message of a verification Migration
  2885  // job.
  2886  type MigrationJobVerificationError struct {
  2887  	// ErrorCode: Output only. An instance of ErrorCode specifying the error that
  2888  	// occurred.
  2889  	//
  2890  	// Possible values:
  2891  	//   "ERROR_CODE_UNSPECIFIED" - An unknown error occurred
  2892  	//   "CONNECTION_FAILURE" - We failed to connect to one of the connection
  2893  	// profile.
  2894  	//   "AUTHENTICATION_FAILURE" - We failed to authenticate to one of the
  2895  	// connection profile.
  2896  	//   "INVALID_CONNECTION_PROFILE_CONFIG" - One of the involved connection
  2897  	// profiles has an invalid configuration.
  2898  	//   "VERSION_INCOMPATIBILITY" - The versions of the source and the destination
  2899  	// are incompatible.
  2900  	//   "CONNECTION_PROFILE_TYPES_INCOMPATIBILITY" - The types of the source and
  2901  	// the destination are incompatible.
  2902  	//   "NO_PGLOGICAL_INSTALLED" - No pglogical extension installed on databases,
  2903  	// applicable for postgres.
  2904  	//   "PGLOGICAL_NODE_ALREADY_EXISTS" - pglogical node already exists on
  2905  	// databases, applicable for postgres.
  2906  	//   "INVALID_WAL_LEVEL" - The value of parameter wal_level is not set to
  2907  	// logical.
  2908  	//   "INVALID_SHARED_PRELOAD_LIBRARY" - The value of parameter
  2909  	// shared_preload_libraries does not include pglogical.
  2910  	//   "INSUFFICIENT_MAX_REPLICATION_SLOTS" - The value of parameter
  2911  	// max_replication_slots is not sufficient.
  2912  	//   "INSUFFICIENT_MAX_WAL_SENDERS" - The value of parameter max_wal_senders is
  2913  	// not sufficient.
  2914  	//   "INSUFFICIENT_MAX_WORKER_PROCESSES" - The value of parameter
  2915  	// max_worker_processes is not sufficient.
  2916  	//   "UNSUPPORTED_EXTENSIONS" - Extensions installed are either not supported
  2917  	// or having unsupported versions.
  2918  	//   "UNSUPPORTED_MIGRATION_TYPE" - Unsupported migration type.
  2919  	//   "INVALID_RDS_LOGICAL_REPLICATION" - Invalid RDS logical replication.
  2920  	//   "UNSUPPORTED_GTID_MODE" - The gtid_mode is not supported, applicable for
  2921  	// MySQL.
  2922  	//   "UNSUPPORTED_TABLE_DEFINITION" - The table definition is not support due
  2923  	// to missing primary key or replica identity.
  2924  	//   "UNSUPPORTED_DEFINER" - The definer is not supported.
  2925  	//   "CANT_RESTART_RUNNING_MIGRATION" - Migration is already running at the
  2926  	// time of restart request.
  2927  	//   "SOURCE_ALREADY_SETUP" - The source already has a replication setup.
  2928  	//   "TABLES_WITH_LIMITED_SUPPORT" - The source has tables with limited
  2929  	// support. E.g. PostgreSQL tables without primary keys.
  2930  	//   "UNSUPPORTED_DATABASE_LOCALE" - The source uses an unsupported locale.
  2931  	//   "UNSUPPORTED_DATABASE_FDW_CONFIG" - The source uses an unsupported Foreign
  2932  	// Data Wrapper configuration.
  2933  	//   "ERROR_RDBMS" - There was an underlying RDBMS error.
  2934  	//   "SOURCE_SIZE_EXCEEDS_THRESHOLD" - The source DB size in Bytes exceeds a
  2935  	// certain threshold. The migration might require an increase of quota, or
  2936  	// might not be supported.
  2937  	//   "EXISTING_CONFLICTING_DATABASES" - The destination DB contains existing
  2938  	// databases that are conflicting with those in the source DB.
  2939  	//   "PARALLEL_IMPORT_INSUFFICIENT_PRIVILEGE" - Insufficient privilege to
  2940  	// enable the parallelism configuration.
  2941  	//   "EXISTING_DATA" - The destination instance contains existing data or user
  2942  	// defined entities (for example databases, tables, or functions). You can only
  2943  	// migrate to empty instances. Clear your destination instance and retry the
  2944  	// migration job.
  2945  	//   "SOURCE_MAX_SUBSCRIPTIONS" - The migration job is configured to use max
  2946  	// number of subscriptions to migrate data from the source to the destination.
  2947  	ErrorCode string `json:"errorCode,omitempty"`
  2948  	// ErrorDetailMessage: Output only. A specific detailed error message, if
  2949  	// supplied by the engine.
  2950  	ErrorDetailMessage string `json:"errorDetailMessage,omitempty"`
  2951  	// ErrorMessage: Output only. A formatted message with further details about
  2952  	// the error and a CTA.
  2953  	ErrorMessage string `json:"errorMessage,omitempty"`
  2954  	// ForceSendFields is a list of field names (e.g. "ErrorCode") to
  2955  	// unconditionally include in API requests. By default, fields with empty or
  2956  	// default values are omitted from API requests. See
  2957  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2958  	// details.
  2959  	ForceSendFields []string `json:"-"`
  2960  	// NullFields is a list of field names (e.g. "ErrorCode") to include in API
  2961  	// requests with the JSON null value. By default, fields with empty values are
  2962  	// omitted from API requests. See
  2963  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2964  	NullFields []string `json:"-"`
  2965  }
  2966  
  2967  func (s *MigrationJobVerificationError) MarshalJSON() ([]byte, error) {
  2968  	type NoMethod MigrationJobVerificationError
  2969  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2970  }
  2971  
  2972  // MultiColumnDatatypeChange: Options to configure rule type
  2973  // MultiColumnDatatypeChange. The rule is used to change the data type and
  2974  // associated properties of multiple columns at once. The rule filter field can
  2975  // refer to one or more entities. The rule scope can be one of:Column. This
  2976  // rule requires additional filters to be specified beyond the basic rule
  2977  // filter field, which is the source data type, but the rule supports
  2978  // additional filtering capabilities such as the minimum and maximum field
  2979  // length. All additional filters which are specified are required to be met in
  2980  // order for the rule to be applied (logical AND between the fields).
  2981  type MultiColumnDatatypeChange struct {
  2982  	// CustomFeatures: Optional. Custom engine specific features.
  2983  	CustomFeatures googleapi.RawMessage `json:"customFeatures,omitempty"`
  2984  	// NewDataType: Required. New data type.
  2985  	NewDataType string `json:"newDataType,omitempty"`
  2986  	// OverrideFractionalSecondsPrecision: Optional. Column fractional seconds
  2987  	// precision - used only for timestamp based datatypes - if not specified and
  2988  	// relevant uses the source column fractional seconds precision.
  2989  	OverrideFractionalSecondsPrecision int64 `json:"overrideFractionalSecondsPrecision,omitempty"`
  2990  	// OverrideLength: Optional. Column length - e.g. varchar (50) - if not
  2991  	// specified and relevant uses the source column length.
  2992  	OverrideLength int64 `json:"overrideLength,omitempty,string"`
  2993  	// OverridePrecision: Optional. Column precision - when relevant - if not
  2994  	// specified and relevant uses the source column precision.
  2995  	OverridePrecision int64 `json:"overridePrecision,omitempty"`
  2996  	// OverrideScale: Optional. Column scale - when relevant - if not specified and
  2997  	// relevant uses the source column scale.
  2998  	OverrideScale int64 `json:"overrideScale,omitempty"`
  2999  	// SourceDataTypeFilter: Required. Filter on source data type.
  3000  	SourceDataTypeFilter string `json:"sourceDataTypeFilter,omitempty"`
  3001  	// SourceNumericFilter: Optional. Filter for fixed point number data types such
  3002  	// as NUMERIC/NUMBER.
  3003  	SourceNumericFilter *SourceNumericFilter `json:"sourceNumericFilter,omitempty"`
  3004  	// SourceTextFilter: Optional. Filter for text-based data types like varchar.
  3005  	SourceTextFilter *SourceTextFilter `json:"sourceTextFilter,omitempty"`
  3006  	// ForceSendFields is a list of field names (e.g. "CustomFeatures") to
  3007  	// unconditionally include in API requests. By default, fields with empty or
  3008  	// default values are omitted from API requests. See
  3009  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3010  	// details.
  3011  	ForceSendFields []string `json:"-"`
  3012  	// NullFields is a list of field names (e.g. "CustomFeatures") to include in
  3013  	// API requests with the JSON null value. By default, fields with empty values
  3014  	// are omitted from API requests. See
  3015  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3016  	NullFields []string `json:"-"`
  3017  }
  3018  
  3019  func (s *MultiColumnDatatypeChange) MarshalJSON() ([]byte, error) {
  3020  	type NoMethod MultiColumnDatatypeChange
  3021  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3022  }
  3023  
  3024  // MultiEntityRename: Options to configure rule type MultiEntityRename. The
  3025  // rule is used to rename multiple entities. The rule filter field can refer to
  3026  // one or more entities. The rule scope can be one of: Database, Schema, Table,
  3027  // Column, Constraint, Index, View, Function, Stored Procedure, Materialized
  3028  // View, Sequence, UDT
  3029  type MultiEntityRename struct {
  3030  	// NewNamePattern: Optional. The pattern used to generate the new entity's
  3031  	// name. This pattern must include the characters '{name}', which will be
  3032  	// replaced with the name of the original entity. For example, the pattern
  3033  	// 't_{name}' for an entity name jobs would be converted to 't_jobs'. If
  3034  	// unspecified, the default value for this field is '{name}'
  3035  	NewNamePattern string `json:"newNamePattern,omitempty"`
  3036  	// SourceNameTransformation: Optional. Additional transformation that can be
  3037  	// done on the source entity name before it is being used by the
  3038  	// new_name_pattern, for example lower case. If no transformation is desired,
  3039  	// use NO_TRANSFORMATION
  3040  	//
  3041  	// Possible values:
  3042  	//   "ENTITY_NAME_TRANSFORMATION_UNSPECIFIED" - Entity name transformation
  3043  	// unspecified.
  3044  	//   "ENTITY_NAME_TRANSFORMATION_NO_TRANSFORMATION" - No transformation.
  3045  	//   "ENTITY_NAME_TRANSFORMATION_LOWER_CASE" - Transform to lower case.
  3046  	//   "ENTITY_NAME_TRANSFORMATION_UPPER_CASE" - Transform to upper case.
  3047  	//   "ENTITY_NAME_TRANSFORMATION_CAPITALIZED_CASE" - Transform to capitalized
  3048  	// case.
  3049  	SourceNameTransformation string `json:"sourceNameTransformation,omitempty"`
  3050  	// ForceSendFields is a list of field names (e.g. "NewNamePattern") to
  3051  	// unconditionally include in API requests. By default, fields with empty or
  3052  	// default values are 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. "NewNamePattern") to include in
  3057  	// API requests with the JSON null value. By default, fields with empty values
  3058  	// are 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 *MultiEntityRename) MarshalJSON() ([]byte, error) {
  3064  	type NoMethod MultiEntityRename
  3065  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3066  }
  3067  
  3068  // MySqlConnectionProfile: Specifies connection parameters required
  3069  // specifically for MySQL databases.
  3070  type MySqlConnectionProfile struct {
  3071  	// CloudSqlId: If the source is a Cloud SQL database, use this field to provide
  3072  	// the Cloud SQL instance ID of the source.
  3073  	CloudSqlId string `json:"cloudSqlId,omitempty"`
  3074  	// Host: Required. The IP or hostname of the source MySQL database.
  3075  	Host string `json:"host,omitempty"`
  3076  	// Password: Required. Input only. The password for the user that Database
  3077  	// Migration Service will be using to connect to the database. This field is
  3078  	// not returned on request, and the value is encrypted when stored in Database
  3079  	// Migration Service.
  3080  	Password string `json:"password,omitempty"`
  3081  	// PasswordSet: Output only. Indicates If this connection profile password is
  3082  	// stored.
  3083  	PasswordSet bool `json:"passwordSet,omitempty"`
  3084  	// Port: Required. The network port of the source MySQL database.
  3085  	Port int64 `json:"port,omitempty"`
  3086  	// Ssl: SSL configuration for the destination to connect to the source
  3087  	// database.
  3088  	Ssl *SslConfig `json:"ssl,omitempty"`
  3089  	// Username: Required. The username that Database Migration Service will use to
  3090  	// connect to the database. The value is encrypted when stored in Database
  3091  	// Migration Service.
  3092  	Username string `json:"username,omitempty"`
  3093  	// ForceSendFields is a list of field names (e.g. "CloudSqlId") to
  3094  	// unconditionally include in API requests. By default, fields with empty or
  3095  	// default values are omitted from API requests. See
  3096  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3097  	// details.
  3098  	ForceSendFields []string `json:"-"`
  3099  	// NullFields is a list of field names (e.g. "CloudSqlId") to include in API
  3100  	// requests with the JSON null value. By default, fields with empty values are
  3101  	// omitted from API requests. See
  3102  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3103  	NullFields []string `json:"-"`
  3104  }
  3105  
  3106  func (s *MySqlConnectionProfile) MarshalJSON() ([]byte, error) {
  3107  	type NoMethod MySqlConnectionProfile
  3108  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3109  }
  3110  
  3111  // Operation: This resource represents a long-running operation that is the
  3112  // result of a network API call.
  3113  type Operation struct {
  3114  	// Done: If the value is `false`, it means the operation is still in progress.
  3115  	// If `true`, the operation is completed, and either `error` or `response` is
  3116  	// available.
  3117  	Done bool `json:"done,omitempty"`
  3118  	// Error: The error result of the operation in case of failure or cancellation.
  3119  	Error *Status `json:"error,omitempty"`
  3120  	// Metadata: Service-specific metadata associated with the operation. It
  3121  	// typically contains progress information and common metadata such as create
  3122  	// time. Some services might not provide such metadata. Any method that returns
  3123  	// a long-running operation should document the metadata type, if any.
  3124  	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
  3125  	// Name: The server-assigned name, which is only unique within the same service
  3126  	// that originally returns it. If you use the default HTTP mapping, the `name`
  3127  	// should be a resource name ending with `operations/{unique_id}`.
  3128  	Name string `json:"name,omitempty"`
  3129  	// Response: The normal, successful response of the operation. If the original
  3130  	// method returns no data on success, such as `Delete`, the response is
  3131  	// `google.protobuf.Empty`. If the original method is standard
  3132  	// `Get`/`Create`/`Update`, the response should be the resource. For other
  3133  	// methods, the response should have the type `XxxResponse`, where `Xxx` is the
  3134  	// original method name. For example, if the original method name is
  3135  	// `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
  3136  	Response googleapi.RawMessage `json:"response,omitempty"`
  3137  
  3138  	// ServerResponse contains the HTTP response code and headers from the server.
  3139  	googleapi.ServerResponse `json:"-"`
  3140  	// ForceSendFields is a list of field names (e.g. "Done") to unconditionally
  3141  	// include in API requests. By default, fields with empty or default values are
  3142  	// omitted from API requests. See
  3143  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3144  	// details.
  3145  	ForceSendFields []string `json:"-"`
  3146  	// NullFields is a list of field names (e.g. "Done") to include in API requests
  3147  	// with the JSON null value. By default, fields with empty values are omitted
  3148  	// from API requests. See
  3149  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3150  	NullFields []string `json:"-"`
  3151  }
  3152  
  3153  func (s *Operation) MarshalJSON() ([]byte, error) {
  3154  	type NoMethod Operation
  3155  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3156  }
  3157  
  3158  // OracleConnectionProfile: Specifies connection parameters required
  3159  // specifically for Oracle databases.
  3160  type OracleConnectionProfile struct {
  3161  	// DatabaseService: Required. Database service for the Oracle connection.
  3162  	DatabaseService string `json:"databaseService,omitempty"`
  3163  	// ForwardSshConnectivity: Forward SSH tunnel connectivity.
  3164  	ForwardSshConnectivity *ForwardSshTunnelConnectivity `json:"forwardSshConnectivity,omitempty"`
  3165  	// Host: Required. The IP or hostname of the source Oracle database.
  3166  	Host string `json:"host,omitempty"`
  3167  	// Password: Required. Input only. The password for the user that Database
  3168  	// Migration Service will be using to connect to the database. This field is
  3169  	// not returned on request, and the value is encrypted when stored in Database
  3170  	// Migration Service.
  3171  	Password string `json:"password,omitempty"`
  3172  	// PasswordSet: Output only. Indicates whether a new password is included in
  3173  	// the request.
  3174  	PasswordSet bool `json:"passwordSet,omitempty"`
  3175  	// Port: Required. The network port of the source Oracle database.
  3176  	Port int64 `json:"port,omitempty"`
  3177  	// PrivateConnectivity: Private connectivity.
  3178  	PrivateConnectivity *PrivateConnectivity `json:"privateConnectivity,omitempty"`
  3179  	// Ssl: SSL configuration for the connection to the source Oracle database. *
  3180  	// Only `SERVER_ONLY` configuration is supported for Oracle SSL. * SSL is
  3181  	// supported for Oracle versions 12 and above.
  3182  	Ssl *SslConfig `json:"ssl,omitempty"`
  3183  	// StaticServiceIpConnectivity: Static Service IP connectivity.
  3184  	StaticServiceIpConnectivity *StaticServiceIpConnectivity `json:"staticServiceIpConnectivity,omitempty"`
  3185  	// Username: Required. The username that Database Migration Service will use to
  3186  	// connect to the database. The value is encrypted when stored in Database
  3187  	// Migration Service.
  3188  	Username string `json:"username,omitempty"`
  3189  	// ForceSendFields is a list of field names (e.g. "DatabaseService") to
  3190  	// unconditionally include in API requests. By default, fields with empty or
  3191  	// default values are omitted from API requests. See
  3192  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3193  	// details.
  3194  	ForceSendFields []string `json:"-"`
  3195  	// NullFields is a list of field names (e.g. "DatabaseService") to include in
  3196  	// API requests with the JSON null value. By default, fields with empty values
  3197  	// are omitted from API requests. See
  3198  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3199  	NullFields []string `json:"-"`
  3200  }
  3201  
  3202  func (s *OracleConnectionProfile) MarshalJSON() ([]byte, error) {
  3203  	type NoMethod OracleConnectionProfile
  3204  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3205  }
  3206  
  3207  // PackageEntity: Package's parent is a schema.
  3208  type PackageEntity struct {
  3209  	// CustomFeatures: Custom engine specific features.
  3210  	CustomFeatures googleapi.RawMessage `json:"customFeatures,omitempty"`
  3211  	// PackageBody: The SQL code which creates the package body. If the package
  3212  	// specification has cursors or subprograms, then the package body is
  3213  	// mandatory.
  3214  	PackageBody string `json:"packageBody,omitempty"`
  3215  	// PackageSqlCode: The SQL code which creates the package.
  3216  	PackageSqlCode string `json:"packageSqlCode,omitempty"`
  3217  	// ForceSendFields is a list of field names (e.g. "CustomFeatures") to
  3218  	// unconditionally include in API requests. By default, fields with empty or
  3219  	// default values are omitted from API requests. See
  3220  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3221  	// details.
  3222  	ForceSendFields []string `json:"-"`
  3223  	// NullFields is a list of field names (e.g. "CustomFeatures") to include in
  3224  	// API requests with the JSON null value. By default, fields with empty values
  3225  	// are omitted from API requests. See
  3226  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3227  	NullFields []string `json:"-"`
  3228  }
  3229  
  3230  func (s *PackageEntity) MarshalJSON() ([]byte, error) {
  3231  	type NoMethod PackageEntity
  3232  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3233  }
  3234  
  3235  // PerformanceConfig: Performance configuration definition.
  3236  type PerformanceConfig struct {
  3237  	// DumpParallelLevel: Initial dump parallelism level.
  3238  	//
  3239  	// Possible values:
  3240  	//   "DUMP_PARALLEL_LEVEL_UNSPECIFIED" - Unknown dump parallel level. Will be
  3241  	// defaulted to OPTIMAL.
  3242  	//   "MIN" - Minimal parallel level.
  3243  	//   "OPTIMAL" - Optimal parallel level.
  3244  	//   "MAX" - Maximum parallel level.
  3245  	DumpParallelLevel string `json:"dumpParallelLevel,omitempty"`
  3246  	// ForceSendFields is a list of field names (e.g. "DumpParallelLevel") to
  3247  	// unconditionally include in API requests. By default, fields with empty or
  3248  	// default values are omitted from API requests. See
  3249  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3250  	// details.
  3251  	ForceSendFields []string `json:"-"`
  3252  	// NullFields is a list of field names (e.g. "DumpParallelLevel") to include in
  3253  	// API requests with the JSON null value. By default, fields with empty values
  3254  	// are omitted from API requests. See
  3255  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3256  	NullFields []string `json:"-"`
  3257  }
  3258  
  3259  func (s *PerformanceConfig) MarshalJSON() ([]byte, error) {
  3260  	type NoMethod PerformanceConfig
  3261  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3262  }
  3263  
  3264  // Policy: An Identity and Access Management (IAM) policy, which specifies
  3265  // access controls for Google Cloud resources. A `Policy` is a collection of
  3266  // `bindings`. A `binding` binds one or more `members`, or principals, to a
  3267  // single `role`. Principals can be user accounts, service accounts, Google
  3268  // groups, and domains (such as G Suite). A `role` is a named list of
  3269  // permissions; each `role` can be an IAM predefined role or a user-created
  3270  // custom role. For some types of Google Cloud resources, a `binding` can also
  3271  // specify a `condition`, which is a logical expression that allows access to a
  3272  // resource only if the expression evaluates to `true`. A condition can add
  3273  // constraints based on attributes of the request, the resource, or both. To
  3274  // learn which resources support conditions in their IAM policies, see the IAM
  3275  // documentation
  3276  // (https://cloud.google.com/iam/help/conditions/resource-policies). **JSON
  3277  // example:** ``` { "bindings": [ { "role":
  3278  // "roles/resourcemanager.organizationAdmin", "members": [
  3279  // "user:mike@example.com", "group:admins@example.com", "domain:google.com",
  3280  // "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role":
  3281  // "roles/resourcemanager.organizationViewer", "members": [
  3282  // "user:eve@example.com" ], "condition": { "title": "expirable access",
  3283  // "description": "Does not grant access after Sep 2020", "expression":
  3284  // "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag":
  3285  // "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` bindings: -
  3286  // members: - user:mike@example.com - group:admins@example.com -
  3287  // domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
  3288  // role: roles/resourcemanager.organizationAdmin - members: -
  3289  // user:eve@example.com role: roles/resourcemanager.organizationViewer
  3290  // condition: title: expirable access description: Does not grant access after
  3291  // Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
  3292  // etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features,
  3293  // see the IAM documentation (https://cloud.google.com/iam/docs/).
  3294  type Policy struct {
  3295  	// AuditConfigs: Specifies cloud audit logging configuration for this policy.
  3296  	AuditConfigs []*AuditConfig `json:"auditConfigs,omitempty"`
  3297  	// Bindings: Associates a list of `members`, or principals, with a `role`.
  3298  	// Optionally, may specify a `condition` that determines how and when the
  3299  	// `bindings` are applied. Each of the `bindings` must contain at least one
  3300  	// principal. The `bindings` in a `Policy` can refer to up to 1,500 principals;
  3301  	// up to 250 of these principals can be Google groups. Each occurrence of a
  3302  	// principal counts towards these limits. For example, if the `bindings` grant
  3303  	// 50 different roles to `user:alice@example.com`, and not to any other
  3304  	// principal, then you can add another 1,450 principals to the `bindings` in
  3305  	// the `Policy`.
  3306  	Bindings []*Binding `json:"bindings,omitempty"`
  3307  	// Etag: `etag` is used for optimistic concurrency control as a way to help
  3308  	// prevent simultaneous updates of a policy from overwriting each other. It is
  3309  	// strongly suggested that systems make use of the `etag` in the
  3310  	// read-modify-write cycle to perform policy updates in order to avoid race
  3311  	// conditions: An `etag` is returned in the response to `getIamPolicy`, and
  3312  	// systems are expected to put that etag in the request to `setIamPolicy` to
  3313  	// ensure that their change will be applied to the same version of the policy.
  3314  	// **Important:** If you use IAM Conditions, you must include the `etag` field
  3315  	// whenever you call `setIamPolicy`. If you omit this field, then IAM allows
  3316  	// you to overwrite a version `3` policy with a version `1` policy, and all of
  3317  	// the conditions in the version `3` policy are lost.
  3318  	Etag string `json:"etag,omitempty"`
  3319  	// Version: Specifies the format of the policy. Valid values are `0`, `1`, and
  3320  	// `3`. Requests that specify an invalid value are rejected. Any operation that
  3321  	// affects conditional role bindings must specify version `3`. This requirement
  3322  	// applies to the following operations: * Getting a policy that includes a
  3323  	// conditional role binding * Adding a conditional role binding to a policy *
  3324  	// Changing a conditional role binding in a policy * Removing any role binding,
  3325  	// with or without a condition, from a policy that includes conditions
  3326  	// **Important:** If you use IAM Conditions, you must include the `etag` field
  3327  	// whenever you call `setIamPolicy`. If you omit this field, then IAM allows
  3328  	// you to overwrite a version `3` policy with a version `1` policy, and all of
  3329  	// the conditions in the version `3` policy are lost. If a policy does not
  3330  	// include any conditions, operations on that policy may specify any valid
  3331  	// version or leave the field unset. To learn which resources support
  3332  	// conditions in their IAM policies, see the IAM documentation
  3333  	// (https://cloud.google.com/iam/help/conditions/resource-policies).
  3334  	Version int64 `json:"version,omitempty"`
  3335  
  3336  	// ServerResponse contains the HTTP response code and headers from the server.
  3337  	googleapi.ServerResponse `json:"-"`
  3338  	// ForceSendFields is a list of field names (e.g. "AuditConfigs") to
  3339  	// unconditionally include in API requests. By default, fields with empty or
  3340  	// default values are omitted from API requests. See
  3341  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3342  	// details.
  3343  	ForceSendFields []string `json:"-"`
  3344  	// NullFields is a list of field names (e.g. "AuditConfigs") to include in API
  3345  	// requests with the JSON null value. By default, fields with empty values are
  3346  	// omitted from API requests. See
  3347  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3348  	NullFields []string `json:"-"`
  3349  }
  3350  
  3351  func (s *Policy) MarshalJSON() ([]byte, error) {
  3352  	type NoMethod Policy
  3353  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3354  }
  3355  
  3356  // Position: Issue position.
  3357  type Position struct {
  3358  	// Column: Issue column number
  3359  	Column int64 `json:"column,omitempty"`
  3360  	// Length: Issue length
  3361  	Length int64 `json:"length,omitempty"`
  3362  	// Line: Issue line number
  3363  	Line int64 `json:"line,omitempty"`
  3364  	// Offset: Issue offset
  3365  	Offset int64 `json:"offset,omitempty"`
  3366  	// ForceSendFields is a list of field names (e.g. "Column") to unconditionally
  3367  	// include in API requests. By default, fields with empty or default values are
  3368  	// omitted from API requests. See
  3369  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3370  	// details.
  3371  	ForceSendFields []string `json:"-"`
  3372  	// NullFields is a list of field names (e.g. "Column") to include in API
  3373  	// requests with the JSON null value. By default, fields with empty values are
  3374  	// omitted from API requests. See
  3375  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3376  	NullFields []string `json:"-"`
  3377  }
  3378  
  3379  func (s *Position) MarshalJSON() ([]byte, error) {
  3380  	type NoMethod Position
  3381  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3382  }
  3383  
  3384  // PostgreSqlConnectionProfile: Specifies connection parameters required
  3385  // specifically for PostgreSQL databases.
  3386  type PostgreSqlConnectionProfile struct {
  3387  	// AlloydbClusterId: Optional. If the destination is an AlloyDB database, use
  3388  	// this field to provide the AlloyDB cluster ID.
  3389  	AlloydbClusterId string `json:"alloydbClusterId,omitempty"`
  3390  	// CloudSqlId: If the source is a Cloud SQL database, use this field to provide
  3391  	// the Cloud SQL instance ID of the source.
  3392  	CloudSqlId string `json:"cloudSqlId,omitempty"`
  3393  	// Host: Required. The IP or hostname of the source PostgreSQL database.
  3394  	Host string `json:"host,omitempty"`
  3395  	// NetworkArchitecture: Output only. If the source is a Cloud SQL database,
  3396  	// this field indicates the network architecture it's associated with.
  3397  	//
  3398  	// Possible values:
  3399  	//   "NETWORK_ARCHITECTURE_UNSPECIFIED"
  3400  	//   "NETWORK_ARCHITECTURE_OLD_CSQL_PRODUCER" - Instance is in Cloud SQL's old
  3401  	// producer network architecture.
  3402  	//   "NETWORK_ARCHITECTURE_NEW_CSQL_PRODUCER" - Instance is in Cloud SQL's new
  3403  	// producer network architecture.
  3404  	NetworkArchitecture string `json:"networkArchitecture,omitempty"`
  3405  	// Password: Required. Input only. The password for the user that Database
  3406  	// Migration Service will be using to connect to the database. This field is
  3407  	// not returned on request, and the value is encrypted when stored in Database
  3408  	// Migration Service.
  3409  	Password string `json:"password,omitempty"`
  3410  	// PasswordSet: Output only. Indicates If this connection profile password is
  3411  	// stored.
  3412  	PasswordSet bool `json:"passwordSet,omitempty"`
  3413  	// Port: Required. The network port of the source PostgreSQL database.
  3414  	Port int64 `json:"port,omitempty"`
  3415  	// PrivateServiceConnectConnectivity: Private service connect connectivity.
  3416  	PrivateServiceConnectConnectivity *PrivateServiceConnectConnectivity `json:"privateServiceConnectConnectivity,omitempty"`
  3417  	// Ssl: SSL configuration for the destination to connect to the source
  3418  	// database.
  3419  	Ssl *SslConfig `json:"ssl,omitempty"`
  3420  	// StaticIpConnectivity: Static ip connectivity data (default, no additional
  3421  	// details needed).
  3422  	StaticIpConnectivity *StaticIpConnectivity `json:"staticIpConnectivity,omitempty"`
  3423  	// Username: Required. The username that Database Migration Service will use to
  3424  	// connect to the database. The value is encrypted when stored in Database
  3425  	// Migration Service.
  3426  	Username string `json:"username,omitempty"`
  3427  	// ForceSendFields is a list of field names (e.g. "AlloydbClusterId") to
  3428  	// unconditionally include in API requests. By default, fields with empty or
  3429  	// default values are omitted from API requests. See
  3430  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3431  	// details.
  3432  	ForceSendFields []string `json:"-"`
  3433  	// NullFields is a list of field names (e.g. "AlloydbClusterId") to include in
  3434  	// API requests with the JSON null value. By default, fields with empty values
  3435  	// are omitted from API requests. See
  3436  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3437  	NullFields []string `json:"-"`
  3438  }
  3439  
  3440  func (s *PostgreSqlConnectionProfile) MarshalJSON() ([]byte, error) {
  3441  	type NoMethod PostgreSqlConnectionProfile
  3442  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3443  }
  3444  
  3445  // PrimaryInstanceSettings: Settings for the cluster's primary instance
  3446  type PrimaryInstanceSettings struct {
  3447  	// DatabaseFlags: Database flags to pass to AlloyDB when DMS is creating the
  3448  	// AlloyDB cluster and instances. See the AlloyDB documentation for how these
  3449  	// can be used.
  3450  	DatabaseFlags map[string]string `json:"databaseFlags,omitempty"`
  3451  	// Id: Required. The ID of the AlloyDB primary instance. The ID must satisfy
  3452  	// the regex expression "[a-z0-9-]+".
  3453  	Id string `json:"id,omitempty"`
  3454  	// Labels: Labels for the AlloyDB primary instance created by DMS. An object
  3455  	// containing a list of 'key', 'value' pairs.
  3456  	Labels map[string]string `json:"labels,omitempty"`
  3457  	// MachineConfig: Configuration for the machines that host the underlying
  3458  	// database engine.
  3459  	MachineConfig *MachineConfig `json:"machineConfig,omitempty"`
  3460  	// PrivateIp: Output only. The private IP address for the Instance. This is the
  3461  	// connection endpoint for an end-user application.
  3462  	PrivateIp string `json:"privateIp,omitempty"`
  3463  	// ForceSendFields is a list of field names (e.g. "DatabaseFlags") to
  3464  	// unconditionally include in API requests. By default, fields with empty or
  3465  	// default values are omitted from API requests. See
  3466  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3467  	// details.
  3468  	ForceSendFields []string `json:"-"`
  3469  	// NullFields is a list of field names (e.g. "DatabaseFlags") to include in API
  3470  	// requests with the JSON null value. By default, fields with empty values are
  3471  	// omitted from API requests. See
  3472  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3473  	NullFields []string `json:"-"`
  3474  }
  3475  
  3476  func (s *PrimaryInstanceSettings) MarshalJSON() ([]byte, error) {
  3477  	type NoMethod PrimaryInstanceSettings
  3478  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3479  }
  3480  
  3481  // PrivateConnection: The PrivateConnection resource is used to establish
  3482  // private connectivity with the customer's network.
  3483  type PrivateConnection struct {
  3484  	// CreateTime: Output only. The create time of the resource.
  3485  	CreateTime string `json:"createTime,omitempty"`
  3486  	// DisplayName: The private connection display name.
  3487  	DisplayName string `json:"displayName,omitempty"`
  3488  	// Error: Output only. The error details in case of state FAILED.
  3489  	Error *Status `json:"error,omitempty"`
  3490  	// Labels: The resource labels for private connections to use to annotate any
  3491  	// related underlying resources such as Compute Engine VMs. An object
  3492  	// containing a list of "key": "value" pairs. Example: `{ "name": "wrench",
  3493  	// "mass": "1.3kg", "count": "3" }`.
  3494  	Labels map[string]string `json:"labels,omitempty"`
  3495  	// Name: The name of the resource.
  3496  	Name string `json:"name,omitempty"`
  3497  	// State: Output only. The state of the private connection.
  3498  	//
  3499  	// Possible values:
  3500  	//   "STATE_UNSPECIFIED"
  3501  	//   "CREATING" - The private connection is in creation state - creating
  3502  	// resources.
  3503  	//   "CREATED" - The private connection has been created with all of its
  3504  	// resources.
  3505  	//   "FAILED" - The private connection creation has failed.
  3506  	//   "DELETING" - The private connection is being deleted.
  3507  	//   "FAILED_TO_DELETE" - Delete request has failed, resource is in invalid
  3508  	// state.
  3509  	//   "DELETED" - The private connection has been deleted.
  3510  	State string `json:"state,omitempty"`
  3511  	// UpdateTime: Output only. The last update time of the resource.
  3512  	UpdateTime string `json:"updateTime,omitempty"`
  3513  	// VpcPeeringConfig: VPC peering configuration.
  3514  	VpcPeeringConfig *VpcPeeringConfig `json:"vpcPeeringConfig,omitempty"`
  3515  
  3516  	// ServerResponse contains the HTTP response code and headers from the server.
  3517  	googleapi.ServerResponse `json:"-"`
  3518  	// ForceSendFields is a list of field names (e.g. "CreateTime") to
  3519  	// unconditionally include in API requests. By default, fields with empty or
  3520  	// default values are omitted from API requests. See
  3521  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3522  	// details.
  3523  	ForceSendFields []string `json:"-"`
  3524  	// NullFields is a list of field names (e.g. "CreateTime") to include in API
  3525  	// requests with the JSON null value. By default, fields with empty values are
  3526  	// omitted from API requests. See
  3527  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3528  	NullFields []string `json:"-"`
  3529  }
  3530  
  3531  func (s *PrivateConnection) MarshalJSON() ([]byte, error) {
  3532  	type NoMethod PrivateConnection
  3533  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3534  }
  3535  
  3536  // PrivateConnectivity: Private Connectivity.
  3537  type PrivateConnectivity struct {
  3538  	// PrivateConnection: Required. The resource name (URI) of the private
  3539  	// connection.
  3540  	PrivateConnection string `json:"privateConnection,omitempty"`
  3541  	// ForceSendFields is a list of field names (e.g. "PrivateConnection") to
  3542  	// unconditionally include in API requests. By default, fields with empty or
  3543  	// default values are omitted from API requests. See
  3544  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3545  	// details.
  3546  	ForceSendFields []string `json:"-"`
  3547  	// NullFields is a list of field names (e.g. "PrivateConnection") to include in
  3548  	// API requests with the JSON null value. By default, fields with empty values
  3549  	// are omitted from API requests. See
  3550  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3551  	NullFields []string `json:"-"`
  3552  }
  3553  
  3554  func (s *PrivateConnectivity) MarshalJSON() ([]byte, error) {
  3555  	type NoMethod PrivateConnectivity
  3556  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3557  }
  3558  
  3559  // PrivateServiceConnectConnectivity: Private Service Connect connectivity
  3560  // (https://cloud.google.com/vpc/docs/private-service-connect#service-attachments)
  3561  type PrivateServiceConnectConnectivity struct {
  3562  	// ServiceAttachment: Required. A service attachment that exposes a database,
  3563  	// and has the following format:
  3564  	// projects/{project}/regions/{region}/serviceAttachments/{service_attachment_na
  3565  	// me}
  3566  	ServiceAttachment string `json:"serviceAttachment,omitempty"`
  3567  	// ForceSendFields is a list of field names (e.g. "ServiceAttachment") to
  3568  	// unconditionally include in API requests. By default, fields with empty or
  3569  	// default values are omitted from API requests. See
  3570  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3571  	// details.
  3572  	ForceSendFields []string `json:"-"`
  3573  	// NullFields is a list of field names (e.g. "ServiceAttachment") to include in
  3574  	// API requests with the JSON null value. By default, fields with empty values
  3575  	// are omitted from API requests. See
  3576  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3577  	NullFields []string `json:"-"`
  3578  }
  3579  
  3580  func (s *PrivateServiceConnectConnectivity) MarshalJSON() ([]byte, error) {
  3581  	type NoMethod PrivateServiceConnectConnectivity
  3582  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3583  }
  3584  
  3585  // PromoteMigrationJobRequest: Request message for 'PromoteMigrationJob'
  3586  // request.
  3587  type PromoteMigrationJobRequest struct {
  3588  }
  3589  
  3590  // RestartMigrationJobRequest: Request message for 'RestartMigrationJob'
  3591  // request.
  3592  type RestartMigrationJobRequest struct {
  3593  	// SkipValidation: Optional. Restart the migration job without running prior
  3594  	// configuration verification. Defaults to `false`.
  3595  	SkipValidation bool `json:"skipValidation,omitempty"`
  3596  	// ForceSendFields is a list of field names (e.g. "SkipValidation") to
  3597  	// unconditionally include in API requests. By default, fields with empty or
  3598  	// default values are omitted from API requests. See
  3599  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3600  	// details.
  3601  	ForceSendFields []string `json:"-"`
  3602  	// NullFields is a list of field names (e.g. "SkipValidation") to include in
  3603  	// API requests with the JSON null value. By default, fields with empty values
  3604  	// are omitted from API requests. See
  3605  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3606  	NullFields []string `json:"-"`
  3607  }
  3608  
  3609  func (s *RestartMigrationJobRequest) MarshalJSON() ([]byte, error) {
  3610  	type NoMethod RestartMigrationJobRequest
  3611  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3612  }
  3613  
  3614  // ResumeMigrationJobRequest: Request message for 'ResumeMigrationJob' request.
  3615  type ResumeMigrationJobRequest struct {
  3616  	// SkipValidation: Optional. Resume the migration job without running prior
  3617  	// configuration verification. Defaults to `false`.
  3618  	SkipValidation bool `json:"skipValidation,omitempty"`
  3619  	// ForceSendFields is a list of field names (e.g. "SkipValidation") to
  3620  	// unconditionally include in API requests. By default, fields with empty or
  3621  	// default values are omitted from API requests. See
  3622  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3623  	// details.
  3624  	ForceSendFields []string `json:"-"`
  3625  	// NullFields is a list of field names (e.g. "SkipValidation") to include in
  3626  	// API requests with the JSON null value. By default, fields with empty values
  3627  	// are omitted from API requests. See
  3628  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3629  	NullFields []string `json:"-"`
  3630  }
  3631  
  3632  func (s *ResumeMigrationJobRequest) MarshalJSON() ([]byte, error) {
  3633  	type NoMethod ResumeMigrationJobRequest
  3634  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3635  }
  3636  
  3637  // ReverseSshConnectivity: The details needed to configure a reverse SSH tunnel
  3638  // between the source and destination databases. These details will be used
  3639  // when calling the generateSshScript method (see
  3640  // https://cloud.google.com/database-migration/docs/reference/rest/v1/projects.locations.migrationJobs/generateSshScript)
  3641  // to produce the script that will help set up the reverse SSH tunnel, and to
  3642  // set up the VPC peering between the Cloud SQL private network and the VPC.
  3643  type ReverseSshConnectivity struct {
  3644  	// Vm: The name of the virtual machine (Compute Engine) used as the bastion
  3645  	// server for the SSH tunnel.
  3646  	Vm string `json:"vm,omitempty"`
  3647  	// VmIp: Required. The IP of the virtual machine (Compute Engine) used as the
  3648  	// bastion server for the SSH tunnel.
  3649  	VmIp string `json:"vmIp,omitempty"`
  3650  	// VmPort: Required. The forwarding port of the virtual machine (Compute
  3651  	// Engine) used as the bastion server for the SSH tunnel.
  3652  	VmPort int64 `json:"vmPort,omitempty"`
  3653  	// Vpc: The name of the VPC to peer with the Cloud SQL private network.
  3654  	Vpc string `json:"vpc,omitempty"`
  3655  	// ForceSendFields is a list of field names (e.g. "Vm") to unconditionally
  3656  	// include in API requests. By default, fields with empty or default values are
  3657  	// omitted from API requests. See
  3658  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3659  	// details.
  3660  	ForceSendFields []string `json:"-"`
  3661  	// NullFields is a list of field names (e.g. "Vm") to include in API requests
  3662  	// with the JSON null value. By default, fields with empty values are omitted
  3663  	// from API requests. See
  3664  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3665  	NullFields []string `json:"-"`
  3666  }
  3667  
  3668  func (s *ReverseSshConnectivity) MarshalJSON() ([]byte, error) {
  3669  	type NoMethod ReverseSshConnectivity
  3670  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3671  }
  3672  
  3673  // RollbackConversionWorkspaceRequest: Request message for
  3674  // 'RollbackConversionWorkspace' request.
  3675  type RollbackConversionWorkspaceRequest struct {
  3676  }
  3677  
  3678  // RoundToScale: This allows the data to change scale, for example if the
  3679  // source is 2 digits after the decimal point, specify round to scale value =
  3680  // 2. If for example the value needs to be converted to an integer, use round
  3681  // to scale value = 0.
  3682  type RoundToScale struct {
  3683  	// Scale: Required. Scale value to be used
  3684  	Scale int64 `json:"scale,omitempty"`
  3685  	// ForceSendFields is a list of field names (e.g. "Scale") to unconditionally
  3686  	// include in API requests. By default, fields with empty or default values are
  3687  	// omitted from API requests. See
  3688  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3689  	// details.
  3690  	ForceSendFields []string `json:"-"`
  3691  	// NullFields is a list of field names (e.g. "Scale") to include in API
  3692  	// requests with the JSON null value. By default, fields with empty values are
  3693  	// omitted from API requests. See
  3694  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3695  	NullFields []string `json:"-"`
  3696  }
  3697  
  3698  func (s *RoundToScale) MarshalJSON() ([]byte, error) {
  3699  	type NoMethod RoundToScale
  3700  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3701  }
  3702  
  3703  // RulesFile: Details of a single rules file.
  3704  type RulesFile struct {
  3705  	// RulesContent: Required. The text content of the rules that needs to be
  3706  	// converted.
  3707  	RulesContent string `json:"rulesContent,omitempty"`
  3708  	// RulesSourceFilename: Required. The filename of the rules that needs to be
  3709  	// converted. The filename is used mainly so that future logs of the import
  3710  	// rules job contain it, and can therefore be searched by it.
  3711  	RulesSourceFilename string `json:"rulesSourceFilename,omitempty"`
  3712  	// ForceSendFields is a list of field names (e.g. "RulesContent") to
  3713  	// unconditionally include in API requests. By default, fields with empty or
  3714  	// default values are omitted from API requests. See
  3715  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3716  	// details.
  3717  	ForceSendFields []string `json:"-"`
  3718  	// NullFields is a list of field names (e.g. "RulesContent") to include in API
  3719  	// requests with the JSON null value. By default, fields with empty values are
  3720  	// omitted from API requests. See
  3721  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3722  	NullFields []string `json:"-"`
  3723  }
  3724  
  3725  func (s *RulesFile) MarshalJSON() ([]byte, error) {
  3726  	type NoMethod RulesFile
  3727  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3728  }
  3729  
  3730  // SchemaEntity: Schema typically has no parent entity, but can have a parent
  3731  // entity DatabaseInstance (for database engines which support it). For some
  3732  // database engines, the terms schema and user can be used interchangeably when
  3733  // they refer to a namespace or a collection of other database entities. Can
  3734  // store additional information which is schema specific.
  3735  type SchemaEntity struct {
  3736  	// CustomFeatures: Custom engine specific features.
  3737  	CustomFeatures googleapi.RawMessage `json:"customFeatures,omitempty"`
  3738  	// ForceSendFields is a list of field names (e.g. "CustomFeatures") to
  3739  	// unconditionally include in API requests. By default, fields with empty or
  3740  	// default values are omitted from API requests. See
  3741  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3742  	// details.
  3743  	ForceSendFields []string `json:"-"`
  3744  	// NullFields is a list of field names (e.g. "CustomFeatures") to include in
  3745  	// API requests with the JSON null value. By default, fields with empty values
  3746  	// are omitted from API requests. See
  3747  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3748  	NullFields []string `json:"-"`
  3749  }
  3750  
  3751  func (s *SchemaEntity) MarshalJSON() ([]byte, error) {
  3752  	type NoMethod SchemaEntity
  3753  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3754  }
  3755  
  3756  // SearchBackgroundJobsResponse: Response message for 'SearchBackgroundJobs'
  3757  // request.
  3758  type SearchBackgroundJobsResponse struct {
  3759  	// Jobs: The list of conversion workspace mapping rules.
  3760  	Jobs []*BackgroundJobLogEntry `json:"jobs,omitempty"`
  3761  
  3762  	// ServerResponse contains the HTTP response code and headers from the server.
  3763  	googleapi.ServerResponse `json:"-"`
  3764  	// ForceSendFields is a list of field names (e.g. "Jobs") to unconditionally
  3765  	// include in API requests. By default, fields with empty or default values are
  3766  	// omitted from API requests. See
  3767  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3768  	// details.
  3769  	ForceSendFields []string `json:"-"`
  3770  	// NullFields is a list of field names (e.g. "Jobs") to include in API requests
  3771  	// with the JSON null value. By default, fields with empty values are omitted
  3772  	// from API requests. See
  3773  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3774  	NullFields []string `json:"-"`
  3775  }
  3776  
  3777  func (s *SearchBackgroundJobsResponse) MarshalJSON() ([]byte, error) {
  3778  	type NoMethod SearchBackgroundJobsResponse
  3779  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3780  }
  3781  
  3782  // SeedConversionWorkspaceRequest: Request message for
  3783  // 'SeedConversionWorkspace' request.
  3784  type SeedConversionWorkspaceRequest struct {
  3785  	// AutoCommit: Should the conversion workspace be committed automatically after
  3786  	// the seed operation.
  3787  	AutoCommit bool `json:"autoCommit,omitempty"`
  3788  	// DestinationConnectionProfile: Optional. Fully qualified (Uri) name of the
  3789  	// destination connection profile.
  3790  	DestinationConnectionProfile string `json:"destinationConnectionProfile,omitempty"`
  3791  	// SourceConnectionProfile: Optional. Fully qualified (Uri) name of the source
  3792  	// connection profile.
  3793  	SourceConnectionProfile string `json:"sourceConnectionProfile,omitempty"`
  3794  	// ForceSendFields is a list of field names (e.g. "AutoCommit") to
  3795  	// unconditionally include in API requests. By default, fields with empty or
  3796  	// default values are omitted from API requests. See
  3797  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3798  	// details.
  3799  	ForceSendFields []string `json:"-"`
  3800  	// NullFields is a list of field names (e.g. "AutoCommit") to include in API
  3801  	// requests with the JSON null value. By default, fields with empty values are
  3802  	// omitted from API requests. See
  3803  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3804  	NullFields []string `json:"-"`
  3805  }
  3806  
  3807  func (s *SeedConversionWorkspaceRequest) MarshalJSON() ([]byte, error) {
  3808  	type NoMethod SeedConversionWorkspaceRequest
  3809  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3810  }
  3811  
  3812  // SeedJobDetails: Details regarding a Seed background job.
  3813  type SeedJobDetails struct {
  3814  	// ConnectionProfile: Output only. The connection profile which was used for
  3815  	// the seed job.
  3816  	ConnectionProfile string `json:"connectionProfile,omitempty"`
  3817  	// ForceSendFields is a list of field names (e.g. "ConnectionProfile") to
  3818  	// unconditionally include in API requests. By default, fields with empty or
  3819  	// default values are omitted from API requests. See
  3820  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3821  	// details.
  3822  	ForceSendFields []string `json:"-"`
  3823  	// NullFields is a list of field names (e.g. "ConnectionProfile") to include in
  3824  	// API requests with the JSON null value. By default, fields with empty values
  3825  	// are omitted from API requests. See
  3826  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3827  	NullFields []string `json:"-"`
  3828  }
  3829  
  3830  func (s *SeedJobDetails) MarshalJSON() ([]byte, error) {
  3831  	type NoMethod SeedJobDetails
  3832  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3833  }
  3834  
  3835  // SequenceEntity: Sequence's parent is a schema.
  3836  type SequenceEntity struct {
  3837  	// Cache: Indicates number of entries to cache / precreate.
  3838  	Cache int64 `json:"cache,omitempty,string"`
  3839  	// CustomFeatures: Custom engine specific features.
  3840  	CustomFeatures googleapi.RawMessage `json:"customFeatures,omitempty"`
  3841  	// Cycle: Indicates whether the sequence value should cycle through.
  3842  	Cycle bool `json:"cycle,omitempty"`
  3843  	// Increment: Increment value for the sequence.
  3844  	Increment int64 `json:"increment,omitempty,string"`
  3845  	// MaxValue: Maximum number for the sequence represented as bytes to
  3846  	// accommodate large. numbers
  3847  	MaxValue string `json:"maxValue,omitempty"`
  3848  	// MinValue: Minimum number for the sequence represented as bytes to
  3849  	// accommodate large. numbers
  3850  	MinValue string `json:"minValue,omitempty"`
  3851  	// StartValue: Start number for the sequence represented as bytes to
  3852  	// accommodate large. numbers
  3853  	StartValue string `json:"startValue,omitempty"`
  3854  	// ForceSendFields is a list of field names (e.g. "Cache") to unconditionally
  3855  	// include in API requests. By default, fields with empty or default values are
  3856  	// omitted from API requests. See
  3857  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3858  	// details.
  3859  	ForceSendFields []string `json:"-"`
  3860  	// NullFields is a list of field names (e.g. "Cache") to include in API
  3861  	// requests with the JSON null value. By default, fields with empty values are
  3862  	// omitted from API requests. See
  3863  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3864  	NullFields []string `json:"-"`
  3865  }
  3866  
  3867  func (s *SequenceEntity) MarshalJSON() ([]byte, error) {
  3868  	type NoMethod SequenceEntity
  3869  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3870  }
  3871  
  3872  // SetIamPolicyRequest: Request message for `SetIamPolicy` method.
  3873  type SetIamPolicyRequest struct {
  3874  	// Policy: REQUIRED: The complete policy to be applied to the `resource`. The
  3875  	// size of the policy is limited to a few 10s of KB. An empty policy is a valid
  3876  	// policy but certain Google Cloud services (such as Projects) might reject
  3877  	// them.
  3878  	Policy *Policy `json:"policy,omitempty"`
  3879  	// UpdateMask: OPTIONAL: A FieldMask specifying which fields of the policy to
  3880  	// modify. Only the fields in the mask will be modified. If no mask is
  3881  	// provided, the following default mask is used: `paths: "bindings, etag"
  3882  	UpdateMask string `json:"updateMask,omitempty"`
  3883  	// ForceSendFields is a list of field names (e.g. "Policy") to unconditionally
  3884  	// include in API requests. By default, fields with empty or default values are
  3885  	// omitted from API requests. See
  3886  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3887  	// details.
  3888  	ForceSendFields []string `json:"-"`
  3889  	// NullFields is a list of field names (e.g. "Policy") to include in API
  3890  	// requests with the JSON null value. By default, fields with empty values are
  3891  	// omitted from API requests. See
  3892  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3893  	NullFields []string `json:"-"`
  3894  }
  3895  
  3896  func (s *SetIamPolicyRequest) MarshalJSON() ([]byte, error) {
  3897  	type NoMethod SetIamPolicyRequest
  3898  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3899  }
  3900  
  3901  // SetTablePrimaryKey: Options to configure rule type SetTablePrimaryKey. The
  3902  // rule is used to specify the columns and name to configure/alter the primary
  3903  // key of a table. The rule filter field can refer to one entity. The rule
  3904  // scope can be one of: Table.
  3905  type SetTablePrimaryKey struct {
  3906  	// PrimaryKey: Optional. Name for the primary key
  3907  	PrimaryKey string `json:"primaryKey,omitempty"`
  3908  	// PrimaryKeyColumns: Required. List of column names for the primary key
  3909  	PrimaryKeyColumns []string `json:"primaryKeyColumns,omitempty"`
  3910  	// ForceSendFields is a list of field names (e.g. "PrimaryKey") to
  3911  	// unconditionally include in API requests. By default, fields with empty or
  3912  	// default values are omitted from API requests. See
  3913  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3914  	// details.
  3915  	ForceSendFields []string `json:"-"`
  3916  	// NullFields is a list of field names (e.g. "PrimaryKey") to include in API
  3917  	// requests with the JSON null value. By default, fields with empty values are
  3918  	// omitted from API requests. See
  3919  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3920  	NullFields []string `json:"-"`
  3921  }
  3922  
  3923  func (s *SetTablePrimaryKey) MarshalJSON() ([]byte, error) {
  3924  	type NoMethod SetTablePrimaryKey
  3925  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3926  }
  3927  
  3928  // SingleColumnChange: Options to configure rule type SingleColumnChange. The
  3929  // rule is used to change the properties of a column. The rule filter field can
  3930  // refer to one entity. The rule scope can be one of: Column. When using this
  3931  // rule, if a field is not specified than the destination column's
  3932  // configuration will be the same as the one in the source column..
  3933  type SingleColumnChange struct {
  3934  	// Array: Optional. Is the column of array type.
  3935  	Array bool `json:"array,omitempty"`
  3936  	// ArrayLength: Optional. The length of the array, only relevant if the column
  3937  	// type is an array.
  3938  	ArrayLength int64 `json:"arrayLength,omitempty"`
  3939  	// AutoGenerated: Optional. Is the column auto-generated/identity.
  3940  	AutoGenerated bool `json:"autoGenerated,omitempty"`
  3941  	// Charset: Optional. Charset override - instead of table level charset.
  3942  	Charset string `json:"charset,omitempty"`
  3943  	// Collation: Optional. Collation override - instead of table level collation.
  3944  	Collation string `json:"collation,omitempty"`
  3945  	// Comment: Optional. Comment associated with the column.
  3946  	Comment string `json:"comment,omitempty"`
  3947  	// CustomFeatures: Optional. Custom engine specific features.
  3948  	CustomFeatures googleapi.RawMessage `json:"customFeatures,omitempty"`
  3949  	// DataType: Optional. Column data type name.
  3950  	DataType string `json:"dataType,omitempty"`
  3951  	// FractionalSecondsPrecision: Optional. Column fractional seconds precision -
  3952  	// e.g. 2 as in timestamp (2) - when relevant.
  3953  	FractionalSecondsPrecision int64 `json:"fractionalSecondsPrecision,omitempty"`
  3954  	// Length: Optional. Column length - e.g. 50 as in varchar (50) - when
  3955  	// relevant.
  3956  	Length int64 `json:"length,omitempty,string"`
  3957  	// Nullable: Optional. Is the column nullable.
  3958  	Nullable bool `json:"nullable,omitempty"`
  3959  	// Precision: Optional. Column precision - e.g. 8 as in double (8,2) - when
  3960  	// relevant.
  3961  	Precision int64 `json:"precision,omitempty"`
  3962  	// Scale: Optional. Column scale - e.g. 2 as in double (8,2) - when relevant.
  3963  	Scale int64 `json:"scale,omitempty"`
  3964  	// SetValues: Optional. Specifies the list of values allowed in the column.
  3965  	SetValues []string `json:"setValues,omitempty"`
  3966  	// Udt: Optional. Is the column a UDT (User-defined Type).
  3967  	Udt bool `json:"udt,omitempty"`
  3968  	// ForceSendFields is a list of field names (e.g. "Array") to unconditionally
  3969  	// include in API requests. By default, fields with empty or default values are
  3970  	// omitted from API requests. See
  3971  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3972  	// details.
  3973  	ForceSendFields []string `json:"-"`
  3974  	// NullFields is a list of field names (e.g. "Array") to include in API
  3975  	// requests with the JSON null value. By default, fields with empty values are
  3976  	// omitted from API requests. See
  3977  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3978  	NullFields []string `json:"-"`
  3979  }
  3980  
  3981  func (s *SingleColumnChange) MarshalJSON() ([]byte, error) {
  3982  	type NoMethod SingleColumnChange
  3983  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3984  }
  3985  
  3986  // SingleEntityRename: Options to configure rule type SingleEntityRename. The
  3987  // rule is used to rename an entity. The rule filter field can refer to only
  3988  // one entity. The rule scope can be one of: Database, Schema, Table, Column,
  3989  // Constraint, Index, View, Function, Stored Procedure, Materialized View,
  3990  // Sequence, UDT, Synonym
  3991  type SingleEntityRename struct {
  3992  	// NewName: Required. The new name of the destination entity
  3993  	NewName string `json:"newName,omitempty"`
  3994  	// ForceSendFields is a list of field names (e.g. "NewName") to unconditionally
  3995  	// include in API requests. By default, fields with empty or default values are
  3996  	// omitted from API requests. See
  3997  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3998  	// details.
  3999  	ForceSendFields []string `json:"-"`
  4000  	// NullFields is a list of field names (e.g. "NewName") to include in API
  4001  	// requests with the JSON null value. By default, fields with empty values are
  4002  	// omitted from API requests. See
  4003  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4004  	NullFields []string `json:"-"`
  4005  }
  4006  
  4007  func (s *SingleEntityRename) MarshalJSON() ([]byte, error) {
  4008  	type NoMethod SingleEntityRename
  4009  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4010  }
  4011  
  4012  // SinglePackageChange: Options to configure rule type SinglePackageChange. The
  4013  // rule is used to alter the sql code for a package entities. The rule filter
  4014  // field can refer to one entity. The rule scope can be: Package
  4015  type SinglePackageChange struct {
  4016  	// PackageBody: Optional. Sql code for package body
  4017  	PackageBody string `json:"packageBody,omitempty"`
  4018  	// PackageDescription: Optional. Sql code for package description
  4019  	PackageDescription string `json:"packageDescription,omitempty"`
  4020  	// ForceSendFields is a list of field names (e.g. "PackageBody") to
  4021  	// unconditionally include in API requests. By default, fields with empty or
  4022  	// default values are omitted from API requests. See
  4023  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4024  	// details.
  4025  	ForceSendFields []string `json:"-"`
  4026  	// NullFields is a list of field names (e.g. "PackageBody") to include in API
  4027  	// requests with the JSON null value. By default, fields with empty values are
  4028  	// omitted from API requests. See
  4029  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4030  	NullFields []string `json:"-"`
  4031  }
  4032  
  4033  func (s *SinglePackageChange) MarshalJSON() ([]byte, error) {
  4034  	type NoMethod SinglePackageChange
  4035  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4036  }
  4037  
  4038  // SourceNumericFilter: Filter for fixed point number data types such as
  4039  // NUMERIC/NUMBER
  4040  type SourceNumericFilter struct {
  4041  	// NumericFilterOption: Required. Enum to set the option defining the datatypes
  4042  	// numeric filter has to be applied to
  4043  	//
  4044  	// Possible values:
  4045  	//   "NUMERIC_FILTER_OPTION_UNSPECIFIED" - Numeric filter option unspecified
  4046  	//   "NUMERIC_FILTER_OPTION_ALL" - Numeric filter option that matches all
  4047  	// numeric columns.
  4048  	//   "NUMERIC_FILTER_OPTION_LIMIT" - Numeric filter option that matches columns
  4049  	// having numeric datatypes with specified precision and scale within the
  4050  	// limited range of filter.
  4051  	//   "NUMERIC_FILTER_OPTION_LIMITLESS" - Numeric filter option that matches
  4052  	// only the numeric columns with no precision and scale specified.
  4053  	NumericFilterOption string `json:"numericFilterOption,omitempty"`
  4054  	// SourceMaxPrecisionFilter: Optional. The filter will match columns with
  4055  	// precision smaller than or equal to this number.
  4056  	SourceMaxPrecisionFilter int64 `json:"sourceMaxPrecisionFilter,omitempty"`
  4057  	// SourceMaxScaleFilter: Optional. The filter will match columns with scale
  4058  	// smaller than or equal to this number.
  4059  	SourceMaxScaleFilter int64 `json:"sourceMaxScaleFilter,omitempty"`
  4060  	// SourceMinPrecisionFilter: Optional. The filter will match columns with
  4061  	// precision greater than or equal to this number.
  4062  	SourceMinPrecisionFilter int64 `json:"sourceMinPrecisionFilter,omitempty"`
  4063  	// SourceMinScaleFilter: Optional. The filter will match columns with scale
  4064  	// greater than or equal to this number.
  4065  	SourceMinScaleFilter int64 `json:"sourceMinScaleFilter,omitempty"`
  4066  	// ForceSendFields is a list of field names (e.g. "NumericFilterOption") to
  4067  	// unconditionally include in API requests. By default, fields with empty or
  4068  	// default values are omitted from API requests. See
  4069  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4070  	// details.
  4071  	ForceSendFields []string `json:"-"`
  4072  	// NullFields is a list of field names (e.g. "NumericFilterOption") to include
  4073  	// in API requests with the JSON null value. By default, fields with empty
  4074  	// values are omitted from API requests. See
  4075  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4076  	NullFields []string `json:"-"`
  4077  }
  4078  
  4079  func (s *SourceNumericFilter) MarshalJSON() ([]byte, error) {
  4080  	type NoMethod SourceNumericFilter
  4081  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4082  }
  4083  
  4084  // SourceSqlChange: Options to configure rule type SourceSqlChange. The rule is
  4085  // used to alter the sql code for database entities. The rule filter field can
  4086  // refer to one entity. The rule scope can be: StoredProcedure, Function,
  4087  // Trigger, View
  4088  type SourceSqlChange struct {
  4089  	// SqlCode: Required. Sql code for source (stored procedure, function, trigger
  4090  	// or view)
  4091  	SqlCode string `json:"sqlCode,omitempty"`
  4092  	// ForceSendFields is a list of field names (e.g. "SqlCode") to unconditionally
  4093  	// include in API requests. By default, fields with empty or default values are
  4094  	// omitted from API requests. See
  4095  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4096  	// details.
  4097  	ForceSendFields []string `json:"-"`
  4098  	// NullFields is a list of field names (e.g. "SqlCode") to include in API
  4099  	// requests with the JSON null value. By default, fields with empty values are
  4100  	// omitted from API requests. See
  4101  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4102  	NullFields []string `json:"-"`
  4103  }
  4104  
  4105  func (s *SourceSqlChange) MarshalJSON() ([]byte, error) {
  4106  	type NoMethod SourceSqlChange
  4107  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4108  }
  4109  
  4110  // SourceTextFilter: Filter for text-based data types like varchar.
  4111  type SourceTextFilter struct {
  4112  	// SourceMaxLengthFilter: Optional. The filter will match columns with length
  4113  	// smaller than or equal to this number.
  4114  	SourceMaxLengthFilter int64 `json:"sourceMaxLengthFilter,omitempty,string"`
  4115  	// SourceMinLengthFilter: Optional. The filter will match columns with length
  4116  	// greater than or equal to this number.
  4117  	SourceMinLengthFilter int64 `json:"sourceMinLengthFilter,omitempty,string"`
  4118  	// ForceSendFields is a list of field names (e.g. "SourceMaxLengthFilter") to
  4119  	// unconditionally include in API requests. By default, fields with empty or
  4120  	// default values are omitted from API requests. See
  4121  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4122  	// details.
  4123  	ForceSendFields []string `json:"-"`
  4124  	// NullFields is a list of field names (e.g. "SourceMaxLengthFilter") to
  4125  	// include in API requests with the JSON null value. By default, fields with
  4126  	// empty values are omitted from API requests. See
  4127  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4128  	NullFields []string `json:"-"`
  4129  }
  4130  
  4131  func (s *SourceTextFilter) MarshalJSON() ([]byte, error) {
  4132  	type NoMethod SourceTextFilter
  4133  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4134  }
  4135  
  4136  // SqlAclEntry: An entry for an Access Control list.
  4137  type SqlAclEntry struct {
  4138  	// ExpireTime: The time when this access control entry expires in RFC 3339
  4139  	// (https://tools.ietf.org/html/rfc3339) format, for example:
  4140  	// `2012-11-15T16:19:00.094Z`.
  4141  	ExpireTime string `json:"expireTime,omitempty"`
  4142  	// Label: A label to identify this entry.
  4143  	Label string `json:"label,omitempty"`
  4144  	// Ttl: Input only. The time-to-leave of this access control entry.
  4145  	Ttl string `json:"ttl,omitempty"`
  4146  	// Value: The allowlisted value for the access control list.
  4147  	Value string `json:"value,omitempty"`
  4148  	// ForceSendFields is a list of field names (e.g. "ExpireTime") to
  4149  	// unconditionally include in API requests. By default, fields with empty or
  4150  	// default values are omitted from API requests. See
  4151  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4152  	// details.
  4153  	ForceSendFields []string `json:"-"`
  4154  	// NullFields is a list of field names (e.g. "ExpireTime") to include in API
  4155  	// requests with the JSON null value. By default, fields with empty values are
  4156  	// omitted from API requests. See
  4157  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4158  	NullFields []string `json:"-"`
  4159  }
  4160  
  4161  func (s *SqlAclEntry) MarshalJSON() ([]byte, error) {
  4162  	type NoMethod SqlAclEntry
  4163  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4164  }
  4165  
  4166  // SqlIpConfig: IP Management configuration.
  4167  type SqlIpConfig struct {
  4168  	// AllocatedIpRange: Optional. The name of the allocated IP address range for
  4169  	// the private IP Cloud SQL instance. This name refers to an already allocated
  4170  	// IP range address. If set, the instance IP address will be created in the
  4171  	// allocated range. Note that this IP address range can't be modified after the
  4172  	// instance is created. If you change the VPC when configuring connectivity
  4173  	// settings for the migration job, this field is not relevant.
  4174  	AllocatedIpRange string `json:"allocatedIpRange,omitempty"`
  4175  	// AuthorizedNetworks: The list of external networks that are allowed to
  4176  	// connect to the instance using the IP. See
  4177  	// https://en.wikipedia.org/wiki/CIDR_notation#CIDR_notation, also known as
  4178  	// 'slash' notation (e.g. `192.168.100.0/24`).
  4179  	AuthorizedNetworks []*SqlAclEntry `json:"authorizedNetworks,omitempty"`
  4180  	// EnableIpv4: Whether the instance should be assigned an IPv4 address or not.
  4181  	EnableIpv4 bool `json:"enableIpv4,omitempty"`
  4182  	// PrivateNetwork: The resource link for the VPC network from which the Cloud
  4183  	// SQL instance is accessible for private IP. For example,
  4184  	// `projects/myProject/global/networks/default`. This setting can be updated,
  4185  	// but it cannot be removed after it is set.
  4186  	PrivateNetwork string `json:"privateNetwork,omitempty"`
  4187  	// RequireSsl: Whether SSL connections over IP should be enforced or not.
  4188  	RequireSsl bool `json:"requireSsl,omitempty"`
  4189  	// ForceSendFields is a list of field names (e.g. "AllocatedIpRange") to
  4190  	// unconditionally include in API requests. By default, fields with empty or
  4191  	// default values are omitted from API requests. See
  4192  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4193  	// details.
  4194  	ForceSendFields []string `json:"-"`
  4195  	// NullFields is a list of field names (e.g. "AllocatedIpRange") to include in
  4196  	// API requests with the JSON null value. By default, fields with empty values
  4197  	// are omitted from API requests. See
  4198  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4199  	NullFields []string `json:"-"`
  4200  }
  4201  
  4202  func (s *SqlIpConfig) MarshalJSON() ([]byte, error) {
  4203  	type NoMethod SqlIpConfig
  4204  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4205  }
  4206  
  4207  // SqlServerBackups: Specifies the backup details in Cloud Storage for
  4208  // homogeneous migration to Cloud SQL for SQL Server.
  4209  type SqlServerBackups struct {
  4210  	// GcsBucket: Required. The Cloud Storage bucket that stores backups for all
  4211  	// replicated databases.
  4212  	GcsBucket string `json:"gcsBucket,omitempty"`
  4213  	// GcsPrefix: Optional. Cloud Storage path inside the bucket that stores
  4214  	// backups.
  4215  	GcsPrefix string `json:"gcsPrefix,omitempty"`
  4216  	// ForceSendFields is a list of field names (e.g. "GcsBucket") to
  4217  	// unconditionally include in API requests. By default, fields with empty or
  4218  	// default values are omitted from API requests. See
  4219  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4220  	// details.
  4221  	ForceSendFields []string `json:"-"`
  4222  	// NullFields is a list of field names (e.g. "GcsBucket") to include in API
  4223  	// requests with the JSON null value. By default, fields with empty values are
  4224  	// omitted from API requests. See
  4225  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4226  	NullFields []string `json:"-"`
  4227  }
  4228  
  4229  func (s *SqlServerBackups) MarshalJSON() ([]byte, error) {
  4230  	type NoMethod SqlServerBackups
  4231  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4232  }
  4233  
  4234  // SqlServerConnectionProfile: Specifies connection parameters required
  4235  // specifically for SQL Server databases.
  4236  type SqlServerConnectionProfile struct {
  4237  	// Backups: The backup details in Cloud Storage for homogeneous migration to
  4238  	// Cloud SQL for SQL Server.
  4239  	Backups *SqlServerBackups `json:"backups,omitempty"`
  4240  	// CloudSqlId: If the source is a Cloud SQL database, use this field to provide
  4241  	// the Cloud SQL instance ID of the source.
  4242  	CloudSqlId string `json:"cloudSqlId,omitempty"`
  4243  	// ForwardSshConnectivity: Forward SSH tunnel connectivity.
  4244  	ForwardSshConnectivity *ForwardSshTunnelConnectivity `json:"forwardSshConnectivity,omitempty"`
  4245  	// Host: Required. The IP or hostname of the source SQL Server database.
  4246  	Host string `json:"host,omitempty"`
  4247  	// Password: Required. Input only. The password for the user that Database
  4248  	// Migration Service will be using to connect to the database. This field is
  4249  	// not returned on request, and the value is encrypted when stored in Database
  4250  	// Migration Service.
  4251  	Password string `json:"password,omitempty"`
  4252  	// PasswordSet: Output only. Indicates whether a new password is included in
  4253  	// the request.
  4254  	PasswordSet bool `json:"passwordSet,omitempty"`
  4255  	// Port: Required. The network port of the source SQL Server database.
  4256  	Port int64 `json:"port,omitempty"`
  4257  	// PrivateConnectivity: Private connectivity.
  4258  	PrivateConnectivity *PrivateConnectivity `json:"privateConnectivity,omitempty"`
  4259  	// PrivateServiceConnectConnectivity: Private Service Connect connectivity.
  4260  	PrivateServiceConnectConnectivity *PrivateServiceConnectConnectivity `json:"privateServiceConnectConnectivity,omitempty"`
  4261  	// Ssl: SSL configuration for the destination to connect to the source
  4262  	// database.
  4263  	Ssl *SslConfig `json:"ssl,omitempty"`
  4264  	// StaticIpConnectivity: Static IP connectivity data (default, no additional
  4265  	// details needed).
  4266  	StaticIpConnectivity *StaticIpConnectivity `json:"staticIpConnectivity,omitempty"`
  4267  	// Username: Required. The username that Database Migration Service will use to
  4268  	// connect to the database. The value is encrypted when stored in Database
  4269  	// Migration Service.
  4270  	Username string `json:"username,omitempty"`
  4271  	// ForceSendFields is a list of field names (e.g. "Backups") to unconditionally
  4272  	// include in API requests. By default, fields with empty or default values are
  4273  	// omitted from API requests. See
  4274  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4275  	// details.
  4276  	ForceSendFields []string `json:"-"`
  4277  	// NullFields is a list of field names (e.g. "Backups") to include in API
  4278  	// requests with the JSON null value. By default, fields with empty values are
  4279  	// omitted from API requests. See
  4280  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4281  	NullFields []string `json:"-"`
  4282  }
  4283  
  4284  func (s *SqlServerConnectionProfile) MarshalJSON() ([]byte, error) {
  4285  	type NoMethod SqlServerConnectionProfile
  4286  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4287  }
  4288  
  4289  // SqlServerDatabaseBackup: Specifies the backup details for a single database
  4290  // in Cloud Storage for homogeneous migration to Cloud SQL for SQL Server.
  4291  type SqlServerDatabaseBackup struct {
  4292  	// Database: Required. Name of a SQL Server database for which to define backup
  4293  	// configuration.
  4294  	Database string `json:"database,omitempty"`
  4295  	// EncryptionOptions: Optional. Encryption settings for the database. Required
  4296  	// if provided database backups are encrypted. Encryption settings include path
  4297  	// to certificate, path to certificate private key, and key password.
  4298  	EncryptionOptions *SqlServerEncryptionOptions `json:"encryptionOptions,omitempty"`
  4299  	// ForceSendFields is a list of field names (e.g. "Database") to
  4300  	// unconditionally include in API requests. By default, fields with empty or
  4301  	// default values are omitted from API requests. See
  4302  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4303  	// details.
  4304  	ForceSendFields []string `json:"-"`
  4305  	// NullFields is a list of field names (e.g. "Database") to include in API
  4306  	// requests with the JSON null value. By default, fields with empty values are
  4307  	// omitted from API requests. See
  4308  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4309  	NullFields []string `json:"-"`
  4310  }
  4311  
  4312  func (s *SqlServerDatabaseBackup) MarshalJSON() ([]byte, error) {
  4313  	type NoMethod SqlServerDatabaseBackup
  4314  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4315  }
  4316  
  4317  // SqlServerEncryptionOptions: Encryption settings for the SQL Server database.
  4318  type SqlServerEncryptionOptions struct {
  4319  	// CertPath: Required. Path to certificate.
  4320  	CertPath string `json:"certPath,omitempty"`
  4321  	// PvkPassword: Required. Input only. Private key password.
  4322  	PvkPassword string `json:"pvkPassword,omitempty"`
  4323  	// PvkPath: Required. Path to certificate private key.
  4324  	PvkPath string `json:"pvkPath,omitempty"`
  4325  	// ForceSendFields is a list of field names (e.g. "CertPath") to
  4326  	// unconditionally include in API requests. By default, fields with empty or
  4327  	// default values are omitted from API requests. See
  4328  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4329  	// details.
  4330  	ForceSendFields []string `json:"-"`
  4331  	// NullFields is a list of field names (e.g. "CertPath") to include in API
  4332  	// requests with the JSON null value. By default, fields with empty values are
  4333  	// omitted from API requests. See
  4334  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4335  	NullFields []string `json:"-"`
  4336  }
  4337  
  4338  func (s *SqlServerEncryptionOptions) MarshalJSON() ([]byte, error) {
  4339  	type NoMethod SqlServerEncryptionOptions
  4340  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4341  }
  4342  
  4343  // SqlServerHomogeneousMigrationJobConfig: Configuration for homogeneous
  4344  // migration to Cloud SQL for SQL Server.
  4345  type SqlServerHomogeneousMigrationJobConfig struct {
  4346  	// BackupFilePattern: Required. Pattern that describes the default backup
  4347  	// naming strategy. The specified pattern should ensure lexicographical order
  4348  	// of backups. The pattern must define one of the following capture group sets:
  4349  	// Capture group set #1 yy/yyyy - year, 2 or 4 digits mm - month number, 1-12
  4350  	// dd - day of month, 1-31 hh - hour of day, 00-23 mi - minutes, 00-59 ss -
  4351  	// seconds, 00-59 Example: For backup file TestDB_20230802_155400.trn, use
  4352  	// pattern: (?.*)_backup_(?\d{4})(?\d{2})(?\d{2})_(?\d{2})(?\d{2})(?\d{2}).trn
  4353  	// Capture group set #2 timestamp - unix timestamp Example: For backup file
  4354  	// TestDB.1691448254.trn, use pattern: (?.*)\.(?\d*).trn or (?.*)\.(?\d*).trn
  4355  	BackupFilePattern string `json:"backupFilePattern,omitempty"`
  4356  	// DatabaseBackups: Required. Backup details per database in Cloud Storage.
  4357  	DatabaseBackups []*SqlServerDatabaseBackup `json:"databaseBackups,omitempty"`
  4358  	// ForceSendFields is a list of field names (e.g. "BackupFilePattern") to
  4359  	// unconditionally include in API requests. By default, fields with empty or
  4360  	// default values are omitted from API requests. See
  4361  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4362  	// details.
  4363  	ForceSendFields []string `json:"-"`
  4364  	// NullFields is a list of field names (e.g. "BackupFilePattern") to include in
  4365  	// API requests with the JSON null value. By default, fields with empty values
  4366  	// are omitted from API requests. See
  4367  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4368  	NullFields []string `json:"-"`
  4369  }
  4370  
  4371  func (s *SqlServerHomogeneousMigrationJobConfig) MarshalJSON() ([]byte, error) {
  4372  	type NoMethod SqlServerHomogeneousMigrationJobConfig
  4373  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4374  }
  4375  
  4376  // SshScript: Response message for 'GenerateSshScript' request.
  4377  type SshScript struct {
  4378  	// Script: The ssh configuration script.
  4379  	Script string `json:"script,omitempty"`
  4380  
  4381  	// ServerResponse contains the HTTP response code and headers from the server.
  4382  	googleapi.ServerResponse `json:"-"`
  4383  	// ForceSendFields is a list of field names (e.g. "Script") to unconditionally
  4384  	// include in API requests. By default, fields with empty or default values are
  4385  	// omitted from API requests. See
  4386  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4387  	// details.
  4388  	ForceSendFields []string `json:"-"`
  4389  	// NullFields is a list of field names (e.g. "Script") to include in API
  4390  	// requests with the JSON null value. By default, fields with empty values are
  4391  	// omitted from API requests. See
  4392  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4393  	NullFields []string `json:"-"`
  4394  }
  4395  
  4396  func (s *SshScript) MarshalJSON() ([]byte, error) {
  4397  	type NoMethod SshScript
  4398  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4399  }
  4400  
  4401  // SslConfig: SSL configuration information.
  4402  type SslConfig struct {
  4403  	// CaCertificate: Required. Input only. The x509 PEM-encoded certificate of the
  4404  	// CA that signed the source database server's certificate. The replica will
  4405  	// use this certificate to verify it's connecting to the right host.
  4406  	CaCertificate string `json:"caCertificate,omitempty"`
  4407  	// ClientCertificate: Input only. The x509 PEM-encoded certificate that will be
  4408  	// used by the replica to authenticate against the source database server.If
  4409  	// this field is used then the 'client_key' field is mandatory.
  4410  	ClientCertificate string `json:"clientCertificate,omitempty"`
  4411  	// ClientKey: Input only. The unencrypted PKCS#1 or PKCS#8 PEM-encoded private
  4412  	// key associated with the Client Certificate. If this field is used then the
  4413  	// 'client_certificate' field is mandatory.
  4414  	ClientKey string `json:"clientKey,omitempty"`
  4415  	// Type: Output only. The ssl config type according to 'client_key',
  4416  	// 'client_certificate' and 'ca_certificate'.
  4417  	//
  4418  	// Possible values:
  4419  	//   "SSL_TYPE_UNSPECIFIED" - Unspecified.
  4420  	//   "SERVER_ONLY" - Only 'ca_certificate' specified.
  4421  	//   "SERVER_CLIENT" - Both server ('ca_certificate'), and client
  4422  	// ('client_key', 'client_certificate') specified.
  4423  	Type string `json:"type,omitempty"`
  4424  	// ForceSendFields is a list of field names (e.g. "CaCertificate") to
  4425  	// unconditionally include in API requests. By default, fields with empty or
  4426  	// default values are omitted from API requests. See
  4427  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4428  	// details.
  4429  	ForceSendFields []string `json:"-"`
  4430  	// NullFields is a list of field names (e.g. "CaCertificate") to include in API
  4431  	// requests with the JSON null value. By default, fields with empty values are
  4432  	// omitted from API requests. See
  4433  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4434  	NullFields []string `json:"-"`
  4435  }
  4436  
  4437  func (s *SslConfig) MarshalJSON() ([]byte, error) {
  4438  	type NoMethod SslConfig
  4439  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4440  }
  4441  
  4442  // StartMigrationJobRequest: Request message for 'StartMigrationJob' request.
  4443  type StartMigrationJobRequest struct {
  4444  	// SkipValidation: Optional. Start the migration job without running prior
  4445  	// configuration verification. Defaults to `false`.
  4446  	SkipValidation bool `json:"skipValidation,omitempty"`
  4447  	// ForceSendFields is a list of field names (e.g. "SkipValidation") to
  4448  	// unconditionally include in API requests. By default, fields with empty or
  4449  	// default values are omitted from API requests. See
  4450  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4451  	// details.
  4452  	ForceSendFields []string `json:"-"`
  4453  	// NullFields is a list of field names (e.g. "SkipValidation") to include in
  4454  	// API requests with the JSON null value. By default, fields with empty values
  4455  	// are omitted from API requests. See
  4456  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4457  	NullFields []string `json:"-"`
  4458  }
  4459  
  4460  func (s *StartMigrationJobRequest) MarshalJSON() ([]byte, error) {
  4461  	type NoMethod StartMigrationJobRequest
  4462  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4463  }
  4464  
  4465  // StaticIpConnectivity: The source database will allow incoming connections
  4466  // from the public IP of the destination database. You can retrieve the public
  4467  // IP of the Cloud SQL instance from the Cloud SQL console or using Cloud SQL
  4468  // APIs. No additional configuration is required.
  4469  type StaticIpConnectivity struct {
  4470  }
  4471  
  4472  // StaticServiceIpConnectivity: Static IP address connectivity configured on
  4473  // service project.
  4474  type StaticServiceIpConnectivity struct {
  4475  }
  4476  
  4477  // Status: The `Status` type defines a logical error model that is suitable for
  4478  // different programming environments, including REST APIs and RPC APIs. It is
  4479  // used by gRPC (https://github.com/grpc). Each `Status` message contains three
  4480  // pieces of data: error code, error message, and error details. You can find
  4481  // out more about this error model and how to work with it in the API Design
  4482  // Guide (https://cloud.google.com/apis/design/errors).
  4483  type Status struct {
  4484  	// Code: The status code, which should be an enum value of google.rpc.Code.
  4485  	Code int64 `json:"code,omitempty"`
  4486  	// Details: A list of messages that carry the error details. There is a common
  4487  	// set of message types for APIs to use.
  4488  	Details []googleapi.RawMessage `json:"details,omitempty"`
  4489  	// Message: A developer-facing error message, which should be in English. Any
  4490  	// user-facing error message should be localized and sent in the
  4491  	// google.rpc.Status.details field, or localized by the client.
  4492  	Message string `json:"message,omitempty"`
  4493  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  4494  	// include in API requests. By default, fields with empty or default values are
  4495  	// omitted from API requests. See
  4496  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4497  	// details.
  4498  	ForceSendFields []string `json:"-"`
  4499  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  4500  	// with the JSON null value. By default, fields with empty values are omitted
  4501  	// from API requests. See
  4502  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4503  	NullFields []string `json:"-"`
  4504  }
  4505  
  4506  func (s *Status) MarshalJSON() ([]byte, error) {
  4507  	type NoMethod Status
  4508  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4509  }
  4510  
  4511  // StopMigrationJobRequest: Request message for 'StopMigrationJob' request.
  4512  type StopMigrationJobRequest struct {
  4513  }
  4514  
  4515  // StoredProcedureEntity: Stored procedure's parent is a schema.
  4516  type StoredProcedureEntity struct {
  4517  	// CustomFeatures: Custom engine specific features.
  4518  	CustomFeatures googleapi.RawMessage `json:"customFeatures,omitempty"`
  4519  	// SqlCode: The SQL code which creates the stored procedure.
  4520  	SqlCode string `json:"sqlCode,omitempty"`
  4521  	// ForceSendFields is a list of field names (e.g. "CustomFeatures") to
  4522  	// unconditionally include in API requests. By default, fields with empty or
  4523  	// default values are omitted from API requests. See
  4524  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4525  	// details.
  4526  	ForceSendFields []string `json:"-"`
  4527  	// NullFields is a list of field names (e.g. "CustomFeatures") to include in
  4528  	// API requests with the JSON null value. By default, fields with empty values
  4529  	// are omitted from API requests. See
  4530  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4531  	NullFields []string `json:"-"`
  4532  }
  4533  
  4534  func (s *StoredProcedureEntity) MarshalJSON() ([]byte, error) {
  4535  	type NoMethod StoredProcedureEntity
  4536  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4537  }
  4538  
  4539  // SynonymEntity: Synonym's parent is a schema.
  4540  type SynonymEntity struct {
  4541  	// CustomFeatures: Custom engine specific features.
  4542  	CustomFeatures googleapi.RawMessage `json:"customFeatures,omitempty"`
  4543  	// SourceEntity: The name of the entity for which the synonym is being created
  4544  	// (the source).
  4545  	SourceEntity string `json:"sourceEntity,omitempty"`
  4546  	// SourceType: The type of the entity for which the synonym is being created
  4547  	// (usually a table or a sequence).
  4548  	//
  4549  	// Possible values:
  4550  	//   "DATABASE_ENTITY_TYPE_UNSPECIFIED" - Unspecified database entity type.
  4551  	//   "DATABASE_ENTITY_TYPE_SCHEMA" - Schema.
  4552  	//   "DATABASE_ENTITY_TYPE_TABLE" - Table.
  4553  	//   "DATABASE_ENTITY_TYPE_COLUMN" - Column.
  4554  	//   "DATABASE_ENTITY_TYPE_CONSTRAINT" - Constraint.
  4555  	//   "DATABASE_ENTITY_TYPE_INDEX" - Index.
  4556  	//   "DATABASE_ENTITY_TYPE_TRIGGER" - Trigger.
  4557  	//   "DATABASE_ENTITY_TYPE_VIEW" - View.
  4558  	//   "DATABASE_ENTITY_TYPE_SEQUENCE" - Sequence.
  4559  	//   "DATABASE_ENTITY_TYPE_STORED_PROCEDURE" - Stored Procedure.
  4560  	//   "DATABASE_ENTITY_TYPE_FUNCTION" - Function.
  4561  	//   "DATABASE_ENTITY_TYPE_SYNONYM" - Synonym.
  4562  	//   "DATABASE_ENTITY_TYPE_DATABASE_PACKAGE" - Package.
  4563  	//   "DATABASE_ENTITY_TYPE_UDT" - UDT.
  4564  	//   "DATABASE_ENTITY_TYPE_MATERIALIZED_VIEW" - Materialized View.
  4565  	//   "DATABASE_ENTITY_TYPE_DATABASE" - Database.
  4566  	SourceType string `json:"sourceType,omitempty"`
  4567  	// ForceSendFields is a list of field names (e.g. "CustomFeatures") to
  4568  	// unconditionally include in API requests. By default, fields with empty or
  4569  	// default values are omitted from API requests. See
  4570  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4571  	// details.
  4572  	ForceSendFields []string `json:"-"`
  4573  	// NullFields is a list of field names (e.g. "CustomFeatures") to include in
  4574  	// API requests with the JSON null value. By default, fields with empty values
  4575  	// are omitted from API requests. See
  4576  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4577  	NullFields []string `json:"-"`
  4578  }
  4579  
  4580  func (s *SynonymEntity) MarshalJSON() ([]byte, error) {
  4581  	type NoMethod SynonymEntity
  4582  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4583  }
  4584  
  4585  // TableEntity: Table's parent is a schema.
  4586  type TableEntity struct {
  4587  	// Columns: Table columns.
  4588  	Columns []*ColumnEntity `json:"columns,omitempty"`
  4589  	// Comment: Comment associated with the table.
  4590  	Comment string `json:"comment,omitempty"`
  4591  	// Constraints: Table constraints.
  4592  	Constraints []*ConstraintEntity `json:"constraints,omitempty"`
  4593  	// CustomFeatures: Custom engine specific features.
  4594  	CustomFeatures googleapi.RawMessage `json:"customFeatures,omitempty"`
  4595  	// Indices: Table indices.
  4596  	Indices []*IndexEntity `json:"indices,omitempty"`
  4597  	// Triggers: Table triggers.
  4598  	Triggers []*TriggerEntity `json:"triggers,omitempty"`
  4599  	// ForceSendFields is a list of field names (e.g. "Columns") to unconditionally
  4600  	// include in API requests. By default, fields with empty or default values are
  4601  	// omitted from API requests. See
  4602  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4603  	// details.
  4604  	ForceSendFields []string `json:"-"`
  4605  	// NullFields is a list of field names (e.g. "Columns") to include in API
  4606  	// requests with the JSON null value. By default, fields with empty values are
  4607  	// omitted from API requests. See
  4608  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4609  	NullFields []string `json:"-"`
  4610  }
  4611  
  4612  func (s *TableEntity) MarshalJSON() ([]byte, error) {
  4613  	type NoMethod TableEntity
  4614  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4615  }
  4616  
  4617  // TcpProxyScript: Response message for 'GenerateTcpProxyScript' request.
  4618  type TcpProxyScript struct {
  4619  	// Script: The TCP Proxy configuration script.
  4620  	Script string `json:"script,omitempty"`
  4621  
  4622  	// ServerResponse contains the HTTP response code and headers from the server.
  4623  	googleapi.ServerResponse `json:"-"`
  4624  	// ForceSendFields is a list of field names (e.g. "Script") to unconditionally
  4625  	// include in API requests. By default, fields with empty or default values are
  4626  	// omitted from API requests. See
  4627  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4628  	// details.
  4629  	ForceSendFields []string `json:"-"`
  4630  	// NullFields is a list of field names (e.g. "Script") to include in API
  4631  	// requests with the JSON null value. By default, fields with empty values are
  4632  	// omitted from API requests. See
  4633  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4634  	NullFields []string `json:"-"`
  4635  }
  4636  
  4637  func (s *TcpProxyScript) MarshalJSON() ([]byte, error) {
  4638  	type NoMethod TcpProxyScript
  4639  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4640  }
  4641  
  4642  // TestIamPermissionsRequest: Request message for `TestIamPermissions` method.
  4643  type TestIamPermissionsRequest struct {
  4644  	// Permissions: The set of permissions to check for the `resource`. Permissions
  4645  	// with wildcards (such as `*` or `storage.*`) are not allowed. For more
  4646  	// information see IAM Overview
  4647  	// (https://cloud.google.com/iam/docs/overview#permissions).
  4648  	Permissions []string `json:"permissions,omitempty"`
  4649  	// ForceSendFields is a list of field names (e.g. "Permissions") to
  4650  	// unconditionally include in API requests. By default, fields with empty or
  4651  	// default values are omitted from API requests. See
  4652  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4653  	// details.
  4654  	ForceSendFields []string `json:"-"`
  4655  	// NullFields is a list of field names (e.g. "Permissions") to include in API
  4656  	// requests with the JSON null value. By default, fields with empty values are
  4657  	// omitted from API requests. See
  4658  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4659  	NullFields []string `json:"-"`
  4660  }
  4661  
  4662  func (s *TestIamPermissionsRequest) MarshalJSON() ([]byte, error) {
  4663  	type NoMethod TestIamPermissionsRequest
  4664  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4665  }
  4666  
  4667  // TestIamPermissionsResponse: Response message for `TestIamPermissions`
  4668  // method.
  4669  type TestIamPermissionsResponse struct {
  4670  	// Permissions: A subset of `TestPermissionsRequest.permissions` that the
  4671  	// caller is allowed.
  4672  	Permissions []string `json:"permissions,omitempty"`
  4673  
  4674  	// ServerResponse contains the HTTP response code and headers from the server.
  4675  	googleapi.ServerResponse `json:"-"`
  4676  	// ForceSendFields is a list of field names (e.g. "Permissions") to
  4677  	// unconditionally include in API requests. By default, fields with empty or
  4678  	// default values are omitted from API requests. See
  4679  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4680  	// details.
  4681  	ForceSendFields []string `json:"-"`
  4682  	// NullFields is a list of field names (e.g. "Permissions") to include in API
  4683  	// requests with the JSON null value. By default, fields with empty values are
  4684  	// omitted from API requests. See
  4685  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4686  	NullFields []string `json:"-"`
  4687  }
  4688  
  4689  func (s *TestIamPermissionsResponse) MarshalJSON() ([]byte, error) {
  4690  	type NoMethod TestIamPermissionsResponse
  4691  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4692  }
  4693  
  4694  // TriggerEntity: Trigger is not used as an independent entity, it is retrieved
  4695  // as part of a Table entity.
  4696  type TriggerEntity struct {
  4697  	// CustomFeatures: Custom engine specific features.
  4698  	CustomFeatures googleapi.RawMessage `json:"customFeatures,omitempty"`
  4699  	// Name: The name of the trigger.
  4700  	Name string `json:"name,omitempty"`
  4701  	// SqlCode: The SQL code which creates the trigger.
  4702  	SqlCode string `json:"sqlCode,omitempty"`
  4703  	// TriggerType: Indicates when the trigger fires, for example BEFORE STATEMENT,
  4704  	// AFTER EACH ROW.
  4705  	TriggerType string `json:"triggerType,omitempty"`
  4706  	// TriggeringEvents: The DML, DDL, or database events that fire the trigger,
  4707  	// for example INSERT, UPDATE.
  4708  	TriggeringEvents []string `json:"triggeringEvents,omitempty"`
  4709  	// ForceSendFields is a list of field names (e.g. "CustomFeatures") to
  4710  	// unconditionally include in API requests. By default, fields with empty or
  4711  	// default values are omitted from API requests. See
  4712  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4713  	// details.
  4714  	ForceSendFields []string `json:"-"`
  4715  	// NullFields is a list of field names (e.g. "CustomFeatures") to include in
  4716  	// API requests with the JSON null value. By default, fields with empty values
  4717  	// are omitted from API requests. See
  4718  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4719  	NullFields []string `json:"-"`
  4720  }
  4721  
  4722  func (s *TriggerEntity) MarshalJSON() ([]byte, error) {
  4723  	type NoMethod TriggerEntity
  4724  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4725  }
  4726  
  4727  // UDTEntity: UDT's parent is a schema.
  4728  type UDTEntity struct {
  4729  	// CustomFeatures: Custom engine specific features.
  4730  	CustomFeatures googleapi.RawMessage `json:"customFeatures,omitempty"`
  4731  	// UdtBody: The SQL code which creates the udt body.
  4732  	UdtBody string `json:"udtBody,omitempty"`
  4733  	// UdtSqlCode: The SQL code which creates the udt.
  4734  	UdtSqlCode string `json:"udtSqlCode,omitempty"`
  4735  	// ForceSendFields is a list of field names (e.g. "CustomFeatures") to
  4736  	// unconditionally include in API requests. By default, fields with empty or
  4737  	// default values are omitted from API requests. See
  4738  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4739  	// details.
  4740  	ForceSendFields []string `json:"-"`
  4741  	// NullFields is a list of field names (e.g. "CustomFeatures") to include in
  4742  	// API requests with the JSON null value. By default, fields with empty values
  4743  	// are omitted from API requests. See
  4744  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4745  	NullFields []string `json:"-"`
  4746  }
  4747  
  4748  func (s *UDTEntity) MarshalJSON() ([]byte, error) {
  4749  	type NoMethod UDTEntity
  4750  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4751  }
  4752  
  4753  // UserPassword: The username/password for a database user. Used for specifying
  4754  // initial users at cluster creation time.
  4755  type UserPassword struct {
  4756  	// Password: The initial password for the user.
  4757  	Password string `json:"password,omitempty"`
  4758  	// PasswordSet: Output only. Indicates if the initial_user.password field has
  4759  	// been set.
  4760  	PasswordSet bool `json:"passwordSet,omitempty"`
  4761  	// User: The database username.
  4762  	User string `json:"user,omitempty"`
  4763  	// ForceSendFields is a list of field names (e.g. "Password") to
  4764  	// unconditionally include in API requests. By default, fields with empty or
  4765  	// default values are omitted from API requests. See
  4766  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4767  	// details.
  4768  	ForceSendFields []string `json:"-"`
  4769  	// NullFields is a list of field names (e.g. "Password") to include in API
  4770  	// requests with the JSON null value. By default, fields with empty values are
  4771  	// omitted from API requests. See
  4772  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4773  	NullFields []string `json:"-"`
  4774  }
  4775  
  4776  func (s *UserPassword) MarshalJSON() ([]byte, error) {
  4777  	type NoMethod UserPassword
  4778  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4779  }
  4780  
  4781  // ValueListFilter: A list of values to filter by in ConditionalColumnSetValue
  4782  type ValueListFilter struct {
  4783  	// IgnoreCase: Required. Whether to ignore case when filtering by values.
  4784  	// Defaults to false
  4785  	IgnoreCase bool `json:"ignoreCase,omitempty"`
  4786  	// ValuePresentList: Required. Indicates whether the filter matches rows with
  4787  	// values that are present in the list or those with values not present in it.
  4788  	//
  4789  	// Possible values:
  4790  	//   "VALUE_PRESENT_IN_LIST_UNSPECIFIED" - Value present in list unspecified
  4791  	//   "VALUE_PRESENT_IN_LIST_IF_VALUE_LIST" - If the source value is in the
  4792  	// supplied list at value_list
  4793  	//   "VALUE_PRESENT_IN_LIST_IF_VALUE_NOT_LIST" - If the source value is not in
  4794  	// the supplied list at value_list
  4795  	ValuePresentList string `json:"valuePresentList,omitempty"`
  4796  	// Values: Required. The list to be used to filter by
  4797  	Values []string `json:"values,omitempty"`
  4798  	// ForceSendFields is a list of field names (e.g. "IgnoreCase") to
  4799  	// unconditionally include in API requests. By default, fields with empty or
  4800  	// default values are omitted from API requests. See
  4801  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4802  	// details.
  4803  	ForceSendFields []string `json:"-"`
  4804  	// NullFields is a list of field names (e.g. "IgnoreCase") to include in API
  4805  	// requests with the JSON null value. By default, fields with empty values are
  4806  	// omitted from API requests. See
  4807  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4808  	NullFields []string `json:"-"`
  4809  }
  4810  
  4811  func (s *ValueListFilter) MarshalJSON() ([]byte, error) {
  4812  	type NoMethod ValueListFilter
  4813  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4814  }
  4815  
  4816  // ValueTransformation: Description of data transformation during migration as
  4817  // part of the ConditionalColumnSetValue.
  4818  type ValueTransformation struct {
  4819  	// ApplyHash: Optional. Applies a hash function on the data
  4820  	ApplyHash *ApplyHash `json:"applyHash,omitempty"`
  4821  	// AssignMaxValue: Optional. Set to max_value - if integer or numeric, will use
  4822  	// int.maxvalue, etc
  4823  	AssignMaxValue *Empty `json:"assignMaxValue,omitempty"`
  4824  	// AssignMinValue: Optional. Set to min_value - if integer or numeric, will use
  4825  	// int.minvalue, etc
  4826  	AssignMinValue *Empty `json:"assignMinValue,omitempty"`
  4827  	// AssignNull: Optional. Set to null
  4828  	AssignNull *Empty `json:"assignNull,omitempty"`
  4829  	// AssignSpecificValue: Optional. Set to a specific value (value is converted
  4830  	// to fit the target data type)
  4831  	AssignSpecificValue *AssignSpecificValue `json:"assignSpecificValue,omitempty"`
  4832  	// DoubleComparison: Optional. Filter on relation between source value and
  4833  	// compare value of type double.
  4834  	DoubleComparison *DoubleComparisonFilter `json:"doubleComparison,omitempty"`
  4835  	// IntComparison: Optional. Filter on relation between source value and compare
  4836  	// value of type integer.
  4837  	IntComparison *IntComparisonFilter `json:"intComparison,omitempty"`
  4838  	// IsNull: Optional. Value is null
  4839  	IsNull *Empty `json:"isNull,omitempty"`
  4840  	// RoundScale: Optional. Allows the data to change scale
  4841  	RoundScale *RoundToScale `json:"roundScale,omitempty"`
  4842  	// ValueList: Optional. Value is found in the specified list.
  4843  	ValueList *ValueListFilter `json:"valueList,omitempty"`
  4844  	// ForceSendFields is a list of field names (e.g. "ApplyHash") to
  4845  	// unconditionally include in API requests. By default, fields with empty or
  4846  	// default values are omitted from API requests. See
  4847  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4848  	// details.
  4849  	ForceSendFields []string `json:"-"`
  4850  	// NullFields is a list of field names (e.g. "ApplyHash") to include in API
  4851  	// requests with the JSON null value. By default, fields with empty values are
  4852  	// omitted from API requests. See
  4853  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4854  	NullFields []string `json:"-"`
  4855  }
  4856  
  4857  func (s *ValueTransformation) MarshalJSON() ([]byte, error) {
  4858  	type NoMethod ValueTransformation
  4859  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4860  }
  4861  
  4862  // VerifyMigrationJobRequest: Request message for 'VerifyMigrationJob' request.
  4863  type VerifyMigrationJobRequest struct {
  4864  	// MigrationJob: Optional. The changed migration job parameters to verify. It
  4865  	// will not update the migration job.
  4866  	MigrationJob *MigrationJob `json:"migrationJob,omitempty"`
  4867  	// UpdateMask: Optional. Field mask is used to specify the changed fields to be
  4868  	// verified. It will not update the migration job.
  4869  	UpdateMask string `json:"updateMask,omitempty"`
  4870  	// ForceSendFields is a list of field names (e.g. "MigrationJob") to
  4871  	// unconditionally include in API requests. By default, fields with empty or
  4872  	// default values are omitted from API requests. See
  4873  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4874  	// details.
  4875  	ForceSendFields []string `json:"-"`
  4876  	// NullFields is a list of field names (e.g. "MigrationJob") to include in API
  4877  	// requests with the JSON null value. By default, fields with empty values are
  4878  	// omitted from API requests. See
  4879  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4880  	NullFields []string `json:"-"`
  4881  }
  4882  
  4883  func (s *VerifyMigrationJobRequest) MarshalJSON() ([]byte, error) {
  4884  	type NoMethod VerifyMigrationJobRequest
  4885  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4886  }
  4887  
  4888  // ViewEntity: View's parent is a schema.
  4889  type ViewEntity struct {
  4890  	// Constraints: View constraints.
  4891  	Constraints []*ConstraintEntity `json:"constraints,omitempty"`
  4892  	// CustomFeatures: Custom engine specific features.
  4893  	CustomFeatures googleapi.RawMessage `json:"customFeatures,omitempty"`
  4894  	// SqlCode: The SQL code which creates the view.
  4895  	SqlCode string `json:"sqlCode,omitempty"`
  4896  	// ForceSendFields is a list of field names (e.g. "Constraints") to
  4897  	// unconditionally include in API requests. By default, fields with empty or
  4898  	// default values are omitted from API requests. See
  4899  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4900  	// details.
  4901  	ForceSendFields []string `json:"-"`
  4902  	// NullFields is a list of field names (e.g. "Constraints") to include in API
  4903  	// requests with the JSON null value. By default, fields with empty values are
  4904  	// omitted from API requests. See
  4905  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4906  	NullFields []string `json:"-"`
  4907  }
  4908  
  4909  func (s *ViewEntity) MarshalJSON() ([]byte, error) {
  4910  	type NoMethod ViewEntity
  4911  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4912  }
  4913  
  4914  // VmCreationConfig: VM creation configuration message
  4915  type VmCreationConfig struct {
  4916  	// Subnet: The subnet name the vm needs to be created in.
  4917  	Subnet string `json:"subnet,omitempty"`
  4918  	// VmMachineType: Required. VM instance machine type to create.
  4919  	VmMachineType string `json:"vmMachineType,omitempty"`
  4920  	// VmZone: The Google Cloud Platform zone to create the VM in.
  4921  	VmZone string `json:"vmZone,omitempty"`
  4922  	// ForceSendFields is a list of field names (e.g. "Subnet") to unconditionally
  4923  	// include in API requests. By default, fields with empty or default values are
  4924  	// omitted from API requests. See
  4925  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4926  	// details.
  4927  	ForceSendFields []string `json:"-"`
  4928  	// NullFields is a list of field names (e.g. "Subnet") to include in API
  4929  	// requests with the JSON null value. By default, fields with empty values are
  4930  	// omitted from API requests. See
  4931  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4932  	NullFields []string `json:"-"`
  4933  }
  4934  
  4935  func (s *VmCreationConfig) MarshalJSON() ([]byte, error) {
  4936  	type NoMethod VmCreationConfig
  4937  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4938  }
  4939  
  4940  // VmSelectionConfig: VM selection configuration message
  4941  type VmSelectionConfig struct {
  4942  	// VmZone: Required. The Google Cloud Platform zone the VM is located.
  4943  	VmZone string `json:"vmZone,omitempty"`
  4944  	// ForceSendFields is a list of field names (e.g. "VmZone") to unconditionally
  4945  	// include in API requests. By default, fields with empty or default values are
  4946  	// omitted from API requests. See
  4947  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4948  	// details.
  4949  	ForceSendFields []string `json:"-"`
  4950  	// NullFields is a list of field names (e.g. "VmZone") to include in API
  4951  	// requests with the JSON null value. By default, fields with empty values are
  4952  	// omitted from API requests. See
  4953  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4954  	NullFields []string `json:"-"`
  4955  }
  4956  
  4957  func (s *VmSelectionConfig) MarshalJSON() ([]byte, error) {
  4958  	type NoMethod VmSelectionConfig
  4959  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4960  }
  4961  
  4962  // VpcPeeringConfig: The VPC peering configuration is used to create VPC
  4963  // peering with the consumer's VPC.
  4964  type VpcPeeringConfig struct {
  4965  	// Subnet: Required. A free subnet for peering. (CIDR of /29)
  4966  	Subnet string `json:"subnet,omitempty"`
  4967  	// VpcName: Required. Fully qualified name of the VPC that Database Migration
  4968  	// Service will peer to.
  4969  	VpcName string `json:"vpcName,omitempty"`
  4970  	// ForceSendFields is a list of field names (e.g. "Subnet") to unconditionally
  4971  	// include in API requests. By default, fields with empty or default values are
  4972  	// omitted from API requests. See
  4973  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4974  	// details.
  4975  	ForceSendFields []string `json:"-"`
  4976  	// NullFields is a list of field names (e.g. "Subnet") to include in API
  4977  	// requests with the JSON null value. By default, fields with empty values are
  4978  	// omitted from API requests. See
  4979  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4980  	NullFields []string `json:"-"`
  4981  }
  4982  
  4983  func (s *VpcPeeringConfig) MarshalJSON() ([]byte, error) {
  4984  	type NoMethod VpcPeeringConfig
  4985  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4986  }
  4987  
  4988  // VpcPeeringConnectivity: The details of the VPC where the source database is
  4989  // located in Google Cloud. We will use this information to set up the VPC
  4990  // peering connection between Cloud SQL and this VPC.
  4991  type VpcPeeringConnectivity struct {
  4992  	// Vpc: The name of the VPC network to peer with the Cloud SQL private network.
  4993  	Vpc string `json:"vpc,omitempty"`
  4994  	// ForceSendFields is a list of field names (e.g. "Vpc") to unconditionally
  4995  	// include in API requests. By default, fields with empty or default values are
  4996  	// omitted from API requests. See
  4997  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4998  	// details.
  4999  	ForceSendFields []string `json:"-"`
  5000  	// NullFields is a list of field names (e.g. "Vpc") to include in API requests
  5001  	// with the JSON null value. By default, fields with empty values are omitted
  5002  	// from API requests. See
  5003  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5004  	NullFields []string `json:"-"`
  5005  }
  5006  
  5007  func (s *VpcPeeringConnectivity) MarshalJSON() ([]byte, error) {
  5008  	type NoMethod VpcPeeringConnectivity
  5009  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5010  }
  5011  
  5012  type ProjectsLocationsFetchStaticIpsCall struct {
  5013  	s            *Service
  5014  	name         string
  5015  	urlParams_   gensupport.URLParams
  5016  	ifNoneMatch_ string
  5017  	ctx_         context.Context
  5018  	header_      http.Header
  5019  }
  5020  
  5021  // FetchStaticIps: Fetches a set of static IP addresses that need to be
  5022  // allowlisted by the customer when using the static-IP connectivity method.
  5023  //
  5024  //   - name: The resource name for the location for which static IPs should be
  5025  //     returned. Must be in the format `projects/*/locations/*`.
  5026  func (r *ProjectsLocationsService) FetchStaticIps(name string) *ProjectsLocationsFetchStaticIpsCall {
  5027  	c := &ProjectsLocationsFetchStaticIpsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5028  	c.name = name
  5029  	return c
  5030  }
  5031  
  5032  // PageSize sets the optional parameter "pageSize": Maximum number of IPs to
  5033  // return.
  5034  func (c *ProjectsLocationsFetchStaticIpsCall) PageSize(pageSize int64) *ProjectsLocationsFetchStaticIpsCall {
  5035  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  5036  	return c
  5037  }
  5038  
  5039  // PageToken sets the optional parameter "pageToken": A page token, received
  5040  // from a previous `FetchStaticIps` call.
  5041  func (c *ProjectsLocationsFetchStaticIpsCall) PageToken(pageToken string) *ProjectsLocationsFetchStaticIpsCall {
  5042  	c.urlParams_.Set("pageToken", pageToken)
  5043  	return c
  5044  }
  5045  
  5046  // Fields allows partial responses to be retrieved. See
  5047  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5048  // details.
  5049  func (c *ProjectsLocationsFetchStaticIpsCall) Fields(s ...googleapi.Field) *ProjectsLocationsFetchStaticIpsCall {
  5050  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5051  	return c
  5052  }
  5053  
  5054  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5055  // object's ETag matches the given value. This is useful for getting updates
  5056  // only after the object has changed since the last request.
  5057  func (c *ProjectsLocationsFetchStaticIpsCall) IfNoneMatch(entityTag string) *ProjectsLocationsFetchStaticIpsCall {
  5058  	c.ifNoneMatch_ = entityTag
  5059  	return c
  5060  }
  5061  
  5062  // Context sets the context to be used in this call's Do method.
  5063  func (c *ProjectsLocationsFetchStaticIpsCall) Context(ctx context.Context) *ProjectsLocationsFetchStaticIpsCall {
  5064  	c.ctx_ = ctx
  5065  	return c
  5066  }
  5067  
  5068  // Header returns a http.Header that can be modified by the caller to add
  5069  // headers to the request.
  5070  func (c *ProjectsLocationsFetchStaticIpsCall) Header() http.Header {
  5071  	if c.header_ == nil {
  5072  		c.header_ = make(http.Header)
  5073  	}
  5074  	return c.header_
  5075  }
  5076  
  5077  func (c *ProjectsLocationsFetchStaticIpsCall) doRequest(alt string) (*http.Response, error) {
  5078  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5079  	if c.ifNoneMatch_ != "" {
  5080  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5081  	}
  5082  	var body io.Reader = nil
  5083  	c.urlParams_.Set("alt", alt)
  5084  	c.urlParams_.Set("prettyPrint", "false")
  5085  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:fetchStaticIps")
  5086  	urls += "?" + c.urlParams_.Encode()
  5087  	req, err := http.NewRequest("GET", urls, body)
  5088  	if err != nil {
  5089  		return nil, err
  5090  	}
  5091  	req.Header = reqHeaders
  5092  	googleapi.Expand(req.URL, map[string]string{
  5093  		"name": c.name,
  5094  	})
  5095  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5096  }
  5097  
  5098  // Do executes the "datamigration.projects.locations.fetchStaticIps" call.
  5099  // Any non-2xx status code is an error. Response headers are in either
  5100  // *FetchStaticIpsResponse.ServerResponse.Header or (if a response was returned
  5101  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  5102  // check whether the returned error was because http.StatusNotModified was
  5103  // returned.
  5104  func (c *ProjectsLocationsFetchStaticIpsCall) Do(opts ...googleapi.CallOption) (*FetchStaticIpsResponse, error) {
  5105  	gensupport.SetOptions(c.urlParams_, opts...)
  5106  	res, err := c.doRequest("json")
  5107  	if res != nil && res.StatusCode == http.StatusNotModified {
  5108  		if res.Body != nil {
  5109  			res.Body.Close()
  5110  		}
  5111  		return nil, gensupport.WrapError(&googleapi.Error{
  5112  			Code:   res.StatusCode,
  5113  			Header: res.Header,
  5114  		})
  5115  	}
  5116  	if err != nil {
  5117  		return nil, err
  5118  	}
  5119  	defer googleapi.CloseBody(res)
  5120  	if err := googleapi.CheckResponse(res); err != nil {
  5121  		return nil, gensupport.WrapError(err)
  5122  	}
  5123  	ret := &FetchStaticIpsResponse{
  5124  		ServerResponse: googleapi.ServerResponse{
  5125  			Header:         res.Header,
  5126  			HTTPStatusCode: res.StatusCode,
  5127  		},
  5128  	}
  5129  	target := &ret
  5130  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5131  		return nil, err
  5132  	}
  5133  	return ret, nil
  5134  }
  5135  
  5136  // Pages invokes f for each page of results.
  5137  // A non-nil error returned from f will halt the iteration.
  5138  // The provided context supersedes any context provided to the Context method.
  5139  func (c *ProjectsLocationsFetchStaticIpsCall) Pages(ctx context.Context, f func(*FetchStaticIpsResponse) error) error {
  5140  	c.ctx_ = ctx
  5141  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  5142  	for {
  5143  		x, err := c.Do()
  5144  		if err != nil {
  5145  			return err
  5146  		}
  5147  		if err := f(x); err != nil {
  5148  			return err
  5149  		}
  5150  		if x.NextPageToken == "" {
  5151  			return nil
  5152  		}
  5153  		c.PageToken(x.NextPageToken)
  5154  	}
  5155  }
  5156  
  5157  type ProjectsLocationsGetCall struct {
  5158  	s            *Service
  5159  	name         string
  5160  	urlParams_   gensupport.URLParams
  5161  	ifNoneMatch_ string
  5162  	ctx_         context.Context
  5163  	header_      http.Header
  5164  }
  5165  
  5166  // Get: Gets information about a location.
  5167  //
  5168  // - name: Resource name for the location.
  5169  func (r *ProjectsLocationsService) Get(name string) *ProjectsLocationsGetCall {
  5170  	c := &ProjectsLocationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5171  	c.name = name
  5172  	return c
  5173  }
  5174  
  5175  // Fields allows partial responses to be retrieved. See
  5176  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5177  // details.
  5178  func (c *ProjectsLocationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsGetCall {
  5179  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5180  	return c
  5181  }
  5182  
  5183  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5184  // object's ETag matches the given value. This is useful for getting updates
  5185  // only after the object has changed since the last request.
  5186  func (c *ProjectsLocationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsGetCall {
  5187  	c.ifNoneMatch_ = entityTag
  5188  	return c
  5189  }
  5190  
  5191  // Context sets the context to be used in this call's Do method.
  5192  func (c *ProjectsLocationsGetCall) Context(ctx context.Context) *ProjectsLocationsGetCall {
  5193  	c.ctx_ = ctx
  5194  	return c
  5195  }
  5196  
  5197  // Header returns a http.Header that can be modified by the caller to add
  5198  // headers to the request.
  5199  func (c *ProjectsLocationsGetCall) Header() http.Header {
  5200  	if c.header_ == nil {
  5201  		c.header_ = make(http.Header)
  5202  	}
  5203  	return c.header_
  5204  }
  5205  
  5206  func (c *ProjectsLocationsGetCall) doRequest(alt string) (*http.Response, error) {
  5207  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5208  	if c.ifNoneMatch_ != "" {
  5209  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5210  	}
  5211  	var body io.Reader = nil
  5212  	c.urlParams_.Set("alt", alt)
  5213  	c.urlParams_.Set("prettyPrint", "false")
  5214  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  5215  	urls += "?" + c.urlParams_.Encode()
  5216  	req, err := http.NewRequest("GET", urls, body)
  5217  	if err != nil {
  5218  		return nil, err
  5219  	}
  5220  	req.Header = reqHeaders
  5221  	googleapi.Expand(req.URL, map[string]string{
  5222  		"name": c.name,
  5223  	})
  5224  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5225  }
  5226  
  5227  // Do executes the "datamigration.projects.locations.get" call.
  5228  // Any non-2xx status code is an error. Response headers are in either
  5229  // *Location.ServerResponse.Header or (if a response was returned at all) in
  5230  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5231  // whether the returned error was because http.StatusNotModified was returned.
  5232  func (c *ProjectsLocationsGetCall) Do(opts ...googleapi.CallOption) (*Location, error) {
  5233  	gensupport.SetOptions(c.urlParams_, opts...)
  5234  	res, err := c.doRequest("json")
  5235  	if res != nil && res.StatusCode == http.StatusNotModified {
  5236  		if res.Body != nil {
  5237  			res.Body.Close()
  5238  		}
  5239  		return nil, gensupport.WrapError(&googleapi.Error{
  5240  			Code:   res.StatusCode,
  5241  			Header: res.Header,
  5242  		})
  5243  	}
  5244  	if err != nil {
  5245  		return nil, err
  5246  	}
  5247  	defer googleapi.CloseBody(res)
  5248  	if err := googleapi.CheckResponse(res); err != nil {
  5249  		return nil, gensupport.WrapError(err)
  5250  	}
  5251  	ret := &Location{
  5252  		ServerResponse: googleapi.ServerResponse{
  5253  			Header:         res.Header,
  5254  			HTTPStatusCode: res.StatusCode,
  5255  		},
  5256  	}
  5257  	target := &ret
  5258  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5259  		return nil, err
  5260  	}
  5261  	return ret, nil
  5262  }
  5263  
  5264  type ProjectsLocationsListCall struct {
  5265  	s            *Service
  5266  	name         string
  5267  	urlParams_   gensupport.URLParams
  5268  	ifNoneMatch_ string
  5269  	ctx_         context.Context
  5270  	header_      http.Header
  5271  }
  5272  
  5273  // List: Lists information about the supported locations for this service.
  5274  //
  5275  // - name: The resource that owns the locations collection, if applicable.
  5276  func (r *ProjectsLocationsService) List(name string) *ProjectsLocationsListCall {
  5277  	c := &ProjectsLocationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5278  	c.name = name
  5279  	return c
  5280  }
  5281  
  5282  // Filter sets the optional parameter "filter": A filter to narrow down results
  5283  // to a preferred subset. The filtering language accepts strings like
  5284  // "displayName=tokyo", and is documented in more detail in AIP-160
  5285  // (https://google.aip.dev/160).
  5286  func (c *ProjectsLocationsListCall) Filter(filter string) *ProjectsLocationsListCall {
  5287  	c.urlParams_.Set("filter", filter)
  5288  	return c
  5289  }
  5290  
  5291  // PageSize sets the optional parameter "pageSize": The maximum number of
  5292  // results to return. If not set, the service selects a default.
  5293  func (c *ProjectsLocationsListCall) PageSize(pageSize int64) *ProjectsLocationsListCall {
  5294  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  5295  	return c
  5296  }
  5297  
  5298  // PageToken sets the optional parameter "pageToken": A page token received
  5299  // from the `next_page_token` field in the response. Send that page token to
  5300  // receive the subsequent page.
  5301  func (c *ProjectsLocationsListCall) PageToken(pageToken string) *ProjectsLocationsListCall {
  5302  	c.urlParams_.Set("pageToken", pageToken)
  5303  	return c
  5304  }
  5305  
  5306  // Fields allows partial responses to be retrieved. See
  5307  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5308  // details.
  5309  func (c *ProjectsLocationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsListCall {
  5310  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5311  	return c
  5312  }
  5313  
  5314  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5315  // object's ETag matches the given value. This is useful for getting updates
  5316  // only after the object has changed since the last request.
  5317  func (c *ProjectsLocationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsListCall {
  5318  	c.ifNoneMatch_ = entityTag
  5319  	return c
  5320  }
  5321  
  5322  // Context sets the context to be used in this call's Do method.
  5323  func (c *ProjectsLocationsListCall) Context(ctx context.Context) *ProjectsLocationsListCall {
  5324  	c.ctx_ = ctx
  5325  	return c
  5326  }
  5327  
  5328  // Header returns a http.Header that can be modified by the caller to add
  5329  // headers to the request.
  5330  func (c *ProjectsLocationsListCall) Header() http.Header {
  5331  	if c.header_ == nil {
  5332  		c.header_ = make(http.Header)
  5333  	}
  5334  	return c.header_
  5335  }
  5336  
  5337  func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
  5338  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5339  	if c.ifNoneMatch_ != "" {
  5340  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5341  	}
  5342  	var body io.Reader = nil
  5343  	c.urlParams_.Set("alt", alt)
  5344  	c.urlParams_.Set("prettyPrint", "false")
  5345  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/locations")
  5346  	urls += "?" + c.urlParams_.Encode()
  5347  	req, err := http.NewRequest("GET", urls, body)
  5348  	if err != nil {
  5349  		return nil, err
  5350  	}
  5351  	req.Header = reqHeaders
  5352  	googleapi.Expand(req.URL, map[string]string{
  5353  		"name": c.name,
  5354  	})
  5355  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5356  }
  5357  
  5358  // Do executes the "datamigration.projects.locations.list" call.
  5359  // Any non-2xx status code is an error. Response headers are in either
  5360  // *ListLocationsResponse.ServerResponse.Header or (if a response was returned
  5361  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  5362  // check whether the returned error was because http.StatusNotModified was
  5363  // returned.
  5364  func (c *ProjectsLocationsListCall) Do(opts ...googleapi.CallOption) (*ListLocationsResponse, error) {
  5365  	gensupport.SetOptions(c.urlParams_, opts...)
  5366  	res, err := c.doRequest("json")
  5367  	if res != nil && res.StatusCode == http.StatusNotModified {
  5368  		if res.Body != nil {
  5369  			res.Body.Close()
  5370  		}
  5371  		return nil, gensupport.WrapError(&googleapi.Error{
  5372  			Code:   res.StatusCode,
  5373  			Header: res.Header,
  5374  		})
  5375  	}
  5376  	if err != nil {
  5377  		return nil, err
  5378  	}
  5379  	defer googleapi.CloseBody(res)
  5380  	if err := googleapi.CheckResponse(res); err != nil {
  5381  		return nil, gensupport.WrapError(err)
  5382  	}
  5383  	ret := &ListLocationsResponse{
  5384  		ServerResponse: googleapi.ServerResponse{
  5385  			Header:         res.Header,
  5386  			HTTPStatusCode: res.StatusCode,
  5387  		},
  5388  	}
  5389  	target := &ret
  5390  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5391  		return nil, err
  5392  	}
  5393  	return ret, nil
  5394  }
  5395  
  5396  // Pages invokes f for each page of results.
  5397  // A non-nil error returned from f will halt the iteration.
  5398  // The provided context supersedes any context provided to the Context method.
  5399  func (c *ProjectsLocationsListCall) Pages(ctx context.Context, f func(*ListLocationsResponse) error) error {
  5400  	c.ctx_ = ctx
  5401  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  5402  	for {
  5403  		x, err := c.Do()
  5404  		if err != nil {
  5405  			return err
  5406  		}
  5407  		if err := f(x); err != nil {
  5408  			return err
  5409  		}
  5410  		if x.NextPageToken == "" {
  5411  			return nil
  5412  		}
  5413  		c.PageToken(x.NextPageToken)
  5414  	}
  5415  }
  5416  
  5417  type ProjectsLocationsConnectionProfilesCreateCall struct {
  5418  	s                 *Service
  5419  	parent            string
  5420  	connectionprofile *ConnectionProfile
  5421  	urlParams_        gensupport.URLParams
  5422  	ctx_              context.Context
  5423  	header_           http.Header
  5424  }
  5425  
  5426  // Create: Creates a new connection profile in a given project and location.
  5427  //
  5428  // - parent: The parent which owns this collection of connection profiles.
  5429  func (r *ProjectsLocationsConnectionProfilesService) Create(parent string, connectionprofile *ConnectionProfile) *ProjectsLocationsConnectionProfilesCreateCall {
  5430  	c := &ProjectsLocationsConnectionProfilesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5431  	c.parent = parent
  5432  	c.connectionprofile = connectionprofile
  5433  	return c
  5434  }
  5435  
  5436  // ConnectionProfileId sets the optional parameter "connectionProfileId":
  5437  // Required. The connection profile identifier.
  5438  func (c *ProjectsLocationsConnectionProfilesCreateCall) ConnectionProfileId(connectionProfileId string) *ProjectsLocationsConnectionProfilesCreateCall {
  5439  	c.urlParams_.Set("connectionProfileId", connectionProfileId)
  5440  	return c
  5441  }
  5442  
  5443  // RequestId sets the optional parameter "requestId": A unique ID used to
  5444  // identify the request. If the server receives two requests with the same ID,
  5445  // then the second request is ignored. It is recommended to always set this
  5446  // value to a UUID. The ID must contain only letters (a-z, A-Z), numbers (0-9),
  5447  // underscores (_), and hyphens (-). The maximum length is 40 characters.
  5448  func (c *ProjectsLocationsConnectionProfilesCreateCall) RequestId(requestId string) *ProjectsLocationsConnectionProfilesCreateCall {
  5449  	c.urlParams_.Set("requestId", requestId)
  5450  	return c
  5451  }
  5452  
  5453  // SkipValidation sets the optional parameter "skipValidation": Create the
  5454  // connection profile without validating it. The default is false. Only
  5455  // supported for Oracle connection profiles.
  5456  func (c *ProjectsLocationsConnectionProfilesCreateCall) SkipValidation(skipValidation bool) *ProjectsLocationsConnectionProfilesCreateCall {
  5457  	c.urlParams_.Set("skipValidation", fmt.Sprint(skipValidation))
  5458  	return c
  5459  }
  5460  
  5461  // ValidateOnly sets the optional parameter "validateOnly": Only validate the
  5462  // connection profile, but don't create any resources. The default is false.
  5463  // Only supported for Oracle connection profiles.
  5464  func (c *ProjectsLocationsConnectionProfilesCreateCall) ValidateOnly(validateOnly bool) *ProjectsLocationsConnectionProfilesCreateCall {
  5465  	c.urlParams_.Set("validateOnly", fmt.Sprint(validateOnly))
  5466  	return c
  5467  }
  5468  
  5469  // Fields allows partial responses to be retrieved. See
  5470  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5471  // details.
  5472  func (c *ProjectsLocationsConnectionProfilesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsConnectionProfilesCreateCall {
  5473  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5474  	return c
  5475  }
  5476  
  5477  // Context sets the context to be used in this call's Do method.
  5478  func (c *ProjectsLocationsConnectionProfilesCreateCall) Context(ctx context.Context) *ProjectsLocationsConnectionProfilesCreateCall {
  5479  	c.ctx_ = ctx
  5480  	return c
  5481  }
  5482  
  5483  // Header returns a http.Header that can be modified by the caller to add
  5484  // headers to the request.
  5485  func (c *ProjectsLocationsConnectionProfilesCreateCall) Header() http.Header {
  5486  	if c.header_ == nil {
  5487  		c.header_ = make(http.Header)
  5488  	}
  5489  	return c.header_
  5490  }
  5491  
  5492  func (c *ProjectsLocationsConnectionProfilesCreateCall) doRequest(alt string) (*http.Response, error) {
  5493  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  5494  	var body io.Reader = nil
  5495  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.connectionprofile)
  5496  	if err != nil {
  5497  		return nil, err
  5498  	}
  5499  	c.urlParams_.Set("alt", alt)
  5500  	c.urlParams_.Set("prettyPrint", "false")
  5501  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/connectionProfiles")
  5502  	urls += "?" + c.urlParams_.Encode()
  5503  	req, err := http.NewRequest("POST", urls, body)
  5504  	if err != nil {
  5505  		return nil, err
  5506  	}
  5507  	req.Header = reqHeaders
  5508  	googleapi.Expand(req.URL, map[string]string{
  5509  		"parent": c.parent,
  5510  	})
  5511  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5512  }
  5513  
  5514  // Do executes the "datamigration.projects.locations.connectionProfiles.create" call.
  5515  // Any non-2xx status code is an error. Response headers are in either
  5516  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  5517  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5518  // whether the returned error was because http.StatusNotModified was returned.
  5519  func (c *ProjectsLocationsConnectionProfilesCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  5520  	gensupport.SetOptions(c.urlParams_, opts...)
  5521  	res, err := c.doRequest("json")
  5522  	if res != nil && res.StatusCode == http.StatusNotModified {
  5523  		if res.Body != nil {
  5524  			res.Body.Close()
  5525  		}
  5526  		return nil, gensupport.WrapError(&googleapi.Error{
  5527  			Code:   res.StatusCode,
  5528  			Header: res.Header,
  5529  		})
  5530  	}
  5531  	if err != nil {
  5532  		return nil, err
  5533  	}
  5534  	defer googleapi.CloseBody(res)
  5535  	if err := googleapi.CheckResponse(res); err != nil {
  5536  		return nil, gensupport.WrapError(err)
  5537  	}
  5538  	ret := &Operation{
  5539  		ServerResponse: googleapi.ServerResponse{
  5540  			Header:         res.Header,
  5541  			HTTPStatusCode: res.StatusCode,
  5542  		},
  5543  	}
  5544  	target := &ret
  5545  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5546  		return nil, err
  5547  	}
  5548  	return ret, nil
  5549  }
  5550  
  5551  type ProjectsLocationsConnectionProfilesDeleteCall struct {
  5552  	s          *Service
  5553  	name       string
  5554  	urlParams_ gensupport.URLParams
  5555  	ctx_       context.Context
  5556  	header_    http.Header
  5557  }
  5558  
  5559  // Delete: Deletes a single Database Migration Service connection profile. A
  5560  // connection profile can only be deleted if it is not in use by any active
  5561  // migration jobs.
  5562  //
  5563  // - name: Name of the connection profile resource to delete.
  5564  func (r *ProjectsLocationsConnectionProfilesService) Delete(name string) *ProjectsLocationsConnectionProfilesDeleteCall {
  5565  	c := &ProjectsLocationsConnectionProfilesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5566  	c.name = name
  5567  	return c
  5568  }
  5569  
  5570  // Force sets the optional parameter "force": In case of force delete, the
  5571  // CloudSQL replica database is also deleted (only for CloudSQL connection
  5572  // profile).
  5573  func (c *ProjectsLocationsConnectionProfilesDeleteCall) Force(force bool) *ProjectsLocationsConnectionProfilesDeleteCall {
  5574  	c.urlParams_.Set("force", fmt.Sprint(force))
  5575  	return c
  5576  }
  5577  
  5578  // RequestId sets the optional parameter "requestId": A unique ID used to
  5579  // identify the request. If the server receives two requests with the same ID,
  5580  // then the second request is ignored. It is recommended to always set this
  5581  // value to a UUID. The ID must contain only letters (a-z, A-Z), numbers (0-9),
  5582  // underscores (_), and hyphens (-). The maximum length is 40 characters.
  5583  func (c *ProjectsLocationsConnectionProfilesDeleteCall) RequestId(requestId string) *ProjectsLocationsConnectionProfilesDeleteCall {
  5584  	c.urlParams_.Set("requestId", requestId)
  5585  	return c
  5586  }
  5587  
  5588  // Fields allows partial responses to be retrieved. See
  5589  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5590  // details.
  5591  func (c *ProjectsLocationsConnectionProfilesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsConnectionProfilesDeleteCall {
  5592  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5593  	return c
  5594  }
  5595  
  5596  // Context sets the context to be used in this call's Do method.
  5597  func (c *ProjectsLocationsConnectionProfilesDeleteCall) Context(ctx context.Context) *ProjectsLocationsConnectionProfilesDeleteCall {
  5598  	c.ctx_ = ctx
  5599  	return c
  5600  }
  5601  
  5602  // Header returns a http.Header that can be modified by the caller to add
  5603  // headers to the request.
  5604  func (c *ProjectsLocationsConnectionProfilesDeleteCall) Header() http.Header {
  5605  	if c.header_ == nil {
  5606  		c.header_ = make(http.Header)
  5607  	}
  5608  	return c.header_
  5609  }
  5610  
  5611  func (c *ProjectsLocationsConnectionProfilesDeleteCall) doRequest(alt string) (*http.Response, error) {
  5612  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5613  	var body io.Reader = nil
  5614  	c.urlParams_.Set("alt", alt)
  5615  	c.urlParams_.Set("prettyPrint", "false")
  5616  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  5617  	urls += "?" + c.urlParams_.Encode()
  5618  	req, err := http.NewRequest("DELETE", urls, body)
  5619  	if err != nil {
  5620  		return nil, err
  5621  	}
  5622  	req.Header = reqHeaders
  5623  	googleapi.Expand(req.URL, map[string]string{
  5624  		"name": c.name,
  5625  	})
  5626  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5627  }
  5628  
  5629  // Do executes the "datamigration.projects.locations.connectionProfiles.delete" call.
  5630  // Any non-2xx status code is an error. Response headers are in either
  5631  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  5632  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5633  // whether the returned error was because http.StatusNotModified was returned.
  5634  func (c *ProjectsLocationsConnectionProfilesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  5635  	gensupport.SetOptions(c.urlParams_, opts...)
  5636  	res, err := c.doRequest("json")
  5637  	if res != nil && res.StatusCode == http.StatusNotModified {
  5638  		if res.Body != nil {
  5639  			res.Body.Close()
  5640  		}
  5641  		return nil, gensupport.WrapError(&googleapi.Error{
  5642  			Code:   res.StatusCode,
  5643  			Header: res.Header,
  5644  		})
  5645  	}
  5646  	if err != nil {
  5647  		return nil, err
  5648  	}
  5649  	defer googleapi.CloseBody(res)
  5650  	if err := googleapi.CheckResponse(res); err != nil {
  5651  		return nil, gensupport.WrapError(err)
  5652  	}
  5653  	ret := &Operation{
  5654  		ServerResponse: googleapi.ServerResponse{
  5655  			Header:         res.Header,
  5656  			HTTPStatusCode: res.StatusCode,
  5657  		},
  5658  	}
  5659  	target := &ret
  5660  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5661  		return nil, err
  5662  	}
  5663  	return ret, nil
  5664  }
  5665  
  5666  type ProjectsLocationsConnectionProfilesGetCall struct {
  5667  	s            *Service
  5668  	name         string
  5669  	urlParams_   gensupport.URLParams
  5670  	ifNoneMatch_ string
  5671  	ctx_         context.Context
  5672  	header_      http.Header
  5673  }
  5674  
  5675  // Get: Gets details of a single connection profile.
  5676  //
  5677  // - name: Name of the connection profile resource to get.
  5678  func (r *ProjectsLocationsConnectionProfilesService) Get(name string) *ProjectsLocationsConnectionProfilesGetCall {
  5679  	c := &ProjectsLocationsConnectionProfilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5680  	c.name = name
  5681  	return c
  5682  }
  5683  
  5684  // Fields allows partial responses to be retrieved. See
  5685  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5686  // details.
  5687  func (c *ProjectsLocationsConnectionProfilesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsConnectionProfilesGetCall {
  5688  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5689  	return c
  5690  }
  5691  
  5692  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5693  // object's ETag matches the given value. This is useful for getting updates
  5694  // only after the object has changed since the last request.
  5695  func (c *ProjectsLocationsConnectionProfilesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsConnectionProfilesGetCall {
  5696  	c.ifNoneMatch_ = entityTag
  5697  	return c
  5698  }
  5699  
  5700  // Context sets the context to be used in this call's Do method.
  5701  func (c *ProjectsLocationsConnectionProfilesGetCall) Context(ctx context.Context) *ProjectsLocationsConnectionProfilesGetCall {
  5702  	c.ctx_ = ctx
  5703  	return c
  5704  }
  5705  
  5706  // Header returns a http.Header that can be modified by the caller to add
  5707  // headers to the request.
  5708  func (c *ProjectsLocationsConnectionProfilesGetCall) Header() http.Header {
  5709  	if c.header_ == nil {
  5710  		c.header_ = make(http.Header)
  5711  	}
  5712  	return c.header_
  5713  }
  5714  
  5715  func (c *ProjectsLocationsConnectionProfilesGetCall) doRequest(alt string) (*http.Response, error) {
  5716  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5717  	if c.ifNoneMatch_ != "" {
  5718  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5719  	}
  5720  	var body io.Reader = nil
  5721  	c.urlParams_.Set("alt", alt)
  5722  	c.urlParams_.Set("prettyPrint", "false")
  5723  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  5724  	urls += "?" + c.urlParams_.Encode()
  5725  	req, err := http.NewRequest("GET", urls, body)
  5726  	if err != nil {
  5727  		return nil, err
  5728  	}
  5729  	req.Header = reqHeaders
  5730  	googleapi.Expand(req.URL, map[string]string{
  5731  		"name": c.name,
  5732  	})
  5733  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5734  }
  5735  
  5736  // Do executes the "datamigration.projects.locations.connectionProfiles.get" call.
  5737  // Any non-2xx status code is an error. Response headers are in either
  5738  // *ConnectionProfile.ServerResponse.Header or (if a response was returned at
  5739  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  5740  // check whether the returned error was because http.StatusNotModified was
  5741  // returned.
  5742  func (c *ProjectsLocationsConnectionProfilesGetCall) Do(opts ...googleapi.CallOption) (*ConnectionProfile, error) {
  5743  	gensupport.SetOptions(c.urlParams_, opts...)
  5744  	res, err := c.doRequest("json")
  5745  	if res != nil && res.StatusCode == http.StatusNotModified {
  5746  		if res.Body != nil {
  5747  			res.Body.Close()
  5748  		}
  5749  		return nil, gensupport.WrapError(&googleapi.Error{
  5750  			Code:   res.StatusCode,
  5751  			Header: res.Header,
  5752  		})
  5753  	}
  5754  	if err != nil {
  5755  		return nil, err
  5756  	}
  5757  	defer googleapi.CloseBody(res)
  5758  	if err := googleapi.CheckResponse(res); err != nil {
  5759  		return nil, gensupport.WrapError(err)
  5760  	}
  5761  	ret := &ConnectionProfile{
  5762  		ServerResponse: googleapi.ServerResponse{
  5763  			Header:         res.Header,
  5764  			HTTPStatusCode: res.StatusCode,
  5765  		},
  5766  	}
  5767  	target := &ret
  5768  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5769  		return nil, err
  5770  	}
  5771  	return ret, nil
  5772  }
  5773  
  5774  type ProjectsLocationsConnectionProfilesGetIamPolicyCall struct {
  5775  	s            *Service
  5776  	resource     string
  5777  	urlParams_   gensupport.URLParams
  5778  	ifNoneMatch_ string
  5779  	ctx_         context.Context
  5780  	header_      http.Header
  5781  }
  5782  
  5783  // GetIamPolicy: Gets the access control policy for a resource. Returns an
  5784  // empty policy if the resource exists and does not have a policy set.
  5785  //
  5786  //   - resource: REQUIRED: The resource for which the policy is being requested.
  5787  //     See Resource names (https://cloud.google.com/apis/design/resource_names)
  5788  //     for the appropriate value for this field.
  5789  func (r *ProjectsLocationsConnectionProfilesService) GetIamPolicy(resource string) *ProjectsLocationsConnectionProfilesGetIamPolicyCall {
  5790  	c := &ProjectsLocationsConnectionProfilesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5791  	c.resource = resource
  5792  	return c
  5793  }
  5794  
  5795  // OptionsRequestedPolicyVersion sets the optional parameter
  5796  // "options.requestedPolicyVersion": The maximum policy version that will be
  5797  // used to format the policy. Valid values are 0, 1, and 3. Requests specifying
  5798  // an invalid value will be rejected. Requests for policies with any
  5799  // conditional role bindings must specify version 3. Policies with no
  5800  // conditional role bindings may specify any valid value or leave the field
  5801  // unset. The policy in the response might use the policy version that you
  5802  // specified, or it might use a lower policy version. For example, if you
  5803  // specify version 3, but the policy has no conditional role bindings, the
  5804  // response uses version 1. To learn which resources support conditions in
  5805  // their IAM policies, see the IAM documentation
  5806  // (https://cloud.google.com/iam/help/conditions/resource-policies).
  5807  func (c *ProjectsLocationsConnectionProfilesGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsConnectionProfilesGetIamPolicyCall {
  5808  	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
  5809  	return c
  5810  }
  5811  
  5812  // Fields allows partial responses to be retrieved. See
  5813  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5814  // details.
  5815  func (c *ProjectsLocationsConnectionProfilesGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsConnectionProfilesGetIamPolicyCall {
  5816  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5817  	return c
  5818  }
  5819  
  5820  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5821  // object's ETag matches the given value. This is useful for getting updates
  5822  // only after the object has changed since the last request.
  5823  func (c *ProjectsLocationsConnectionProfilesGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsLocationsConnectionProfilesGetIamPolicyCall {
  5824  	c.ifNoneMatch_ = entityTag
  5825  	return c
  5826  }
  5827  
  5828  // Context sets the context to be used in this call's Do method.
  5829  func (c *ProjectsLocationsConnectionProfilesGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsConnectionProfilesGetIamPolicyCall {
  5830  	c.ctx_ = ctx
  5831  	return c
  5832  }
  5833  
  5834  // Header returns a http.Header that can be modified by the caller to add
  5835  // headers to the request.
  5836  func (c *ProjectsLocationsConnectionProfilesGetIamPolicyCall) Header() http.Header {
  5837  	if c.header_ == nil {
  5838  		c.header_ = make(http.Header)
  5839  	}
  5840  	return c.header_
  5841  }
  5842  
  5843  func (c *ProjectsLocationsConnectionProfilesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
  5844  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5845  	if c.ifNoneMatch_ != "" {
  5846  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5847  	}
  5848  	var body io.Reader = nil
  5849  	c.urlParams_.Set("alt", alt)
  5850  	c.urlParams_.Set("prettyPrint", "false")
  5851  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:getIamPolicy")
  5852  	urls += "?" + c.urlParams_.Encode()
  5853  	req, err := http.NewRequest("GET", urls, body)
  5854  	if err != nil {
  5855  		return nil, err
  5856  	}
  5857  	req.Header = reqHeaders
  5858  	googleapi.Expand(req.URL, map[string]string{
  5859  		"resource": c.resource,
  5860  	})
  5861  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5862  }
  5863  
  5864  // Do executes the "datamigration.projects.locations.connectionProfiles.getIamPolicy" call.
  5865  // Any non-2xx status code is an error. Response headers are in either
  5866  // *Policy.ServerResponse.Header or (if a response was returned at all) in
  5867  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  5868  // whether the returned error was because http.StatusNotModified was returned.
  5869  func (c *ProjectsLocationsConnectionProfilesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
  5870  	gensupport.SetOptions(c.urlParams_, opts...)
  5871  	res, err := c.doRequest("json")
  5872  	if res != nil && res.StatusCode == http.StatusNotModified {
  5873  		if res.Body != nil {
  5874  			res.Body.Close()
  5875  		}
  5876  		return nil, gensupport.WrapError(&googleapi.Error{
  5877  			Code:   res.StatusCode,
  5878  			Header: res.Header,
  5879  		})
  5880  	}
  5881  	if err != nil {
  5882  		return nil, err
  5883  	}
  5884  	defer googleapi.CloseBody(res)
  5885  	if err := googleapi.CheckResponse(res); err != nil {
  5886  		return nil, gensupport.WrapError(err)
  5887  	}
  5888  	ret := &Policy{
  5889  		ServerResponse: googleapi.ServerResponse{
  5890  			Header:         res.Header,
  5891  			HTTPStatusCode: res.StatusCode,
  5892  		},
  5893  	}
  5894  	target := &ret
  5895  	if err := gensupport.DecodeResponse(target, res); err != nil {
  5896  		return nil, err
  5897  	}
  5898  	return ret, nil
  5899  }
  5900  
  5901  type ProjectsLocationsConnectionProfilesListCall struct {
  5902  	s            *Service
  5903  	parent       string
  5904  	urlParams_   gensupport.URLParams
  5905  	ifNoneMatch_ string
  5906  	ctx_         context.Context
  5907  	header_      http.Header
  5908  }
  5909  
  5910  // List: Retrieves a list of all connection profiles in a given project and
  5911  // location.
  5912  //
  5913  // - parent: The parent which owns this collection of connection profiles.
  5914  func (r *ProjectsLocationsConnectionProfilesService) List(parent string) *ProjectsLocationsConnectionProfilesListCall {
  5915  	c := &ProjectsLocationsConnectionProfilesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5916  	c.parent = parent
  5917  	return c
  5918  }
  5919  
  5920  // Filter sets the optional parameter "filter": A filter expression that
  5921  // filters connection profiles listed in the response. The expression must
  5922  // specify the field name, a comparison operator, and the value that you want
  5923  // to use for filtering. The value must be a string, a number, or a boolean.
  5924  // The comparison operator must be either =, !=, >, or <. For example, list
  5925  // connection profiles created this year by specifying **createTime %gt;
  5926  // 2020-01-01T00:00:00.000000000Z**. You can also filter nested fields. For
  5927  // example, you could specify **mySql.username = %lt;my_username%gt;** to list
  5928  // all connection profiles configured to connect with a specific username.
  5929  func (c *ProjectsLocationsConnectionProfilesListCall) Filter(filter string) *ProjectsLocationsConnectionProfilesListCall {
  5930  	c.urlParams_.Set("filter", filter)
  5931  	return c
  5932  }
  5933  
  5934  // OrderBy sets the optional parameter "orderBy": A comma-separated list of
  5935  // fields to order results according to.
  5936  func (c *ProjectsLocationsConnectionProfilesListCall) OrderBy(orderBy string) *ProjectsLocationsConnectionProfilesListCall {
  5937  	c.urlParams_.Set("orderBy", orderBy)
  5938  	return c
  5939  }
  5940  
  5941  // PageSize sets the optional parameter "pageSize": The maximum number of
  5942  // connection profiles to return. The service may return fewer than this value.
  5943  // If unspecified, at most 50 connection profiles will be returned. The maximum
  5944  // value is 1000; values above 1000 are coerced to 1000.
  5945  func (c *ProjectsLocationsConnectionProfilesListCall) PageSize(pageSize int64) *ProjectsLocationsConnectionProfilesListCall {
  5946  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  5947  	return c
  5948  }
  5949  
  5950  // PageToken sets the optional parameter "pageToken": A page token, received
  5951  // from a previous `ListConnectionProfiles` call. Provide this to retrieve the
  5952  // subsequent page. When paginating, all other parameters provided to
  5953  // `ListConnectionProfiles` must match the call that provided the page token.
  5954  func (c *ProjectsLocationsConnectionProfilesListCall) PageToken(pageToken string) *ProjectsLocationsConnectionProfilesListCall {
  5955  	c.urlParams_.Set("pageToken", pageToken)
  5956  	return c
  5957  }
  5958  
  5959  // Fields allows partial responses to be retrieved. See
  5960  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5961  // details.
  5962  func (c *ProjectsLocationsConnectionProfilesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsConnectionProfilesListCall {
  5963  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5964  	return c
  5965  }
  5966  
  5967  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  5968  // object's ETag matches the given value. This is useful for getting updates
  5969  // only after the object has changed since the last request.
  5970  func (c *ProjectsLocationsConnectionProfilesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsConnectionProfilesListCall {
  5971  	c.ifNoneMatch_ = entityTag
  5972  	return c
  5973  }
  5974  
  5975  // Context sets the context to be used in this call's Do method.
  5976  func (c *ProjectsLocationsConnectionProfilesListCall) Context(ctx context.Context) *ProjectsLocationsConnectionProfilesListCall {
  5977  	c.ctx_ = ctx
  5978  	return c
  5979  }
  5980  
  5981  // Header returns a http.Header that can be modified by the caller to add
  5982  // headers to the request.
  5983  func (c *ProjectsLocationsConnectionProfilesListCall) Header() http.Header {
  5984  	if c.header_ == nil {
  5985  		c.header_ = make(http.Header)
  5986  	}
  5987  	return c.header_
  5988  }
  5989  
  5990  func (c *ProjectsLocationsConnectionProfilesListCall) doRequest(alt string) (*http.Response, error) {
  5991  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  5992  	if c.ifNoneMatch_ != "" {
  5993  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  5994  	}
  5995  	var body io.Reader = nil
  5996  	c.urlParams_.Set("alt", alt)
  5997  	c.urlParams_.Set("prettyPrint", "false")
  5998  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/connectionProfiles")
  5999  	urls += "?" + c.urlParams_.Encode()
  6000  	req, err := http.NewRequest("GET", urls, body)
  6001  	if err != nil {
  6002  		return nil, err
  6003  	}
  6004  	req.Header = reqHeaders
  6005  	googleapi.Expand(req.URL, map[string]string{
  6006  		"parent": c.parent,
  6007  	})
  6008  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6009  }
  6010  
  6011  // Do executes the "datamigration.projects.locations.connectionProfiles.list" call.
  6012  // Any non-2xx status code is an error. Response headers are in either
  6013  // *ListConnectionProfilesResponse.ServerResponse.Header or (if a response was
  6014  // returned at all) in error.(*googleapi.Error).Header. Use
  6015  // googleapi.IsNotModified to check whether the returned error was because
  6016  // http.StatusNotModified was returned.
  6017  func (c *ProjectsLocationsConnectionProfilesListCall) Do(opts ...googleapi.CallOption) (*ListConnectionProfilesResponse, error) {
  6018  	gensupport.SetOptions(c.urlParams_, opts...)
  6019  	res, err := c.doRequest("json")
  6020  	if res != nil && res.StatusCode == http.StatusNotModified {
  6021  		if res.Body != nil {
  6022  			res.Body.Close()
  6023  		}
  6024  		return nil, gensupport.WrapError(&googleapi.Error{
  6025  			Code:   res.StatusCode,
  6026  			Header: res.Header,
  6027  		})
  6028  	}
  6029  	if err != nil {
  6030  		return nil, err
  6031  	}
  6032  	defer googleapi.CloseBody(res)
  6033  	if err := googleapi.CheckResponse(res); err != nil {
  6034  		return nil, gensupport.WrapError(err)
  6035  	}
  6036  	ret := &ListConnectionProfilesResponse{
  6037  		ServerResponse: googleapi.ServerResponse{
  6038  			Header:         res.Header,
  6039  			HTTPStatusCode: res.StatusCode,
  6040  		},
  6041  	}
  6042  	target := &ret
  6043  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6044  		return nil, err
  6045  	}
  6046  	return ret, nil
  6047  }
  6048  
  6049  // Pages invokes f for each page of results.
  6050  // A non-nil error returned from f will halt the iteration.
  6051  // The provided context supersedes any context provided to the Context method.
  6052  func (c *ProjectsLocationsConnectionProfilesListCall) Pages(ctx context.Context, f func(*ListConnectionProfilesResponse) error) error {
  6053  	c.ctx_ = ctx
  6054  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  6055  	for {
  6056  		x, err := c.Do()
  6057  		if err != nil {
  6058  			return err
  6059  		}
  6060  		if err := f(x); err != nil {
  6061  			return err
  6062  		}
  6063  		if x.NextPageToken == "" {
  6064  			return nil
  6065  		}
  6066  		c.PageToken(x.NextPageToken)
  6067  	}
  6068  }
  6069  
  6070  type ProjectsLocationsConnectionProfilesPatchCall struct {
  6071  	s                 *Service
  6072  	name              string
  6073  	connectionprofile *ConnectionProfile
  6074  	urlParams_        gensupport.URLParams
  6075  	ctx_              context.Context
  6076  	header_           http.Header
  6077  }
  6078  
  6079  // Patch: Update the configuration of a single connection profile.
  6080  //
  6081  //   - name: The name of this connection profile resource in the form of
  6082  //     projects/{project}/locations/{location}/connectionProfiles/{connectionProfi
  6083  //     le}.
  6084  func (r *ProjectsLocationsConnectionProfilesService) Patch(name string, connectionprofile *ConnectionProfile) *ProjectsLocationsConnectionProfilesPatchCall {
  6085  	c := &ProjectsLocationsConnectionProfilesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6086  	c.name = name
  6087  	c.connectionprofile = connectionprofile
  6088  	return c
  6089  }
  6090  
  6091  // RequestId sets the optional parameter "requestId": A unique ID used to
  6092  // identify the request. If the server receives two requests with the same ID,
  6093  // then the second request is ignored. It is recommended to always set this
  6094  // value to a UUID. The ID must contain only letters (a-z, A-Z), numbers (0-9),
  6095  // underscores (_), and hyphens (-). The maximum length is 40 characters.
  6096  func (c *ProjectsLocationsConnectionProfilesPatchCall) RequestId(requestId string) *ProjectsLocationsConnectionProfilesPatchCall {
  6097  	c.urlParams_.Set("requestId", requestId)
  6098  	return c
  6099  }
  6100  
  6101  // SkipValidation sets the optional parameter "skipValidation": Update the
  6102  // connection profile without validating it. The default is false. Only
  6103  // supported for Oracle connection profiles.
  6104  func (c *ProjectsLocationsConnectionProfilesPatchCall) SkipValidation(skipValidation bool) *ProjectsLocationsConnectionProfilesPatchCall {
  6105  	c.urlParams_.Set("skipValidation", fmt.Sprint(skipValidation))
  6106  	return c
  6107  }
  6108  
  6109  // UpdateMask sets the optional parameter "updateMask": Required. Field mask is
  6110  // used to specify the fields to be overwritten by the update in the conversion
  6111  // workspace resource.
  6112  func (c *ProjectsLocationsConnectionProfilesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsConnectionProfilesPatchCall {
  6113  	c.urlParams_.Set("updateMask", updateMask)
  6114  	return c
  6115  }
  6116  
  6117  // ValidateOnly sets the optional parameter "validateOnly": Only validate the
  6118  // connection profile, but don't update any resources. The default is false.
  6119  // Only supported for Oracle connection profiles.
  6120  func (c *ProjectsLocationsConnectionProfilesPatchCall) ValidateOnly(validateOnly bool) *ProjectsLocationsConnectionProfilesPatchCall {
  6121  	c.urlParams_.Set("validateOnly", fmt.Sprint(validateOnly))
  6122  	return c
  6123  }
  6124  
  6125  // Fields allows partial responses to be retrieved. See
  6126  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6127  // details.
  6128  func (c *ProjectsLocationsConnectionProfilesPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsConnectionProfilesPatchCall {
  6129  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6130  	return c
  6131  }
  6132  
  6133  // Context sets the context to be used in this call's Do method.
  6134  func (c *ProjectsLocationsConnectionProfilesPatchCall) Context(ctx context.Context) *ProjectsLocationsConnectionProfilesPatchCall {
  6135  	c.ctx_ = ctx
  6136  	return c
  6137  }
  6138  
  6139  // Header returns a http.Header that can be modified by the caller to add
  6140  // headers to the request.
  6141  func (c *ProjectsLocationsConnectionProfilesPatchCall) Header() http.Header {
  6142  	if c.header_ == nil {
  6143  		c.header_ = make(http.Header)
  6144  	}
  6145  	return c.header_
  6146  }
  6147  
  6148  func (c *ProjectsLocationsConnectionProfilesPatchCall) doRequest(alt string) (*http.Response, error) {
  6149  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6150  	var body io.Reader = nil
  6151  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.connectionprofile)
  6152  	if err != nil {
  6153  		return nil, err
  6154  	}
  6155  	c.urlParams_.Set("alt", alt)
  6156  	c.urlParams_.Set("prettyPrint", "false")
  6157  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  6158  	urls += "?" + c.urlParams_.Encode()
  6159  	req, err := http.NewRequest("PATCH", urls, body)
  6160  	if err != nil {
  6161  		return nil, err
  6162  	}
  6163  	req.Header = reqHeaders
  6164  	googleapi.Expand(req.URL, map[string]string{
  6165  		"name": c.name,
  6166  	})
  6167  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6168  }
  6169  
  6170  // Do executes the "datamigration.projects.locations.connectionProfiles.patch" call.
  6171  // Any non-2xx status code is an error. Response headers are in either
  6172  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  6173  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6174  // whether the returned error was because http.StatusNotModified was returned.
  6175  func (c *ProjectsLocationsConnectionProfilesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  6176  	gensupport.SetOptions(c.urlParams_, opts...)
  6177  	res, err := c.doRequest("json")
  6178  	if res != nil && res.StatusCode == http.StatusNotModified {
  6179  		if res.Body != nil {
  6180  			res.Body.Close()
  6181  		}
  6182  		return nil, gensupport.WrapError(&googleapi.Error{
  6183  			Code:   res.StatusCode,
  6184  			Header: res.Header,
  6185  		})
  6186  	}
  6187  	if err != nil {
  6188  		return nil, err
  6189  	}
  6190  	defer googleapi.CloseBody(res)
  6191  	if err := googleapi.CheckResponse(res); err != nil {
  6192  		return nil, gensupport.WrapError(err)
  6193  	}
  6194  	ret := &Operation{
  6195  		ServerResponse: googleapi.ServerResponse{
  6196  			Header:         res.Header,
  6197  			HTTPStatusCode: res.StatusCode,
  6198  		},
  6199  	}
  6200  	target := &ret
  6201  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6202  		return nil, err
  6203  	}
  6204  	return ret, nil
  6205  }
  6206  
  6207  type ProjectsLocationsConnectionProfilesSetIamPolicyCall struct {
  6208  	s                   *Service
  6209  	resource            string
  6210  	setiampolicyrequest *SetIamPolicyRequest
  6211  	urlParams_          gensupport.URLParams
  6212  	ctx_                context.Context
  6213  	header_             http.Header
  6214  }
  6215  
  6216  // SetIamPolicy: Sets the access control policy on the specified resource.
  6217  // Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`,
  6218  // and `PERMISSION_DENIED` errors.
  6219  //
  6220  //   - resource: REQUIRED: The resource for which the policy is being specified.
  6221  //     See Resource names (https://cloud.google.com/apis/design/resource_names)
  6222  //     for the appropriate value for this field.
  6223  func (r *ProjectsLocationsConnectionProfilesService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsConnectionProfilesSetIamPolicyCall {
  6224  	c := &ProjectsLocationsConnectionProfilesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6225  	c.resource = resource
  6226  	c.setiampolicyrequest = setiampolicyrequest
  6227  	return c
  6228  }
  6229  
  6230  // Fields allows partial responses to be retrieved. See
  6231  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6232  // details.
  6233  func (c *ProjectsLocationsConnectionProfilesSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsConnectionProfilesSetIamPolicyCall {
  6234  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6235  	return c
  6236  }
  6237  
  6238  // Context sets the context to be used in this call's Do method.
  6239  func (c *ProjectsLocationsConnectionProfilesSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsConnectionProfilesSetIamPolicyCall {
  6240  	c.ctx_ = ctx
  6241  	return c
  6242  }
  6243  
  6244  // Header returns a http.Header that can be modified by the caller to add
  6245  // headers to the request.
  6246  func (c *ProjectsLocationsConnectionProfilesSetIamPolicyCall) Header() http.Header {
  6247  	if c.header_ == nil {
  6248  		c.header_ = make(http.Header)
  6249  	}
  6250  	return c.header_
  6251  }
  6252  
  6253  func (c *ProjectsLocationsConnectionProfilesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
  6254  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6255  	var body io.Reader = nil
  6256  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
  6257  	if err != nil {
  6258  		return nil, err
  6259  	}
  6260  	c.urlParams_.Set("alt", alt)
  6261  	c.urlParams_.Set("prettyPrint", "false")
  6262  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:setIamPolicy")
  6263  	urls += "?" + c.urlParams_.Encode()
  6264  	req, err := http.NewRequest("POST", urls, body)
  6265  	if err != nil {
  6266  		return nil, err
  6267  	}
  6268  	req.Header = reqHeaders
  6269  	googleapi.Expand(req.URL, map[string]string{
  6270  		"resource": c.resource,
  6271  	})
  6272  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6273  }
  6274  
  6275  // Do executes the "datamigration.projects.locations.connectionProfiles.setIamPolicy" call.
  6276  // Any non-2xx status code is an error. Response headers are in either
  6277  // *Policy.ServerResponse.Header or (if a response was returned at all) in
  6278  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6279  // whether the returned error was because http.StatusNotModified was returned.
  6280  func (c *ProjectsLocationsConnectionProfilesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
  6281  	gensupport.SetOptions(c.urlParams_, opts...)
  6282  	res, err := c.doRequest("json")
  6283  	if res != nil && res.StatusCode == http.StatusNotModified {
  6284  		if res.Body != nil {
  6285  			res.Body.Close()
  6286  		}
  6287  		return nil, gensupport.WrapError(&googleapi.Error{
  6288  			Code:   res.StatusCode,
  6289  			Header: res.Header,
  6290  		})
  6291  	}
  6292  	if err != nil {
  6293  		return nil, err
  6294  	}
  6295  	defer googleapi.CloseBody(res)
  6296  	if err := googleapi.CheckResponse(res); err != nil {
  6297  		return nil, gensupport.WrapError(err)
  6298  	}
  6299  	ret := &Policy{
  6300  		ServerResponse: googleapi.ServerResponse{
  6301  			Header:         res.Header,
  6302  			HTTPStatusCode: res.StatusCode,
  6303  		},
  6304  	}
  6305  	target := &ret
  6306  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6307  		return nil, err
  6308  	}
  6309  	return ret, nil
  6310  }
  6311  
  6312  type ProjectsLocationsConnectionProfilesTestIamPermissionsCall struct {
  6313  	s                         *Service
  6314  	resource                  string
  6315  	testiampermissionsrequest *TestIamPermissionsRequest
  6316  	urlParams_                gensupport.URLParams
  6317  	ctx_                      context.Context
  6318  	header_                   http.Header
  6319  }
  6320  
  6321  // TestIamPermissions: Returns permissions that a caller has on the specified
  6322  // resource. If the resource does not exist, this will return an empty set of
  6323  // permissions, not a `NOT_FOUND` error. Note: This operation is designed to be
  6324  // used for building permission-aware UIs and command-line tools, not for
  6325  // authorization checking. This operation may "fail open" without warning.
  6326  //
  6327  //   - resource: REQUIRED: The resource for which the policy detail is being
  6328  //     requested. See Resource names
  6329  //     (https://cloud.google.com/apis/design/resource_names) for the appropriate
  6330  //     value for this field.
  6331  func (r *ProjectsLocationsConnectionProfilesService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsConnectionProfilesTestIamPermissionsCall {
  6332  	c := &ProjectsLocationsConnectionProfilesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6333  	c.resource = resource
  6334  	c.testiampermissionsrequest = testiampermissionsrequest
  6335  	return c
  6336  }
  6337  
  6338  // Fields allows partial responses to be retrieved. See
  6339  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6340  // details.
  6341  func (c *ProjectsLocationsConnectionProfilesTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsConnectionProfilesTestIamPermissionsCall {
  6342  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6343  	return c
  6344  }
  6345  
  6346  // Context sets the context to be used in this call's Do method.
  6347  func (c *ProjectsLocationsConnectionProfilesTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsConnectionProfilesTestIamPermissionsCall {
  6348  	c.ctx_ = ctx
  6349  	return c
  6350  }
  6351  
  6352  // Header returns a http.Header that can be modified by the caller to add
  6353  // headers to the request.
  6354  func (c *ProjectsLocationsConnectionProfilesTestIamPermissionsCall) Header() http.Header {
  6355  	if c.header_ == nil {
  6356  		c.header_ = make(http.Header)
  6357  	}
  6358  	return c.header_
  6359  }
  6360  
  6361  func (c *ProjectsLocationsConnectionProfilesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
  6362  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6363  	var body io.Reader = nil
  6364  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
  6365  	if err != nil {
  6366  		return nil, err
  6367  	}
  6368  	c.urlParams_.Set("alt", alt)
  6369  	c.urlParams_.Set("prettyPrint", "false")
  6370  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:testIamPermissions")
  6371  	urls += "?" + c.urlParams_.Encode()
  6372  	req, err := http.NewRequest("POST", urls, body)
  6373  	if err != nil {
  6374  		return nil, err
  6375  	}
  6376  	req.Header = reqHeaders
  6377  	googleapi.Expand(req.URL, map[string]string{
  6378  		"resource": c.resource,
  6379  	})
  6380  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6381  }
  6382  
  6383  // Do executes the "datamigration.projects.locations.connectionProfiles.testIamPermissions" call.
  6384  // Any non-2xx status code is an error. Response headers are in either
  6385  // *TestIamPermissionsResponse.ServerResponse.Header or (if a response was
  6386  // returned at all) in error.(*googleapi.Error).Header. Use
  6387  // googleapi.IsNotModified to check whether the returned error was because
  6388  // http.StatusNotModified was returned.
  6389  func (c *ProjectsLocationsConnectionProfilesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
  6390  	gensupport.SetOptions(c.urlParams_, opts...)
  6391  	res, err := c.doRequest("json")
  6392  	if res != nil && res.StatusCode == http.StatusNotModified {
  6393  		if res.Body != nil {
  6394  			res.Body.Close()
  6395  		}
  6396  		return nil, gensupport.WrapError(&googleapi.Error{
  6397  			Code:   res.StatusCode,
  6398  			Header: res.Header,
  6399  		})
  6400  	}
  6401  	if err != nil {
  6402  		return nil, err
  6403  	}
  6404  	defer googleapi.CloseBody(res)
  6405  	if err := googleapi.CheckResponse(res); err != nil {
  6406  		return nil, gensupport.WrapError(err)
  6407  	}
  6408  	ret := &TestIamPermissionsResponse{
  6409  		ServerResponse: googleapi.ServerResponse{
  6410  			Header:         res.Header,
  6411  			HTTPStatusCode: res.StatusCode,
  6412  		},
  6413  	}
  6414  	target := &ret
  6415  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6416  		return nil, err
  6417  	}
  6418  	return ret, nil
  6419  }
  6420  
  6421  type ProjectsLocationsConversionWorkspacesApplyCall struct {
  6422  	s                               *Service
  6423  	name                            string
  6424  	applyconversionworkspacerequest *ApplyConversionWorkspaceRequest
  6425  	urlParams_                      gensupport.URLParams
  6426  	ctx_                            context.Context
  6427  	header_                         http.Header
  6428  }
  6429  
  6430  // Apply: Applies draft tree onto a specific destination database.
  6431  //
  6432  //   - name: The name of the conversion workspace resource for which to apply the
  6433  //     draft tree. Must be in the form of:
  6434  //     projects/{project}/locations/{location}/conversionWorkspaces/{conversion_wo
  6435  //     rkspace}.
  6436  func (r *ProjectsLocationsConversionWorkspacesService) Apply(name string, applyconversionworkspacerequest *ApplyConversionWorkspaceRequest) *ProjectsLocationsConversionWorkspacesApplyCall {
  6437  	c := &ProjectsLocationsConversionWorkspacesApplyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6438  	c.name = name
  6439  	c.applyconversionworkspacerequest = applyconversionworkspacerequest
  6440  	return c
  6441  }
  6442  
  6443  // Fields allows partial responses to be retrieved. See
  6444  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6445  // details.
  6446  func (c *ProjectsLocationsConversionWorkspacesApplyCall) Fields(s ...googleapi.Field) *ProjectsLocationsConversionWorkspacesApplyCall {
  6447  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6448  	return c
  6449  }
  6450  
  6451  // Context sets the context to be used in this call's Do method.
  6452  func (c *ProjectsLocationsConversionWorkspacesApplyCall) Context(ctx context.Context) *ProjectsLocationsConversionWorkspacesApplyCall {
  6453  	c.ctx_ = ctx
  6454  	return c
  6455  }
  6456  
  6457  // Header returns a http.Header that can be modified by the caller to add
  6458  // headers to the request.
  6459  func (c *ProjectsLocationsConversionWorkspacesApplyCall) Header() http.Header {
  6460  	if c.header_ == nil {
  6461  		c.header_ = make(http.Header)
  6462  	}
  6463  	return c.header_
  6464  }
  6465  
  6466  func (c *ProjectsLocationsConversionWorkspacesApplyCall) doRequest(alt string) (*http.Response, error) {
  6467  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6468  	var body io.Reader = nil
  6469  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.applyconversionworkspacerequest)
  6470  	if err != nil {
  6471  		return nil, err
  6472  	}
  6473  	c.urlParams_.Set("alt", alt)
  6474  	c.urlParams_.Set("prettyPrint", "false")
  6475  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:apply")
  6476  	urls += "?" + c.urlParams_.Encode()
  6477  	req, err := http.NewRequest("POST", urls, body)
  6478  	if err != nil {
  6479  		return nil, err
  6480  	}
  6481  	req.Header = reqHeaders
  6482  	googleapi.Expand(req.URL, map[string]string{
  6483  		"name": c.name,
  6484  	})
  6485  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6486  }
  6487  
  6488  // Do executes the "datamigration.projects.locations.conversionWorkspaces.apply" call.
  6489  // Any non-2xx status code is an error. Response headers are in either
  6490  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  6491  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6492  // whether the returned error was because http.StatusNotModified was returned.
  6493  func (c *ProjectsLocationsConversionWorkspacesApplyCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  6494  	gensupport.SetOptions(c.urlParams_, opts...)
  6495  	res, err := c.doRequest("json")
  6496  	if res != nil && res.StatusCode == http.StatusNotModified {
  6497  		if res.Body != nil {
  6498  			res.Body.Close()
  6499  		}
  6500  		return nil, gensupport.WrapError(&googleapi.Error{
  6501  			Code:   res.StatusCode,
  6502  			Header: res.Header,
  6503  		})
  6504  	}
  6505  	if err != nil {
  6506  		return nil, err
  6507  	}
  6508  	defer googleapi.CloseBody(res)
  6509  	if err := googleapi.CheckResponse(res); err != nil {
  6510  		return nil, gensupport.WrapError(err)
  6511  	}
  6512  	ret := &Operation{
  6513  		ServerResponse: googleapi.ServerResponse{
  6514  			Header:         res.Header,
  6515  			HTTPStatusCode: res.StatusCode,
  6516  		},
  6517  	}
  6518  	target := &ret
  6519  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6520  		return nil, err
  6521  	}
  6522  	return ret, nil
  6523  }
  6524  
  6525  type ProjectsLocationsConversionWorkspacesCommitCall struct {
  6526  	s                                *Service
  6527  	name                             string
  6528  	commitconversionworkspacerequest *CommitConversionWorkspaceRequest
  6529  	urlParams_                       gensupport.URLParams
  6530  	ctx_                             context.Context
  6531  	header_                          http.Header
  6532  }
  6533  
  6534  // Commit: Marks all the data in the conversion workspace as committed.
  6535  //
  6536  // - name: Name of the conversion workspace resource to commit.
  6537  func (r *ProjectsLocationsConversionWorkspacesService) Commit(name string, commitconversionworkspacerequest *CommitConversionWorkspaceRequest) *ProjectsLocationsConversionWorkspacesCommitCall {
  6538  	c := &ProjectsLocationsConversionWorkspacesCommitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6539  	c.name = name
  6540  	c.commitconversionworkspacerequest = commitconversionworkspacerequest
  6541  	return c
  6542  }
  6543  
  6544  // Fields allows partial responses to be retrieved. See
  6545  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6546  // details.
  6547  func (c *ProjectsLocationsConversionWorkspacesCommitCall) Fields(s ...googleapi.Field) *ProjectsLocationsConversionWorkspacesCommitCall {
  6548  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6549  	return c
  6550  }
  6551  
  6552  // Context sets the context to be used in this call's Do method.
  6553  func (c *ProjectsLocationsConversionWorkspacesCommitCall) Context(ctx context.Context) *ProjectsLocationsConversionWorkspacesCommitCall {
  6554  	c.ctx_ = ctx
  6555  	return c
  6556  }
  6557  
  6558  // Header returns a http.Header that can be modified by the caller to add
  6559  // headers to the request.
  6560  func (c *ProjectsLocationsConversionWorkspacesCommitCall) Header() http.Header {
  6561  	if c.header_ == nil {
  6562  		c.header_ = make(http.Header)
  6563  	}
  6564  	return c.header_
  6565  }
  6566  
  6567  func (c *ProjectsLocationsConversionWorkspacesCommitCall) doRequest(alt string) (*http.Response, error) {
  6568  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6569  	var body io.Reader = nil
  6570  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.commitconversionworkspacerequest)
  6571  	if err != nil {
  6572  		return nil, err
  6573  	}
  6574  	c.urlParams_.Set("alt", alt)
  6575  	c.urlParams_.Set("prettyPrint", "false")
  6576  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:commit")
  6577  	urls += "?" + c.urlParams_.Encode()
  6578  	req, err := http.NewRequest("POST", urls, body)
  6579  	if err != nil {
  6580  		return nil, err
  6581  	}
  6582  	req.Header = reqHeaders
  6583  	googleapi.Expand(req.URL, map[string]string{
  6584  		"name": c.name,
  6585  	})
  6586  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6587  }
  6588  
  6589  // Do executes the "datamigration.projects.locations.conversionWorkspaces.commit" call.
  6590  // Any non-2xx status code is an error. Response headers are in either
  6591  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  6592  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6593  // whether the returned error was because http.StatusNotModified was returned.
  6594  func (c *ProjectsLocationsConversionWorkspacesCommitCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  6595  	gensupport.SetOptions(c.urlParams_, opts...)
  6596  	res, err := c.doRequest("json")
  6597  	if res != nil && res.StatusCode == http.StatusNotModified {
  6598  		if res.Body != nil {
  6599  			res.Body.Close()
  6600  		}
  6601  		return nil, gensupport.WrapError(&googleapi.Error{
  6602  			Code:   res.StatusCode,
  6603  			Header: res.Header,
  6604  		})
  6605  	}
  6606  	if err != nil {
  6607  		return nil, err
  6608  	}
  6609  	defer googleapi.CloseBody(res)
  6610  	if err := googleapi.CheckResponse(res); err != nil {
  6611  		return nil, gensupport.WrapError(err)
  6612  	}
  6613  	ret := &Operation{
  6614  		ServerResponse: googleapi.ServerResponse{
  6615  			Header:         res.Header,
  6616  			HTTPStatusCode: res.StatusCode,
  6617  		},
  6618  	}
  6619  	target := &ret
  6620  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6621  		return nil, err
  6622  	}
  6623  	return ret, nil
  6624  }
  6625  
  6626  type ProjectsLocationsConversionWorkspacesConvertCall struct {
  6627  	s                                 *Service
  6628  	name                              string
  6629  	convertconversionworkspacerequest *ConvertConversionWorkspaceRequest
  6630  	urlParams_                        gensupport.URLParams
  6631  	ctx_                              context.Context
  6632  	header_                           http.Header
  6633  }
  6634  
  6635  // Convert: Creates a draft tree schema for the destination database.
  6636  //
  6637  //   - name: Name of the conversion workspace resource to convert in the form of:
  6638  //     projects/{project}/locations/{location}/conversionWorkspaces/{conversion_wo
  6639  //     rkspace}.
  6640  func (r *ProjectsLocationsConversionWorkspacesService) Convert(name string, convertconversionworkspacerequest *ConvertConversionWorkspaceRequest) *ProjectsLocationsConversionWorkspacesConvertCall {
  6641  	c := &ProjectsLocationsConversionWorkspacesConvertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6642  	c.name = name
  6643  	c.convertconversionworkspacerequest = convertconversionworkspacerequest
  6644  	return c
  6645  }
  6646  
  6647  // Fields allows partial responses to be retrieved. See
  6648  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6649  // details.
  6650  func (c *ProjectsLocationsConversionWorkspacesConvertCall) Fields(s ...googleapi.Field) *ProjectsLocationsConversionWorkspacesConvertCall {
  6651  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6652  	return c
  6653  }
  6654  
  6655  // Context sets the context to be used in this call's Do method.
  6656  func (c *ProjectsLocationsConversionWorkspacesConvertCall) Context(ctx context.Context) *ProjectsLocationsConversionWorkspacesConvertCall {
  6657  	c.ctx_ = ctx
  6658  	return c
  6659  }
  6660  
  6661  // Header returns a http.Header that can be modified by the caller to add
  6662  // headers to the request.
  6663  func (c *ProjectsLocationsConversionWorkspacesConvertCall) Header() http.Header {
  6664  	if c.header_ == nil {
  6665  		c.header_ = make(http.Header)
  6666  	}
  6667  	return c.header_
  6668  }
  6669  
  6670  func (c *ProjectsLocationsConversionWorkspacesConvertCall) doRequest(alt string) (*http.Response, error) {
  6671  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6672  	var body io.Reader = nil
  6673  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.convertconversionworkspacerequest)
  6674  	if err != nil {
  6675  		return nil, err
  6676  	}
  6677  	c.urlParams_.Set("alt", alt)
  6678  	c.urlParams_.Set("prettyPrint", "false")
  6679  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:convert")
  6680  	urls += "?" + c.urlParams_.Encode()
  6681  	req, err := http.NewRequest("POST", urls, body)
  6682  	if err != nil {
  6683  		return nil, err
  6684  	}
  6685  	req.Header = reqHeaders
  6686  	googleapi.Expand(req.URL, map[string]string{
  6687  		"name": c.name,
  6688  	})
  6689  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6690  }
  6691  
  6692  // Do executes the "datamigration.projects.locations.conversionWorkspaces.convert" call.
  6693  // Any non-2xx status code is an error. Response headers are in either
  6694  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  6695  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6696  // whether the returned error was because http.StatusNotModified was returned.
  6697  func (c *ProjectsLocationsConversionWorkspacesConvertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  6698  	gensupport.SetOptions(c.urlParams_, opts...)
  6699  	res, err := c.doRequest("json")
  6700  	if res != nil && res.StatusCode == http.StatusNotModified {
  6701  		if res.Body != nil {
  6702  			res.Body.Close()
  6703  		}
  6704  		return nil, gensupport.WrapError(&googleapi.Error{
  6705  			Code:   res.StatusCode,
  6706  			Header: res.Header,
  6707  		})
  6708  	}
  6709  	if err != nil {
  6710  		return nil, err
  6711  	}
  6712  	defer googleapi.CloseBody(res)
  6713  	if err := googleapi.CheckResponse(res); err != nil {
  6714  		return nil, gensupport.WrapError(err)
  6715  	}
  6716  	ret := &Operation{
  6717  		ServerResponse: googleapi.ServerResponse{
  6718  			Header:         res.Header,
  6719  			HTTPStatusCode: res.StatusCode,
  6720  		},
  6721  	}
  6722  	target := &ret
  6723  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6724  		return nil, err
  6725  	}
  6726  	return ret, nil
  6727  }
  6728  
  6729  type ProjectsLocationsConversionWorkspacesCreateCall struct {
  6730  	s                   *Service
  6731  	parent              string
  6732  	conversionworkspace *ConversionWorkspace
  6733  	urlParams_          gensupport.URLParams
  6734  	ctx_                context.Context
  6735  	header_             http.Header
  6736  }
  6737  
  6738  // Create: Creates a new conversion workspace in a given project and location.
  6739  //
  6740  // - parent: The parent which owns this collection of conversion workspaces.
  6741  func (r *ProjectsLocationsConversionWorkspacesService) Create(parent string, conversionworkspace *ConversionWorkspace) *ProjectsLocationsConversionWorkspacesCreateCall {
  6742  	c := &ProjectsLocationsConversionWorkspacesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6743  	c.parent = parent
  6744  	c.conversionworkspace = conversionworkspace
  6745  	return c
  6746  }
  6747  
  6748  // ConversionWorkspaceId sets the optional parameter "conversionWorkspaceId":
  6749  // Required. The ID of the conversion workspace to create.
  6750  func (c *ProjectsLocationsConversionWorkspacesCreateCall) ConversionWorkspaceId(conversionWorkspaceId string) *ProjectsLocationsConversionWorkspacesCreateCall {
  6751  	c.urlParams_.Set("conversionWorkspaceId", conversionWorkspaceId)
  6752  	return c
  6753  }
  6754  
  6755  // RequestId sets the optional parameter "requestId": A unique ID used to
  6756  // identify the request. If the server receives two requests with the same ID,
  6757  // then the second request is ignored. It is recommended to always set this
  6758  // value to a UUID. The ID must contain only letters (a-z, A-Z), numbers (0-9),
  6759  // underscores (_), and hyphens (-). The maximum length is 40 characters.
  6760  func (c *ProjectsLocationsConversionWorkspacesCreateCall) RequestId(requestId string) *ProjectsLocationsConversionWorkspacesCreateCall {
  6761  	c.urlParams_.Set("requestId", requestId)
  6762  	return c
  6763  }
  6764  
  6765  // Fields allows partial responses to be retrieved. See
  6766  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6767  // details.
  6768  func (c *ProjectsLocationsConversionWorkspacesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsConversionWorkspacesCreateCall {
  6769  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6770  	return c
  6771  }
  6772  
  6773  // Context sets the context to be used in this call's Do method.
  6774  func (c *ProjectsLocationsConversionWorkspacesCreateCall) Context(ctx context.Context) *ProjectsLocationsConversionWorkspacesCreateCall {
  6775  	c.ctx_ = ctx
  6776  	return c
  6777  }
  6778  
  6779  // Header returns a http.Header that can be modified by the caller to add
  6780  // headers to the request.
  6781  func (c *ProjectsLocationsConversionWorkspacesCreateCall) Header() http.Header {
  6782  	if c.header_ == nil {
  6783  		c.header_ = make(http.Header)
  6784  	}
  6785  	return c.header_
  6786  }
  6787  
  6788  func (c *ProjectsLocationsConversionWorkspacesCreateCall) doRequest(alt string) (*http.Response, error) {
  6789  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6790  	var body io.Reader = nil
  6791  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.conversionworkspace)
  6792  	if err != nil {
  6793  		return nil, err
  6794  	}
  6795  	c.urlParams_.Set("alt", alt)
  6796  	c.urlParams_.Set("prettyPrint", "false")
  6797  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/conversionWorkspaces")
  6798  	urls += "?" + c.urlParams_.Encode()
  6799  	req, err := http.NewRequest("POST", urls, body)
  6800  	if err != nil {
  6801  		return nil, err
  6802  	}
  6803  	req.Header = reqHeaders
  6804  	googleapi.Expand(req.URL, map[string]string{
  6805  		"parent": c.parent,
  6806  	})
  6807  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6808  }
  6809  
  6810  // Do executes the "datamigration.projects.locations.conversionWorkspaces.create" call.
  6811  // Any non-2xx status code is an error. Response headers are in either
  6812  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  6813  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6814  // whether the returned error was because http.StatusNotModified was returned.
  6815  func (c *ProjectsLocationsConversionWorkspacesCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  6816  	gensupport.SetOptions(c.urlParams_, opts...)
  6817  	res, err := c.doRequest("json")
  6818  	if res != nil && res.StatusCode == http.StatusNotModified {
  6819  		if res.Body != nil {
  6820  			res.Body.Close()
  6821  		}
  6822  		return nil, gensupport.WrapError(&googleapi.Error{
  6823  			Code:   res.StatusCode,
  6824  			Header: res.Header,
  6825  		})
  6826  	}
  6827  	if err != nil {
  6828  		return nil, err
  6829  	}
  6830  	defer googleapi.CloseBody(res)
  6831  	if err := googleapi.CheckResponse(res); err != nil {
  6832  		return nil, gensupport.WrapError(err)
  6833  	}
  6834  	ret := &Operation{
  6835  		ServerResponse: googleapi.ServerResponse{
  6836  			Header:         res.Header,
  6837  			HTTPStatusCode: res.StatusCode,
  6838  		},
  6839  	}
  6840  	target := &ret
  6841  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6842  		return nil, err
  6843  	}
  6844  	return ret, nil
  6845  }
  6846  
  6847  type ProjectsLocationsConversionWorkspacesDeleteCall struct {
  6848  	s          *Service
  6849  	name       string
  6850  	urlParams_ gensupport.URLParams
  6851  	ctx_       context.Context
  6852  	header_    http.Header
  6853  }
  6854  
  6855  // Delete: Deletes a single conversion workspace.
  6856  //
  6857  // - name: Name of the conversion workspace resource to delete.
  6858  func (r *ProjectsLocationsConversionWorkspacesService) Delete(name string) *ProjectsLocationsConversionWorkspacesDeleteCall {
  6859  	c := &ProjectsLocationsConversionWorkspacesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6860  	c.name = name
  6861  	return c
  6862  }
  6863  
  6864  // Force sets the optional parameter "force": Force delete the conversion
  6865  // workspace, even if there's a running migration that is using the workspace.
  6866  func (c *ProjectsLocationsConversionWorkspacesDeleteCall) Force(force bool) *ProjectsLocationsConversionWorkspacesDeleteCall {
  6867  	c.urlParams_.Set("force", fmt.Sprint(force))
  6868  	return c
  6869  }
  6870  
  6871  // RequestId sets the optional parameter "requestId": A unique ID used to
  6872  // identify the request. If the server receives two requests with the same ID,
  6873  // then the second request is ignored. It is recommended to always set this
  6874  // value to a UUID. The ID must contain only letters (a-z, A-Z), numbers (0-9),
  6875  // underscores (_), and hyphens (-). The maximum length is 40 characters.
  6876  func (c *ProjectsLocationsConversionWorkspacesDeleteCall) RequestId(requestId string) *ProjectsLocationsConversionWorkspacesDeleteCall {
  6877  	c.urlParams_.Set("requestId", requestId)
  6878  	return c
  6879  }
  6880  
  6881  // Fields allows partial responses to be retrieved. See
  6882  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6883  // details.
  6884  func (c *ProjectsLocationsConversionWorkspacesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsConversionWorkspacesDeleteCall {
  6885  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6886  	return c
  6887  }
  6888  
  6889  // Context sets the context to be used in this call's Do method.
  6890  func (c *ProjectsLocationsConversionWorkspacesDeleteCall) Context(ctx context.Context) *ProjectsLocationsConversionWorkspacesDeleteCall {
  6891  	c.ctx_ = ctx
  6892  	return c
  6893  }
  6894  
  6895  // Header returns a http.Header that can be modified by the caller to add
  6896  // headers to the request.
  6897  func (c *ProjectsLocationsConversionWorkspacesDeleteCall) Header() http.Header {
  6898  	if c.header_ == nil {
  6899  		c.header_ = make(http.Header)
  6900  	}
  6901  	return c.header_
  6902  }
  6903  
  6904  func (c *ProjectsLocationsConversionWorkspacesDeleteCall) doRequest(alt string) (*http.Response, error) {
  6905  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6906  	var body io.Reader = nil
  6907  	c.urlParams_.Set("alt", alt)
  6908  	c.urlParams_.Set("prettyPrint", "false")
  6909  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  6910  	urls += "?" + c.urlParams_.Encode()
  6911  	req, err := http.NewRequest("DELETE", urls, body)
  6912  	if err != nil {
  6913  		return nil, err
  6914  	}
  6915  	req.Header = reqHeaders
  6916  	googleapi.Expand(req.URL, map[string]string{
  6917  		"name": c.name,
  6918  	})
  6919  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6920  }
  6921  
  6922  // Do executes the "datamigration.projects.locations.conversionWorkspaces.delete" call.
  6923  // Any non-2xx status code is an error. Response headers are in either
  6924  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  6925  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6926  // whether the returned error was because http.StatusNotModified was returned.
  6927  func (c *ProjectsLocationsConversionWorkspacesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  6928  	gensupport.SetOptions(c.urlParams_, opts...)
  6929  	res, err := c.doRequest("json")
  6930  	if res != nil && res.StatusCode == http.StatusNotModified {
  6931  		if res.Body != nil {
  6932  			res.Body.Close()
  6933  		}
  6934  		return nil, gensupport.WrapError(&googleapi.Error{
  6935  			Code:   res.StatusCode,
  6936  			Header: res.Header,
  6937  		})
  6938  	}
  6939  	if err != nil {
  6940  		return nil, err
  6941  	}
  6942  	defer googleapi.CloseBody(res)
  6943  	if err := googleapi.CheckResponse(res); err != nil {
  6944  		return nil, gensupport.WrapError(err)
  6945  	}
  6946  	ret := &Operation{
  6947  		ServerResponse: googleapi.ServerResponse{
  6948  			Header:         res.Header,
  6949  			HTTPStatusCode: res.StatusCode,
  6950  		},
  6951  	}
  6952  	target := &ret
  6953  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6954  		return nil, err
  6955  	}
  6956  	return ret, nil
  6957  }
  6958  
  6959  type ProjectsLocationsConversionWorkspacesDescribeConversionWorkspaceRevisionsCall struct {
  6960  	s                   *Service
  6961  	conversionWorkspace string
  6962  	urlParams_          gensupport.URLParams
  6963  	ifNoneMatch_        string
  6964  	ctx_                context.Context
  6965  	header_             http.Header
  6966  }
  6967  
  6968  // DescribeConversionWorkspaceRevisions: Retrieves a list of committed
  6969  // revisions of a specific conversion workspace.
  6970  //
  6971  //   - conversionWorkspace: Name of the conversion workspace resource whose
  6972  //     revisions are listed. Must be in the form of:
  6973  //     projects/{project}/locations/{location}/conversionWorkspaces/{conversion_wo
  6974  //     rkspace}.
  6975  func (r *ProjectsLocationsConversionWorkspacesService) DescribeConversionWorkspaceRevisions(conversionWorkspace string) *ProjectsLocationsConversionWorkspacesDescribeConversionWorkspaceRevisionsCall {
  6976  	c := &ProjectsLocationsConversionWorkspacesDescribeConversionWorkspaceRevisionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6977  	c.conversionWorkspace = conversionWorkspace
  6978  	return c
  6979  }
  6980  
  6981  // CommitId sets the optional parameter "commitId": Optional filter to request
  6982  // a specific commit ID.
  6983  func (c *ProjectsLocationsConversionWorkspacesDescribeConversionWorkspaceRevisionsCall) CommitId(commitId string) *ProjectsLocationsConversionWorkspacesDescribeConversionWorkspaceRevisionsCall {
  6984  	c.urlParams_.Set("commitId", commitId)
  6985  	return c
  6986  }
  6987  
  6988  // Fields allows partial responses to be retrieved. See
  6989  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6990  // details.
  6991  func (c *ProjectsLocationsConversionWorkspacesDescribeConversionWorkspaceRevisionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsConversionWorkspacesDescribeConversionWorkspaceRevisionsCall {
  6992  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6993  	return c
  6994  }
  6995  
  6996  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  6997  // object's ETag matches the given value. This is useful for getting updates
  6998  // only after the object has changed since the last request.
  6999  func (c *ProjectsLocationsConversionWorkspacesDescribeConversionWorkspaceRevisionsCall) IfNoneMatch(entityTag string) *ProjectsLocationsConversionWorkspacesDescribeConversionWorkspaceRevisionsCall {
  7000  	c.ifNoneMatch_ = entityTag
  7001  	return c
  7002  }
  7003  
  7004  // Context sets the context to be used in this call's Do method.
  7005  func (c *ProjectsLocationsConversionWorkspacesDescribeConversionWorkspaceRevisionsCall) Context(ctx context.Context) *ProjectsLocationsConversionWorkspacesDescribeConversionWorkspaceRevisionsCall {
  7006  	c.ctx_ = ctx
  7007  	return c
  7008  }
  7009  
  7010  // Header returns a http.Header that can be modified by the caller to add
  7011  // headers to the request.
  7012  func (c *ProjectsLocationsConversionWorkspacesDescribeConversionWorkspaceRevisionsCall) Header() http.Header {
  7013  	if c.header_ == nil {
  7014  		c.header_ = make(http.Header)
  7015  	}
  7016  	return c.header_
  7017  }
  7018  
  7019  func (c *ProjectsLocationsConversionWorkspacesDescribeConversionWorkspaceRevisionsCall) doRequest(alt string) (*http.Response, error) {
  7020  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7021  	if c.ifNoneMatch_ != "" {
  7022  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  7023  	}
  7024  	var body io.Reader = nil
  7025  	c.urlParams_.Set("alt", alt)
  7026  	c.urlParams_.Set("prettyPrint", "false")
  7027  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+conversionWorkspace}:describeConversionWorkspaceRevisions")
  7028  	urls += "?" + c.urlParams_.Encode()
  7029  	req, err := http.NewRequest("GET", urls, body)
  7030  	if err != nil {
  7031  		return nil, err
  7032  	}
  7033  	req.Header = reqHeaders
  7034  	googleapi.Expand(req.URL, map[string]string{
  7035  		"conversionWorkspace": c.conversionWorkspace,
  7036  	})
  7037  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7038  }
  7039  
  7040  // Do executes the "datamigration.projects.locations.conversionWorkspaces.describeConversionWorkspaceRevisions" call.
  7041  // Any non-2xx status code is an error. Response headers are in either
  7042  // *DescribeConversionWorkspaceRevisionsResponse.ServerResponse.Header or (if a
  7043  // response was returned at all) in error.(*googleapi.Error).Header. Use
  7044  // googleapi.IsNotModified to check whether the returned error was because
  7045  // http.StatusNotModified was returned.
  7046  func (c *ProjectsLocationsConversionWorkspacesDescribeConversionWorkspaceRevisionsCall) Do(opts ...googleapi.CallOption) (*DescribeConversionWorkspaceRevisionsResponse, error) {
  7047  	gensupport.SetOptions(c.urlParams_, opts...)
  7048  	res, err := c.doRequest("json")
  7049  	if res != nil && res.StatusCode == http.StatusNotModified {
  7050  		if res.Body != nil {
  7051  			res.Body.Close()
  7052  		}
  7053  		return nil, gensupport.WrapError(&googleapi.Error{
  7054  			Code:   res.StatusCode,
  7055  			Header: res.Header,
  7056  		})
  7057  	}
  7058  	if err != nil {
  7059  		return nil, err
  7060  	}
  7061  	defer googleapi.CloseBody(res)
  7062  	if err := googleapi.CheckResponse(res); err != nil {
  7063  		return nil, gensupport.WrapError(err)
  7064  	}
  7065  	ret := &DescribeConversionWorkspaceRevisionsResponse{
  7066  		ServerResponse: googleapi.ServerResponse{
  7067  			Header:         res.Header,
  7068  			HTTPStatusCode: res.StatusCode,
  7069  		},
  7070  	}
  7071  	target := &ret
  7072  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7073  		return nil, err
  7074  	}
  7075  	return ret, nil
  7076  }
  7077  
  7078  type ProjectsLocationsConversionWorkspacesDescribeDatabaseEntitiesCall struct {
  7079  	s                   *Service
  7080  	conversionWorkspace string
  7081  	urlParams_          gensupport.URLParams
  7082  	ifNoneMatch_        string
  7083  	ctx_                context.Context
  7084  	header_             http.Header
  7085  }
  7086  
  7087  // DescribeDatabaseEntities: Describes the database entities tree for a
  7088  // specific conversion workspace and a specific tree type. Database entities
  7089  // are not resources like conversion workspaces or mapping rules, and they
  7090  // can't be created, updated or deleted. Instead, they are simple data objects
  7091  // describing the structure of the client database.
  7092  //
  7093  //   - conversionWorkspace: Name of the conversion workspace resource whose
  7094  //     database entities are described. Must be in the form of:
  7095  //     projects/{project}/locations/{location}/conversionWorkspaces/{conversion_wo
  7096  //     rkspace}.
  7097  func (r *ProjectsLocationsConversionWorkspacesService) DescribeDatabaseEntities(conversionWorkspace string) *ProjectsLocationsConversionWorkspacesDescribeDatabaseEntitiesCall {
  7098  	c := &ProjectsLocationsConversionWorkspacesDescribeDatabaseEntitiesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7099  	c.conversionWorkspace = conversionWorkspace
  7100  	return c
  7101  }
  7102  
  7103  // CommitId sets the optional parameter "commitId": Request a specific commit
  7104  // ID. If not specified, the entities from the latest commit are returned.
  7105  func (c *ProjectsLocationsConversionWorkspacesDescribeDatabaseEntitiesCall) CommitId(commitId string) *ProjectsLocationsConversionWorkspacesDescribeDatabaseEntitiesCall {
  7106  	c.urlParams_.Set("commitId", commitId)
  7107  	return c
  7108  }
  7109  
  7110  // Filter sets the optional parameter "filter": Filter the returned entities
  7111  // based on AIP-160 standard.
  7112  func (c *ProjectsLocationsConversionWorkspacesDescribeDatabaseEntitiesCall) Filter(filter string) *ProjectsLocationsConversionWorkspacesDescribeDatabaseEntitiesCall {
  7113  	c.urlParams_.Set("filter", filter)
  7114  	return c
  7115  }
  7116  
  7117  // PageSize sets the optional parameter "pageSize": The maximum number of
  7118  // entities to return. The service may return fewer entities than the value
  7119  // specifies.
  7120  func (c *ProjectsLocationsConversionWorkspacesDescribeDatabaseEntitiesCall) PageSize(pageSize int64) *ProjectsLocationsConversionWorkspacesDescribeDatabaseEntitiesCall {
  7121  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  7122  	return c
  7123  }
  7124  
  7125  // PageToken sets the optional parameter "pageToken": The nextPageToken value
  7126  // received in the previous call to
  7127  // conversionWorkspace.describeDatabaseEntities, used in the subsequent request
  7128  // to retrieve the next page of results. On first call this should be left
  7129  // blank. When paginating, all other parameters provided to
  7130  // conversionWorkspace.describeDatabaseEntities must match the call that
  7131  // provided the page token.
  7132  func (c *ProjectsLocationsConversionWorkspacesDescribeDatabaseEntitiesCall) PageToken(pageToken string) *ProjectsLocationsConversionWorkspacesDescribeDatabaseEntitiesCall {
  7133  	c.urlParams_.Set("pageToken", pageToken)
  7134  	return c
  7135  }
  7136  
  7137  // Tree sets the optional parameter "tree": Required. The tree to fetch.
  7138  //
  7139  // Possible values:
  7140  //
  7141  //	"DB_TREE_TYPE_UNSPECIFIED" - Unspecified tree type.
  7142  //	"SOURCE_TREE" - The source database tree.
  7143  //	"DRAFT_TREE" - The draft database tree.
  7144  //	"DESTINATION_TREE" - The destination database tree.
  7145  func (c *ProjectsLocationsConversionWorkspacesDescribeDatabaseEntitiesCall) Tree(tree string) *ProjectsLocationsConversionWorkspacesDescribeDatabaseEntitiesCall {
  7146  	c.urlParams_.Set("tree", tree)
  7147  	return c
  7148  }
  7149  
  7150  // Uncommitted sets the optional parameter "uncommitted": Whether to retrieve
  7151  // the latest committed version of the entities or the latest version. This
  7152  // field is ignored if a specific commit_id is specified.
  7153  func (c *ProjectsLocationsConversionWorkspacesDescribeDatabaseEntitiesCall) Uncommitted(uncommitted bool) *ProjectsLocationsConversionWorkspacesDescribeDatabaseEntitiesCall {
  7154  	c.urlParams_.Set("uncommitted", fmt.Sprint(uncommitted))
  7155  	return c
  7156  }
  7157  
  7158  // View sets the optional parameter "view": Results view based on AIP-157
  7159  //
  7160  // Possible values:
  7161  //
  7162  //	"DATABASE_ENTITY_VIEW_UNSPECIFIED" - Unspecified view. Defaults to basic
  7163  //
  7164  // view.
  7165  //
  7166  //	"DATABASE_ENTITY_VIEW_BASIC" - Default view. Does not return DDLs or
  7167  //
  7168  // Issues.
  7169  //
  7170  //	"DATABASE_ENTITY_VIEW_FULL" - Return full entity details including
  7171  //
  7172  // mappings, ddl and issues.
  7173  //
  7174  //	"DATABASE_ENTITY_VIEW_ROOT_SUMMARY" - Top-most (Database, Schema) nodes
  7175  //
  7176  // which are returned contains summary details for their decendents such as the
  7177  // number of entities per type and issues rollups. When this view is used, only
  7178  // a single page of result is returned and the page_size property of the
  7179  // request is ignored. The returned page will only include the top-most node
  7180  // types.
  7181  func (c *ProjectsLocationsConversionWorkspacesDescribeDatabaseEntitiesCall) View(view string) *ProjectsLocationsConversionWorkspacesDescribeDatabaseEntitiesCall {
  7182  	c.urlParams_.Set("view", view)
  7183  	return c
  7184  }
  7185  
  7186  // Fields allows partial responses to be retrieved. See
  7187  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7188  // details.
  7189  func (c *ProjectsLocationsConversionWorkspacesDescribeDatabaseEntitiesCall) Fields(s ...googleapi.Field) *ProjectsLocationsConversionWorkspacesDescribeDatabaseEntitiesCall {
  7190  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7191  	return c
  7192  }
  7193  
  7194  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  7195  // object's ETag matches the given value. This is useful for getting updates
  7196  // only after the object has changed since the last request.
  7197  func (c *ProjectsLocationsConversionWorkspacesDescribeDatabaseEntitiesCall) IfNoneMatch(entityTag string) *ProjectsLocationsConversionWorkspacesDescribeDatabaseEntitiesCall {
  7198  	c.ifNoneMatch_ = entityTag
  7199  	return c
  7200  }
  7201  
  7202  // Context sets the context to be used in this call's Do method.
  7203  func (c *ProjectsLocationsConversionWorkspacesDescribeDatabaseEntitiesCall) Context(ctx context.Context) *ProjectsLocationsConversionWorkspacesDescribeDatabaseEntitiesCall {
  7204  	c.ctx_ = ctx
  7205  	return c
  7206  }
  7207  
  7208  // Header returns a http.Header that can be modified by the caller to add
  7209  // headers to the request.
  7210  func (c *ProjectsLocationsConversionWorkspacesDescribeDatabaseEntitiesCall) Header() http.Header {
  7211  	if c.header_ == nil {
  7212  		c.header_ = make(http.Header)
  7213  	}
  7214  	return c.header_
  7215  }
  7216  
  7217  func (c *ProjectsLocationsConversionWorkspacesDescribeDatabaseEntitiesCall) doRequest(alt string) (*http.Response, error) {
  7218  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7219  	if c.ifNoneMatch_ != "" {
  7220  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  7221  	}
  7222  	var body io.Reader = nil
  7223  	c.urlParams_.Set("alt", alt)
  7224  	c.urlParams_.Set("prettyPrint", "false")
  7225  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+conversionWorkspace}:describeDatabaseEntities")
  7226  	urls += "?" + c.urlParams_.Encode()
  7227  	req, err := http.NewRequest("GET", urls, body)
  7228  	if err != nil {
  7229  		return nil, err
  7230  	}
  7231  	req.Header = reqHeaders
  7232  	googleapi.Expand(req.URL, map[string]string{
  7233  		"conversionWorkspace": c.conversionWorkspace,
  7234  	})
  7235  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7236  }
  7237  
  7238  // Do executes the "datamigration.projects.locations.conversionWorkspaces.describeDatabaseEntities" call.
  7239  // Any non-2xx status code is an error. Response headers are in either
  7240  // *DescribeDatabaseEntitiesResponse.ServerResponse.Header or (if a response
  7241  // was returned at all) in error.(*googleapi.Error).Header. Use
  7242  // googleapi.IsNotModified to check whether the returned error was because
  7243  // http.StatusNotModified was returned.
  7244  func (c *ProjectsLocationsConversionWorkspacesDescribeDatabaseEntitiesCall) Do(opts ...googleapi.CallOption) (*DescribeDatabaseEntitiesResponse, error) {
  7245  	gensupport.SetOptions(c.urlParams_, opts...)
  7246  	res, err := c.doRequest("json")
  7247  	if res != nil && res.StatusCode == http.StatusNotModified {
  7248  		if res.Body != nil {
  7249  			res.Body.Close()
  7250  		}
  7251  		return nil, gensupport.WrapError(&googleapi.Error{
  7252  			Code:   res.StatusCode,
  7253  			Header: res.Header,
  7254  		})
  7255  	}
  7256  	if err != nil {
  7257  		return nil, err
  7258  	}
  7259  	defer googleapi.CloseBody(res)
  7260  	if err := googleapi.CheckResponse(res); err != nil {
  7261  		return nil, gensupport.WrapError(err)
  7262  	}
  7263  	ret := &DescribeDatabaseEntitiesResponse{
  7264  		ServerResponse: googleapi.ServerResponse{
  7265  			Header:         res.Header,
  7266  			HTTPStatusCode: res.StatusCode,
  7267  		},
  7268  	}
  7269  	target := &ret
  7270  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7271  		return nil, err
  7272  	}
  7273  	return ret, nil
  7274  }
  7275  
  7276  // Pages invokes f for each page of results.
  7277  // A non-nil error returned from f will halt the iteration.
  7278  // The provided context supersedes any context provided to the Context method.
  7279  func (c *ProjectsLocationsConversionWorkspacesDescribeDatabaseEntitiesCall) Pages(ctx context.Context, f func(*DescribeDatabaseEntitiesResponse) error) error {
  7280  	c.ctx_ = ctx
  7281  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  7282  	for {
  7283  		x, err := c.Do()
  7284  		if err != nil {
  7285  			return err
  7286  		}
  7287  		if err := f(x); err != nil {
  7288  			return err
  7289  		}
  7290  		if x.NextPageToken == "" {
  7291  			return nil
  7292  		}
  7293  		c.PageToken(x.NextPageToken)
  7294  	}
  7295  }
  7296  
  7297  type ProjectsLocationsConversionWorkspacesGetCall struct {
  7298  	s            *Service
  7299  	name         string
  7300  	urlParams_   gensupport.URLParams
  7301  	ifNoneMatch_ string
  7302  	ctx_         context.Context
  7303  	header_      http.Header
  7304  }
  7305  
  7306  // Get: Gets details of a single conversion workspace.
  7307  //
  7308  // - name: Name of the conversion workspace resource to get.
  7309  func (r *ProjectsLocationsConversionWorkspacesService) Get(name string) *ProjectsLocationsConversionWorkspacesGetCall {
  7310  	c := &ProjectsLocationsConversionWorkspacesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7311  	c.name = name
  7312  	return c
  7313  }
  7314  
  7315  // Fields allows partial responses to be retrieved. See
  7316  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7317  // details.
  7318  func (c *ProjectsLocationsConversionWorkspacesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsConversionWorkspacesGetCall {
  7319  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7320  	return c
  7321  }
  7322  
  7323  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  7324  // object's ETag matches the given value. This is useful for getting updates
  7325  // only after the object has changed since the last request.
  7326  func (c *ProjectsLocationsConversionWorkspacesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsConversionWorkspacesGetCall {
  7327  	c.ifNoneMatch_ = entityTag
  7328  	return c
  7329  }
  7330  
  7331  // Context sets the context to be used in this call's Do method.
  7332  func (c *ProjectsLocationsConversionWorkspacesGetCall) Context(ctx context.Context) *ProjectsLocationsConversionWorkspacesGetCall {
  7333  	c.ctx_ = ctx
  7334  	return c
  7335  }
  7336  
  7337  // Header returns a http.Header that can be modified by the caller to add
  7338  // headers to the request.
  7339  func (c *ProjectsLocationsConversionWorkspacesGetCall) Header() http.Header {
  7340  	if c.header_ == nil {
  7341  		c.header_ = make(http.Header)
  7342  	}
  7343  	return c.header_
  7344  }
  7345  
  7346  func (c *ProjectsLocationsConversionWorkspacesGetCall) doRequest(alt string) (*http.Response, error) {
  7347  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7348  	if c.ifNoneMatch_ != "" {
  7349  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  7350  	}
  7351  	var body io.Reader = nil
  7352  	c.urlParams_.Set("alt", alt)
  7353  	c.urlParams_.Set("prettyPrint", "false")
  7354  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  7355  	urls += "?" + c.urlParams_.Encode()
  7356  	req, err := http.NewRequest("GET", urls, body)
  7357  	if err != nil {
  7358  		return nil, err
  7359  	}
  7360  	req.Header = reqHeaders
  7361  	googleapi.Expand(req.URL, map[string]string{
  7362  		"name": c.name,
  7363  	})
  7364  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7365  }
  7366  
  7367  // Do executes the "datamigration.projects.locations.conversionWorkspaces.get" call.
  7368  // Any non-2xx status code is an error. Response headers are in either
  7369  // *ConversionWorkspace.ServerResponse.Header or (if a response was returned at
  7370  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  7371  // check whether the returned error was because http.StatusNotModified was
  7372  // returned.
  7373  func (c *ProjectsLocationsConversionWorkspacesGetCall) Do(opts ...googleapi.CallOption) (*ConversionWorkspace, error) {
  7374  	gensupport.SetOptions(c.urlParams_, opts...)
  7375  	res, err := c.doRequest("json")
  7376  	if res != nil && res.StatusCode == http.StatusNotModified {
  7377  		if res.Body != nil {
  7378  			res.Body.Close()
  7379  		}
  7380  		return nil, gensupport.WrapError(&googleapi.Error{
  7381  			Code:   res.StatusCode,
  7382  			Header: res.Header,
  7383  		})
  7384  	}
  7385  	if err != nil {
  7386  		return nil, err
  7387  	}
  7388  	defer googleapi.CloseBody(res)
  7389  	if err := googleapi.CheckResponse(res); err != nil {
  7390  		return nil, gensupport.WrapError(err)
  7391  	}
  7392  	ret := &ConversionWorkspace{
  7393  		ServerResponse: googleapi.ServerResponse{
  7394  			Header:         res.Header,
  7395  			HTTPStatusCode: res.StatusCode,
  7396  		},
  7397  	}
  7398  	target := &ret
  7399  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7400  		return nil, err
  7401  	}
  7402  	return ret, nil
  7403  }
  7404  
  7405  type ProjectsLocationsConversionWorkspacesGetIamPolicyCall struct {
  7406  	s            *Service
  7407  	resource     string
  7408  	urlParams_   gensupport.URLParams
  7409  	ifNoneMatch_ string
  7410  	ctx_         context.Context
  7411  	header_      http.Header
  7412  }
  7413  
  7414  // GetIamPolicy: Gets the access control policy for a resource. Returns an
  7415  // empty policy if the resource exists and does not have a policy set.
  7416  //
  7417  //   - resource: REQUIRED: The resource for which the policy is being requested.
  7418  //     See Resource names (https://cloud.google.com/apis/design/resource_names)
  7419  //     for the appropriate value for this field.
  7420  func (r *ProjectsLocationsConversionWorkspacesService) GetIamPolicy(resource string) *ProjectsLocationsConversionWorkspacesGetIamPolicyCall {
  7421  	c := &ProjectsLocationsConversionWorkspacesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7422  	c.resource = resource
  7423  	return c
  7424  }
  7425  
  7426  // OptionsRequestedPolicyVersion sets the optional parameter
  7427  // "options.requestedPolicyVersion": The maximum policy version that will be
  7428  // used to format the policy. Valid values are 0, 1, and 3. Requests specifying
  7429  // an invalid value will be rejected. Requests for policies with any
  7430  // conditional role bindings must specify version 3. Policies with no
  7431  // conditional role bindings may specify any valid value or leave the field
  7432  // unset. The policy in the response might use the policy version that you
  7433  // specified, or it might use a lower policy version. For example, if you
  7434  // specify version 3, but the policy has no conditional role bindings, the
  7435  // response uses version 1. To learn which resources support conditions in
  7436  // their IAM policies, see the IAM documentation
  7437  // (https://cloud.google.com/iam/help/conditions/resource-policies).
  7438  func (c *ProjectsLocationsConversionWorkspacesGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsConversionWorkspacesGetIamPolicyCall {
  7439  	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
  7440  	return c
  7441  }
  7442  
  7443  // Fields allows partial responses to be retrieved. See
  7444  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7445  // details.
  7446  func (c *ProjectsLocationsConversionWorkspacesGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsConversionWorkspacesGetIamPolicyCall {
  7447  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7448  	return c
  7449  }
  7450  
  7451  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  7452  // object's ETag matches the given value. This is useful for getting updates
  7453  // only after the object has changed since the last request.
  7454  func (c *ProjectsLocationsConversionWorkspacesGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsLocationsConversionWorkspacesGetIamPolicyCall {
  7455  	c.ifNoneMatch_ = entityTag
  7456  	return c
  7457  }
  7458  
  7459  // Context sets the context to be used in this call's Do method.
  7460  func (c *ProjectsLocationsConversionWorkspacesGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsConversionWorkspacesGetIamPolicyCall {
  7461  	c.ctx_ = ctx
  7462  	return c
  7463  }
  7464  
  7465  // Header returns a http.Header that can be modified by the caller to add
  7466  // headers to the request.
  7467  func (c *ProjectsLocationsConversionWorkspacesGetIamPolicyCall) Header() http.Header {
  7468  	if c.header_ == nil {
  7469  		c.header_ = make(http.Header)
  7470  	}
  7471  	return c.header_
  7472  }
  7473  
  7474  func (c *ProjectsLocationsConversionWorkspacesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
  7475  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7476  	if c.ifNoneMatch_ != "" {
  7477  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  7478  	}
  7479  	var body io.Reader = nil
  7480  	c.urlParams_.Set("alt", alt)
  7481  	c.urlParams_.Set("prettyPrint", "false")
  7482  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:getIamPolicy")
  7483  	urls += "?" + c.urlParams_.Encode()
  7484  	req, err := http.NewRequest("GET", urls, body)
  7485  	if err != nil {
  7486  		return nil, err
  7487  	}
  7488  	req.Header = reqHeaders
  7489  	googleapi.Expand(req.URL, map[string]string{
  7490  		"resource": c.resource,
  7491  	})
  7492  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7493  }
  7494  
  7495  // Do executes the "datamigration.projects.locations.conversionWorkspaces.getIamPolicy" call.
  7496  // Any non-2xx status code is an error. Response headers are in either
  7497  // *Policy.ServerResponse.Header or (if a response was returned at all) in
  7498  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7499  // whether the returned error was because http.StatusNotModified was returned.
  7500  func (c *ProjectsLocationsConversionWorkspacesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
  7501  	gensupport.SetOptions(c.urlParams_, opts...)
  7502  	res, err := c.doRequest("json")
  7503  	if res != nil && res.StatusCode == http.StatusNotModified {
  7504  		if res.Body != nil {
  7505  			res.Body.Close()
  7506  		}
  7507  		return nil, gensupport.WrapError(&googleapi.Error{
  7508  			Code:   res.StatusCode,
  7509  			Header: res.Header,
  7510  		})
  7511  	}
  7512  	if err != nil {
  7513  		return nil, err
  7514  	}
  7515  	defer googleapi.CloseBody(res)
  7516  	if err := googleapi.CheckResponse(res); err != nil {
  7517  		return nil, gensupport.WrapError(err)
  7518  	}
  7519  	ret := &Policy{
  7520  		ServerResponse: googleapi.ServerResponse{
  7521  			Header:         res.Header,
  7522  			HTTPStatusCode: res.StatusCode,
  7523  		},
  7524  	}
  7525  	target := &ret
  7526  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7527  		return nil, err
  7528  	}
  7529  	return ret, nil
  7530  }
  7531  
  7532  type ProjectsLocationsConversionWorkspacesListCall struct {
  7533  	s            *Service
  7534  	parent       string
  7535  	urlParams_   gensupport.URLParams
  7536  	ifNoneMatch_ string
  7537  	ctx_         context.Context
  7538  	header_      http.Header
  7539  }
  7540  
  7541  // List: Lists conversion workspaces in a given project and location.
  7542  //
  7543  // - parent: The parent which owns this collection of conversion workspaces.
  7544  func (r *ProjectsLocationsConversionWorkspacesService) List(parent string) *ProjectsLocationsConversionWorkspacesListCall {
  7545  	c := &ProjectsLocationsConversionWorkspacesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7546  	c.parent = parent
  7547  	return c
  7548  }
  7549  
  7550  // Filter sets the optional parameter "filter": A filter expression that
  7551  // filters conversion workspaces listed in the response. The expression must
  7552  // specify the field name, a comparison operator, and the value that you want
  7553  // to use for filtering. The value must be a string, a number, or a boolean.
  7554  // The comparison operator must be either =, !=, >, or <. For example, list
  7555  // conversion workspaces created this year by specifying **createTime %gt;
  7556  // 2020-01-01T00:00:00.000000000Z.** You can also filter nested fields. For
  7557  // example, you could specify **source.version = "12.c.1"** to select all
  7558  // conversion workspaces with source database version equal to 12.c.1.
  7559  func (c *ProjectsLocationsConversionWorkspacesListCall) Filter(filter string) *ProjectsLocationsConversionWorkspacesListCall {
  7560  	c.urlParams_.Set("filter", filter)
  7561  	return c
  7562  }
  7563  
  7564  // PageSize sets the optional parameter "pageSize": The maximum number of
  7565  // conversion workspaces to return. The service may return fewer than this
  7566  // value. If unspecified, at most 50 sets are returned.
  7567  func (c *ProjectsLocationsConversionWorkspacesListCall) PageSize(pageSize int64) *ProjectsLocationsConversionWorkspacesListCall {
  7568  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  7569  	return c
  7570  }
  7571  
  7572  // PageToken sets the optional parameter "pageToken": The nextPageToken value
  7573  // received in the previous call to conversionWorkspaces.list, used in the
  7574  // subsequent request to retrieve the next page of results. On first call this
  7575  // should be left blank. When paginating, all other parameters provided to
  7576  // conversionWorkspaces.list must match the call that provided the page token.
  7577  func (c *ProjectsLocationsConversionWorkspacesListCall) PageToken(pageToken string) *ProjectsLocationsConversionWorkspacesListCall {
  7578  	c.urlParams_.Set("pageToken", pageToken)
  7579  	return c
  7580  }
  7581  
  7582  // Fields allows partial responses to be retrieved. See
  7583  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7584  // details.
  7585  func (c *ProjectsLocationsConversionWorkspacesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsConversionWorkspacesListCall {
  7586  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7587  	return c
  7588  }
  7589  
  7590  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  7591  // object's ETag matches the given value. This is useful for getting updates
  7592  // only after the object has changed since the last request.
  7593  func (c *ProjectsLocationsConversionWorkspacesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsConversionWorkspacesListCall {
  7594  	c.ifNoneMatch_ = entityTag
  7595  	return c
  7596  }
  7597  
  7598  // Context sets the context to be used in this call's Do method.
  7599  func (c *ProjectsLocationsConversionWorkspacesListCall) Context(ctx context.Context) *ProjectsLocationsConversionWorkspacesListCall {
  7600  	c.ctx_ = ctx
  7601  	return c
  7602  }
  7603  
  7604  // Header returns a http.Header that can be modified by the caller to add
  7605  // headers to the request.
  7606  func (c *ProjectsLocationsConversionWorkspacesListCall) Header() http.Header {
  7607  	if c.header_ == nil {
  7608  		c.header_ = make(http.Header)
  7609  	}
  7610  	return c.header_
  7611  }
  7612  
  7613  func (c *ProjectsLocationsConversionWorkspacesListCall) doRequest(alt string) (*http.Response, error) {
  7614  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7615  	if c.ifNoneMatch_ != "" {
  7616  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  7617  	}
  7618  	var body io.Reader = nil
  7619  	c.urlParams_.Set("alt", alt)
  7620  	c.urlParams_.Set("prettyPrint", "false")
  7621  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/conversionWorkspaces")
  7622  	urls += "?" + c.urlParams_.Encode()
  7623  	req, err := http.NewRequest("GET", urls, body)
  7624  	if err != nil {
  7625  		return nil, err
  7626  	}
  7627  	req.Header = reqHeaders
  7628  	googleapi.Expand(req.URL, map[string]string{
  7629  		"parent": c.parent,
  7630  	})
  7631  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7632  }
  7633  
  7634  // Do executes the "datamigration.projects.locations.conversionWorkspaces.list" call.
  7635  // Any non-2xx status code is an error. Response headers are in either
  7636  // *ListConversionWorkspacesResponse.ServerResponse.Header or (if a response
  7637  // was returned at all) in error.(*googleapi.Error).Header. Use
  7638  // googleapi.IsNotModified to check whether the returned error was because
  7639  // http.StatusNotModified was returned.
  7640  func (c *ProjectsLocationsConversionWorkspacesListCall) Do(opts ...googleapi.CallOption) (*ListConversionWorkspacesResponse, error) {
  7641  	gensupport.SetOptions(c.urlParams_, opts...)
  7642  	res, err := c.doRequest("json")
  7643  	if res != nil && res.StatusCode == http.StatusNotModified {
  7644  		if res.Body != nil {
  7645  			res.Body.Close()
  7646  		}
  7647  		return nil, gensupport.WrapError(&googleapi.Error{
  7648  			Code:   res.StatusCode,
  7649  			Header: res.Header,
  7650  		})
  7651  	}
  7652  	if err != nil {
  7653  		return nil, err
  7654  	}
  7655  	defer googleapi.CloseBody(res)
  7656  	if err := googleapi.CheckResponse(res); err != nil {
  7657  		return nil, gensupport.WrapError(err)
  7658  	}
  7659  	ret := &ListConversionWorkspacesResponse{
  7660  		ServerResponse: googleapi.ServerResponse{
  7661  			Header:         res.Header,
  7662  			HTTPStatusCode: res.StatusCode,
  7663  		},
  7664  	}
  7665  	target := &ret
  7666  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7667  		return nil, err
  7668  	}
  7669  	return ret, nil
  7670  }
  7671  
  7672  // Pages invokes f for each page of results.
  7673  // A non-nil error returned from f will halt the iteration.
  7674  // The provided context supersedes any context provided to the Context method.
  7675  func (c *ProjectsLocationsConversionWorkspacesListCall) Pages(ctx context.Context, f func(*ListConversionWorkspacesResponse) error) error {
  7676  	c.ctx_ = ctx
  7677  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  7678  	for {
  7679  		x, err := c.Do()
  7680  		if err != nil {
  7681  			return err
  7682  		}
  7683  		if err := f(x); err != nil {
  7684  			return err
  7685  		}
  7686  		if x.NextPageToken == "" {
  7687  			return nil
  7688  		}
  7689  		c.PageToken(x.NextPageToken)
  7690  	}
  7691  }
  7692  
  7693  type ProjectsLocationsConversionWorkspacesPatchCall struct {
  7694  	s                   *Service
  7695  	name                string
  7696  	conversionworkspace *ConversionWorkspace
  7697  	urlParams_          gensupport.URLParams
  7698  	ctx_                context.Context
  7699  	header_             http.Header
  7700  }
  7701  
  7702  // Patch: Updates the parameters of a single conversion workspace.
  7703  //
  7704  //   - name: Full name of the workspace resource, in the form of:
  7705  //     projects/{project}/locations/{location}/conversionWorkspaces/{conversion_wo
  7706  //     rkspace}.
  7707  func (r *ProjectsLocationsConversionWorkspacesService) Patch(name string, conversionworkspace *ConversionWorkspace) *ProjectsLocationsConversionWorkspacesPatchCall {
  7708  	c := &ProjectsLocationsConversionWorkspacesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7709  	c.name = name
  7710  	c.conversionworkspace = conversionworkspace
  7711  	return c
  7712  }
  7713  
  7714  // RequestId sets the optional parameter "requestId": A unique ID used to
  7715  // identify the request. If the server receives two requests with the same ID,
  7716  // then the second request is ignored. It is recommended to always set this
  7717  // value to a UUID. The ID must contain only letters (a-z, A-Z), numbers (0-9),
  7718  // underscores (_), and hyphens (-). The maximum length is 40 characters.
  7719  func (c *ProjectsLocationsConversionWorkspacesPatchCall) RequestId(requestId string) *ProjectsLocationsConversionWorkspacesPatchCall {
  7720  	c.urlParams_.Set("requestId", requestId)
  7721  	return c
  7722  }
  7723  
  7724  // UpdateMask sets the optional parameter "updateMask": Required. Field mask is
  7725  // used to specify the fields to be overwritten by the update in the conversion
  7726  // workspace resource.
  7727  func (c *ProjectsLocationsConversionWorkspacesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsConversionWorkspacesPatchCall {
  7728  	c.urlParams_.Set("updateMask", updateMask)
  7729  	return c
  7730  }
  7731  
  7732  // Fields allows partial responses to be retrieved. See
  7733  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7734  // details.
  7735  func (c *ProjectsLocationsConversionWorkspacesPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsConversionWorkspacesPatchCall {
  7736  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7737  	return c
  7738  }
  7739  
  7740  // Context sets the context to be used in this call's Do method.
  7741  func (c *ProjectsLocationsConversionWorkspacesPatchCall) Context(ctx context.Context) *ProjectsLocationsConversionWorkspacesPatchCall {
  7742  	c.ctx_ = ctx
  7743  	return c
  7744  }
  7745  
  7746  // Header returns a http.Header that can be modified by the caller to add
  7747  // headers to the request.
  7748  func (c *ProjectsLocationsConversionWorkspacesPatchCall) Header() http.Header {
  7749  	if c.header_ == nil {
  7750  		c.header_ = make(http.Header)
  7751  	}
  7752  	return c.header_
  7753  }
  7754  
  7755  func (c *ProjectsLocationsConversionWorkspacesPatchCall) doRequest(alt string) (*http.Response, error) {
  7756  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  7757  	var body io.Reader = nil
  7758  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.conversionworkspace)
  7759  	if err != nil {
  7760  		return nil, err
  7761  	}
  7762  	c.urlParams_.Set("alt", alt)
  7763  	c.urlParams_.Set("prettyPrint", "false")
  7764  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  7765  	urls += "?" + c.urlParams_.Encode()
  7766  	req, err := http.NewRequest("PATCH", urls, body)
  7767  	if err != nil {
  7768  		return nil, err
  7769  	}
  7770  	req.Header = reqHeaders
  7771  	googleapi.Expand(req.URL, map[string]string{
  7772  		"name": c.name,
  7773  	})
  7774  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7775  }
  7776  
  7777  // Do executes the "datamigration.projects.locations.conversionWorkspaces.patch" call.
  7778  // Any non-2xx status code is an error. Response headers are in either
  7779  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  7780  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7781  // whether the returned error was because http.StatusNotModified was returned.
  7782  func (c *ProjectsLocationsConversionWorkspacesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  7783  	gensupport.SetOptions(c.urlParams_, opts...)
  7784  	res, err := c.doRequest("json")
  7785  	if res != nil && res.StatusCode == http.StatusNotModified {
  7786  		if res.Body != nil {
  7787  			res.Body.Close()
  7788  		}
  7789  		return nil, gensupport.WrapError(&googleapi.Error{
  7790  			Code:   res.StatusCode,
  7791  			Header: res.Header,
  7792  		})
  7793  	}
  7794  	if err != nil {
  7795  		return nil, err
  7796  	}
  7797  	defer googleapi.CloseBody(res)
  7798  	if err := googleapi.CheckResponse(res); err != nil {
  7799  		return nil, gensupport.WrapError(err)
  7800  	}
  7801  	ret := &Operation{
  7802  		ServerResponse: googleapi.ServerResponse{
  7803  			Header:         res.Header,
  7804  			HTTPStatusCode: res.StatusCode,
  7805  		},
  7806  	}
  7807  	target := &ret
  7808  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7809  		return nil, err
  7810  	}
  7811  	return ret, nil
  7812  }
  7813  
  7814  type ProjectsLocationsConversionWorkspacesRollbackCall struct {
  7815  	s                                  *Service
  7816  	name                               string
  7817  	rollbackconversionworkspacerequest *RollbackConversionWorkspaceRequest
  7818  	urlParams_                         gensupport.URLParams
  7819  	ctx_                               context.Context
  7820  	header_                            http.Header
  7821  }
  7822  
  7823  // Rollback: Rolls back a conversion workspace to the last committed snapshot.
  7824  //
  7825  // - name: Name of the conversion workspace resource to roll back to.
  7826  func (r *ProjectsLocationsConversionWorkspacesService) Rollback(name string, rollbackconversionworkspacerequest *RollbackConversionWorkspaceRequest) *ProjectsLocationsConversionWorkspacesRollbackCall {
  7827  	c := &ProjectsLocationsConversionWorkspacesRollbackCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7828  	c.name = name
  7829  	c.rollbackconversionworkspacerequest = rollbackconversionworkspacerequest
  7830  	return c
  7831  }
  7832  
  7833  // Fields allows partial responses to be retrieved. See
  7834  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7835  // details.
  7836  func (c *ProjectsLocationsConversionWorkspacesRollbackCall) Fields(s ...googleapi.Field) *ProjectsLocationsConversionWorkspacesRollbackCall {
  7837  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7838  	return c
  7839  }
  7840  
  7841  // Context sets the context to be used in this call's Do method.
  7842  func (c *ProjectsLocationsConversionWorkspacesRollbackCall) Context(ctx context.Context) *ProjectsLocationsConversionWorkspacesRollbackCall {
  7843  	c.ctx_ = ctx
  7844  	return c
  7845  }
  7846  
  7847  // Header returns a http.Header that can be modified by the caller to add
  7848  // headers to the request.
  7849  func (c *ProjectsLocationsConversionWorkspacesRollbackCall) Header() http.Header {
  7850  	if c.header_ == nil {
  7851  		c.header_ = make(http.Header)
  7852  	}
  7853  	return c.header_
  7854  }
  7855  
  7856  func (c *ProjectsLocationsConversionWorkspacesRollbackCall) doRequest(alt string) (*http.Response, error) {
  7857  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  7858  	var body io.Reader = nil
  7859  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.rollbackconversionworkspacerequest)
  7860  	if err != nil {
  7861  		return nil, err
  7862  	}
  7863  	c.urlParams_.Set("alt", alt)
  7864  	c.urlParams_.Set("prettyPrint", "false")
  7865  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:rollback")
  7866  	urls += "?" + c.urlParams_.Encode()
  7867  	req, err := http.NewRequest("POST", urls, body)
  7868  	if err != nil {
  7869  		return nil, err
  7870  	}
  7871  	req.Header = reqHeaders
  7872  	googleapi.Expand(req.URL, map[string]string{
  7873  		"name": c.name,
  7874  	})
  7875  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  7876  }
  7877  
  7878  // Do executes the "datamigration.projects.locations.conversionWorkspaces.rollback" call.
  7879  // Any non-2xx status code is an error. Response headers are in either
  7880  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  7881  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  7882  // whether the returned error was because http.StatusNotModified was returned.
  7883  func (c *ProjectsLocationsConversionWorkspacesRollbackCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  7884  	gensupport.SetOptions(c.urlParams_, opts...)
  7885  	res, err := c.doRequest("json")
  7886  	if res != nil && res.StatusCode == http.StatusNotModified {
  7887  		if res.Body != nil {
  7888  			res.Body.Close()
  7889  		}
  7890  		return nil, gensupport.WrapError(&googleapi.Error{
  7891  			Code:   res.StatusCode,
  7892  			Header: res.Header,
  7893  		})
  7894  	}
  7895  	if err != nil {
  7896  		return nil, err
  7897  	}
  7898  	defer googleapi.CloseBody(res)
  7899  	if err := googleapi.CheckResponse(res); err != nil {
  7900  		return nil, gensupport.WrapError(err)
  7901  	}
  7902  	ret := &Operation{
  7903  		ServerResponse: googleapi.ServerResponse{
  7904  			Header:         res.Header,
  7905  			HTTPStatusCode: res.StatusCode,
  7906  		},
  7907  	}
  7908  	target := &ret
  7909  	if err := gensupport.DecodeResponse(target, res); err != nil {
  7910  		return nil, err
  7911  	}
  7912  	return ret, nil
  7913  }
  7914  
  7915  type ProjectsLocationsConversionWorkspacesSearchBackgroundJobsCall struct {
  7916  	s                   *Service
  7917  	conversionWorkspace string
  7918  	urlParams_          gensupport.URLParams
  7919  	ifNoneMatch_        string
  7920  	ctx_                context.Context
  7921  	header_             http.Header
  7922  }
  7923  
  7924  // SearchBackgroundJobs: Searches/lists the background jobs for a specific
  7925  // conversion workspace. The background jobs are not resources like conversion
  7926  // workspaces or mapping rules, and they can't be created, updated or deleted.
  7927  // Instead, they are a way to expose the data plane jobs log.
  7928  //
  7929  //   - conversionWorkspace: Name of the conversion workspace resource whose jobs
  7930  //     are listed, in the form of:
  7931  //     projects/{project}/locations/{location}/conversionWorkspaces/{conversion_wo
  7932  //     rkspace}.
  7933  func (r *ProjectsLocationsConversionWorkspacesService) SearchBackgroundJobs(conversionWorkspace string) *ProjectsLocationsConversionWorkspacesSearchBackgroundJobsCall {
  7934  	c := &ProjectsLocationsConversionWorkspacesSearchBackgroundJobsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  7935  	c.conversionWorkspace = conversionWorkspace
  7936  	return c
  7937  }
  7938  
  7939  // CompletedUntilTime sets the optional parameter "completedUntilTime": If
  7940  // provided, only returns jobs that completed until (not including) the given
  7941  // timestamp.
  7942  func (c *ProjectsLocationsConversionWorkspacesSearchBackgroundJobsCall) CompletedUntilTime(completedUntilTime string) *ProjectsLocationsConversionWorkspacesSearchBackgroundJobsCall {
  7943  	c.urlParams_.Set("completedUntilTime", completedUntilTime)
  7944  	return c
  7945  }
  7946  
  7947  // MaxSize sets the optional parameter "maxSize": The maximum number of jobs to
  7948  // return. The service may return fewer than this value. If unspecified, at
  7949  // most 100 jobs are returned. The maximum value is 100; values above 100 are
  7950  // coerced to 100.
  7951  func (c *ProjectsLocationsConversionWorkspacesSearchBackgroundJobsCall) MaxSize(maxSize int64) *ProjectsLocationsConversionWorkspacesSearchBackgroundJobsCall {
  7952  	c.urlParams_.Set("maxSize", fmt.Sprint(maxSize))
  7953  	return c
  7954  }
  7955  
  7956  // ReturnMostRecentPerJobType sets the optional parameter
  7957  // "returnMostRecentPerJobType": Whether or not to return just the most recent
  7958  // job per job type,
  7959  func (c *ProjectsLocationsConversionWorkspacesSearchBackgroundJobsCall) ReturnMostRecentPerJobType(returnMostRecentPerJobType bool) *ProjectsLocationsConversionWorkspacesSearchBackgroundJobsCall {
  7960  	c.urlParams_.Set("returnMostRecentPerJobType", fmt.Sprint(returnMostRecentPerJobType))
  7961  	return c
  7962  }
  7963  
  7964  // Fields allows partial responses to be retrieved. See
  7965  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  7966  // details.
  7967  func (c *ProjectsLocationsConversionWorkspacesSearchBackgroundJobsCall) Fields(s ...googleapi.Field) *ProjectsLocationsConversionWorkspacesSearchBackgroundJobsCall {
  7968  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  7969  	return c
  7970  }
  7971  
  7972  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  7973  // object's ETag matches the given value. This is useful for getting updates
  7974  // only after the object has changed since the last request.
  7975  func (c *ProjectsLocationsConversionWorkspacesSearchBackgroundJobsCall) IfNoneMatch(entityTag string) *ProjectsLocationsConversionWorkspacesSearchBackgroundJobsCall {
  7976  	c.ifNoneMatch_ = entityTag
  7977  	return c
  7978  }
  7979  
  7980  // Context sets the context to be used in this call's Do method.
  7981  func (c *ProjectsLocationsConversionWorkspacesSearchBackgroundJobsCall) Context(ctx context.Context) *ProjectsLocationsConversionWorkspacesSearchBackgroundJobsCall {
  7982  	c.ctx_ = ctx
  7983  	return c
  7984  }
  7985  
  7986  // Header returns a http.Header that can be modified by the caller to add
  7987  // headers to the request.
  7988  func (c *ProjectsLocationsConversionWorkspacesSearchBackgroundJobsCall) Header() http.Header {
  7989  	if c.header_ == nil {
  7990  		c.header_ = make(http.Header)
  7991  	}
  7992  	return c.header_
  7993  }
  7994  
  7995  func (c *ProjectsLocationsConversionWorkspacesSearchBackgroundJobsCall) doRequest(alt string) (*http.Response, error) {
  7996  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  7997  	if c.ifNoneMatch_ != "" {
  7998  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  7999  	}
  8000  	var body io.Reader = nil
  8001  	c.urlParams_.Set("alt", alt)
  8002  	c.urlParams_.Set("prettyPrint", "false")
  8003  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+conversionWorkspace}:searchBackgroundJobs")
  8004  	urls += "?" + c.urlParams_.Encode()
  8005  	req, err := http.NewRequest("GET", urls, body)
  8006  	if err != nil {
  8007  		return nil, err
  8008  	}
  8009  	req.Header = reqHeaders
  8010  	googleapi.Expand(req.URL, map[string]string{
  8011  		"conversionWorkspace": c.conversionWorkspace,
  8012  	})
  8013  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8014  }
  8015  
  8016  // Do executes the "datamigration.projects.locations.conversionWorkspaces.searchBackgroundJobs" call.
  8017  // Any non-2xx status code is an error. Response headers are in either
  8018  // *SearchBackgroundJobsResponse.ServerResponse.Header or (if a response was
  8019  // returned at all) in error.(*googleapi.Error).Header. Use
  8020  // googleapi.IsNotModified to check whether the returned error was because
  8021  // http.StatusNotModified was returned.
  8022  func (c *ProjectsLocationsConversionWorkspacesSearchBackgroundJobsCall) Do(opts ...googleapi.CallOption) (*SearchBackgroundJobsResponse, error) {
  8023  	gensupport.SetOptions(c.urlParams_, opts...)
  8024  	res, err := c.doRequest("json")
  8025  	if res != nil && res.StatusCode == http.StatusNotModified {
  8026  		if res.Body != nil {
  8027  			res.Body.Close()
  8028  		}
  8029  		return nil, gensupport.WrapError(&googleapi.Error{
  8030  			Code:   res.StatusCode,
  8031  			Header: res.Header,
  8032  		})
  8033  	}
  8034  	if err != nil {
  8035  		return nil, err
  8036  	}
  8037  	defer googleapi.CloseBody(res)
  8038  	if err := googleapi.CheckResponse(res); err != nil {
  8039  		return nil, gensupport.WrapError(err)
  8040  	}
  8041  	ret := &SearchBackgroundJobsResponse{
  8042  		ServerResponse: googleapi.ServerResponse{
  8043  			Header:         res.Header,
  8044  			HTTPStatusCode: res.StatusCode,
  8045  		},
  8046  	}
  8047  	target := &ret
  8048  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8049  		return nil, err
  8050  	}
  8051  	return ret, nil
  8052  }
  8053  
  8054  type ProjectsLocationsConversionWorkspacesSeedCall struct {
  8055  	s                              *Service
  8056  	name                           string
  8057  	seedconversionworkspacerequest *SeedConversionWorkspaceRequest
  8058  	urlParams_                     gensupport.URLParams
  8059  	ctx_                           context.Context
  8060  	header_                        http.Header
  8061  }
  8062  
  8063  // Seed: Imports a snapshot of the source database into the conversion
  8064  // workspace.
  8065  //
  8066  //   - name: Name of the conversion workspace resource to seed with new database
  8067  //     structure, in the form of:
  8068  //     projects/{project}/locations/{location}/conversionWorkspaces/{conversion_wo
  8069  //     rkspace}.
  8070  func (r *ProjectsLocationsConversionWorkspacesService) Seed(name string, seedconversionworkspacerequest *SeedConversionWorkspaceRequest) *ProjectsLocationsConversionWorkspacesSeedCall {
  8071  	c := &ProjectsLocationsConversionWorkspacesSeedCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8072  	c.name = name
  8073  	c.seedconversionworkspacerequest = seedconversionworkspacerequest
  8074  	return c
  8075  }
  8076  
  8077  // Fields allows partial responses to be retrieved. See
  8078  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8079  // details.
  8080  func (c *ProjectsLocationsConversionWorkspacesSeedCall) Fields(s ...googleapi.Field) *ProjectsLocationsConversionWorkspacesSeedCall {
  8081  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8082  	return c
  8083  }
  8084  
  8085  // Context sets the context to be used in this call's Do method.
  8086  func (c *ProjectsLocationsConversionWorkspacesSeedCall) Context(ctx context.Context) *ProjectsLocationsConversionWorkspacesSeedCall {
  8087  	c.ctx_ = ctx
  8088  	return c
  8089  }
  8090  
  8091  // Header returns a http.Header that can be modified by the caller to add
  8092  // headers to the request.
  8093  func (c *ProjectsLocationsConversionWorkspacesSeedCall) Header() http.Header {
  8094  	if c.header_ == nil {
  8095  		c.header_ = make(http.Header)
  8096  	}
  8097  	return c.header_
  8098  }
  8099  
  8100  func (c *ProjectsLocationsConversionWorkspacesSeedCall) doRequest(alt string) (*http.Response, error) {
  8101  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  8102  	var body io.Reader = nil
  8103  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.seedconversionworkspacerequest)
  8104  	if err != nil {
  8105  		return nil, err
  8106  	}
  8107  	c.urlParams_.Set("alt", alt)
  8108  	c.urlParams_.Set("prettyPrint", "false")
  8109  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:seed")
  8110  	urls += "?" + c.urlParams_.Encode()
  8111  	req, err := http.NewRequest("POST", urls, body)
  8112  	if err != nil {
  8113  		return nil, err
  8114  	}
  8115  	req.Header = reqHeaders
  8116  	googleapi.Expand(req.URL, map[string]string{
  8117  		"name": c.name,
  8118  	})
  8119  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8120  }
  8121  
  8122  // Do executes the "datamigration.projects.locations.conversionWorkspaces.seed" call.
  8123  // Any non-2xx status code is an error. Response headers are in either
  8124  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  8125  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8126  // whether the returned error was because http.StatusNotModified was returned.
  8127  func (c *ProjectsLocationsConversionWorkspacesSeedCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  8128  	gensupport.SetOptions(c.urlParams_, opts...)
  8129  	res, err := c.doRequest("json")
  8130  	if res != nil && res.StatusCode == http.StatusNotModified {
  8131  		if res.Body != nil {
  8132  			res.Body.Close()
  8133  		}
  8134  		return nil, gensupport.WrapError(&googleapi.Error{
  8135  			Code:   res.StatusCode,
  8136  			Header: res.Header,
  8137  		})
  8138  	}
  8139  	if err != nil {
  8140  		return nil, err
  8141  	}
  8142  	defer googleapi.CloseBody(res)
  8143  	if err := googleapi.CheckResponse(res); err != nil {
  8144  		return nil, gensupport.WrapError(err)
  8145  	}
  8146  	ret := &Operation{
  8147  		ServerResponse: googleapi.ServerResponse{
  8148  			Header:         res.Header,
  8149  			HTTPStatusCode: res.StatusCode,
  8150  		},
  8151  	}
  8152  	target := &ret
  8153  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8154  		return nil, err
  8155  	}
  8156  	return ret, nil
  8157  }
  8158  
  8159  type ProjectsLocationsConversionWorkspacesSetIamPolicyCall struct {
  8160  	s                   *Service
  8161  	resource            string
  8162  	setiampolicyrequest *SetIamPolicyRequest
  8163  	urlParams_          gensupport.URLParams
  8164  	ctx_                context.Context
  8165  	header_             http.Header
  8166  }
  8167  
  8168  // SetIamPolicy: Sets the access control policy on the specified resource.
  8169  // Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`,
  8170  // and `PERMISSION_DENIED` errors.
  8171  //
  8172  //   - resource: REQUIRED: The resource for which the policy is being specified.
  8173  //     See Resource names (https://cloud.google.com/apis/design/resource_names)
  8174  //     for the appropriate value for this field.
  8175  func (r *ProjectsLocationsConversionWorkspacesService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsConversionWorkspacesSetIamPolicyCall {
  8176  	c := &ProjectsLocationsConversionWorkspacesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8177  	c.resource = resource
  8178  	c.setiampolicyrequest = setiampolicyrequest
  8179  	return c
  8180  }
  8181  
  8182  // Fields allows partial responses to be retrieved. See
  8183  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8184  // details.
  8185  func (c *ProjectsLocationsConversionWorkspacesSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsConversionWorkspacesSetIamPolicyCall {
  8186  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8187  	return c
  8188  }
  8189  
  8190  // Context sets the context to be used in this call's Do method.
  8191  func (c *ProjectsLocationsConversionWorkspacesSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsConversionWorkspacesSetIamPolicyCall {
  8192  	c.ctx_ = ctx
  8193  	return c
  8194  }
  8195  
  8196  // Header returns a http.Header that can be modified by the caller to add
  8197  // headers to the request.
  8198  func (c *ProjectsLocationsConversionWorkspacesSetIamPolicyCall) Header() http.Header {
  8199  	if c.header_ == nil {
  8200  		c.header_ = make(http.Header)
  8201  	}
  8202  	return c.header_
  8203  }
  8204  
  8205  func (c *ProjectsLocationsConversionWorkspacesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
  8206  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  8207  	var body io.Reader = nil
  8208  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
  8209  	if err != nil {
  8210  		return nil, err
  8211  	}
  8212  	c.urlParams_.Set("alt", alt)
  8213  	c.urlParams_.Set("prettyPrint", "false")
  8214  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:setIamPolicy")
  8215  	urls += "?" + c.urlParams_.Encode()
  8216  	req, err := http.NewRequest("POST", urls, body)
  8217  	if err != nil {
  8218  		return nil, err
  8219  	}
  8220  	req.Header = reqHeaders
  8221  	googleapi.Expand(req.URL, map[string]string{
  8222  		"resource": c.resource,
  8223  	})
  8224  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8225  }
  8226  
  8227  // Do executes the "datamigration.projects.locations.conversionWorkspaces.setIamPolicy" call.
  8228  // Any non-2xx status code is an error. Response headers are in either
  8229  // *Policy.ServerResponse.Header or (if a response was returned at all) in
  8230  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8231  // whether the returned error was because http.StatusNotModified was returned.
  8232  func (c *ProjectsLocationsConversionWorkspacesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
  8233  	gensupport.SetOptions(c.urlParams_, opts...)
  8234  	res, err := c.doRequest("json")
  8235  	if res != nil && res.StatusCode == http.StatusNotModified {
  8236  		if res.Body != nil {
  8237  			res.Body.Close()
  8238  		}
  8239  		return nil, gensupport.WrapError(&googleapi.Error{
  8240  			Code:   res.StatusCode,
  8241  			Header: res.Header,
  8242  		})
  8243  	}
  8244  	if err != nil {
  8245  		return nil, err
  8246  	}
  8247  	defer googleapi.CloseBody(res)
  8248  	if err := googleapi.CheckResponse(res); err != nil {
  8249  		return nil, gensupport.WrapError(err)
  8250  	}
  8251  	ret := &Policy{
  8252  		ServerResponse: googleapi.ServerResponse{
  8253  			Header:         res.Header,
  8254  			HTTPStatusCode: res.StatusCode,
  8255  		},
  8256  	}
  8257  	target := &ret
  8258  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8259  		return nil, err
  8260  	}
  8261  	return ret, nil
  8262  }
  8263  
  8264  type ProjectsLocationsConversionWorkspacesTestIamPermissionsCall struct {
  8265  	s                         *Service
  8266  	resource                  string
  8267  	testiampermissionsrequest *TestIamPermissionsRequest
  8268  	urlParams_                gensupport.URLParams
  8269  	ctx_                      context.Context
  8270  	header_                   http.Header
  8271  }
  8272  
  8273  // TestIamPermissions: Returns permissions that a caller has on the specified
  8274  // resource. If the resource does not exist, this will return an empty set of
  8275  // permissions, not a `NOT_FOUND` error. Note: This operation is designed to be
  8276  // used for building permission-aware UIs and command-line tools, not for
  8277  // authorization checking. This operation may "fail open" without warning.
  8278  //
  8279  //   - resource: REQUIRED: The resource for which the policy detail is being
  8280  //     requested. See Resource names
  8281  //     (https://cloud.google.com/apis/design/resource_names) for the appropriate
  8282  //     value for this field.
  8283  func (r *ProjectsLocationsConversionWorkspacesService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsConversionWorkspacesTestIamPermissionsCall {
  8284  	c := &ProjectsLocationsConversionWorkspacesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8285  	c.resource = resource
  8286  	c.testiampermissionsrequest = testiampermissionsrequest
  8287  	return c
  8288  }
  8289  
  8290  // Fields allows partial responses to be retrieved. See
  8291  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8292  // details.
  8293  func (c *ProjectsLocationsConversionWorkspacesTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsConversionWorkspacesTestIamPermissionsCall {
  8294  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8295  	return c
  8296  }
  8297  
  8298  // Context sets the context to be used in this call's Do method.
  8299  func (c *ProjectsLocationsConversionWorkspacesTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsConversionWorkspacesTestIamPermissionsCall {
  8300  	c.ctx_ = ctx
  8301  	return c
  8302  }
  8303  
  8304  // Header returns a http.Header that can be modified by the caller to add
  8305  // headers to the request.
  8306  func (c *ProjectsLocationsConversionWorkspacesTestIamPermissionsCall) Header() http.Header {
  8307  	if c.header_ == nil {
  8308  		c.header_ = make(http.Header)
  8309  	}
  8310  	return c.header_
  8311  }
  8312  
  8313  func (c *ProjectsLocationsConversionWorkspacesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
  8314  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  8315  	var body io.Reader = nil
  8316  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
  8317  	if err != nil {
  8318  		return nil, err
  8319  	}
  8320  	c.urlParams_.Set("alt", alt)
  8321  	c.urlParams_.Set("prettyPrint", "false")
  8322  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:testIamPermissions")
  8323  	urls += "?" + c.urlParams_.Encode()
  8324  	req, err := http.NewRequest("POST", urls, body)
  8325  	if err != nil {
  8326  		return nil, err
  8327  	}
  8328  	req.Header = reqHeaders
  8329  	googleapi.Expand(req.URL, map[string]string{
  8330  		"resource": c.resource,
  8331  	})
  8332  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8333  }
  8334  
  8335  // Do executes the "datamigration.projects.locations.conversionWorkspaces.testIamPermissions" call.
  8336  // Any non-2xx status code is an error. Response headers are in either
  8337  // *TestIamPermissionsResponse.ServerResponse.Header or (if a response was
  8338  // returned at all) in error.(*googleapi.Error).Header. Use
  8339  // googleapi.IsNotModified to check whether the returned error was because
  8340  // http.StatusNotModified was returned.
  8341  func (c *ProjectsLocationsConversionWorkspacesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
  8342  	gensupport.SetOptions(c.urlParams_, opts...)
  8343  	res, err := c.doRequest("json")
  8344  	if res != nil && res.StatusCode == http.StatusNotModified {
  8345  		if res.Body != nil {
  8346  			res.Body.Close()
  8347  		}
  8348  		return nil, gensupport.WrapError(&googleapi.Error{
  8349  			Code:   res.StatusCode,
  8350  			Header: res.Header,
  8351  		})
  8352  	}
  8353  	if err != nil {
  8354  		return nil, err
  8355  	}
  8356  	defer googleapi.CloseBody(res)
  8357  	if err := googleapi.CheckResponse(res); err != nil {
  8358  		return nil, gensupport.WrapError(err)
  8359  	}
  8360  	ret := &TestIamPermissionsResponse{
  8361  		ServerResponse: googleapi.ServerResponse{
  8362  			Header:         res.Header,
  8363  			HTTPStatusCode: res.StatusCode,
  8364  		},
  8365  	}
  8366  	target := &ret
  8367  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8368  		return nil, err
  8369  	}
  8370  	return ret, nil
  8371  }
  8372  
  8373  type ProjectsLocationsConversionWorkspacesMappingRulesCreateCall struct {
  8374  	s           *Service
  8375  	parent      string
  8376  	mappingrule *MappingRule
  8377  	urlParams_  gensupport.URLParams
  8378  	ctx_        context.Context
  8379  	header_     http.Header
  8380  }
  8381  
  8382  // Create: Creates a new mapping rule for a given conversion workspace.
  8383  //
  8384  // - parent: The parent which owns this collection of mapping rules.
  8385  func (r *ProjectsLocationsConversionWorkspacesMappingRulesService) Create(parent string, mappingrule *MappingRule) *ProjectsLocationsConversionWorkspacesMappingRulesCreateCall {
  8386  	c := &ProjectsLocationsConversionWorkspacesMappingRulesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8387  	c.parent = parent
  8388  	c.mappingrule = mappingrule
  8389  	return c
  8390  }
  8391  
  8392  // MappingRuleId sets the optional parameter "mappingRuleId": Required. The ID
  8393  // of the rule to create.
  8394  func (c *ProjectsLocationsConversionWorkspacesMappingRulesCreateCall) MappingRuleId(mappingRuleId string) *ProjectsLocationsConversionWorkspacesMappingRulesCreateCall {
  8395  	c.urlParams_.Set("mappingRuleId", mappingRuleId)
  8396  	return c
  8397  }
  8398  
  8399  // RequestId sets the optional parameter "requestId": A unique ID used to
  8400  // identify the request. If the server receives two requests with the same ID,
  8401  // then the second request is ignored. It is recommended to always set this
  8402  // value to a UUID. The ID must contain only letters (a-z, A-Z), numbers (0-9),
  8403  // underscores (_), and hyphens (-). The maximum length is 40 characters.
  8404  func (c *ProjectsLocationsConversionWorkspacesMappingRulesCreateCall) RequestId(requestId string) *ProjectsLocationsConversionWorkspacesMappingRulesCreateCall {
  8405  	c.urlParams_.Set("requestId", requestId)
  8406  	return c
  8407  }
  8408  
  8409  // Fields allows partial responses to be retrieved. See
  8410  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8411  // details.
  8412  func (c *ProjectsLocationsConversionWorkspacesMappingRulesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsConversionWorkspacesMappingRulesCreateCall {
  8413  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8414  	return c
  8415  }
  8416  
  8417  // Context sets the context to be used in this call's Do method.
  8418  func (c *ProjectsLocationsConversionWorkspacesMappingRulesCreateCall) Context(ctx context.Context) *ProjectsLocationsConversionWorkspacesMappingRulesCreateCall {
  8419  	c.ctx_ = ctx
  8420  	return c
  8421  }
  8422  
  8423  // Header returns a http.Header that can be modified by the caller to add
  8424  // headers to the request.
  8425  func (c *ProjectsLocationsConversionWorkspacesMappingRulesCreateCall) Header() http.Header {
  8426  	if c.header_ == nil {
  8427  		c.header_ = make(http.Header)
  8428  	}
  8429  	return c.header_
  8430  }
  8431  
  8432  func (c *ProjectsLocationsConversionWorkspacesMappingRulesCreateCall) doRequest(alt string) (*http.Response, error) {
  8433  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  8434  	var body io.Reader = nil
  8435  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.mappingrule)
  8436  	if err != nil {
  8437  		return nil, err
  8438  	}
  8439  	c.urlParams_.Set("alt", alt)
  8440  	c.urlParams_.Set("prettyPrint", "false")
  8441  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/mappingRules")
  8442  	urls += "?" + c.urlParams_.Encode()
  8443  	req, err := http.NewRequest("POST", urls, body)
  8444  	if err != nil {
  8445  		return nil, err
  8446  	}
  8447  	req.Header = reqHeaders
  8448  	googleapi.Expand(req.URL, map[string]string{
  8449  		"parent": c.parent,
  8450  	})
  8451  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8452  }
  8453  
  8454  // Do executes the "datamigration.projects.locations.conversionWorkspaces.mappingRules.create" call.
  8455  // Any non-2xx status code is an error. Response headers are in either
  8456  // *MappingRule.ServerResponse.Header or (if a response was returned at all) in
  8457  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8458  // whether the returned error was because http.StatusNotModified was returned.
  8459  func (c *ProjectsLocationsConversionWorkspacesMappingRulesCreateCall) Do(opts ...googleapi.CallOption) (*MappingRule, error) {
  8460  	gensupport.SetOptions(c.urlParams_, opts...)
  8461  	res, err := c.doRequest("json")
  8462  	if res != nil && res.StatusCode == http.StatusNotModified {
  8463  		if res.Body != nil {
  8464  			res.Body.Close()
  8465  		}
  8466  		return nil, gensupport.WrapError(&googleapi.Error{
  8467  			Code:   res.StatusCode,
  8468  			Header: res.Header,
  8469  		})
  8470  	}
  8471  	if err != nil {
  8472  		return nil, err
  8473  	}
  8474  	defer googleapi.CloseBody(res)
  8475  	if err := googleapi.CheckResponse(res); err != nil {
  8476  		return nil, gensupport.WrapError(err)
  8477  	}
  8478  	ret := &MappingRule{
  8479  		ServerResponse: googleapi.ServerResponse{
  8480  			Header:         res.Header,
  8481  			HTTPStatusCode: res.StatusCode,
  8482  		},
  8483  	}
  8484  	target := &ret
  8485  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8486  		return nil, err
  8487  	}
  8488  	return ret, nil
  8489  }
  8490  
  8491  type ProjectsLocationsConversionWorkspacesMappingRulesDeleteCall struct {
  8492  	s          *Service
  8493  	name       string
  8494  	urlParams_ gensupport.URLParams
  8495  	ctx_       context.Context
  8496  	header_    http.Header
  8497  }
  8498  
  8499  // Delete: Deletes a single mapping rule.
  8500  //
  8501  // - name: Name of the mapping rule resource to delete.
  8502  func (r *ProjectsLocationsConversionWorkspacesMappingRulesService) Delete(name string) *ProjectsLocationsConversionWorkspacesMappingRulesDeleteCall {
  8503  	c := &ProjectsLocationsConversionWorkspacesMappingRulesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8504  	c.name = name
  8505  	return c
  8506  }
  8507  
  8508  // RequestId sets the optional parameter "requestId": A unique ID used to
  8509  // identify the request. If the server receives two requests with the same ID,
  8510  // then the second request is ignored. It is recommended to always set this
  8511  // value to a UUID. The ID must contain only letters (a-z, A-Z), numbers (0-9),
  8512  // underscores (_), and hyphens (-). The maximum length is 40 characters.
  8513  func (c *ProjectsLocationsConversionWorkspacesMappingRulesDeleteCall) RequestId(requestId string) *ProjectsLocationsConversionWorkspacesMappingRulesDeleteCall {
  8514  	c.urlParams_.Set("requestId", requestId)
  8515  	return c
  8516  }
  8517  
  8518  // Fields allows partial responses to be retrieved. See
  8519  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8520  // details.
  8521  func (c *ProjectsLocationsConversionWorkspacesMappingRulesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsConversionWorkspacesMappingRulesDeleteCall {
  8522  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8523  	return c
  8524  }
  8525  
  8526  // Context sets the context to be used in this call's Do method.
  8527  func (c *ProjectsLocationsConversionWorkspacesMappingRulesDeleteCall) Context(ctx context.Context) *ProjectsLocationsConversionWorkspacesMappingRulesDeleteCall {
  8528  	c.ctx_ = ctx
  8529  	return c
  8530  }
  8531  
  8532  // Header returns a http.Header that can be modified by the caller to add
  8533  // headers to the request.
  8534  func (c *ProjectsLocationsConversionWorkspacesMappingRulesDeleteCall) Header() http.Header {
  8535  	if c.header_ == nil {
  8536  		c.header_ = make(http.Header)
  8537  	}
  8538  	return c.header_
  8539  }
  8540  
  8541  func (c *ProjectsLocationsConversionWorkspacesMappingRulesDeleteCall) doRequest(alt string) (*http.Response, error) {
  8542  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8543  	var body io.Reader = nil
  8544  	c.urlParams_.Set("alt", alt)
  8545  	c.urlParams_.Set("prettyPrint", "false")
  8546  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  8547  	urls += "?" + c.urlParams_.Encode()
  8548  	req, err := http.NewRequest("DELETE", urls, body)
  8549  	if err != nil {
  8550  		return nil, err
  8551  	}
  8552  	req.Header = reqHeaders
  8553  	googleapi.Expand(req.URL, map[string]string{
  8554  		"name": c.name,
  8555  	})
  8556  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8557  }
  8558  
  8559  // Do executes the "datamigration.projects.locations.conversionWorkspaces.mappingRules.delete" call.
  8560  // Any non-2xx status code is an error. Response headers are in either
  8561  // *Empty.ServerResponse.Header or (if a response was returned at all) in
  8562  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8563  // whether the returned error was because http.StatusNotModified was returned.
  8564  func (c *ProjectsLocationsConversionWorkspacesMappingRulesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
  8565  	gensupport.SetOptions(c.urlParams_, opts...)
  8566  	res, err := c.doRequest("json")
  8567  	if res != nil && res.StatusCode == http.StatusNotModified {
  8568  		if res.Body != nil {
  8569  			res.Body.Close()
  8570  		}
  8571  		return nil, gensupport.WrapError(&googleapi.Error{
  8572  			Code:   res.StatusCode,
  8573  			Header: res.Header,
  8574  		})
  8575  	}
  8576  	if err != nil {
  8577  		return nil, err
  8578  	}
  8579  	defer googleapi.CloseBody(res)
  8580  	if err := googleapi.CheckResponse(res); err != nil {
  8581  		return nil, gensupport.WrapError(err)
  8582  	}
  8583  	ret := &Empty{
  8584  		ServerResponse: googleapi.ServerResponse{
  8585  			Header:         res.Header,
  8586  			HTTPStatusCode: res.StatusCode,
  8587  		},
  8588  	}
  8589  	target := &ret
  8590  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8591  		return nil, err
  8592  	}
  8593  	return ret, nil
  8594  }
  8595  
  8596  type ProjectsLocationsConversionWorkspacesMappingRulesGetCall struct {
  8597  	s            *Service
  8598  	name         string
  8599  	urlParams_   gensupport.URLParams
  8600  	ifNoneMatch_ string
  8601  	ctx_         context.Context
  8602  	header_      http.Header
  8603  }
  8604  
  8605  // Get: Gets the details of a mapping rule.
  8606  //
  8607  //   - name: Name of the mapping rule resource to get. Example:
  8608  //     conversionWorkspaces/123/mappingRules/rule123 In order to retrieve a
  8609  //     previous revision of the mapping rule, also provide the revision ID.
  8610  //     Example:
  8611  //     conversionWorkspace/123/mappingRules/rule123@c7cfa2a8c7cfa2a8c7cfa2a8c7cfa2
  8612  //     a8.
  8613  func (r *ProjectsLocationsConversionWorkspacesMappingRulesService) Get(name string) *ProjectsLocationsConversionWorkspacesMappingRulesGetCall {
  8614  	c := &ProjectsLocationsConversionWorkspacesMappingRulesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8615  	c.name = name
  8616  	return c
  8617  }
  8618  
  8619  // Fields allows partial responses to be retrieved. See
  8620  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8621  // details.
  8622  func (c *ProjectsLocationsConversionWorkspacesMappingRulesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsConversionWorkspacesMappingRulesGetCall {
  8623  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8624  	return c
  8625  }
  8626  
  8627  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  8628  // object's ETag matches the given value. This is useful for getting updates
  8629  // only after the object has changed since the last request.
  8630  func (c *ProjectsLocationsConversionWorkspacesMappingRulesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsConversionWorkspacesMappingRulesGetCall {
  8631  	c.ifNoneMatch_ = entityTag
  8632  	return c
  8633  }
  8634  
  8635  // Context sets the context to be used in this call's Do method.
  8636  func (c *ProjectsLocationsConversionWorkspacesMappingRulesGetCall) Context(ctx context.Context) *ProjectsLocationsConversionWorkspacesMappingRulesGetCall {
  8637  	c.ctx_ = ctx
  8638  	return c
  8639  }
  8640  
  8641  // Header returns a http.Header that can be modified by the caller to add
  8642  // headers to the request.
  8643  func (c *ProjectsLocationsConversionWorkspacesMappingRulesGetCall) Header() http.Header {
  8644  	if c.header_ == nil {
  8645  		c.header_ = make(http.Header)
  8646  	}
  8647  	return c.header_
  8648  }
  8649  
  8650  func (c *ProjectsLocationsConversionWorkspacesMappingRulesGetCall) doRequest(alt string) (*http.Response, error) {
  8651  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8652  	if c.ifNoneMatch_ != "" {
  8653  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  8654  	}
  8655  	var body io.Reader = nil
  8656  	c.urlParams_.Set("alt", alt)
  8657  	c.urlParams_.Set("prettyPrint", "false")
  8658  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  8659  	urls += "?" + c.urlParams_.Encode()
  8660  	req, err := http.NewRequest("GET", urls, body)
  8661  	if err != nil {
  8662  		return nil, err
  8663  	}
  8664  	req.Header = reqHeaders
  8665  	googleapi.Expand(req.URL, map[string]string{
  8666  		"name": c.name,
  8667  	})
  8668  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8669  }
  8670  
  8671  // Do executes the "datamigration.projects.locations.conversionWorkspaces.mappingRules.get" call.
  8672  // Any non-2xx status code is an error. Response headers are in either
  8673  // *MappingRule.ServerResponse.Header or (if a response was returned at all) in
  8674  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8675  // whether the returned error was because http.StatusNotModified was returned.
  8676  func (c *ProjectsLocationsConversionWorkspacesMappingRulesGetCall) Do(opts ...googleapi.CallOption) (*MappingRule, error) {
  8677  	gensupport.SetOptions(c.urlParams_, opts...)
  8678  	res, err := c.doRequest("json")
  8679  	if res != nil && res.StatusCode == http.StatusNotModified {
  8680  		if res.Body != nil {
  8681  			res.Body.Close()
  8682  		}
  8683  		return nil, gensupport.WrapError(&googleapi.Error{
  8684  			Code:   res.StatusCode,
  8685  			Header: res.Header,
  8686  		})
  8687  	}
  8688  	if err != nil {
  8689  		return nil, err
  8690  	}
  8691  	defer googleapi.CloseBody(res)
  8692  	if err := googleapi.CheckResponse(res); err != nil {
  8693  		return nil, gensupport.WrapError(err)
  8694  	}
  8695  	ret := &MappingRule{
  8696  		ServerResponse: googleapi.ServerResponse{
  8697  			Header:         res.Header,
  8698  			HTTPStatusCode: res.StatusCode,
  8699  		},
  8700  	}
  8701  	target := &ret
  8702  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8703  		return nil, err
  8704  	}
  8705  	return ret, nil
  8706  }
  8707  
  8708  type ProjectsLocationsConversionWorkspacesMappingRulesImportCall struct {
  8709  	s                         *Service
  8710  	parent                    string
  8711  	importmappingrulesrequest *ImportMappingRulesRequest
  8712  	urlParams_                gensupport.URLParams
  8713  	ctx_                      context.Context
  8714  	header_                   http.Header
  8715  }
  8716  
  8717  // Import: Imports the mapping rules for a given conversion workspace. Supports
  8718  // various formats of external rules files.
  8719  //
  8720  //   - parent: Name of the conversion workspace resource to import the rules to
  8721  //     in the form of:
  8722  //     projects/{project}/locations/{location}/conversionWorkspaces/{conversion_wo
  8723  //     rkspace}.
  8724  func (r *ProjectsLocationsConversionWorkspacesMappingRulesService) Import(parent string, importmappingrulesrequest *ImportMappingRulesRequest) *ProjectsLocationsConversionWorkspacesMappingRulesImportCall {
  8725  	c := &ProjectsLocationsConversionWorkspacesMappingRulesImportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8726  	c.parent = parent
  8727  	c.importmappingrulesrequest = importmappingrulesrequest
  8728  	return c
  8729  }
  8730  
  8731  // Fields allows partial responses to be retrieved. See
  8732  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8733  // details.
  8734  func (c *ProjectsLocationsConversionWorkspacesMappingRulesImportCall) Fields(s ...googleapi.Field) *ProjectsLocationsConversionWorkspacesMappingRulesImportCall {
  8735  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8736  	return c
  8737  }
  8738  
  8739  // Context sets the context to be used in this call's Do method.
  8740  func (c *ProjectsLocationsConversionWorkspacesMappingRulesImportCall) Context(ctx context.Context) *ProjectsLocationsConversionWorkspacesMappingRulesImportCall {
  8741  	c.ctx_ = ctx
  8742  	return c
  8743  }
  8744  
  8745  // Header returns a http.Header that can be modified by the caller to add
  8746  // headers to the request.
  8747  func (c *ProjectsLocationsConversionWorkspacesMappingRulesImportCall) Header() http.Header {
  8748  	if c.header_ == nil {
  8749  		c.header_ = make(http.Header)
  8750  	}
  8751  	return c.header_
  8752  }
  8753  
  8754  func (c *ProjectsLocationsConversionWorkspacesMappingRulesImportCall) doRequest(alt string) (*http.Response, error) {
  8755  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  8756  	var body io.Reader = nil
  8757  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.importmappingrulesrequest)
  8758  	if err != nil {
  8759  		return nil, err
  8760  	}
  8761  	c.urlParams_.Set("alt", alt)
  8762  	c.urlParams_.Set("prettyPrint", "false")
  8763  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/mappingRules:import")
  8764  	urls += "?" + c.urlParams_.Encode()
  8765  	req, err := http.NewRequest("POST", urls, body)
  8766  	if err != nil {
  8767  		return nil, err
  8768  	}
  8769  	req.Header = reqHeaders
  8770  	googleapi.Expand(req.URL, map[string]string{
  8771  		"parent": c.parent,
  8772  	})
  8773  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8774  }
  8775  
  8776  // Do executes the "datamigration.projects.locations.conversionWorkspaces.mappingRules.import" call.
  8777  // Any non-2xx status code is an error. Response headers are in either
  8778  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  8779  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  8780  // whether the returned error was because http.StatusNotModified was returned.
  8781  func (c *ProjectsLocationsConversionWorkspacesMappingRulesImportCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  8782  	gensupport.SetOptions(c.urlParams_, opts...)
  8783  	res, err := c.doRequest("json")
  8784  	if res != nil && res.StatusCode == http.StatusNotModified {
  8785  		if res.Body != nil {
  8786  			res.Body.Close()
  8787  		}
  8788  		return nil, gensupport.WrapError(&googleapi.Error{
  8789  			Code:   res.StatusCode,
  8790  			Header: res.Header,
  8791  		})
  8792  	}
  8793  	if err != nil {
  8794  		return nil, err
  8795  	}
  8796  	defer googleapi.CloseBody(res)
  8797  	if err := googleapi.CheckResponse(res); err != nil {
  8798  		return nil, gensupport.WrapError(err)
  8799  	}
  8800  	ret := &Operation{
  8801  		ServerResponse: googleapi.ServerResponse{
  8802  			Header:         res.Header,
  8803  			HTTPStatusCode: res.StatusCode,
  8804  		},
  8805  	}
  8806  	target := &ret
  8807  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8808  		return nil, err
  8809  	}
  8810  	return ret, nil
  8811  }
  8812  
  8813  type ProjectsLocationsConversionWorkspacesMappingRulesListCall struct {
  8814  	s            *Service
  8815  	parent       string
  8816  	urlParams_   gensupport.URLParams
  8817  	ifNoneMatch_ string
  8818  	ctx_         context.Context
  8819  	header_      http.Header
  8820  }
  8821  
  8822  // List: Lists the mapping rules for a specific conversion workspace.
  8823  //
  8824  //   - parent: Name of the conversion workspace resource whose mapping rules are
  8825  //     listed in the form of:
  8826  //     projects/{project}/locations/{location}/conversionWorkspaces/{conversion_wo
  8827  //     rkspace}.
  8828  func (r *ProjectsLocationsConversionWorkspacesMappingRulesService) List(parent string) *ProjectsLocationsConversionWorkspacesMappingRulesListCall {
  8829  	c := &ProjectsLocationsConversionWorkspacesMappingRulesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8830  	c.parent = parent
  8831  	return c
  8832  }
  8833  
  8834  // PageSize sets the optional parameter "pageSize": The maximum number of rules
  8835  // to return. The service may return fewer than this value.
  8836  func (c *ProjectsLocationsConversionWorkspacesMappingRulesListCall) PageSize(pageSize int64) *ProjectsLocationsConversionWorkspacesMappingRulesListCall {
  8837  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  8838  	return c
  8839  }
  8840  
  8841  // PageToken sets the optional parameter "pageToken": The nextPageToken value
  8842  // received in the previous call to mappingRules.list, used in the subsequent
  8843  // request to retrieve the next page of results. On first call this should be
  8844  // left blank. When paginating, all other parameters provided to
  8845  // mappingRules.list must match the call that provided the page token.
  8846  func (c *ProjectsLocationsConversionWorkspacesMappingRulesListCall) PageToken(pageToken string) *ProjectsLocationsConversionWorkspacesMappingRulesListCall {
  8847  	c.urlParams_.Set("pageToken", pageToken)
  8848  	return c
  8849  }
  8850  
  8851  // Fields allows partial responses to be retrieved. See
  8852  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  8853  // details.
  8854  func (c *ProjectsLocationsConversionWorkspacesMappingRulesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsConversionWorkspacesMappingRulesListCall {
  8855  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  8856  	return c
  8857  }
  8858  
  8859  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  8860  // object's ETag matches the given value. This is useful for getting updates
  8861  // only after the object has changed since the last request.
  8862  func (c *ProjectsLocationsConversionWorkspacesMappingRulesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsConversionWorkspacesMappingRulesListCall {
  8863  	c.ifNoneMatch_ = entityTag
  8864  	return c
  8865  }
  8866  
  8867  // Context sets the context to be used in this call's Do method.
  8868  func (c *ProjectsLocationsConversionWorkspacesMappingRulesListCall) Context(ctx context.Context) *ProjectsLocationsConversionWorkspacesMappingRulesListCall {
  8869  	c.ctx_ = ctx
  8870  	return c
  8871  }
  8872  
  8873  // Header returns a http.Header that can be modified by the caller to add
  8874  // headers to the request.
  8875  func (c *ProjectsLocationsConversionWorkspacesMappingRulesListCall) Header() http.Header {
  8876  	if c.header_ == nil {
  8877  		c.header_ = make(http.Header)
  8878  	}
  8879  	return c.header_
  8880  }
  8881  
  8882  func (c *ProjectsLocationsConversionWorkspacesMappingRulesListCall) doRequest(alt string) (*http.Response, error) {
  8883  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  8884  	if c.ifNoneMatch_ != "" {
  8885  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  8886  	}
  8887  	var body io.Reader = nil
  8888  	c.urlParams_.Set("alt", alt)
  8889  	c.urlParams_.Set("prettyPrint", "false")
  8890  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/mappingRules")
  8891  	urls += "?" + c.urlParams_.Encode()
  8892  	req, err := http.NewRequest("GET", urls, body)
  8893  	if err != nil {
  8894  		return nil, err
  8895  	}
  8896  	req.Header = reqHeaders
  8897  	googleapi.Expand(req.URL, map[string]string{
  8898  		"parent": c.parent,
  8899  	})
  8900  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  8901  }
  8902  
  8903  // Do executes the "datamigration.projects.locations.conversionWorkspaces.mappingRules.list" call.
  8904  // Any non-2xx status code is an error. Response headers are in either
  8905  // *ListMappingRulesResponse.ServerResponse.Header or (if a response was
  8906  // returned at all) in error.(*googleapi.Error).Header. Use
  8907  // googleapi.IsNotModified to check whether the returned error was because
  8908  // http.StatusNotModified was returned.
  8909  func (c *ProjectsLocationsConversionWorkspacesMappingRulesListCall) Do(opts ...googleapi.CallOption) (*ListMappingRulesResponse, error) {
  8910  	gensupport.SetOptions(c.urlParams_, opts...)
  8911  	res, err := c.doRequest("json")
  8912  	if res != nil && res.StatusCode == http.StatusNotModified {
  8913  		if res.Body != nil {
  8914  			res.Body.Close()
  8915  		}
  8916  		return nil, gensupport.WrapError(&googleapi.Error{
  8917  			Code:   res.StatusCode,
  8918  			Header: res.Header,
  8919  		})
  8920  	}
  8921  	if err != nil {
  8922  		return nil, err
  8923  	}
  8924  	defer googleapi.CloseBody(res)
  8925  	if err := googleapi.CheckResponse(res); err != nil {
  8926  		return nil, gensupport.WrapError(err)
  8927  	}
  8928  	ret := &ListMappingRulesResponse{
  8929  		ServerResponse: googleapi.ServerResponse{
  8930  			Header:         res.Header,
  8931  			HTTPStatusCode: res.StatusCode,
  8932  		},
  8933  	}
  8934  	target := &ret
  8935  	if err := gensupport.DecodeResponse(target, res); err != nil {
  8936  		return nil, err
  8937  	}
  8938  	return ret, nil
  8939  }
  8940  
  8941  // Pages invokes f for each page of results.
  8942  // A non-nil error returned from f will halt the iteration.
  8943  // The provided context supersedes any context provided to the Context method.
  8944  func (c *ProjectsLocationsConversionWorkspacesMappingRulesListCall) Pages(ctx context.Context, f func(*ListMappingRulesResponse) error) error {
  8945  	c.ctx_ = ctx
  8946  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  8947  	for {
  8948  		x, err := c.Do()
  8949  		if err != nil {
  8950  			return err
  8951  		}
  8952  		if err := f(x); err != nil {
  8953  			return err
  8954  		}
  8955  		if x.NextPageToken == "" {
  8956  			return nil
  8957  		}
  8958  		c.PageToken(x.NextPageToken)
  8959  	}
  8960  }
  8961  
  8962  type ProjectsLocationsMigrationJobsCreateCall struct {
  8963  	s            *Service
  8964  	parent       string
  8965  	migrationjob *MigrationJob
  8966  	urlParams_   gensupport.URLParams
  8967  	ctx_         context.Context
  8968  	header_      http.Header
  8969  }
  8970  
  8971  // Create: Creates a new migration job in a given project and location.
  8972  //
  8973  // - parent: The parent which owns this collection of migration jobs.
  8974  func (r *ProjectsLocationsMigrationJobsService) Create(parent string, migrationjob *MigrationJob) *ProjectsLocationsMigrationJobsCreateCall {
  8975  	c := &ProjectsLocationsMigrationJobsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  8976  	c.parent = parent
  8977  	c.migrationjob = migrationjob
  8978  	return c
  8979  }
  8980  
  8981  // MigrationJobId sets the optional parameter "migrationJobId": Required. The
  8982  // ID of the instance to create.
  8983  func (c *ProjectsLocationsMigrationJobsCreateCall) MigrationJobId(migrationJobId string) *ProjectsLocationsMigrationJobsCreateCall {
  8984  	c.urlParams_.Set("migrationJobId", migrationJobId)
  8985  	return c
  8986  }
  8987  
  8988  // RequestId sets the optional parameter "requestId": A unique ID used to
  8989  // identify the request. If the server receives two requests with the same ID,
  8990  // then the second request is ignored. It is recommended to always set this
  8991  // value to a UUID. The ID must contain only letters (a-z, A-Z), numbers (0-9),
  8992  // underscores (_), and hyphens (-). The maximum length is 40 characters.
  8993  func (c *ProjectsLocationsMigrationJobsCreateCall) RequestId(requestId string) *ProjectsLocationsMigrationJobsCreateCall {
  8994  	c.urlParams_.Set("requestId", requestId)
  8995  	return c
  8996  }
  8997  
  8998  // Fields allows partial responses to be retrieved. See
  8999  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9000  // details.
  9001  func (c *ProjectsLocationsMigrationJobsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsMigrationJobsCreateCall {
  9002  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9003  	return c
  9004  }
  9005  
  9006  // Context sets the context to be used in this call's Do method.
  9007  func (c *ProjectsLocationsMigrationJobsCreateCall) Context(ctx context.Context) *ProjectsLocationsMigrationJobsCreateCall {
  9008  	c.ctx_ = ctx
  9009  	return c
  9010  }
  9011  
  9012  // Header returns a http.Header that can be modified by the caller to add
  9013  // headers to the request.
  9014  func (c *ProjectsLocationsMigrationJobsCreateCall) Header() http.Header {
  9015  	if c.header_ == nil {
  9016  		c.header_ = make(http.Header)
  9017  	}
  9018  	return c.header_
  9019  }
  9020  
  9021  func (c *ProjectsLocationsMigrationJobsCreateCall) doRequest(alt string) (*http.Response, error) {
  9022  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  9023  	var body io.Reader = nil
  9024  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.migrationjob)
  9025  	if err != nil {
  9026  		return nil, err
  9027  	}
  9028  	c.urlParams_.Set("alt", alt)
  9029  	c.urlParams_.Set("prettyPrint", "false")
  9030  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/migrationJobs")
  9031  	urls += "?" + c.urlParams_.Encode()
  9032  	req, err := http.NewRequest("POST", urls, body)
  9033  	if err != nil {
  9034  		return nil, err
  9035  	}
  9036  	req.Header = reqHeaders
  9037  	googleapi.Expand(req.URL, map[string]string{
  9038  		"parent": c.parent,
  9039  	})
  9040  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9041  }
  9042  
  9043  // Do executes the "datamigration.projects.locations.migrationJobs.create" call.
  9044  // Any non-2xx status code is an error. Response headers are in either
  9045  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  9046  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9047  // whether the returned error was because http.StatusNotModified was returned.
  9048  func (c *ProjectsLocationsMigrationJobsCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  9049  	gensupport.SetOptions(c.urlParams_, opts...)
  9050  	res, err := c.doRequest("json")
  9051  	if res != nil && res.StatusCode == http.StatusNotModified {
  9052  		if res.Body != nil {
  9053  			res.Body.Close()
  9054  		}
  9055  		return nil, gensupport.WrapError(&googleapi.Error{
  9056  			Code:   res.StatusCode,
  9057  			Header: res.Header,
  9058  		})
  9059  	}
  9060  	if err != nil {
  9061  		return nil, err
  9062  	}
  9063  	defer googleapi.CloseBody(res)
  9064  	if err := googleapi.CheckResponse(res); err != nil {
  9065  		return nil, gensupport.WrapError(err)
  9066  	}
  9067  	ret := &Operation{
  9068  		ServerResponse: googleapi.ServerResponse{
  9069  			Header:         res.Header,
  9070  			HTTPStatusCode: res.StatusCode,
  9071  		},
  9072  	}
  9073  	target := &ret
  9074  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9075  		return nil, err
  9076  	}
  9077  	return ret, nil
  9078  }
  9079  
  9080  type ProjectsLocationsMigrationJobsDeleteCall struct {
  9081  	s          *Service
  9082  	name       string
  9083  	urlParams_ gensupport.URLParams
  9084  	ctx_       context.Context
  9085  	header_    http.Header
  9086  }
  9087  
  9088  // Delete: Deletes a single migration job.
  9089  //
  9090  // - name: Name of the migration job resource to delete.
  9091  func (r *ProjectsLocationsMigrationJobsService) Delete(name string) *ProjectsLocationsMigrationJobsDeleteCall {
  9092  	c := &ProjectsLocationsMigrationJobsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9093  	c.name = name
  9094  	return c
  9095  }
  9096  
  9097  // Force sets the optional parameter "force": The destination CloudSQL
  9098  // connection profile is always deleted with the migration job. In case of
  9099  // force delete, the destination CloudSQL replica database is also deleted.
  9100  func (c *ProjectsLocationsMigrationJobsDeleteCall) Force(force bool) *ProjectsLocationsMigrationJobsDeleteCall {
  9101  	c.urlParams_.Set("force", fmt.Sprint(force))
  9102  	return c
  9103  }
  9104  
  9105  // RequestId sets the optional parameter "requestId": A unique ID used to
  9106  // identify the request. If the server receives two requests with the same ID,
  9107  // then the second request is ignored. It is recommended to always set this
  9108  // value to a UUID. The ID must contain only letters (a-z, A-Z), numbers (0-9),
  9109  // underscores (_), and hyphens (-). The maximum length is 40 characters.
  9110  func (c *ProjectsLocationsMigrationJobsDeleteCall) RequestId(requestId string) *ProjectsLocationsMigrationJobsDeleteCall {
  9111  	c.urlParams_.Set("requestId", requestId)
  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 *ProjectsLocationsMigrationJobsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsMigrationJobsDeleteCall {
  9119  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9120  	return c
  9121  }
  9122  
  9123  // Context sets the context to be used in this call's Do method.
  9124  func (c *ProjectsLocationsMigrationJobsDeleteCall) Context(ctx context.Context) *ProjectsLocationsMigrationJobsDeleteCall {
  9125  	c.ctx_ = ctx
  9126  	return c
  9127  }
  9128  
  9129  // Header returns a http.Header that can be modified by the caller to add
  9130  // headers to the request.
  9131  func (c *ProjectsLocationsMigrationJobsDeleteCall) Header() http.Header {
  9132  	if c.header_ == nil {
  9133  		c.header_ = make(http.Header)
  9134  	}
  9135  	return c.header_
  9136  }
  9137  
  9138  func (c *ProjectsLocationsMigrationJobsDeleteCall) doRequest(alt string) (*http.Response, error) {
  9139  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9140  	var body io.Reader = nil
  9141  	c.urlParams_.Set("alt", alt)
  9142  	c.urlParams_.Set("prettyPrint", "false")
  9143  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  9144  	urls += "?" + c.urlParams_.Encode()
  9145  	req, err := http.NewRequest("DELETE", urls, body)
  9146  	if err != nil {
  9147  		return nil, err
  9148  	}
  9149  	req.Header = reqHeaders
  9150  	googleapi.Expand(req.URL, map[string]string{
  9151  		"name": c.name,
  9152  	})
  9153  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9154  }
  9155  
  9156  // Do executes the "datamigration.projects.locations.migrationJobs.delete" call.
  9157  // Any non-2xx status code is an error. Response headers are in either
  9158  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  9159  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9160  // whether the returned error was because http.StatusNotModified was returned.
  9161  func (c *ProjectsLocationsMigrationJobsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  9162  	gensupport.SetOptions(c.urlParams_, opts...)
  9163  	res, err := c.doRequest("json")
  9164  	if res != nil && res.StatusCode == http.StatusNotModified {
  9165  		if res.Body != nil {
  9166  			res.Body.Close()
  9167  		}
  9168  		return nil, gensupport.WrapError(&googleapi.Error{
  9169  			Code:   res.StatusCode,
  9170  			Header: res.Header,
  9171  		})
  9172  	}
  9173  	if err != nil {
  9174  		return nil, err
  9175  	}
  9176  	defer googleapi.CloseBody(res)
  9177  	if err := googleapi.CheckResponse(res); err != nil {
  9178  		return nil, gensupport.WrapError(err)
  9179  	}
  9180  	ret := &Operation{
  9181  		ServerResponse: googleapi.ServerResponse{
  9182  			Header:         res.Header,
  9183  			HTTPStatusCode: res.StatusCode,
  9184  		},
  9185  	}
  9186  	target := &ret
  9187  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9188  		return nil, err
  9189  	}
  9190  	return ret, nil
  9191  }
  9192  
  9193  type ProjectsLocationsMigrationJobsDemoteDestinationCall struct {
  9194  	s                        *Service
  9195  	name                     string
  9196  	demotedestinationrequest *DemoteDestinationRequest
  9197  	urlParams_               gensupport.URLParams
  9198  	ctx_                     context.Context
  9199  	header_                  http.Header
  9200  }
  9201  
  9202  // DemoteDestination: Demotes the destination database to become a read replica
  9203  // of the source. This is applicable for the following migrations: 1. MySQL to
  9204  // Cloud SQL for MySQL 2. PostgreSQL to Cloud SQL for PostgreSQL 3. PostgreSQL
  9205  // to AlloyDB for PostgreSQL.
  9206  //
  9207  // - name: Name of the migration job resource to demote its destination.
  9208  func (r *ProjectsLocationsMigrationJobsService) DemoteDestination(name string, demotedestinationrequest *DemoteDestinationRequest) *ProjectsLocationsMigrationJobsDemoteDestinationCall {
  9209  	c := &ProjectsLocationsMigrationJobsDemoteDestinationCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9210  	c.name = name
  9211  	c.demotedestinationrequest = demotedestinationrequest
  9212  	return c
  9213  }
  9214  
  9215  // Fields allows partial responses to be retrieved. See
  9216  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9217  // details.
  9218  func (c *ProjectsLocationsMigrationJobsDemoteDestinationCall) Fields(s ...googleapi.Field) *ProjectsLocationsMigrationJobsDemoteDestinationCall {
  9219  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9220  	return c
  9221  }
  9222  
  9223  // Context sets the context to be used in this call's Do method.
  9224  func (c *ProjectsLocationsMigrationJobsDemoteDestinationCall) Context(ctx context.Context) *ProjectsLocationsMigrationJobsDemoteDestinationCall {
  9225  	c.ctx_ = ctx
  9226  	return c
  9227  }
  9228  
  9229  // Header returns a http.Header that can be modified by the caller to add
  9230  // headers to the request.
  9231  func (c *ProjectsLocationsMigrationJobsDemoteDestinationCall) Header() http.Header {
  9232  	if c.header_ == nil {
  9233  		c.header_ = make(http.Header)
  9234  	}
  9235  	return c.header_
  9236  }
  9237  
  9238  func (c *ProjectsLocationsMigrationJobsDemoteDestinationCall) doRequest(alt string) (*http.Response, error) {
  9239  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  9240  	var body io.Reader = nil
  9241  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.demotedestinationrequest)
  9242  	if err != nil {
  9243  		return nil, err
  9244  	}
  9245  	c.urlParams_.Set("alt", alt)
  9246  	c.urlParams_.Set("prettyPrint", "false")
  9247  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:demoteDestination")
  9248  	urls += "?" + c.urlParams_.Encode()
  9249  	req, err := http.NewRequest("POST", urls, body)
  9250  	if err != nil {
  9251  		return nil, err
  9252  	}
  9253  	req.Header = reqHeaders
  9254  	googleapi.Expand(req.URL, map[string]string{
  9255  		"name": c.name,
  9256  	})
  9257  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9258  }
  9259  
  9260  // Do executes the "datamigration.projects.locations.migrationJobs.demoteDestination" call.
  9261  // Any non-2xx status code is an error. Response headers are in either
  9262  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  9263  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9264  // whether the returned error was because http.StatusNotModified was returned.
  9265  func (c *ProjectsLocationsMigrationJobsDemoteDestinationCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  9266  	gensupport.SetOptions(c.urlParams_, opts...)
  9267  	res, err := c.doRequest("json")
  9268  	if res != nil && res.StatusCode == http.StatusNotModified {
  9269  		if res.Body != nil {
  9270  			res.Body.Close()
  9271  		}
  9272  		return nil, gensupport.WrapError(&googleapi.Error{
  9273  			Code:   res.StatusCode,
  9274  			Header: res.Header,
  9275  		})
  9276  	}
  9277  	if err != nil {
  9278  		return nil, err
  9279  	}
  9280  	defer googleapi.CloseBody(res)
  9281  	if err := googleapi.CheckResponse(res); err != nil {
  9282  		return nil, gensupport.WrapError(err)
  9283  	}
  9284  	ret := &Operation{
  9285  		ServerResponse: googleapi.ServerResponse{
  9286  			Header:         res.Header,
  9287  			HTTPStatusCode: res.StatusCode,
  9288  		},
  9289  	}
  9290  	target := &ret
  9291  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9292  		return nil, err
  9293  	}
  9294  	return ret, nil
  9295  }
  9296  
  9297  type ProjectsLocationsMigrationJobsGenerateSshScriptCall struct {
  9298  	s                        *Service
  9299  	migrationJob             string
  9300  	generatesshscriptrequest *GenerateSshScriptRequest
  9301  	urlParams_               gensupport.URLParams
  9302  	ctx_                     context.Context
  9303  	header_                  http.Header
  9304  }
  9305  
  9306  // GenerateSshScript: Generate a SSH configuration script to configure the
  9307  // reverse SSH connectivity.
  9308  //
  9309  //   - migrationJob: Name of the migration job resource to generate the SSH
  9310  //     script.
  9311  func (r *ProjectsLocationsMigrationJobsService) GenerateSshScript(migrationJob string, generatesshscriptrequest *GenerateSshScriptRequest) *ProjectsLocationsMigrationJobsGenerateSshScriptCall {
  9312  	c := &ProjectsLocationsMigrationJobsGenerateSshScriptCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9313  	c.migrationJob = migrationJob
  9314  	c.generatesshscriptrequest = generatesshscriptrequest
  9315  	return c
  9316  }
  9317  
  9318  // Fields allows partial responses to be retrieved. See
  9319  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9320  // details.
  9321  func (c *ProjectsLocationsMigrationJobsGenerateSshScriptCall) Fields(s ...googleapi.Field) *ProjectsLocationsMigrationJobsGenerateSshScriptCall {
  9322  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9323  	return c
  9324  }
  9325  
  9326  // Context sets the context to be used in this call's Do method.
  9327  func (c *ProjectsLocationsMigrationJobsGenerateSshScriptCall) Context(ctx context.Context) *ProjectsLocationsMigrationJobsGenerateSshScriptCall {
  9328  	c.ctx_ = ctx
  9329  	return c
  9330  }
  9331  
  9332  // Header returns a http.Header that can be modified by the caller to add
  9333  // headers to the request.
  9334  func (c *ProjectsLocationsMigrationJobsGenerateSshScriptCall) Header() http.Header {
  9335  	if c.header_ == nil {
  9336  		c.header_ = make(http.Header)
  9337  	}
  9338  	return c.header_
  9339  }
  9340  
  9341  func (c *ProjectsLocationsMigrationJobsGenerateSshScriptCall) doRequest(alt string) (*http.Response, error) {
  9342  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  9343  	var body io.Reader = nil
  9344  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.generatesshscriptrequest)
  9345  	if err != nil {
  9346  		return nil, err
  9347  	}
  9348  	c.urlParams_.Set("alt", alt)
  9349  	c.urlParams_.Set("prettyPrint", "false")
  9350  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+migrationJob}:generateSshScript")
  9351  	urls += "?" + c.urlParams_.Encode()
  9352  	req, err := http.NewRequest("POST", urls, body)
  9353  	if err != nil {
  9354  		return nil, err
  9355  	}
  9356  	req.Header = reqHeaders
  9357  	googleapi.Expand(req.URL, map[string]string{
  9358  		"migrationJob": c.migrationJob,
  9359  	})
  9360  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9361  }
  9362  
  9363  // Do executes the "datamigration.projects.locations.migrationJobs.generateSshScript" call.
  9364  // Any non-2xx status code is an error. Response headers are in either
  9365  // *SshScript.ServerResponse.Header or (if a response was returned at all) in
  9366  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9367  // whether the returned error was because http.StatusNotModified was returned.
  9368  func (c *ProjectsLocationsMigrationJobsGenerateSshScriptCall) Do(opts ...googleapi.CallOption) (*SshScript, error) {
  9369  	gensupport.SetOptions(c.urlParams_, opts...)
  9370  	res, err := c.doRequest("json")
  9371  	if res != nil && res.StatusCode == http.StatusNotModified {
  9372  		if res.Body != nil {
  9373  			res.Body.Close()
  9374  		}
  9375  		return nil, gensupport.WrapError(&googleapi.Error{
  9376  			Code:   res.StatusCode,
  9377  			Header: res.Header,
  9378  		})
  9379  	}
  9380  	if err != nil {
  9381  		return nil, err
  9382  	}
  9383  	defer googleapi.CloseBody(res)
  9384  	if err := googleapi.CheckResponse(res); err != nil {
  9385  		return nil, gensupport.WrapError(err)
  9386  	}
  9387  	ret := &SshScript{
  9388  		ServerResponse: googleapi.ServerResponse{
  9389  			Header:         res.Header,
  9390  			HTTPStatusCode: res.StatusCode,
  9391  		},
  9392  	}
  9393  	target := &ret
  9394  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9395  		return nil, err
  9396  	}
  9397  	return ret, nil
  9398  }
  9399  
  9400  type ProjectsLocationsMigrationJobsGenerateTcpProxyScriptCall struct {
  9401  	s                             *Service
  9402  	migrationJob                  string
  9403  	generatetcpproxyscriptrequest *GenerateTcpProxyScriptRequest
  9404  	urlParams_                    gensupport.URLParams
  9405  	ctx_                          context.Context
  9406  	header_                       http.Header
  9407  }
  9408  
  9409  // GenerateTcpProxyScript: Generate a TCP Proxy configuration script to
  9410  // configure a cloud-hosted VM running a TCP Proxy.
  9411  //
  9412  //   - migrationJob: Name of the migration job resource to generate the TCP Proxy
  9413  //     script.
  9414  func (r *ProjectsLocationsMigrationJobsService) GenerateTcpProxyScript(migrationJob string, generatetcpproxyscriptrequest *GenerateTcpProxyScriptRequest) *ProjectsLocationsMigrationJobsGenerateTcpProxyScriptCall {
  9415  	c := &ProjectsLocationsMigrationJobsGenerateTcpProxyScriptCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9416  	c.migrationJob = migrationJob
  9417  	c.generatetcpproxyscriptrequest = generatetcpproxyscriptrequest
  9418  	return c
  9419  }
  9420  
  9421  // Fields allows partial responses to be retrieved. See
  9422  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9423  // details.
  9424  func (c *ProjectsLocationsMigrationJobsGenerateTcpProxyScriptCall) Fields(s ...googleapi.Field) *ProjectsLocationsMigrationJobsGenerateTcpProxyScriptCall {
  9425  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9426  	return c
  9427  }
  9428  
  9429  // Context sets the context to be used in this call's Do method.
  9430  func (c *ProjectsLocationsMigrationJobsGenerateTcpProxyScriptCall) Context(ctx context.Context) *ProjectsLocationsMigrationJobsGenerateTcpProxyScriptCall {
  9431  	c.ctx_ = ctx
  9432  	return c
  9433  }
  9434  
  9435  // Header returns a http.Header that can be modified by the caller to add
  9436  // headers to the request.
  9437  func (c *ProjectsLocationsMigrationJobsGenerateTcpProxyScriptCall) Header() http.Header {
  9438  	if c.header_ == nil {
  9439  		c.header_ = make(http.Header)
  9440  	}
  9441  	return c.header_
  9442  }
  9443  
  9444  func (c *ProjectsLocationsMigrationJobsGenerateTcpProxyScriptCall) doRequest(alt string) (*http.Response, error) {
  9445  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  9446  	var body io.Reader = nil
  9447  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.generatetcpproxyscriptrequest)
  9448  	if err != nil {
  9449  		return nil, err
  9450  	}
  9451  	c.urlParams_.Set("alt", alt)
  9452  	c.urlParams_.Set("prettyPrint", "false")
  9453  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+migrationJob}:generateTcpProxyScript")
  9454  	urls += "?" + c.urlParams_.Encode()
  9455  	req, err := http.NewRequest("POST", urls, body)
  9456  	if err != nil {
  9457  		return nil, err
  9458  	}
  9459  	req.Header = reqHeaders
  9460  	googleapi.Expand(req.URL, map[string]string{
  9461  		"migrationJob": c.migrationJob,
  9462  	})
  9463  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9464  }
  9465  
  9466  // Do executes the "datamigration.projects.locations.migrationJobs.generateTcpProxyScript" call.
  9467  // Any non-2xx status code is an error. Response headers are in either
  9468  // *TcpProxyScript.ServerResponse.Header or (if a response was returned at all)
  9469  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9470  // whether the returned error was because http.StatusNotModified was returned.
  9471  func (c *ProjectsLocationsMigrationJobsGenerateTcpProxyScriptCall) Do(opts ...googleapi.CallOption) (*TcpProxyScript, error) {
  9472  	gensupport.SetOptions(c.urlParams_, opts...)
  9473  	res, err := c.doRequest("json")
  9474  	if res != nil && res.StatusCode == http.StatusNotModified {
  9475  		if res.Body != nil {
  9476  			res.Body.Close()
  9477  		}
  9478  		return nil, gensupport.WrapError(&googleapi.Error{
  9479  			Code:   res.StatusCode,
  9480  			Header: res.Header,
  9481  		})
  9482  	}
  9483  	if err != nil {
  9484  		return nil, err
  9485  	}
  9486  	defer googleapi.CloseBody(res)
  9487  	if err := googleapi.CheckResponse(res); err != nil {
  9488  		return nil, gensupport.WrapError(err)
  9489  	}
  9490  	ret := &TcpProxyScript{
  9491  		ServerResponse: googleapi.ServerResponse{
  9492  			Header:         res.Header,
  9493  			HTTPStatusCode: res.StatusCode,
  9494  		},
  9495  	}
  9496  	target := &ret
  9497  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9498  		return nil, err
  9499  	}
  9500  	return ret, nil
  9501  }
  9502  
  9503  type ProjectsLocationsMigrationJobsGetCall struct {
  9504  	s            *Service
  9505  	name         string
  9506  	urlParams_   gensupport.URLParams
  9507  	ifNoneMatch_ string
  9508  	ctx_         context.Context
  9509  	header_      http.Header
  9510  }
  9511  
  9512  // Get: Gets details of a single migration job.
  9513  //
  9514  // - name: Name of the migration job resource to get.
  9515  func (r *ProjectsLocationsMigrationJobsService) Get(name string) *ProjectsLocationsMigrationJobsGetCall {
  9516  	c := &ProjectsLocationsMigrationJobsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9517  	c.name = name
  9518  	return c
  9519  }
  9520  
  9521  // Fields allows partial responses to be retrieved. See
  9522  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9523  // details.
  9524  func (c *ProjectsLocationsMigrationJobsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsMigrationJobsGetCall {
  9525  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9526  	return c
  9527  }
  9528  
  9529  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  9530  // object's ETag matches the given value. This is useful for getting updates
  9531  // only after the object has changed since the last request.
  9532  func (c *ProjectsLocationsMigrationJobsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsMigrationJobsGetCall {
  9533  	c.ifNoneMatch_ = entityTag
  9534  	return c
  9535  }
  9536  
  9537  // Context sets the context to be used in this call's Do method.
  9538  func (c *ProjectsLocationsMigrationJobsGetCall) Context(ctx context.Context) *ProjectsLocationsMigrationJobsGetCall {
  9539  	c.ctx_ = ctx
  9540  	return c
  9541  }
  9542  
  9543  // Header returns a http.Header that can be modified by the caller to add
  9544  // headers to the request.
  9545  func (c *ProjectsLocationsMigrationJobsGetCall) Header() http.Header {
  9546  	if c.header_ == nil {
  9547  		c.header_ = make(http.Header)
  9548  	}
  9549  	return c.header_
  9550  }
  9551  
  9552  func (c *ProjectsLocationsMigrationJobsGetCall) doRequest(alt string) (*http.Response, error) {
  9553  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9554  	if c.ifNoneMatch_ != "" {
  9555  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  9556  	}
  9557  	var body io.Reader = nil
  9558  	c.urlParams_.Set("alt", alt)
  9559  	c.urlParams_.Set("prettyPrint", "false")
  9560  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  9561  	urls += "?" + c.urlParams_.Encode()
  9562  	req, err := http.NewRequest("GET", urls, body)
  9563  	if err != nil {
  9564  		return nil, err
  9565  	}
  9566  	req.Header = reqHeaders
  9567  	googleapi.Expand(req.URL, map[string]string{
  9568  		"name": c.name,
  9569  	})
  9570  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9571  }
  9572  
  9573  // Do executes the "datamigration.projects.locations.migrationJobs.get" call.
  9574  // Any non-2xx status code is an error. Response headers are in either
  9575  // *MigrationJob.ServerResponse.Header or (if a response was returned at all)
  9576  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9577  // whether the returned error was because http.StatusNotModified was returned.
  9578  func (c *ProjectsLocationsMigrationJobsGetCall) Do(opts ...googleapi.CallOption) (*MigrationJob, error) {
  9579  	gensupport.SetOptions(c.urlParams_, opts...)
  9580  	res, err := c.doRequest("json")
  9581  	if res != nil && res.StatusCode == http.StatusNotModified {
  9582  		if res.Body != nil {
  9583  			res.Body.Close()
  9584  		}
  9585  		return nil, gensupport.WrapError(&googleapi.Error{
  9586  			Code:   res.StatusCode,
  9587  			Header: res.Header,
  9588  		})
  9589  	}
  9590  	if err != nil {
  9591  		return nil, err
  9592  	}
  9593  	defer googleapi.CloseBody(res)
  9594  	if err := googleapi.CheckResponse(res); err != nil {
  9595  		return nil, gensupport.WrapError(err)
  9596  	}
  9597  	ret := &MigrationJob{
  9598  		ServerResponse: googleapi.ServerResponse{
  9599  			Header:         res.Header,
  9600  			HTTPStatusCode: res.StatusCode,
  9601  		},
  9602  	}
  9603  	target := &ret
  9604  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9605  		return nil, err
  9606  	}
  9607  	return ret, nil
  9608  }
  9609  
  9610  type ProjectsLocationsMigrationJobsGetIamPolicyCall struct {
  9611  	s            *Service
  9612  	resource     string
  9613  	urlParams_   gensupport.URLParams
  9614  	ifNoneMatch_ string
  9615  	ctx_         context.Context
  9616  	header_      http.Header
  9617  }
  9618  
  9619  // GetIamPolicy: Gets the access control policy for a resource. Returns an
  9620  // empty policy if the resource exists and does not have a policy set.
  9621  //
  9622  //   - resource: REQUIRED: The resource for which the policy is being requested.
  9623  //     See Resource names (https://cloud.google.com/apis/design/resource_names)
  9624  //     for the appropriate value for this field.
  9625  func (r *ProjectsLocationsMigrationJobsService) GetIamPolicy(resource string) *ProjectsLocationsMigrationJobsGetIamPolicyCall {
  9626  	c := &ProjectsLocationsMigrationJobsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9627  	c.resource = resource
  9628  	return c
  9629  }
  9630  
  9631  // OptionsRequestedPolicyVersion sets the optional parameter
  9632  // "options.requestedPolicyVersion": The maximum policy version that will be
  9633  // used to format the policy. Valid values are 0, 1, and 3. Requests specifying
  9634  // an invalid value will be rejected. Requests for policies with any
  9635  // conditional role bindings must specify version 3. Policies with no
  9636  // conditional role bindings may specify any valid value or leave the field
  9637  // unset. The policy in the response might use the policy version that you
  9638  // specified, or it might use a lower policy version. For example, if you
  9639  // specify version 3, but the policy has no conditional role bindings, the
  9640  // response uses version 1. To learn which resources support conditions in
  9641  // their IAM policies, see the IAM documentation
  9642  // (https://cloud.google.com/iam/help/conditions/resource-policies).
  9643  func (c *ProjectsLocationsMigrationJobsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsMigrationJobsGetIamPolicyCall {
  9644  	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
  9645  	return c
  9646  }
  9647  
  9648  // Fields allows partial responses to be retrieved. See
  9649  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9650  // details.
  9651  func (c *ProjectsLocationsMigrationJobsGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsMigrationJobsGetIamPolicyCall {
  9652  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9653  	return c
  9654  }
  9655  
  9656  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  9657  // object's ETag matches the given value. This is useful for getting updates
  9658  // only after the object has changed since the last request.
  9659  func (c *ProjectsLocationsMigrationJobsGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsLocationsMigrationJobsGetIamPolicyCall {
  9660  	c.ifNoneMatch_ = entityTag
  9661  	return c
  9662  }
  9663  
  9664  // Context sets the context to be used in this call's Do method.
  9665  func (c *ProjectsLocationsMigrationJobsGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsMigrationJobsGetIamPolicyCall {
  9666  	c.ctx_ = ctx
  9667  	return c
  9668  }
  9669  
  9670  // Header returns a http.Header that can be modified by the caller to add
  9671  // headers to the request.
  9672  func (c *ProjectsLocationsMigrationJobsGetIamPolicyCall) Header() http.Header {
  9673  	if c.header_ == nil {
  9674  		c.header_ = make(http.Header)
  9675  	}
  9676  	return c.header_
  9677  }
  9678  
  9679  func (c *ProjectsLocationsMigrationJobsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
  9680  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9681  	if c.ifNoneMatch_ != "" {
  9682  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  9683  	}
  9684  	var body io.Reader = nil
  9685  	c.urlParams_.Set("alt", alt)
  9686  	c.urlParams_.Set("prettyPrint", "false")
  9687  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:getIamPolicy")
  9688  	urls += "?" + c.urlParams_.Encode()
  9689  	req, err := http.NewRequest("GET", urls, body)
  9690  	if err != nil {
  9691  		return nil, err
  9692  	}
  9693  	req.Header = reqHeaders
  9694  	googleapi.Expand(req.URL, map[string]string{
  9695  		"resource": c.resource,
  9696  	})
  9697  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9698  }
  9699  
  9700  // Do executes the "datamigration.projects.locations.migrationJobs.getIamPolicy" call.
  9701  // Any non-2xx status code is an error. Response headers are in either
  9702  // *Policy.ServerResponse.Header or (if a response was returned at all) in
  9703  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9704  // whether the returned error was because http.StatusNotModified was returned.
  9705  func (c *ProjectsLocationsMigrationJobsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
  9706  	gensupport.SetOptions(c.urlParams_, opts...)
  9707  	res, err := c.doRequest("json")
  9708  	if res != nil && res.StatusCode == http.StatusNotModified {
  9709  		if res.Body != nil {
  9710  			res.Body.Close()
  9711  		}
  9712  		return nil, gensupport.WrapError(&googleapi.Error{
  9713  			Code:   res.StatusCode,
  9714  			Header: res.Header,
  9715  		})
  9716  	}
  9717  	if err != nil {
  9718  		return nil, err
  9719  	}
  9720  	defer googleapi.CloseBody(res)
  9721  	if err := googleapi.CheckResponse(res); err != nil {
  9722  		return nil, gensupport.WrapError(err)
  9723  	}
  9724  	ret := &Policy{
  9725  		ServerResponse: googleapi.ServerResponse{
  9726  			Header:         res.Header,
  9727  			HTTPStatusCode: res.StatusCode,
  9728  		},
  9729  	}
  9730  	target := &ret
  9731  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9732  		return nil, err
  9733  	}
  9734  	return ret, nil
  9735  }
  9736  
  9737  type ProjectsLocationsMigrationJobsListCall struct {
  9738  	s            *Service
  9739  	parent       string
  9740  	urlParams_   gensupport.URLParams
  9741  	ifNoneMatch_ string
  9742  	ctx_         context.Context
  9743  	header_      http.Header
  9744  }
  9745  
  9746  // List: Lists migration jobs in a given project and location.
  9747  //
  9748  // - parent: The parent which owns this collection of migrationJobs.
  9749  func (r *ProjectsLocationsMigrationJobsService) List(parent string) *ProjectsLocationsMigrationJobsListCall {
  9750  	c := &ProjectsLocationsMigrationJobsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9751  	c.parent = parent
  9752  	return c
  9753  }
  9754  
  9755  // Filter sets the optional parameter "filter": A filter expression that
  9756  // filters migration jobs listed in the response. The expression must specify
  9757  // the field name, a comparison operator, and the value that you want to use
  9758  // for filtering. The value must be a string, a number, or a boolean. The
  9759  // comparison operator must be either =, !=, >, or <. For example, list
  9760  // migration jobs created this year by specifying **createTime %gt;
  9761  // 2020-01-01T00:00:00.000000000Z.** You can also filter nested fields. For
  9762  // example, you could specify **reverseSshConnectivity.vmIp = "1.2.3.4"** to
  9763  // select all migration jobs connecting through the specific SSH tunnel
  9764  // bastion.
  9765  func (c *ProjectsLocationsMigrationJobsListCall) Filter(filter string) *ProjectsLocationsMigrationJobsListCall {
  9766  	c.urlParams_.Set("filter", filter)
  9767  	return c
  9768  }
  9769  
  9770  // OrderBy sets the optional parameter "orderBy": Sort the results based on the
  9771  // migration job name. Valid values are: "name", "name asc", and "name desc".
  9772  func (c *ProjectsLocationsMigrationJobsListCall) OrderBy(orderBy string) *ProjectsLocationsMigrationJobsListCall {
  9773  	c.urlParams_.Set("orderBy", orderBy)
  9774  	return c
  9775  }
  9776  
  9777  // PageSize sets the optional parameter "pageSize": The maximum number of
  9778  // migration jobs to return. The service may return fewer than this value. If
  9779  // unspecified, at most 50 migration jobs will be returned. The maximum value
  9780  // is 1000; values above 1000 are coerced to 1000.
  9781  func (c *ProjectsLocationsMigrationJobsListCall) PageSize(pageSize int64) *ProjectsLocationsMigrationJobsListCall {
  9782  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  9783  	return c
  9784  }
  9785  
  9786  // PageToken sets the optional parameter "pageToken": The nextPageToken value
  9787  // received in the previous call to migrationJobs.list, used in the subsequent
  9788  // request to retrieve the next page of results. On first call this should be
  9789  // left blank. When paginating, all other parameters provided to
  9790  // migrationJobs.list must match the call that provided the page token.
  9791  func (c *ProjectsLocationsMigrationJobsListCall) PageToken(pageToken string) *ProjectsLocationsMigrationJobsListCall {
  9792  	c.urlParams_.Set("pageToken", pageToken)
  9793  	return c
  9794  }
  9795  
  9796  // Fields allows partial responses to be retrieved. See
  9797  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9798  // details.
  9799  func (c *ProjectsLocationsMigrationJobsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsMigrationJobsListCall {
  9800  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9801  	return c
  9802  }
  9803  
  9804  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  9805  // object's ETag matches the given value. This is useful for getting updates
  9806  // only after the object has changed since the last request.
  9807  func (c *ProjectsLocationsMigrationJobsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsMigrationJobsListCall {
  9808  	c.ifNoneMatch_ = entityTag
  9809  	return c
  9810  }
  9811  
  9812  // Context sets the context to be used in this call's Do method.
  9813  func (c *ProjectsLocationsMigrationJobsListCall) Context(ctx context.Context) *ProjectsLocationsMigrationJobsListCall {
  9814  	c.ctx_ = ctx
  9815  	return c
  9816  }
  9817  
  9818  // Header returns a http.Header that can be modified by the caller to add
  9819  // headers to the request.
  9820  func (c *ProjectsLocationsMigrationJobsListCall) Header() http.Header {
  9821  	if c.header_ == nil {
  9822  		c.header_ = make(http.Header)
  9823  	}
  9824  	return c.header_
  9825  }
  9826  
  9827  func (c *ProjectsLocationsMigrationJobsListCall) doRequest(alt string) (*http.Response, error) {
  9828  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9829  	if c.ifNoneMatch_ != "" {
  9830  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  9831  	}
  9832  	var body io.Reader = nil
  9833  	c.urlParams_.Set("alt", alt)
  9834  	c.urlParams_.Set("prettyPrint", "false")
  9835  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/migrationJobs")
  9836  	urls += "?" + c.urlParams_.Encode()
  9837  	req, err := http.NewRequest("GET", urls, body)
  9838  	if err != nil {
  9839  		return nil, err
  9840  	}
  9841  	req.Header = reqHeaders
  9842  	googleapi.Expand(req.URL, map[string]string{
  9843  		"parent": c.parent,
  9844  	})
  9845  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9846  }
  9847  
  9848  // Do executes the "datamigration.projects.locations.migrationJobs.list" call.
  9849  // Any non-2xx status code is an error. Response headers are in either
  9850  // *ListMigrationJobsResponse.ServerResponse.Header or (if a response was
  9851  // returned at all) in error.(*googleapi.Error).Header. Use
  9852  // googleapi.IsNotModified to check whether the returned error was because
  9853  // http.StatusNotModified was returned.
  9854  func (c *ProjectsLocationsMigrationJobsListCall) Do(opts ...googleapi.CallOption) (*ListMigrationJobsResponse, error) {
  9855  	gensupport.SetOptions(c.urlParams_, opts...)
  9856  	res, err := c.doRequest("json")
  9857  	if res != nil && res.StatusCode == http.StatusNotModified {
  9858  		if res.Body != nil {
  9859  			res.Body.Close()
  9860  		}
  9861  		return nil, gensupport.WrapError(&googleapi.Error{
  9862  			Code:   res.StatusCode,
  9863  			Header: res.Header,
  9864  		})
  9865  	}
  9866  	if err != nil {
  9867  		return nil, err
  9868  	}
  9869  	defer googleapi.CloseBody(res)
  9870  	if err := googleapi.CheckResponse(res); err != nil {
  9871  		return nil, gensupport.WrapError(err)
  9872  	}
  9873  	ret := &ListMigrationJobsResponse{
  9874  		ServerResponse: googleapi.ServerResponse{
  9875  			Header:         res.Header,
  9876  			HTTPStatusCode: res.StatusCode,
  9877  		},
  9878  	}
  9879  	target := &ret
  9880  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9881  		return nil, err
  9882  	}
  9883  	return ret, nil
  9884  }
  9885  
  9886  // Pages invokes f for each page of results.
  9887  // A non-nil error returned from f will halt the iteration.
  9888  // The provided context supersedes any context provided to the Context method.
  9889  func (c *ProjectsLocationsMigrationJobsListCall) Pages(ctx context.Context, f func(*ListMigrationJobsResponse) error) error {
  9890  	c.ctx_ = ctx
  9891  	defer c.PageToken(c.urlParams_.Get("pageToken"))
  9892  	for {
  9893  		x, err := c.Do()
  9894  		if err != nil {
  9895  			return err
  9896  		}
  9897  		if err := f(x); err != nil {
  9898  			return err
  9899  		}
  9900  		if x.NextPageToken == "" {
  9901  			return nil
  9902  		}
  9903  		c.PageToken(x.NextPageToken)
  9904  	}
  9905  }
  9906  
  9907  type ProjectsLocationsMigrationJobsPatchCall struct {
  9908  	s            *Service
  9909  	name         string
  9910  	migrationjob *MigrationJob
  9911  	urlParams_   gensupport.URLParams
  9912  	ctx_         context.Context
  9913  	header_      http.Header
  9914  }
  9915  
  9916  // Patch: Updates the parameters of a single migration job.
  9917  //
  9918  //   - name: The name (URI) of this migration job resource, in the form of:
  9919  //     projects/{project}/locations/{location}/migrationJobs/{migrationJob}.
  9920  func (r *ProjectsLocationsMigrationJobsService) Patch(name string, migrationjob *MigrationJob) *ProjectsLocationsMigrationJobsPatchCall {
  9921  	c := &ProjectsLocationsMigrationJobsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9922  	c.name = name
  9923  	c.migrationjob = migrationjob
  9924  	return c
  9925  }
  9926  
  9927  // RequestId sets the optional parameter "requestId": A unique ID used to
  9928  // identify the request. If the server receives two requests with the same ID,
  9929  // then the second request is ignored. It is recommended to always set this
  9930  // value to a UUID. The ID must contain only letters (a-z, A-Z), numbers (0-9),
  9931  // underscores (_), and hyphens (-). The maximum length is 40 characters.
  9932  func (c *ProjectsLocationsMigrationJobsPatchCall) RequestId(requestId string) *ProjectsLocationsMigrationJobsPatchCall {
  9933  	c.urlParams_.Set("requestId", requestId)
  9934  	return c
  9935  }
  9936  
  9937  // UpdateMask sets the optional parameter "updateMask": Required. Field mask is
  9938  // used to specify the fields to be overwritten by the update in the conversion
  9939  // workspace resource.
  9940  func (c *ProjectsLocationsMigrationJobsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsMigrationJobsPatchCall {
  9941  	c.urlParams_.Set("updateMask", updateMask)
  9942  	return c
  9943  }
  9944  
  9945  // Fields allows partial responses to be retrieved. See
  9946  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9947  // details.
  9948  func (c *ProjectsLocationsMigrationJobsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsMigrationJobsPatchCall {
  9949  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9950  	return c
  9951  }
  9952  
  9953  // Context sets the context to be used in this call's Do method.
  9954  func (c *ProjectsLocationsMigrationJobsPatchCall) Context(ctx context.Context) *ProjectsLocationsMigrationJobsPatchCall {
  9955  	c.ctx_ = ctx
  9956  	return c
  9957  }
  9958  
  9959  // Header returns a http.Header that can be modified by the caller to add
  9960  // headers to the request.
  9961  func (c *ProjectsLocationsMigrationJobsPatchCall) Header() http.Header {
  9962  	if c.header_ == nil {
  9963  		c.header_ = make(http.Header)
  9964  	}
  9965  	return c.header_
  9966  }
  9967  
  9968  func (c *ProjectsLocationsMigrationJobsPatchCall) doRequest(alt string) (*http.Response, error) {
  9969  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  9970  	var body io.Reader = nil
  9971  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.migrationjob)
  9972  	if err != nil {
  9973  		return nil, err
  9974  	}
  9975  	c.urlParams_.Set("alt", alt)
  9976  	c.urlParams_.Set("prettyPrint", "false")
  9977  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
  9978  	urls += "?" + c.urlParams_.Encode()
  9979  	req, err := http.NewRequest("PATCH", urls, body)
  9980  	if err != nil {
  9981  		return nil, err
  9982  	}
  9983  	req.Header = reqHeaders
  9984  	googleapi.Expand(req.URL, map[string]string{
  9985  		"name": c.name,
  9986  	})
  9987  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9988  }
  9989  
  9990  // Do executes the "datamigration.projects.locations.migrationJobs.patch" call.
  9991  // Any non-2xx status code is an error. Response headers are in either
  9992  // *Operation.ServerResponse.Header or (if a response was returned at all) in
  9993  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9994  // whether the returned error was because http.StatusNotModified was returned.
  9995  func (c *ProjectsLocationsMigrationJobsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
  9996  	gensupport.SetOptions(c.urlParams_, opts...)
  9997  	res, err := c.doRequest("json")
  9998  	if res != nil && res.StatusCode == http.StatusNotModified {
  9999  		if res.Body != nil {
 10000  			res.Body.Close()
 10001  		}
 10002  		return nil, gensupport.WrapError(&googleapi.Error{
 10003  			Code:   res.StatusCode,
 10004  			Header: res.Header,
 10005  		})
 10006  	}
 10007  	if err != nil {
 10008  		return nil, err
 10009  	}
 10010  	defer googleapi.CloseBody(res)
 10011  	if err := googleapi.CheckResponse(res); err != nil {
 10012  		return nil, gensupport.WrapError(err)
 10013  	}
 10014  	ret := &Operation{
 10015  		ServerResponse: googleapi.ServerResponse{
 10016  			Header:         res.Header,
 10017  			HTTPStatusCode: res.StatusCode,
 10018  		},
 10019  	}
 10020  	target := &ret
 10021  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10022  		return nil, err
 10023  	}
 10024  	return ret, nil
 10025  }
 10026  
 10027  type ProjectsLocationsMigrationJobsPromoteCall struct {
 10028  	s                          *Service
 10029  	name                       string
 10030  	promotemigrationjobrequest *PromoteMigrationJobRequest
 10031  	urlParams_                 gensupport.URLParams
 10032  	ctx_                       context.Context
 10033  	header_                    http.Header
 10034  }
 10035  
 10036  // Promote: Promote a migration job, stopping replication to the destination
 10037  // and promoting the destination to be a standalone database.
 10038  //
 10039  // - name: Name of the migration job resource to promote.
 10040  func (r *ProjectsLocationsMigrationJobsService) Promote(name string, promotemigrationjobrequest *PromoteMigrationJobRequest) *ProjectsLocationsMigrationJobsPromoteCall {
 10041  	c := &ProjectsLocationsMigrationJobsPromoteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10042  	c.name = name
 10043  	c.promotemigrationjobrequest = promotemigrationjobrequest
 10044  	return c
 10045  }
 10046  
 10047  // Fields allows partial responses to be retrieved. See
 10048  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10049  // details.
 10050  func (c *ProjectsLocationsMigrationJobsPromoteCall) Fields(s ...googleapi.Field) *ProjectsLocationsMigrationJobsPromoteCall {
 10051  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10052  	return c
 10053  }
 10054  
 10055  // Context sets the context to be used in this call's Do method.
 10056  func (c *ProjectsLocationsMigrationJobsPromoteCall) Context(ctx context.Context) *ProjectsLocationsMigrationJobsPromoteCall {
 10057  	c.ctx_ = ctx
 10058  	return c
 10059  }
 10060  
 10061  // Header returns a http.Header that can be modified by the caller to add
 10062  // headers to the request.
 10063  func (c *ProjectsLocationsMigrationJobsPromoteCall) Header() http.Header {
 10064  	if c.header_ == nil {
 10065  		c.header_ = make(http.Header)
 10066  	}
 10067  	return c.header_
 10068  }
 10069  
 10070  func (c *ProjectsLocationsMigrationJobsPromoteCall) doRequest(alt string) (*http.Response, error) {
 10071  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 10072  	var body io.Reader = nil
 10073  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.promotemigrationjobrequest)
 10074  	if err != nil {
 10075  		return nil, err
 10076  	}
 10077  	c.urlParams_.Set("alt", alt)
 10078  	c.urlParams_.Set("prettyPrint", "false")
 10079  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:promote")
 10080  	urls += "?" + c.urlParams_.Encode()
 10081  	req, err := http.NewRequest("POST", urls, body)
 10082  	if err != nil {
 10083  		return nil, err
 10084  	}
 10085  	req.Header = reqHeaders
 10086  	googleapi.Expand(req.URL, map[string]string{
 10087  		"name": c.name,
 10088  	})
 10089  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10090  }
 10091  
 10092  // Do executes the "datamigration.projects.locations.migrationJobs.promote" call.
 10093  // Any non-2xx status code is an error. Response headers are in either
 10094  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 10095  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 10096  // whether the returned error was because http.StatusNotModified was returned.
 10097  func (c *ProjectsLocationsMigrationJobsPromoteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 10098  	gensupport.SetOptions(c.urlParams_, opts...)
 10099  	res, err := c.doRequest("json")
 10100  	if res != nil && res.StatusCode == http.StatusNotModified {
 10101  		if res.Body != nil {
 10102  			res.Body.Close()
 10103  		}
 10104  		return nil, gensupport.WrapError(&googleapi.Error{
 10105  			Code:   res.StatusCode,
 10106  			Header: res.Header,
 10107  		})
 10108  	}
 10109  	if err != nil {
 10110  		return nil, err
 10111  	}
 10112  	defer googleapi.CloseBody(res)
 10113  	if err := googleapi.CheckResponse(res); err != nil {
 10114  		return nil, gensupport.WrapError(err)
 10115  	}
 10116  	ret := &Operation{
 10117  		ServerResponse: googleapi.ServerResponse{
 10118  			Header:         res.Header,
 10119  			HTTPStatusCode: res.StatusCode,
 10120  		},
 10121  	}
 10122  	target := &ret
 10123  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10124  		return nil, err
 10125  	}
 10126  	return ret, nil
 10127  }
 10128  
 10129  type ProjectsLocationsMigrationJobsRestartCall struct {
 10130  	s                          *Service
 10131  	name                       string
 10132  	restartmigrationjobrequest *RestartMigrationJobRequest
 10133  	urlParams_                 gensupport.URLParams
 10134  	ctx_                       context.Context
 10135  	header_                    http.Header
 10136  }
 10137  
 10138  // Restart: Restart a stopped or failed migration job, resetting the
 10139  // destination instance to its original state and starting the migration
 10140  // process from scratch.
 10141  //
 10142  // - name: Name of the migration job resource to restart.
 10143  func (r *ProjectsLocationsMigrationJobsService) Restart(name string, restartmigrationjobrequest *RestartMigrationJobRequest) *ProjectsLocationsMigrationJobsRestartCall {
 10144  	c := &ProjectsLocationsMigrationJobsRestartCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10145  	c.name = name
 10146  	c.restartmigrationjobrequest = restartmigrationjobrequest
 10147  	return c
 10148  }
 10149  
 10150  // Fields allows partial responses to be retrieved. See
 10151  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10152  // details.
 10153  func (c *ProjectsLocationsMigrationJobsRestartCall) Fields(s ...googleapi.Field) *ProjectsLocationsMigrationJobsRestartCall {
 10154  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10155  	return c
 10156  }
 10157  
 10158  // Context sets the context to be used in this call's Do method.
 10159  func (c *ProjectsLocationsMigrationJobsRestartCall) Context(ctx context.Context) *ProjectsLocationsMigrationJobsRestartCall {
 10160  	c.ctx_ = ctx
 10161  	return c
 10162  }
 10163  
 10164  // Header returns a http.Header that can be modified by the caller to add
 10165  // headers to the request.
 10166  func (c *ProjectsLocationsMigrationJobsRestartCall) Header() http.Header {
 10167  	if c.header_ == nil {
 10168  		c.header_ = make(http.Header)
 10169  	}
 10170  	return c.header_
 10171  }
 10172  
 10173  func (c *ProjectsLocationsMigrationJobsRestartCall) doRequest(alt string) (*http.Response, error) {
 10174  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 10175  	var body io.Reader = nil
 10176  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.restartmigrationjobrequest)
 10177  	if err != nil {
 10178  		return nil, err
 10179  	}
 10180  	c.urlParams_.Set("alt", alt)
 10181  	c.urlParams_.Set("prettyPrint", "false")
 10182  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:restart")
 10183  	urls += "?" + c.urlParams_.Encode()
 10184  	req, err := http.NewRequest("POST", urls, body)
 10185  	if err != nil {
 10186  		return nil, err
 10187  	}
 10188  	req.Header = reqHeaders
 10189  	googleapi.Expand(req.URL, map[string]string{
 10190  		"name": c.name,
 10191  	})
 10192  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10193  }
 10194  
 10195  // Do executes the "datamigration.projects.locations.migrationJobs.restart" call.
 10196  // Any non-2xx status code is an error. Response headers are in either
 10197  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 10198  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 10199  // whether the returned error was because http.StatusNotModified was returned.
 10200  func (c *ProjectsLocationsMigrationJobsRestartCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 10201  	gensupport.SetOptions(c.urlParams_, opts...)
 10202  	res, err := c.doRequest("json")
 10203  	if res != nil && res.StatusCode == http.StatusNotModified {
 10204  		if res.Body != nil {
 10205  			res.Body.Close()
 10206  		}
 10207  		return nil, gensupport.WrapError(&googleapi.Error{
 10208  			Code:   res.StatusCode,
 10209  			Header: res.Header,
 10210  		})
 10211  	}
 10212  	if err != nil {
 10213  		return nil, err
 10214  	}
 10215  	defer googleapi.CloseBody(res)
 10216  	if err := googleapi.CheckResponse(res); err != nil {
 10217  		return nil, gensupport.WrapError(err)
 10218  	}
 10219  	ret := &Operation{
 10220  		ServerResponse: googleapi.ServerResponse{
 10221  			Header:         res.Header,
 10222  			HTTPStatusCode: res.StatusCode,
 10223  		},
 10224  	}
 10225  	target := &ret
 10226  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10227  		return nil, err
 10228  	}
 10229  	return ret, nil
 10230  }
 10231  
 10232  type ProjectsLocationsMigrationJobsResumeCall struct {
 10233  	s                         *Service
 10234  	name                      string
 10235  	resumemigrationjobrequest *ResumeMigrationJobRequest
 10236  	urlParams_                gensupport.URLParams
 10237  	ctx_                      context.Context
 10238  	header_                   http.Header
 10239  }
 10240  
 10241  // Resume: Resume a migration job that is currently stopped and is resumable
 10242  // (was stopped during CDC phase).
 10243  //
 10244  // - name: Name of the migration job resource to resume.
 10245  func (r *ProjectsLocationsMigrationJobsService) Resume(name string, resumemigrationjobrequest *ResumeMigrationJobRequest) *ProjectsLocationsMigrationJobsResumeCall {
 10246  	c := &ProjectsLocationsMigrationJobsResumeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10247  	c.name = name
 10248  	c.resumemigrationjobrequest = resumemigrationjobrequest
 10249  	return c
 10250  }
 10251  
 10252  // Fields allows partial responses to be retrieved. See
 10253  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10254  // details.
 10255  func (c *ProjectsLocationsMigrationJobsResumeCall) Fields(s ...googleapi.Field) *ProjectsLocationsMigrationJobsResumeCall {
 10256  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10257  	return c
 10258  }
 10259  
 10260  // Context sets the context to be used in this call's Do method.
 10261  func (c *ProjectsLocationsMigrationJobsResumeCall) Context(ctx context.Context) *ProjectsLocationsMigrationJobsResumeCall {
 10262  	c.ctx_ = ctx
 10263  	return c
 10264  }
 10265  
 10266  // Header returns a http.Header that can be modified by the caller to add
 10267  // headers to the request.
 10268  func (c *ProjectsLocationsMigrationJobsResumeCall) Header() http.Header {
 10269  	if c.header_ == nil {
 10270  		c.header_ = make(http.Header)
 10271  	}
 10272  	return c.header_
 10273  }
 10274  
 10275  func (c *ProjectsLocationsMigrationJobsResumeCall) doRequest(alt string) (*http.Response, error) {
 10276  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 10277  	var body io.Reader = nil
 10278  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.resumemigrationjobrequest)
 10279  	if err != nil {
 10280  		return nil, err
 10281  	}
 10282  	c.urlParams_.Set("alt", alt)
 10283  	c.urlParams_.Set("prettyPrint", "false")
 10284  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:resume")
 10285  	urls += "?" + c.urlParams_.Encode()
 10286  	req, err := http.NewRequest("POST", urls, body)
 10287  	if err != nil {
 10288  		return nil, err
 10289  	}
 10290  	req.Header = reqHeaders
 10291  	googleapi.Expand(req.URL, map[string]string{
 10292  		"name": c.name,
 10293  	})
 10294  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10295  }
 10296  
 10297  // Do executes the "datamigration.projects.locations.migrationJobs.resume" call.
 10298  // Any non-2xx status code is an error. Response headers are in either
 10299  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 10300  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 10301  // whether the returned error was because http.StatusNotModified was returned.
 10302  func (c *ProjectsLocationsMigrationJobsResumeCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 10303  	gensupport.SetOptions(c.urlParams_, opts...)
 10304  	res, err := c.doRequest("json")
 10305  	if res != nil && res.StatusCode == http.StatusNotModified {
 10306  		if res.Body != nil {
 10307  			res.Body.Close()
 10308  		}
 10309  		return nil, gensupport.WrapError(&googleapi.Error{
 10310  			Code:   res.StatusCode,
 10311  			Header: res.Header,
 10312  		})
 10313  	}
 10314  	if err != nil {
 10315  		return nil, err
 10316  	}
 10317  	defer googleapi.CloseBody(res)
 10318  	if err := googleapi.CheckResponse(res); err != nil {
 10319  		return nil, gensupport.WrapError(err)
 10320  	}
 10321  	ret := &Operation{
 10322  		ServerResponse: googleapi.ServerResponse{
 10323  			Header:         res.Header,
 10324  			HTTPStatusCode: res.StatusCode,
 10325  		},
 10326  	}
 10327  	target := &ret
 10328  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10329  		return nil, err
 10330  	}
 10331  	return ret, nil
 10332  }
 10333  
 10334  type ProjectsLocationsMigrationJobsSetIamPolicyCall struct {
 10335  	s                   *Service
 10336  	resource            string
 10337  	setiampolicyrequest *SetIamPolicyRequest
 10338  	urlParams_          gensupport.URLParams
 10339  	ctx_                context.Context
 10340  	header_             http.Header
 10341  }
 10342  
 10343  // SetIamPolicy: Sets the access control policy on the specified resource.
 10344  // Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`,
 10345  // and `PERMISSION_DENIED` errors.
 10346  //
 10347  //   - resource: REQUIRED: The resource for which the policy is being specified.
 10348  //     See Resource names (https://cloud.google.com/apis/design/resource_names)
 10349  //     for the appropriate value for this field.
 10350  func (r *ProjectsLocationsMigrationJobsService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsMigrationJobsSetIamPolicyCall {
 10351  	c := &ProjectsLocationsMigrationJobsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10352  	c.resource = resource
 10353  	c.setiampolicyrequest = setiampolicyrequest
 10354  	return c
 10355  }
 10356  
 10357  // Fields allows partial responses to be retrieved. See
 10358  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10359  // details.
 10360  func (c *ProjectsLocationsMigrationJobsSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsMigrationJobsSetIamPolicyCall {
 10361  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10362  	return c
 10363  }
 10364  
 10365  // Context sets the context to be used in this call's Do method.
 10366  func (c *ProjectsLocationsMigrationJobsSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsMigrationJobsSetIamPolicyCall {
 10367  	c.ctx_ = ctx
 10368  	return c
 10369  }
 10370  
 10371  // Header returns a http.Header that can be modified by the caller to add
 10372  // headers to the request.
 10373  func (c *ProjectsLocationsMigrationJobsSetIamPolicyCall) Header() http.Header {
 10374  	if c.header_ == nil {
 10375  		c.header_ = make(http.Header)
 10376  	}
 10377  	return c.header_
 10378  }
 10379  
 10380  func (c *ProjectsLocationsMigrationJobsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 10381  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 10382  	var body io.Reader = nil
 10383  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
 10384  	if err != nil {
 10385  		return nil, err
 10386  	}
 10387  	c.urlParams_.Set("alt", alt)
 10388  	c.urlParams_.Set("prettyPrint", "false")
 10389  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:setIamPolicy")
 10390  	urls += "?" + c.urlParams_.Encode()
 10391  	req, err := http.NewRequest("POST", urls, body)
 10392  	if err != nil {
 10393  		return nil, err
 10394  	}
 10395  	req.Header = reqHeaders
 10396  	googleapi.Expand(req.URL, map[string]string{
 10397  		"resource": c.resource,
 10398  	})
 10399  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10400  }
 10401  
 10402  // Do executes the "datamigration.projects.locations.migrationJobs.setIamPolicy" call.
 10403  // Any non-2xx status code is an error. Response headers are in either
 10404  // *Policy.ServerResponse.Header or (if a response was returned at all) in
 10405  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 10406  // whether the returned error was because http.StatusNotModified was returned.
 10407  func (c *ProjectsLocationsMigrationJobsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
 10408  	gensupport.SetOptions(c.urlParams_, opts...)
 10409  	res, err := c.doRequest("json")
 10410  	if res != nil && res.StatusCode == http.StatusNotModified {
 10411  		if res.Body != nil {
 10412  			res.Body.Close()
 10413  		}
 10414  		return nil, gensupport.WrapError(&googleapi.Error{
 10415  			Code:   res.StatusCode,
 10416  			Header: res.Header,
 10417  		})
 10418  	}
 10419  	if err != nil {
 10420  		return nil, err
 10421  	}
 10422  	defer googleapi.CloseBody(res)
 10423  	if err := googleapi.CheckResponse(res); err != nil {
 10424  		return nil, gensupport.WrapError(err)
 10425  	}
 10426  	ret := &Policy{
 10427  		ServerResponse: googleapi.ServerResponse{
 10428  			Header:         res.Header,
 10429  			HTTPStatusCode: res.StatusCode,
 10430  		},
 10431  	}
 10432  	target := &ret
 10433  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10434  		return nil, err
 10435  	}
 10436  	return ret, nil
 10437  }
 10438  
 10439  type ProjectsLocationsMigrationJobsStartCall struct {
 10440  	s                        *Service
 10441  	name                     string
 10442  	startmigrationjobrequest *StartMigrationJobRequest
 10443  	urlParams_               gensupport.URLParams
 10444  	ctx_                     context.Context
 10445  	header_                  http.Header
 10446  }
 10447  
 10448  // Start: Start an already created migration job.
 10449  //
 10450  // - name: Name of the migration job resource to start.
 10451  func (r *ProjectsLocationsMigrationJobsService) Start(name string, startmigrationjobrequest *StartMigrationJobRequest) *ProjectsLocationsMigrationJobsStartCall {
 10452  	c := &ProjectsLocationsMigrationJobsStartCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10453  	c.name = name
 10454  	c.startmigrationjobrequest = startmigrationjobrequest
 10455  	return c
 10456  }
 10457  
 10458  // Fields allows partial responses to be retrieved. See
 10459  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10460  // details.
 10461  func (c *ProjectsLocationsMigrationJobsStartCall) Fields(s ...googleapi.Field) *ProjectsLocationsMigrationJobsStartCall {
 10462  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10463  	return c
 10464  }
 10465  
 10466  // Context sets the context to be used in this call's Do method.
 10467  func (c *ProjectsLocationsMigrationJobsStartCall) Context(ctx context.Context) *ProjectsLocationsMigrationJobsStartCall {
 10468  	c.ctx_ = ctx
 10469  	return c
 10470  }
 10471  
 10472  // Header returns a http.Header that can be modified by the caller to add
 10473  // headers to the request.
 10474  func (c *ProjectsLocationsMigrationJobsStartCall) Header() http.Header {
 10475  	if c.header_ == nil {
 10476  		c.header_ = make(http.Header)
 10477  	}
 10478  	return c.header_
 10479  }
 10480  
 10481  func (c *ProjectsLocationsMigrationJobsStartCall) doRequest(alt string) (*http.Response, error) {
 10482  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 10483  	var body io.Reader = nil
 10484  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.startmigrationjobrequest)
 10485  	if err != nil {
 10486  		return nil, err
 10487  	}
 10488  	c.urlParams_.Set("alt", alt)
 10489  	c.urlParams_.Set("prettyPrint", "false")
 10490  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:start")
 10491  	urls += "?" + c.urlParams_.Encode()
 10492  	req, err := http.NewRequest("POST", urls, body)
 10493  	if err != nil {
 10494  		return nil, err
 10495  	}
 10496  	req.Header = reqHeaders
 10497  	googleapi.Expand(req.URL, map[string]string{
 10498  		"name": c.name,
 10499  	})
 10500  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10501  }
 10502  
 10503  // Do executes the "datamigration.projects.locations.migrationJobs.start" call.
 10504  // Any non-2xx status code is an error. Response headers are in either
 10505  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 10506  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 10507  // whether the returned error was because http.StatusNotModified was returned.
 10508  func (c *ProjectsLocationsMigrationJobsStartCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 10509  	gensupport.SetOptions(c.urlParams_, opts...)
 10510  	res, err := c.doRequest("json")
 10511  	if res != nil && res.StatusCode == http.StatusNotModified {
 10512  		if res.Body != nil {
 10513  			res.Body.Close()
 10514  		}
 10515  		return nil, gensupport.WrapError(&googleapi.Error{
 10516  			Code:   res.StatusCode,
 10517  			Header: res.Header,
 10518  		})
 10519  	}
 10520  	if err != nil {
 10521  		return nil, err
 10522  	}
 10523  	defer googleapi.CloseBody(res)
 10524  	if err := googleapi.CheckResponse(res); err != nil {
 10525  		return nil, gensupport.WrapError(err)
 10526  	}
 10527  	ret := &Operation{
 10528  		ServerResponse: googleapi.ServerResponse{
 10529  			Header:         res.Header,
 10530  			HTTPStatusCode: res.StatusCode,
 10531  		},
 10532  	}
 10533  	target := &ret
 10534  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10535  		return nil, err
 10536  	}
 10537  	return ret, nil
 10538  }
 10539  
 10540  type ProjectsLocationsMigrationJobsStopCall struct {
 10541  	s                       *Service
 10542  	name                    string
 10543  	stopmigrationjobrequest *StopMigrationJobRequest
 10544  	urlParams_              gensupport.URLParams
 10545  	ctx_                    context.Context
 10546  	header_                 http.Header
 10547  }
 10548  
 10549  // Stop: Stops a running migration job.
 10550  //
 10551  // - name: Name of the migration job resource to stop.
 10552  func (r *ProjectsLocationsMigrationJobsService) Stop(name string, stopmigrationjobrequest *StopMigrationJobRequest) *ProjectsLocationsMigrationJobsStopCall {
 10553  	c := &ProjectsLocationsMigrationJobsStopCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10554  	c.name = name
 10555  	c.stopmigrationjobrequest = stopmigrationjobrequest
 10556  	return c
 10557  }
 10558  
 10559  // Fields allows partial responses to be retrieved. See
 10560  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10561  // details.
 10562  func (c *ProjectsLocationsMigrationJobsStopCall) Fields(s ...googleapi.Field) *ProjectsLocationsMigrationJobsStopCall {
 10563  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10564  	return c
 10565  }
 10566  
 10567  // Context sets the context to be used in this call's Do method.
 10568  func (c *ProjectsLocationsMigrationJobsStopCall) Context(ctx context.Context) *ProjectsLocationsMigrationJobsStopCall {
 10569  	c.ctx_ = ctx
 10570  	return c
 10571  }
 10572  
 10573  // Header returns a http.Header that can be modified by the caller to add
 10574  // headers to the request.
 10575  func (c *ProjectsLocationsMigrationJobsStopCall) Header() http.Header {
 10576  	if c.header_ == nil {
 10577  		c.header_ = make(http.Header)
 10578  	}
 10579  	return c.header_
 10580  }
 10581  
 10582  func (c *ProjectsLocationsMigrationJobsStopCall) doRequest(alt string) (*http.Response, error) {
 10583  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 10584  	var body io.Reader = nil
 10585  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.stopmigrationjobrequest)
 10586  	if err != nil {
 10587  		return nil, err
 10588  	}
 10589  	c.urlParams_.Set("alt", alt)
 10590  	c.urlParams_.Set("prettyPrint", "false")
 10591  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:stop")
 10592  	urls += "?" + c.urlParams_.Encode()
 10593  	req, err := http.NewRequest("POST", urls, body)
 10594  	if err != nil {
 10595  		return nil, err
 10596  	}
 10597  	req.Header = reqHeaders
 10598  	googleapi.Expand(req.URL, map[string]string{
 10599  		"name": c.name,
 10600  	})
 10601  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10602  }
 10603  
 10604  // Do executes the "datamigration.projects.locations.migrationJobs.stop" call.
 10605  // Any non-2xx status code is an error. Response headers are in either
 10606  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 10607  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 10608  // whether the returned error was because http.StatusNotModified was returned.
 10609  func (c *ProjectsLocationsMigrationJobsStopCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 10610  	gensupport.SetOptions(c.urlParams_, opts...)
 10611  	res, err := c.doRequest("json")
 10612  	if res != nil && res.StatusCode == http.StatusNotModified {
 10613  		if res.Body != nil {
 10614  			res.Body.Close()
 10615  		}
 10616  		return nil, gensupport.WrapError(&googleapi.Error{
 10617  			Code:   res.StatusCode,
 10618  			Header: res.Header,
 10619  		})
 10620  	}
 10621  	if err != nil {
 10622  		return nil, err
 10623  	}
 10624  	defer googleapi.CloseBody(res)
 10625  	if err := googleapi.CheckResponse(res); err != nil {
 10626  		return nil, gensupport.WrapError(err)
 10627  	}
 10628  	ret := &Operation{
 10629  		ServerResponse: googleapi.ServerResponse{
 10630  			Header:         res.Header,
 10631  			HTTPStatusCode: res.StatusCode,
 10632  		},
 10633  	}
 10634  	target := &ret
 10635  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10636  		return nil, err
 10637  	}
 10638  	return ret, nil
 10639  }
 10640  
 10641  type ProjectsLocationsMigrationJobsTestIamPermissionsCall struct {
 10642  	s                         *Service
 10643  	resource                  string
 10644  	testiampermissionsrequest *TestIamPermissionsRequest
 10645  	urlParams_                gensupport.URLParams
 10646  	ctx_                      context.Context
 10647  	header_                   http.Header
 10648  }
 10649  
 10650  // TestIamPermissions: Returns permissions that a caller has on the specified
 10651  // resource. If the resource does not exist, this will return an empty set of
 10652  // permissions, not a `NOT_FOUND` error. Note: This operation is designed to be
 10653  // used for building permission-aware UIs and command-line tools, not for
 10654  // authorization checking. This operation may "fail open" without warning.
 10655  //
 10656  //   - resource: REQUIRED: The resource for which the policy detail is being
 10657  //     requested. See Resource names
 10658  //     (https://cloud.google.com/apis/design/resource_names) for the appropriate
 10659  //     value for this field.
 10660  func (r *ProjectsLocationsMigrationJobsService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsMigrationJobsTestIamPermissionsCall {
 10661  	c := &ProjectsLocationsMigrationJobsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10662  	c.resource = resource
 10663  	c.testiampermissionsrequest = testiampermissionsrequest
 10664  	return c
 10665  }
 10666  
 10667  // Fields allows partial responses to be retrieved. See
 10668  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10669  // details.
 10670  func (c *ProjectsLocationsMigrationJobsTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsMigrationJobsTestIamPermissionsCall {
 10671  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10672  	return c
 10673  }
 10674  
 10675  // Context sets the context to be used in this call's Do method.
 10676  func (c *ProjectsLocationsMigrationJobsTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsMigrationJobsTestIamPermissionsCall {
 10677  	c.ctx_ = ctx
 10678  	return c
 10679  }
 10680  
 10681  // Header returns a http.Header that can be modified by the caller to add
 10682  // headers to the request.
 10683  func (c *ProjectsLocationsMigrationJobsTestIamPermissionsCall) Header() http.Header {
 10684  	if c.header_ == nil {
 10685  		c.header_ = make(http.Header)
 10686  	}
 10687  	return c.header_
 10688  }
 10689  
 10690  func (c *ProjectsLocationsMigrationJobsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 10691  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 10692  	var body io.Reader = nil
 10693  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
 10694  	if err != nil {
 10695  		return nil, err
 10696  	}
 10697  	c.urlParams_.Set("alt", alt)
 10698  	c.urlParams_.Set("prettyPrint", "false")
 10699  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:testIamPermissions")
 10700  	urls += "?" + c.urlParams_.Encode()
 10701  	req, err := http.NewRequest("POST", urls, body)
 10702  	if err != nil {
 10703  		return nil, err
 10704  	}
 10705  	req.Header = reqHeaders
 10706  	googleapi.Expand(req.URL, map[string]string{
 10707  		"resource": c.resource,
 10708  	})
 10709  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10710  }
 10711  
 10712  // Do executes the "datamigration.projects.locations.migrationJobs.testIamPermissions" call.
 10713  // Any non-2xx status code is an error. Response headers are in either
 10714  // *TestIamPermissionsResponse.ServerResponse.Header or (if a response was
 10715  // returned at all) in error.(*googleapi.Error).Header. Use
 10716  // googleapi.IsNotModified to check whether the returned error was because
 10717  // http.StatusNotModified was returned.
 10718  func (c *ProjectsLocationsMigrationJobsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
 10719  	gensupport.SetOptions(c.urlParams_, opts...)
 10720  	res, err := c.doRequest("json")
 10721  	if res != nil && res.StatusCode == http.StatusNotModified {
 10722  		if res.Body != nil {
 10723  			res.Body.Close()
 10724  		}
 10725  		return nil, gensupport.WrapError(&googleapi.Error{
 10726  			Code:   res.StatusCode,
 10727  			Header: res.Header,
 10728  		})
 10729  	}
 10730  	if err != nil {
 10731  		return nil, err
 10732  	}
 10733  	defer googleapi.CloseBody(res)
 10734  	if err := googleapi.CheckResponse(res); err != nil {
 10735  		return nil, gensupport.WrapError(err)
 10736  	}
 10737  	ret := &TestIamPermissionsResponse{
 10738  		ServerResponse: googleapi.ServerResponse{
 10739  			Header:         res.Header,
 10740  			HTTPStatusCode: res.StatusCode,
 10741  		},
 10742  	}
 10743  	target := &ret
 10744  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10745  		return nil, err
 10746  	}
 10747  	return ret, nil
 10748  }
 10749  
 10750  type ProjectsLocationsMigrationJobsVerifyCall struct {
 10751  	s                         *Service
 10752  	name                      string
 10753  	verifymigrationjobrequest *VerifyMigrationJobRequest
 10754  	urlParams_                gensupport.URLParams
 10755  	ctx_                      context.Context
 10756  	header_                   http.Header
 10757  }
 10758  
 10759  // Verify: Verify a migration job, making sure the destination can reach the
 10760  // source and that all configuration and prerequisites are met.
 10761  //
 10762  // - name: Name of the migration job resource to verify.
 10763  func (r *ProjectsLocationsMigrationJobsService) Verify(name string, verifymigrationjobrequest *VerifyMigrationJobRequest) *ProjectsLocationsMigrationJobsVerifyCall {
 10764  	c := &ProjectsLocationsMigrationJobsVerifyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10765  	c.name = name
 10766  	c.verifymigrationjobrequest = verifymigrationjobrequest
 10767  	return c
 10768  }
 10769  
 10770  // Fields allows partial responses to be retrieved. See
 10771  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10772  // details.
 10773  func (c *ProjectsLocationsMigrationJobsVerifyCall) Fields(s ...googleapi.Field) *ProjectsLocationsMigrationJobsVerifyCall {
 10774  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10775  	return c
 10776  }
 10777  
 10778  // Context sets the context to be used in this call's Do method.
 10779  func (c *ProjectsLocationsMigrationJobsVerifyCall) Context(ctx context.Context) *ProjectsLocationsMigrationJobsVerifyCall {
 10780  	c.ctx_ = ctx
 10781  	return c
 10782  }
 10783  
 10784  // Header returns a http.Header that can be modified by the caller to add
 10785  // headers to the request.
 10786  func (c *ProjectsLocationsMigrationJobsVerifyCall) Header() http.Header {
 10787  	if c.header_ == nil {
 10788  		c.header_ = make(http.Header)
 10789  	}
 10790  	return c.header_
 10791  }
 10792  
 10793  func (c *ProjectsLocationsMigrationJobsVerifyCall) doRequest(alt string) (*http.Response, error) {
 10794  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 10795  	var body io.Reader = nil
 10796  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.verifymigrationjobrequest)
 10797  	if err != nil {
 10798  		return nil, err
 10799  	}
 10800  	c.urlParams_.Set("alt", alt)
 10801  	c.urlParams_.Set("prettyPrint", "false")
 10802  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:verify")
 10803  	urls += "?" + c.urlParams_.Encode()
 10804  	req, err := http.NewRequest("POST", urls, body)
 10805  	if err != nil {
 10806  		return nil, err
 10807  	}
 10808  	req.Header = reqHeaders
 10809  	googleapi.Expand(req.URL, map[string]string{
 10810  		"name": c.name,
 10811  	})
 10812  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10813  }
 10814  
 10815  // Do executes the "datamigration.projects.locations.migrationJobs.verify" call.
 10816  // Any non-2xx status code is an error. Response headers are in either
 10817  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 10818  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 10819  // whether the returned error was because http.StatusNotModified was returned.
 10820  func (c *ProjectsLocationsMigrationJobsVerifyCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 10821  	gensupport.SetOptions(c.urlParams_, opts...)
 10822  	res, err := c.doRequest("json")
 10823  	if res != nil && res.StatusCode == http.StatusNotModified {
 10824  		if res.Body != nil {
 10825  			res.Body.Close()
 10826  		}
 10827  		return nil, gensupport.WrapError(&googleapi.Error{
 10828  			Code:   res.StatusCode,
 10829  			Header: res.Header,
 10830  		})
 10831  	}
 10832  	if err != nil {
 10833  		return nil, err
 10834  	}
 10835  	defer googleapi.CloseBody(res)
 10836  	if err := googleapi.CheckResponse(res); err != nil {
 10837  		return nil, gensupport.WrapError(err)
 10838  	}
 10839  	ret := &Operation{
 10840  		ServerResponse: googleapi.ServerResponse{
 10841  			Header:         res.Header,
 10842  			HTTPStatusCode: res.StatusCode,
 10843  		},
 10844  	}
 10845  	target := &ret
 10846  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10847  		return nil, err
 10848  	}
 10849  	return ret, nil
 10850  }
 10851  
 10852  type ProjectsLocationsOperationsCancelCall struct {
 10853  	s                      *Service
 10854  	name                   string
 10855  	canceloperationrequest *CancelOperationRequest
 10856  	urlParams_             gensupport.URLParams
 10857  	ctx_                   context.Context
 10858  	header_                http.Header
 10859  }
 10860  
 10861  // Cancel: Starts asynchronous cancellation on a long-running operation. The
 10862  // server makes a best effort to cancel the operation, but success is not
 10863  // guaranteed. If the server doesn't support this method, it returns
 10864  // `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
 10865  // other methods to check whether the cancellation succeeded or whether the
 10866  // operation completed despite cancellation. On successful cancellation, the
 10867  // operation is not deleted; instead, it becomes an operation with an
 10868  // Operation.error value with a google.rpc.Status.code of 1, corresponding to
 10869  // `Code.CANCELLED`.
 10870  //
 10871  // - name: The name of the operation resource to be cancelled.
 10872  func (r *ProjectsLocationsOperationsService) Cancel(name string, canceloperationrequest *CancelOperationRequest) *ProjectsLocationsOperationsCancelCall {
 10873  	c := &ProjectsLocationsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10874  	c.name = name
 10875  	c.canceloperationrequest = canceloperationrequest
 10876  	return c
 10877  }
 10878  
 10879  // Fields allows partial responses to be retrieved. See
 10880  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10881  // details.
 10882  func (c *ProjectsLocationsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsCancelCall {
 10883  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10884  	return c
 10885  }
 10886  
 10887  // Context sets the context to be used in this call's Do method.
 10888  func (c *ProjectsLocationsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsOperationsCancelCall {
 10889  	c.ctx_ = ctx
 10890  	return c
 10891  }
 10892  
 10893  // Header returns a http.Header that can be modified by the caller to add
 10894  // headers to the request.
 10895  func (c *ProjectsLocationsOperationsCancelCall) Header() http.Header {
 10896  	if c.header_ == nil {
 10897  		c.header_ = make(http.Header)
 10898  	}
 10899  	return c.header_
 10900  }
 10901  
 10902  func (c *ProjectsLocationsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 10903  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 10904  	var body io.Reader = nil
 10905  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.canceloperationrequest)
 10906  	if err != nil {
 10907  		return nil, err
 10908  	}
 10909  	c.urlParams_.Set("alt", alt)
 10910  	c.urlParams_.Set("prettyPrint", "false")
 10911  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
 10912  	urls += "?" + c.urlParams_.Encode()
 10913  	req, err := http.NewRequest("POST", urls, body)
 10914  	if err != nil {
 10915  		return nil, err
 10916  	}
 10917  	req.Header = reqHeaders
 10918  	googleapi.Expand(req.URL, map[string]string{
 10919  		"name": c.name,
 10920  	})
 10921  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10922  }
 10923  
 10924  // Do executes the "datamigration.projects.locations.operations.cancel" call.
 10925  // Any non-2xx status code is an error. Response headers are in either
 10926  // *Empty.ServerResponse.Header or (if a response was returned at all) in
 10927  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 10928  // whether the returned error was because http.StatusNotModified was returned.
 10929  func (c *ProjectsLocationsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
 10930  	gensupport.SetOptions(c.urlParams_, opts...)
 10931  	res, err := c.doRequest("json")
 10932  	if res != nil && res.StatusCode == http.StatusNotModified {
 10933  		if res.Body != nil {
 10934  			res.Body.Close()
 10935  		}
 10936  		return nil, gensupport.WrapError(&googleapi.Error{
 10937  			Code:   res.StatusCode,
 10938  			Header: res.Header,
 10939  		})
 10940  	}
 10941  	if err != nil {
 10942  		return nil, err
 10943  	}
 10944  	defer googleapi.CloseBody(res)
 10945  	if err := googleapi.CheckResponse(res); err != nil {
 10946  		return nil, gensupport.WrapError(err)
 10947  	}
 10948  	ret := &Empty{
 10949  		ServerResponse: googleapi.ServerResponse{
 10950  			Header:         res.Header,
 10951  			HTTPStatusCode: res.StatusCode,
 10952  		},
 10953  	}
 10954  	target := &ret
 10955  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10956  		return nil, err
 10957  	}
 10958  	return ret, nil
 10959  }
 10960  
 10961  type ProjectsLocationsOperationsDeleteCall struct {
 10962  	s          *Service
 10963  	name       string
 10964  	urlParams_ gensupport.URLParams
 10965  	ctx_       context.Context
 10966  	header_    http.Header
 10967  }
 10968  
 10969  // Delete: Deletes a long-running operation. This method indicates that the
 10970  // client is no longer interested in the operation result. It does not cancel
 10971  // the operation. If the server doesn't support this method, it returns
 10972  // `google.rpc.Code.UNIMPLEMENTED`.
 10973  //
 10974  // - name: The name of the operation resource to be deleted.
 10975  func (r *ProjectsLocationsOperationsService) Delete(name string) *ProjectsLocationsOperationsDeleteCall {
 10976  	c := &ProjectsLocationsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10977  	c.name = name
 10978  	return c
 10979  }
 10980  
 10981  // Fields allows partial responses to be retrieved. See
 10982  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10983  // details.
 10984  func (c *ProjectsLocationsOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsDeleteCall {
 10985  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10986  	return c
 10987  }
 10988  
 10989  // Context sets the context to be used in this call's Do method.
 10990  func (c *ProjectsLocationsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsOperationsDeleteCall {
 10991  	c.ctx_ = ctx
 10992  	return c
 10993  }
 10994  
 10995  // Header returns a http.Header that can be modified by the caller to add
 10996  // headers to the request.
 10997  func (c *ProjectsLocationsOperationsDeleteCall) Header() http.Header {
 10998  	if c.header_ == nil {
 10999  		c.header_ = make(http.Header)
 11000  	}
 11001  	return c.header_
 11002  }
 11003  
 11004  func (c *ProjectsLocationsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 11005  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 11006  	var body io.Reader = nil
 11007  	c.urlParams_.Set("alt", alt)
 11008  	c.urlParams_.Set("prettyPrint", "false")
 11009  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
 11010  	urls += "?" + c.urlParams_.Encode()
 11011  	req, err := http.NewRequest("DELETE", urls, body)
 11012  	if err != nil {
 11013  		return nil, err
 11014  	}
 11015  	req.Header = reqHeaders
 11016  	googleapi.Expand(req.URL, map[string]string{
 11017  		"name": c.name,
 11018  	})
 11019  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11020  }
 11021  
 11022  // Do executes the "datamigration.projects.locations.operations.delete" call.
 11023  // Any non-2xx status code is an error. Response headers are in either
 11024  // *Empty.ServerResponse.Header or (if a response was returned at all) in
 11025  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 11026  // whether the returned error was because http.StatusNotModified was returned.
 11027  func (c *ProjectsLocationsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
 11028  	gensupport.SetOptions(c.urlParams_, opts...)
 11029  	res, err := c.doRequest("json")
 11030  	if res != nil && res.StatusCode == http.StatusNotModified {
 11031  		if res.Body != nil {
 11032  			res.Body.Close()
 11033  		}
 11034  		return nil, gensupport.WrapError(&googleapi.Error{
 11035  			Code:   res.StatusCode,
 11036  			Header: res.Header,
 11037  		})
 11038  	}
 11039  	if err != nil {
 11040  		return nil, err
 11041  	}
 11042  	defer googleapi.CloseBody(res)
 11043  	if err := googleapi.CheckResponse(res); err != nil {
 11044  		return nil, gensupport.WrapError(err)
 11045  	}
 11046  	ret := &Empty{
 11047  		ServerResponse: googleapi.ServerResponse{
 11048  			Header:         res.Header,
 11049  			HTTPStatusCode: res.StatusCode,
 11050  		},
 11051  	}
 11052  	target := &ret
 11053  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11054  		return nil, err
 11055  	}
 11056  	return ret, nil
 11057  }
 11058  
 11059  type ProjectsLocationsOperationsGetCall struct {
 11060  	s            *Service
 11061  	name         string
 11062  	urlParams_   gensupport.URLParams
 11063  	ifNoneMatch_ string
 11064  	ctx_         context.Context
 11065  	header_      http.Header
 11066  }
 11067  
 11068  // Get: Gets the latest state of a long-running operation. Clients can use this
 11069  // method to poll the operation result at intervals as recommended by the API
 11070  // service.
 11071  //
 11072  // - name: The name of the operation resource.
 11073  func (r *ProjectsLocationsOperationsService) Get(name string) *ProjectsLocationsOperationsGetCall {
 11074  	c := &ProjectsLocationsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11075  	c.name = name
 11076  	return c
 11077  }
 11078  
 11079  // Fields allows partial responses to be retrieved. See
 11080  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11081  // details.
 11082  func (c *ProjectsLocationsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsGetCall {
 11083  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11084  	return c
 11085  }
 11086  
 11087  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 11088  // object's ETag matches the given value. This is useful for getting updates
 11089  // only after the object has changed since the last request.
 11090  func (c *ProjectsLocationsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsOperationsGetCall {
 11091  	c.ifNoneMatch_ = entityTag
 11092  	return c
 11093  }
 11094  
 11095  // Context sets the context to be used in this call's Do method.
 11096  func (c *ProjectsLocationsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsOperationsGetCall {
 11097  	c.ctx_ = ctx
 11098  	return c
 11099  }
 11100  
 11101  // Header returns a http.Header that can be modified by the caller to add
 11102  // headers to the request.
 11103  func (c *ProjectsLocationsOperationsGetCall) Header() http.Header {
 11104  	if c.header_ == nil {
 11105  		c.header_ = make(http.Header)
 11106  	}
 11107  	return c.header_
 11108  }
 11109  
 11110  func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 11111  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 11112  	if c.ifNoneMatch_ != "" {
 11113  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 11114  	}
 11115  	var body io.Reader = nil
 11116  	c.urlParams_.Set("alt", alt)
 11117  	c.urlParams_.Set("prettyPrint", "false")
 11118  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
 11119  	urls += "?" + c.urlParams_.Encode()
 11120  	req, err := http.NewRequest("GET", urls, body)
 11121  	if err != nil {
 11122  		return nil, err
 11123  	}
 11124  	req.Header = reqHeaders
 11125  	googleapi.Expand(req.URL, map[string]string{
 11126  		"name": c.name,
 11127  	})
 11128  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11129  }
 11130  
 11131  // Do executes the "datamigration.projects.locations.operations.get" call.
 11132  // Any non-2xx status code is an error. Response headers are in either
 11133  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 11134  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 11135  // whether the returned error was because http.StatusNotModified was returned.
 11136  func (c *ProjectsLocationsOperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 11137  	gensupport.SetOptions(c.urlParams_, opts...)
 11138  	res, err := c.doRequest("json")
 11139  	if res != nil && res.StatusCode == http.StatusNotModified {
 11140  		if res.Body != nil {
 11141  			res.Body.Close()
 11142  		}
 11143  		return nil, gensupport.WrapError(&googleapi.Error{
 11144  			Code:   res.StatusCode,
 11145  			Header: res.Header,
 11146  		})
 11147  	}
 11148  	if err != nil {
 11149  		return nil, err
 11150  	}
 11151  	defer googleapi.CloseBody(res)
 11152  	if err := googleapi.CheckResponse(res); err != nil {
 11153  		return nil, gensupport.WrapError(err)
 11154  	}
 11155  	ret := &Operation{
 11156  		ServerResponse: googleapi.ServerResponse{
 11157  			Header:         res.Header,
 11158  			HTTPStatusCode: res.StatusCode,
 11159  		},
 11160  	}
 11161  	target := &ret
 11162  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11163  		return nil, err
 11164  	}
 11165  	return ret, nil
 11166  }
 11167  
 11168  type ProjectsLocationsOperationsListCall struct {
 11169  	s            *Service
 11170  	name         string
 11171  	urlParams_   gensupport.URLParams
 11172  	ifNoneMatch_ string
 11173  	ctx_         context.Context
 11174  	header_      http.Header
 11175  }
 11176  
 11177  // List: Lists operations that match the specified filter in the request. If
 11178  // the server doesn't support this method, it returns `UNIMPLEMENTED`.
 11179  //
 11180  // - name: The name of the operation's parent resource.
 11181  func (r *ProjectsLocationsOperationsService) List(name string) *ProjectsLocationsOperationsListCall {
 11182  	c := &ProjectsLocationsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11183  	c.name = name
 11184  	return c
 11185  }
 11186  
 11187  // Filter sets the optional parameter "filter": The standard list filter.
 11188  func (c *ProjectsLocationsOperationsListCall) Filter(filter string) *ProjectsLocationsOperationsListCall {
 11189  	c.urlParams_.Set("filter", filter)
 11190  	return c
 11191  }
 11192  
 11193  // PageSize sets the optional parameter "pageSize": The standard list page
 11194  // size.
 11195  func (c *ProjectsLocationsOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsOperationsListCall {
 11196  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 11197  	return c
 11198  }
 11199  
 11200  // PageToken sets the optional parameter "pageToken": The standard list page
 11201  // token.
 11202  func (c *ProjectsLocationsOperationsListCall) PageToken(pageToken string) *ProjectsLocationsOperationsListCall {
 11203  	c.urlParams_.Set("pageToken", pageToken)
 11204  	return c
 11205  }
 11206  
 11207  // Fields allows partial responses to be retrieved. See
 11208  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11209  // details.
 11210  func (c *ProjectsLocationsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsListCall {
 11211  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11212  	return c
 11213  }
 11214  
 11215  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 11216  // object's ETag matches the given value. This is useful for getting updates
 11217  // only after the object has changed since the last request.
 11218  func (c *ProjectsLocationsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsOperationsListCall {
 11219  	c.ifNoneMatch_ = entityTag
 11220  	return c
 11221  }
 11222  
 11223  // Context sets the context to be used in this call's Do method.
 11224  func (c *ProjectsLocationsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsOperationsListCall {
 11225  	c.ctx_ = ctx
 11226  	return c
 11227  }
 11228  
 11229  // Header returns a http.Header that can be modified by the caller to add
 11230  // headers to the request.
 11231  func (c *ProjectsLocationsOperationsListCall) Header() http.Header {
 11232  	if c.header_ == nil {
 11233  		c.header_ = make(http.Header)
 11234  	}
 11235  	return c.header_
 11236  }
 11237  
 11238  func (c *ProjectsLocationsOperationsListCall) doRequest(alt string) (*http.Response, error) {
 11239  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 11240  	if c.ifNoneMatch_ != "" {
 11241  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 11242  	}
 11243  	var body io.Reader = nil
 11244  	c.urlParams_.Set("alt", alt)
 11245  	c.urlParams_.Set("prettyPrint", "false")
 11246  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
 11247  	urls += "?" + c.urlParams_.Encode()
 11248  	req, err := http.NewRequest("GET", urls, body)
 11249  	if err != nil {
 11250  		return nil, err
 11251  	}
 11252  	req.Header = reqHeaders
 11253  	googleapi.Expand(req.URL, map[string]string{
 11254  		"name": c.name,
 11255  	})
 11256  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11257  }
 11258  
 11259  // Do executes the "datamigration.projects.locations.operations.list" call.
 11260  // Any non-2xx status code is an error. Response headers are in either
 11261  // *ListOperationsResponse.ServerResponse.Header or (if a response was returned
 11262  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 11263  // check whether the returned error was because http.StatusNotModified was
 11264  // returned.
 11265  func (c *ProjectsLocationsOperationsListCall) Do(opts ...googleapi.CallOption) (*ListOperationsResponse, error) {
 11266  	gensupport.SetOptions(c.urlParams_, opts...)
 11267  	res, err := c.doRequest("json")
 11268  	if res != nil && res.StatusCode == http.StatusNotModified {
 11269  		if res.Body != nil {
 11270  			res.Body.Close()
 11271  		}
 11272  		return nil, gensupport.WrapError(&googleapi.Error{
 11273  			Code:   res.StatusCode,
 11274  			Header: res.Header,
 11275  		})
 11276  	}
 11277  	if err != nil {
 11278  		return nil, err
 11279  	}
 11280  	defer googleapi.CloseBody(res)
 11281  	if err := googleapi.CheckResponse(res); err != nil {
 11282  		return nil, gensupport.WrapError(err)
 11283  	}
 11284  	ret := &ListOperationsResponse{
 11285  		ServerResponse: googleapi.ServerResponse{
 11286  			Header:         res.Header,
 11287  			HTTPStatusCode: res.StatusCode,
 11288  		},
 11289  	}
 11290  	target := &ret
 11291  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11292  		return nil, err
 11293  	}
 11294  	return ret, nil
 11295  }
 11296  
 11297  // Pages invokes f for each page of results.
 11298  // A non-nil error returned from f will halt the iteration.
 11299  // The provided context supersedes any context provided to the Context method.
 11300  func (c *ProjectsLocationsOperationsListCall) Pages(ctx context.Context, f func(*ListOperationsResponse) error) error {
 11301  	c.ctx_ = ctx
 11302  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 11303  	for {
 11304  		x, err := c.Do()
 11305  		if err != nil {
 11306  			return err
 11307  		}
 11308  		if err := f(x); err != nil {
 11309  			return err
 11310  		}
 11311  		if x.NextPageToken == "" {
 11312  			return nil
 11313  		}
 11314  		c.PageToken(x.NextPageToken)
 11315  	}
 11316  }
 11317  
 11318  type ProjectsLocationsPrivateConnectionsCreateCall struct {
 11319  	s                 *Service
 11320  	parent            string
 11321  	privateconnection *PrivateConnection
 11322  	urlParams_        gensupport.URLParams
 11323  	ctx_              context.Context
 11324  	header_           http.Header
 11325  }
 11326  
 11327  // Create: Creates a new private connection in a given project and location.
 11328  //
 11329  // - parent: The parent that owns the collection of PrivateConnections.
 11330  func (r *ProjectsLocationsPrivateConnectionsService) Create(parent string, privateconnection *PrivateConnection) *ProjectsLocationsPrivateConnectionsCreateCall {
 11331  	c := &ProjectsLocationsPrivateConnectionsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11332  	c.parent = parent
 11333  	c.privateconnection = privateconnection
 11334  	return c
 11335  }
 11336  
 11337  // PrivateConnectionId sets the optional parameter "privateConnectionId":
 11338  // Required. The private connection identifier.
 11339  func (c *ProjectsLocationsPrivateConnectionsCreateCall) PrivateConnectionId(privateConnectionId string) *ProjectsLocationsPrivateConnectionsCreateCall {
 11340  	c.urlParams_.Set("privateConnectionId", privateConnectionId)
 11341  	return c
 11342  }
 11343  
 11344  // RequestId sets the optional parameter "requestId": A unique ID used to
 11345  // identify the request. If the server receives two requests with the same ID,
 11346  // then the second request is ignored. It is recommended to always set this
 11347  // value to a UUID. The ID must contain only letters (a-z, A-Z), numbers (0-9),
 11348  // underscores (_), and hyphens (-). The maximum length is 40 characters.
 11349  func (c *ProjectsLocationsPrivateConnectionsCreateCall) RequestId(requestId string) *ProjectsLocationsPrivateConnectionsCreateCall {
 11350  	c.urlParams_.Set("requestId", requestId)
 11351  	return c
 11352  }
 11353  
 11354  // SkipValidation sets the optional parameter "skipValidation": If set to true,
 11355  // will skip validations.
 11356  func (c *ProjectsLocationsPrivateConnectionsCreateCall) SkipValidation(skipValidation bool) *ProjectsLocationsPrivateConnectionsCreateCall {
 11357  	c.urlParams_.Set("skipValidation", fmt.Sprint(skipValidation))
 11358  	return c
 11359  }
 11360  
 11361  // Fields allows partial responses to be retrieved. See
 11362  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11363  // details.
 11364  func (c *ProjectsLocationsPrivateConnectionsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsPrivateConnectionsCreateCall {
 11365  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11366  	return c
 11367  }
 11368  
 11369  // Context sets the context to be used in this call's Do method.
 11370  func (c *ProjectsLocationsPrivateConnectionsCreateCall) Context(ctx context.Context) *ProjectsLocationsPrivateConnectionsCreateCall {
 11371  	c.ctx_ = ctx
 11372  	return c
 11373  }
 11374  
 11375  // Header returns a http.Header that can be modified by the caller to add
 11376  // headers to the request.
 11377  func (c *ProjectsLocationsPrivateConnectionsCreateCall) Header() http.Header {
 11378  	if c.header_ == nil {
 11379  		c.header_ = make(http.Header)
 11380  	}
 11381  	return c.header_
 11382  }
 11383  
 11384  func (c *ProjectsLocationsPrivateConnectionsCreateCall) doRequest(alt string) (*http.Response, error) {
 11385  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 11386  	var body io.Reader = nil
 11387  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.privateconnection)
 11388  	if err != nil {
 11389  		return nil, err
 11390  	}
 11391  	c.urlParams_.Set("alt", alt)
 11392  	c.urlParams_.Set("prettyPrint", "false")
 11393  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/privateConnections")
 11394  	urls += "?" + c.urlParams_.Encode()
 11395  	req, err := http.NewRequest("POST", urls, body)
 11396  	if err != nil {
 11397  		return nil, err
 11398  	}
 11399  	req.Header = reqHeaders
 11400  	googleapi.Expand(req.URL, map[string]string{
 11401  		"parent": c.parent,
 11402  	})
 11403  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11404  }
 11405  
 11406  // Do executes the "datamigration.projects.locations.privateConnections.create" call.
 11407  // Any non-2xx status code is an error. Response headers are in either
 11408  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 11409  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 11410  // whether the returned error was because http.StatusNotModified was returned.
 11411  func (c *ProjectsLocationsPrivateConnectionsCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 11412  	gensupport.SetOptions(c.urlParams_, opts...)
 11413  	res, err := c.doRequest("json")
 11414  	if res != nil && res.StatusCode == http.StatusNotModified {
 11415  		if res.Body != nil {
 11416  			res.Body.Close()
 11417  		}
 11418  		return nil, gensupport.WrapError(&googleapi.Error{
 11419  			Code:   res.StatusCode,
 11420  			Header: res.Header,
 11421  		})
 11422  	}
 11423  	if err != nil {
 11424  		return nil, err
 11425  	}
 11426  	defer googleapi.CloseBody(res)
 11427  	if err := googleapi.CheckResponse(res); err != nil {
 11428  		return nil, gensupport.WrapError(err)
 11429  	}
 11430  	ret := &Operation{
 11431  		ServerResponse: googleapi.ServerResponse{
 11432  			Header:         res.Header,
 11433  			HTTPStatusCode: res.StatusCode,
 11434  		},
 11435  	}
 11436  	target := &ret
 11437  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11438  		return nil, err
 11439  	}
 11440  	return ret, nil
 11441  }
 11442  
 11443  type ProjectsLocationsPrivateConnectionsDeleteCall struct {
 11444  	s          *Service
 11445  	name       string
 11446  	urlParams_ gensupport.URLParams
 11447  	ctx_       context.Context
 11448  	header_    http.Header
 11449  }
 11450  
 11451  // Delete: Deletes a single Database Migration Service private connection.
 11452  //
 11453  // - name: The name of the private connection to delete.
 11454  func (r *ProjectsLocationsPrivateConnectionsService) Delete(name string) *ProjectsLocationsPrivateConnectionsDeleteCall {
 11455  	c := &ProjectsLocationsPrivateConnectionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11456  	c.name = name
 11457  	return c
 11458  }
 11459  
 11460  // RequestId sets the optional parameter "requestId": A unique ID used to
 11461  // identify the request. If the server receives two requests with the same ID,
 11462  // then the second request is ignored. It is recommended to always set this
 11463  // value to a UUID. The ID must contain only letters (a-z, A-Z), numbers (0-9),
 11464  // underscores (_), and hyphens (-). The maximum length is 40 characters.
 11465  func (c *ProjectsLocationsPrivateConnectionsDeleteCall) RequestId(requestId string) *ProjectsLocationsPrivateConnectionsDeleteCall {
 11466  	c.urlParams_.Set("requestId", requestId)
 11467  	return c
 11468  }
 11469  
 11470  // Fields allows partial responses to be retrieved. See
 11471  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11472  // details.
 11473  func (c *ProjectsLocationsPrivateConnectionsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsPrivateConnectionsDeleteCall {
 11474  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11475  	return c
 11476  }
 11477  
 11478  // Context sets the context to be used in this call's Do method.
 11479  func (c *ProjectsLocationsPrivateConnectionsDeleteCall) Context(ctx context.Context) *ProjectsLocationsPrivateConnectionsDeleteCall {
 11480  	c.ctx_ = ctx
 11481  	return c
 11482  }
 11483  
 11484  // Header returns a http.Header that can be modified by the caller to add
 11485  // headers to the request.
 11486  func (c *ProjectsLocationsPrivateConnectionsDeleteCall) Header() http.Header {
 11487  	if c.header_ == nil {
 11488  		c.header_ = make(http.Header)
 11489  	}
 11490  	return c.header_
 11491  }
 11492  
 11493  func (c *ProjectsLocationsPrivateConnectionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 11494  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 11495  	var body io.Reader = nil
 11496  	c.urlParams_.Set("alt", alt)
 11497  	c.urlParams_.Set("prettyPrint", "false")
 11498  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
 11499  	urls += "?" + c.urlParams_.Encode()
 11500  	req, err := http.NewRequest("DELETE", urls, body)
 11501  	if err != nil {
 11502  		return nil, err
 11503  	}
 11504  	req.Header = reqHeaders
 11505  	googleapi.Expand(req.URL, map[string]string{
 11506  		"name": c.name,
 11507  	})
 11508  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11509  }
 11510  
 11511  // Do executes the "datamigration.projects.locations.privateConnections.delete" call.
 11512  // Any non-2xx status code is an error. Response headers are in either
 11513  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 11514  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 11515  // whether the returned error was because http.StatusNotModified was returned.
 11516  func (c *ProjectsLocationsPrivateConnectionsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 11517  	gensupport.SetOptions(c.urlParams_, opts...)
 11518  	res, err := c.doRequest("json")
 11519  	if res != nil && res.StatusCode == http.StatusNotModified {
 11520  		if res.Body != nil {
 11521  			res.Body.Close()
 11522  		}
 11523  		return nil, gensupport.WrapError(&googleapi.Error{
 11524  			Code:   res.StatusCode,
 11525  			Header: res.Header,
 11526  		})
 11527  	}
 11528  	if err != nil {
 11529  		return nil, err
 11530  	}
 11531  	defer googleapi.CloseBody(res)
 11532  	if err := googleapi.CheckResponse(res); err != nil {
 11533  		return nil, gensupport.WrapError(err)
 11534  	}
 11535  	ret := &Operation{
 11536  		ServerResponse: googleapi.ServerResponse{
 11537  			Header:         res.Header,
 11538  			HTTPStatusCode: res.StatusCode,
 11539  		},
 11540  	}
 11541  	target := &ret
 11542  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11543  		return nil, err
 11544  	}
 11545  	return ret, nil
 11546  }
 11547  
 11548  type ProjectsLocationsPrivateConnectionsGetCall struct {
 11549  	s            *Service
 11550  	name         string
 11551  	urlParams_   gensupport.URLParams
 11552  	ifNoneMatch_ string
 11553  	ctx_         context.Context
 11554  	header_      http.Header
 11555  }
 11556  
 11557  // Get: Gets details of a single private connection.
 11558  //
 11559  // - name: The name of the private connection to get.
 11560  func (r *ProjectsLocationsPrivateConnectionsService) Get(name string) *ProjectsLocationsPrivateConnectionsGetCall {
 11561  	c := &ProjectsLocationsPrivateConnectionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11562  	c.name = name
 11563  	return c
 11564  }
 11565  
 11566  // Fields allows partial responses to be retrieved. See
 11567  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11568  // details.
 11569  func (c *ProjectsLocationsPrivateConnectionsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsPrivateConnectionsGetCall {
 11570  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11571  	return c
 11572  }
 11573  
 11574  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 11575  // object's ETag matches the given value. This is useful for getting updates
 11576  // only after the object has changed since the last request.
 11577  func (c *ProjectsLocationsPrivateConnectionsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsPrivateConnectionsGetCall {
 11578  	c.ifNoneMatch_ = entityTag
 11579  	return c
 11580  }
 11581  
 11582  // Context sets the context to be used in this call's Do method.
 11583  func (c *ProjectsLocationsPrivateConnectionsGetCall) Context(ctx context.Context) *ProjectsLocationsPrivateConnectionsGetCall {
 11584  	c.ctx_ = ctx
 11585  	return c
 11586  }
 11587  
 11588  // Header returns a http.Header that can be modified by the caller to add
 11589  // headers to the request.
 11590  func (c *ProjectsLocationsPrivateConnectionsGetCall) Header() http.Header {
 11591  	if c.header_ == nil {
 11592  		c.header_ = make(http.Header)
 11593  	}
 11594  	return c.header_
 11595  }
 11596  
 11597  func (c *ProjectsLocationsPrivateConnectionsGetCall) doRequest(alt string) (*http.Response, error) {
 11598  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 11599  	if c.ifNoneMatch_ != "" {
 11600  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 11601  	}
 11602  	var body io.Reader = nil
 11603  	c.urlParams_.Set("alt", alt)
 11604  	c.urlParams_.Set("prettyPrint", "false")
 11605  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
 11606  	urls += "?" + c.urlParams_.Encode()
 11607  	req, err := http.NewRequest("GET", urls, body)
 11608  	if err != nil {
 11609  		return nil, err
 11610  	}
 11611  	req.Header = reqHeaders
 11612  	googleapi.Expand(req.URL, map[string]string{
 11613  		"name": c.name,
 11614  	})
 11615  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11616  }
 11617  
 11618  // Do executes the "datamigration.projects.locations.privateConnections.get" call.
 11619  // Any non-2xx status code is an error. Response headers are in either
 11620  // *PrivateConnection.ServerResponse.Header or (if a response was returned at
 11621  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 11622  // check whether the returned error was because http.StatusNotModified was
 11623  // returned.
 11624  func (c *ProjectsLocationsPrivateConnectionsGetCall) Do(opts ...googleapi.CallOption) (*PrivateConnection, error) {
 11625  	gensupport.SetOptions(c.urlParams_, opts...)
 11626  	res, err := c.doRequest("json")
 11627  	if res != nil && res.StatusCode == http.StatusNotModified {
 11628  		if res.Body != nil {
 11629  			res.Body.Close()
 11630  		}
 11631  		return nil, gensupport.WrapError(&googleapi.Error{
 11632  			Code:   res.StatusCode,
 11633  			Header: res.Header,
 11634  		})
 11635  	}
 11636  	if err != nil {
 11637  		return nil, err
 11638  	}
 11639  	defer googleapi.CloseBody(res)
 11640  	if err := googleapi.CheckResponse(res); err != nil {
 11641  		return nil, gensupport.WrapError(err)
 11642  	}
 11643  	ret := &PrivateConnection{
 11644  		ServerResponse: googleapi.ServerResponse{
 11645  			Header:         res.Header,
 11646  			HTTPStatusCode: res.StatusCode,
 11647  		},
 11648  	}
 11649  	target := &ret
 11650  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11651  		return nil, err
 11652  	}
 11653  	return ret, nil
 11654  }
 11655  
 11656  type ProjectsLocationsPrivateConnectionsGetIamPolicyCall struct {
 11657  	s            *Service
 11658  	resource     string
 11659  	urlParams_   gensupport.URLParams
 11660  	ifNoneMatch_ string
 11661  	ctx_         context.Context
 11662  	header_      http.Header
 11663  }
 11664  
 11665  // GetIamPolicy: Gets the access control policy for a resource. Returns an
 11666  // empty policy if the resource exists and does not have a policy set.
 11667  //
 11668  //   - resource: REQUIRED: The resource for which the policy is being requested.
 11669  //     See Resource names (https://cloud.google.com/apis/design/resource_names)
 11670  //     for the appropriate value for this field.
 11671  func (r *ProjectsLocationsPrivateConnectionsService) GetIamPolicy(resource string) *ProjectsLocationsPrivateConnectionsGetIamPolicyCall {
 11672  	c := &ProjectsLocationsPrivateConnectionsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11673  	c.resource = resource
 11674  	return c
 11675  }
 11676  
 11677  // OptionsRequestedPolicyVersion sets the optional parameter
 11678  // "options.requestedPolicyVersion": The maximum policy version that will be
 11679  // used to format the policy. Valid values are 0, 1, and 3. Requests specifying
 11680  // an invalid value will be rejected. Requests for policies with any
 11681  // conditional role bindings must specify version 3. Policies with no
 11682  // conditional role bindings may specify any valid value or leave the field
 11683  // unset. The policy in the response might use the policy version that you
 11684  // specified, or it might use a lower policy version. For example, if you
 11685  // specify version 3, but the policy has no conditional role bindings, the
 11686  // response uses version 1. To learn which resources support conditions in
 11687  // their IAM policies, see the IAM documentation
 11688  // (https://cloud.google.com/iam/help/conditions/resource-policies).
 11689  func (c *ProjectsLocationsPrivateConnectionsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsPrivateConnectionsGetIamPolicyCall {
 11690  	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
 11691  	return c
 11692  }
 11693  
 11694  // Fields allows partial responses to be retrieved. See
 11695  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11696  // details.
 11697  func (c *ProjectsLocationsPrivateConnectionsGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsPrivateConnectionsGetIamPolicyCall {
 11698  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11699  	return c
 11700  }
 11701  
 11702  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 11703  // object's ETag matches the given value. This is useful for getting updates
 11704  // only after the object has changed since the last request.
 11705  func (c *ProjectsLocationsPrivateConnectionsGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsLocationsPrivateConnectionsGetIamPolicyCall {
 11706  	c.ifNoneMatch_ = entityTag
 11707  	return c
 11708  }
 11709  
 11710  // Context sets the context to be used in this call's Do method.
 11711  func (c *ProjectsLocationsPrivateConnectionsGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsPrivateConnectionsGetIamPolicyCall {
 11712  	c.ctx_ = ctx
 11713  	return c
 11714  }
 11715  
 11716  // Header returns a http.Header that can be modified by the caller to add
 11717  // headers to the request.
 11718  func (c *ProjectsLocationsPrivateConnectionsGetIamPolicyCall) Header() http.Header {
 11719  	if c.header_ == nil {
 11720  		c.header_ = make(http.Header)
 11721  	}
 11722  	return c.header_
 11723  }
 11724  
 11725  func (c *ProjectsLocationsPrivateConnectionsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 11726  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 11727  	if c.ifNoneMatch_ != "" {
 11728  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 11729  	}
 11730  	var body io.Reader = nil
 11731  	c.urlParams_.Set("alt", alt)
 11732  	c.urlParams_.Set("prettyPrint", "false")
 11733  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:getIamPolicy")
 11734  	urls += "?" + c.urlParams_.Encode()
 11735  	req, err := http.NewRequest("GET", urls, body)
 11736  	if err != nil {
 11737  		return nil, err
 11738  	}
 11739  	req.Header = reqHeaders
 11740  	googleapi.Expand(req.URL, map[string]string{
 11741  		"resource": c.resource,
 11742  	})
 11743  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11744  }
 11745  
 11746  // Do executes the "datamigration.projects.locations.privateConnections.getIamPolicy" call.
 11747  // Any non-2xx status code is an error. Response headers are in either
 11748  // *Policy.ServerResponse.Header or (if a response was returned at all) in
 11749  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 11750  // whether the returned error was because http.StatusNotModified was returned.
 11751  func (c *ProjectsLocationsPrivateConnectionsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
 11752  	gensupport.SetOptions(c.urlParams_, opts...)
 11753  	res, err := c.doRequest("json")
 11754  	if res != nil && res.StatusCode == http.StatusNotModified {
 11755  		if res.Body != nil {
 11756  			res.Body.Close()
 11757  		}
 11758  		return nil, gensupport.WrapError(&googleapi.Error{
 11759  			Code:   res.StatusCode,
 11760  			Header: res.Header,
 11761  		})
 11762  	}
 11763  	if err != nil {
 11764  		return nil, err
 11765  	}
 11766  	defer googleapi.CloseBody(res)
 11767  	if err := googleapi.CheckResponse(res); err != nil {
 11768  		return nil, gensupport.WrapError(err)
 11769  	}
 11770  	ret := &Policy{
 11771  		ServerResponse: googleapi.ServerResponse{
 11772  			Header:         res.Header,
 11773  			HTTPStatusCode: res.StatusCode,
 11774  		},
 11775  	}
 11776  	target := &ret
 11777  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11778  		return nil, err
 11779  	}
 11780  	return ret, nil
 11781  }
 11782  
 11783  type ProjectsLocationsPrivateConnectionsListCall struct {
 11784  	s            *Service
 11785  	parent       string
 11786  	urlParams_   gensupport.URLParams
 11787  	ifNoneMatch_ string
 11788  	ctx_         context.Context
 11789  	header_      http.Header
 11790  }
 11791  
 11792  // List: Retrieves a list of private connections in a given project and
 11793  // location.
 11794  //
 11795  // - parent: The parent that owns the collection of private connections.
 11796  func (r *ProjectsLocationsPrivateConnectionsService) List(parent string) *ProjectsLocationsPrivateConnectionsListCall {
 11797  	c := &ProjectsLocationsPrivateConnectionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11798  	c.parent = parent
 11799  	return c
 11800  }
 11801  
 11802  // Filter sets the optional parameter "filter": A filter expression that
 11803  // filters private connections listed in the response. The expression must
 11804  // specify the field name, a comparison operator, and the value that you want
 11805  // to use for filtering. The value must be a string, a number, or a boolean.
 11806  // The comparison operator must be either =, !=, >, or <. For example, list
 11807  // private connections created this year by specifying **createTime %gt;
 11808  // 2021-01-01T00:00:00.000000000Z**.
 11809  func (c *ProjectsLocationsPrivateConnectionsListCall) Filter(filter string) *ProjectsLocationsPrivateConnectionsListCall {
 11810  	c.urlParams_.Set("filter", filter)
 11811  	return c
 11812  }
 11813  
 11814  // OrderBy sets the optional parameter "orderBy": Order by fields for the
 11815  // result.
 11816  func (c *ProjectsLocationsPrivateConnectionsListCall) OrderBy(orderBy string) *ProjectsLocationsPrivateConnectionsListCall {
 11817  	c.urlParams_.Set("orderBy", orderBy)
 11818  	return c
 11819  }
 11820  
 11821  // PageSize sets the optional parameter "pageSize": Maximum number of private
 11822  // connections to return. If unspecified, at most 50 private connections that
 11823  // are returned. The maximum value is 1000; values above 1000 are coerced to
 11824  // 1000.
 11825  func (c *ProjectsLocationsPrivateConnectionsListCall) PageSize(pageSize int64) *ProjectsLocationsPrivateConnectionsListCall {
 11826  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 11827  	return c
 11828  }
 11829  
 11830  // PageToken sets the optional parameter "pageToken": Page token received from
 11831  // a previous `ListPrivateConnections` call. Provide this to retrieve the
 11832  // subsequent page. When paginating, all other parameters provided to
 11833  // `ListPrivateConnections` must match the call that provided the page token.
 11834  func (c *ProjectsLocationsPrivateConnectionsListCall) PageToken(pageToken string) *ProjectsLocationsPrivateConnectionsListCall {
 11835  	c.urlParams_.Set("pageToken", pageToken)
 11836  	return c
 11837  }
 11838  
 11839  // Fields allows partial responses to be retrieved. See
 11840  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11841  // details.
 11842  func (c *ProjectsLocationsPrivateConnectionsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsPrivateConnectionsListCall {
 11843  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11844  	return c
 11845  }
 11846  
 11847  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 11848  // object's ETag matches the given value. This is useful for getting updates
 11849  // only after the object has changed since the last request.
 11850  func (c *ProjectsLocationsPrivateConnectionsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsPrivateConnectionsListCall {
 11851  	c.ifNoneMatch_ = entityTag
 11852  	return c
 11853  }
 11854  
 11855  // Context sets the context to be used in this call's Do method.
 11856  func (c *ProjectsLocationsPrivateConnectionsListCall) Context(ctx context.Context) *ProjectsLocationsPrivateConnectionsListCall {
 11857  	c.ctx_ = ctx
 11858  	return c
 11859  }
 11860  
 11861  // Header returns a http.Header that can be modified by the caller to add
 11862  // headers to the request.
 11863  func (c *ProjectsLocationsPrivateConnectionsListCall) Header() http.Header {
 11864  	if c.header_ == nil {
 11865  		c.header_ = make(http.Header)
 11866  	}
 11867  	return c.header_
 11868  }
 11869  
 11870  func (c *ProjectsLocationsPrivateConnectionsListCall) doRequest(alt string) (*http.Response, error) {
 11871  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 11872  	if c.ifNoneMatch_ != "" {
 11873  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 11874  	}
 11875  	var body io.Reader = nil
 11876  	c.urlParams_.Set("alt", alt)
 11877  	c.urlParams_.Set("prettyPrint", "false")
 11878  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/privateConnections")
 11879  	urls += "?" + c.urlParams_.Encode()
 11880  	req, err := http.NewRequest("GET", urls, body)
 11881  	if err != nil {
 11882  		return nil, err
 11883  	}
 11884  	req.Header = reqHeaders
 11885  	googleapi.Expand(req.URL, map[string]string{
 11886  		"parent": c.parent,
 11887  	})
 11888  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11889  }
 11890  
 11891  // Do executes the "datamigration.projects.locations.privateConnections.list" call.
 11892  // Any non-2xx status code is an error. Response headers are in either
 11893  // *ListPrivateConnectionsResponse.ServerResponse.Header or (if a response was
 11894  // returned at all) in error.(*googleapi.Error).Header. Use
 11895  // googleapi.IsNotModified to check whether the returned error was because
 11896  // http.StatusNotModified was returned.
 11897  func (c *ProjectsLocationsPrivateConnectionsListCall) Do(opts ...googleapi.CallOption) (*ListPrivateConnectionsResponse, error) {
 11898  	gensupport.SetOptions(c.urlParams_, opts...)
 11899  	res, err := c.doRequest("json")
 11900  	if res != nil && res.StatusCode == http.StatusNotModified {
 11901  		if res.Body != nil {
 11902  			res.Body.Close()
 11903  		}
 11904  		return nil, gensupport.WrapError(&googleapi.Error{
 11905  			Code:   res.StatusCode,
 11906  			Header: res.Header,
 11907  		})
 11908  	}
 11909  	if err != nil {
 11910  		return nil, err
 11911  	}
 11912  	defer googleapi.CloseBody(res)
 11913  	if err := googleapi.CheckResponse(res); err != nil {
 11914  		return nil, gensupport.WrapError(err)
 11915  	}
 11916  	ret := &ListPrivateConnectionsResponse{
 11917  		ServerResponse: googleapi.ServerResponse{
 11918  			Header:         res.Header,
 11919  			HTTPStatusCode: res.StatusCode,
 11920  		},
 11921  	}
 11922  	target := &ret
 11923  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11924  		return nil, err
 11925  	}
 11926  	return ret, nil
 11927  }
 11928  
 11929  // Pages invokes f for each page of results.
 11930  // A non-nil error returned from f will halt the iteration.
 11931  // The provided context supersedes any context provided to the Context method.
 11932  func (c *ProjectsLocationsPrivateConnectionsListCall) Pages(ctx context.Context, f func(*ListPrivateConnectionsResponse) error) error {
 11933  	c.ctx_ = ctx
 11934  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 11935  	for {
 11936  		x, err := c.Do()
 11937  		if err != nil {
 11938  			return err
 11939  		}
 11940  		if err := f(x); err != nil {
 11941  			return err
 11942  		}
 11943  		if x.NextPageToken == "" {
 11944  			return nil
 11945  		}
 11946  		c.PageToken(x.NextPageToken)
 11947  	}
 11948  }
 11949  
 11950  type ProjectsLocationsPrivateConnectionsSetIamPolicyCall struct {
 11951  	s                   *Service
 11952  	resource            string
 11953  	setiampolicyrequest *SetIamPolicyRequest
 11954  	urlParams_          gensupport.URLParams
 11955  	ctx_                context.Context
 11956  	header_             http.Header
 11957  }
 11958  
 11959  // SetIamPolicy: Sets the access control policy on the specified resource.
 11960  // Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`,
 11961  // and `PERMISSION_DENIED` errors.
 11962  //
 11963  //   - resource: REQUIRED: The resource for which the policy is being specified.
 11964  //     See Resource names (https://cloud.google.com/apis/design/resource_names)
 11965  //     for the appropriate value for this field.
 11966  func (r *ProjectsLocationsPrivateConnectionsService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsPrivateConnectionsSetIamPolicyCall {
 11967  	c := &ProjectsLocationsPrivateConnectionsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11968  	c.resource = resource
 11969  	c.setiampolicyrequest = setiampolicyrequest
 11970  	return c
 11971  }
 11972  
 11973  // Fields allows partial responses to be retrieved. See
 11974  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11975  // details.
 11976  func (c *ProjectsLocationsPrivateConnectionsSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsPrivateConnectionsSetIamPolicyCall {
 11977  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11978  	return c
 11979  }
 11980  
 11981  // Context sets the context to be used in this call's Do method.
 11982  func (c *ProjectsLocationsPrivateConnectionsSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsPrivateConnectionsSetIamPolicyCall {
 11983  	c.ctx_ = ctx
 11984  	return c
 11985  }
 11986  
 11987  // Header returns a http.Header that can be modified by the caller to add
 11988  // headers to the request.
 11989  func (c *ProjectsLocationsPrivateConnectionsSetIamPolicyCall) Header() http.Header {
 11990  	if c.header_ == nil {
 11991  		c.header_ = make(http.Header)
 11992  	}
 11993  	return c.header_
 11994  }
 11995  
 11996  func (c *ProjectsLocationsPrivateConnectionsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 11997  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 11998  	var body io.Reader = nil
 11999  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest)
 12000  	if err != nil {
 12001  		return nil, err
 12002  	}
 12003  	c.urlParams_.Set("alt", alt)
 12004  	c.urlParams_.Set("prettyPrint", "false")
 12005  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:setIamPolicy")
 12006  	urls += "?" + c.urlParams_.Encode()
 12007  	req, err := http.NewRequest("POST", urls, body)
 12008  	if err != nil {
 12009  		return nil, err
 12010  	}
 12011  	req.Header = reqHeaders
 12012  	googleapi.Expand(req.URL, map[string]string{
 12013  		"resource": c.resource,
 12014  	})
 12015  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 12016  }
 12017  
 12018  // Do executes the "datamigration.projects.locations.privateConnections.setIamPolicy" call.
 12019  // Any non-2xx status code is an error. Response headers are in either
 12020  // *Policy.ServerResponse.Header or (if a response was returned at all) in
 12021  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 12022  // whether the returned error was because http.StatusNotModified was returned.
 12023  func (c *ProjectsLocationsPrivateConnectionsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) {
 12024  	gensupport.SetOptions(c.urlParams_, opts...)
 12025  	res, err := c.doRequest("json")
 12026  	if res != nil && res.StatusCode == http.StatusNotModified {
 12027  		if res.Body != nil {
 12028  			res.Body.Close()
 12029  		}
 12030  		return nil, gensupport.WrapError(&googleapi.Error{
 12031  			Code:   res.StatusCode,
 12032  			Header: res.Header,
 12033  		})
 12034  	}
 12035  	if err != nil {
 12036  		return nil, err
 12037  	}
 12038  	defer googleapi.CloseBody(res)
 12039  	if err := googleapi.CheckResponse(res); err != nil {
 12040  		return nil, gensupport.WrapError(err)
 12041  	}
 12042  	ret := &Policy{
 12043  		ServerResponse: googleapi.ServerResponse{
 12044  			Header:         res.Header,
 12045  			HTTPStatusCode: res.StatusCode,
 12046  		},
 12047  	}
 12048  	target := &ret
 12049  	if err := gensupport.DecodeResponse(target, res); err != nil {
 12050  		return nil, err
 12051  	}
 12052  	return ret, nil
 12053  }
 12054  
 12055  type ProjectsLocationsPrivateConnectionsTestIamPermissionsCall struct {
 12056  	s                         *Service
 12057  	resource                  string
 12058  	testiampermissionsrequest *TestIamPermissionsRequest
 12059  	urlParams_                gensupport.URLParams
 12060  	ctx_                      context.Context
 12061  	header_                   http.Header
 12062  }
 12063  
 12064  // TestIamPermissions: Returns permissions that a caller has on the specified
 12065  // resource. If the resource does not exist, this will return an empty set of
 12066  // permissions, not a `NOT_FOUND` error. Note: This operation is designed to be
 12067  // used for building permission-aware UIs and command-line tools, not for
 12068  // authorization checking. This operation may "fail open" without warning.
 12069  //
 12070  //   - resource: REQUIRED: The resource for which the policy detail is being
 12071  //     requested. See Resource names
 12072  //     (https://cloud.google.com/apis/design/resource_names) for the appropriate
 12073  //     value for this field.
 12074  func (r *ProjectsLocationsPrivateConnectionsService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsPrivateConnectionsTestIamPermissionsCall {
 12075  	c := &ProjectsLocationsPrivateConnectionsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 12076  	c.resource = resource
 12077  	c.testiampermissionsrequest = testiampermissionsrequest
 12078  	return c
 12079  }
 12080  
 12081  // Fields allows partial responses to be retrieved. See
 12082  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 12083  // details.
 12084  func (c *ProjectsLocationsPrivateConnectionsTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsPrivateConnectionsTestIamPermissionsCall {
 12085  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 12086  	return c
 12087  }
 12088  
 12089  // Context sets the context to be used in this call's Do method.
 12090  func (c *ProjectsLocationsPrivateConnectionsTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsPrivateConnectionsTestIamPermissionsCall {
 12091  	c.ctx_ = ctx
 12092  	return c
 12093  }
 12094  
 12095  // Header returns a http.Header that can be modified by the caller to add
 12096  // headers to the request.
 12097  func (c *ProjectsLocationsPrivateConnectionsTestIamPermissionsCall) Header() http.Header {
 12098  	if c.header_ == nil {
 12099  		c.header_ = make(http.Header)
 12100  	}
 12101  	return c.header_
 12102  }
 12103  
 12104  func (c *ProjectsLocationsPrivateConnectionsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 12105  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 12106  	var body io.Reader = nil
 12107  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest)
 12108  	if err != nil {
 12109  		return nil, err
 12110  	}
 12111  	c.urlParams_.Set("alt", alt)
 12112  	c.urlParams_.Set("prettyPrint", "false")
 12113  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:testIamPermissions")
 12114  	urls += "?" + c.urlParams_.Encode()
 12115  	req, err := http.NewRequest("POST", urls, body)
 12116  	if err != nil {
 12117  		return nil, err
 12118  	}
 12119  	req.Header = reqHeaders
 12120  	googleapi.Expand(req.URL, map[string]string{
 12121  		"resource": c.resource,
 12122  	})
 12123  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 12124  }
 12125  
 12126  // Do executes the "datamigration.projects.locations.privateConnections.testIamPermissions" call.
 12127  // Any non-2xx status code is an error. Response headers are in either
 12128  // *TestIamPermissionsResponse.ServerResponse.Header or (if a response was
 12129  // returned at all) in error.(*googleapi.Error).Header. Use
 12130  // googleapi.IsNotModified to check whether the returned error was because
 12131  // http.StatusNotModified was returned.
 12132  func (c *ProjectsLocationsPrivateConnectionsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) {
 12133  	gensupport.SetOptions(c.urlParams_, opts...)
 12134  	res, err := c.doRequest("json")
 12135  	if res != nil && res.StatusCode == http.StatusNotModified {
 12136  		if res.Body != nil {
 12137  			res.Body.Close()
 12138  		}
 12139  		return nil, gensupport.WrapError(&googleapi.Error{
 12140  			Code:   res.StatusCode,
 12141  			Header: res.Header,
 12142  		})
 12143  	}
 12144  	if err != nil {
 12145  		return nil, err
 12146  	}
 12147  	defer googleapi.CloseBody(res)
 12148  	if err := googleapi.CheckResponse(res); err != nil {
 12149  		return nil, gensupport.WrapError(err)
 12150  	}
 12151  	ret := &TestIamPermissionsResponse{
 12152  		ServerResponse: googleapi.ServerResponse{
 12153  			Header:         res.Header,
 12154  			HTTPStatusCode: res.StatusCode,
 12155  		},
 12156  	}
 12157  	target := &ret
 12158  	if err := gensupport.DecodeResponse(target, res); err != nil {
 12159  		return nil, err
 12160  	}
 12161  	return ret, nil
 12162  }
 12163  

View as plain text