// Copyright 2026 Google LLC.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

// Code generated file. DO NOT EDIT.

// Package oracledatabase provides access to the Oracle Database@Google Cloud API.
//
// For product documentation, see: https://cloud.google.com/oracle/database/docs
//
// # Library status
//
// These client libraries are officially supported by Google. However, this
// library is considered complete and is in maintenance mode. This means
// that we will address critical bugs and security issues but will not add
// any new features.
//
// When possible, we recommend using our newer
// [Cloud Client Libraries for Go](https://pkg.go.dev/cloud.google.com/go)
// that are still actively being worked and iterated on.
//
// # Creating a client
//
// Usage example:
//
//	import "google.golang.org/api/oracledatabase/v1"
//	...
//	ctx := context.Background()
//	oracledatabaseService, err := oracledatabase.NewService(ctx)
//
// In this example, Google Application Default Credentials are used for
// authentication. For information on how to create and obtain Application
// Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials.
//
// # Other authentication options
//
// To use an API key for authentication (note: some APIs do not support API
// keys), use [google.golang.org/api/option.WithAPIKey]:
//
//	oracledatabaseService, err := oracledatabase.NewService(ctx, option.WithAPIKey("AIza..."))
//
// To use an OAuth token (e.g., a user token obtained via a three-legged OAuth
// flow, use [google.golang.org/api/option.WithTokenSource]:
//
//	config := &oauth2.Config{...}
//	// ...
//	token, err := config.Exchange(ctx, ...)
//	oracledatabaseService, err := oracledatabase.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
//
// See [google.golang.org/api/option.ClientOption] for details on options.
package oracledatabase // import "google.golang.org/api/oracledatabase/v1"

import (
	"bytes"
	"context"
	"encoding/json"
	"errors"
	"fmt"
	"io"
	"log/slog"
	"net/http"
	"net/url"
	"strconv"
	"strings"

	"github.com/googleapis/gax-go/v2/internallog"
	googleapi "google.golang.org/api/googleapi"
	internal "google.golang.org/api/internal"
	gensupport "google.golang.org/api/internal/gensupport"
	option "google.golang.org/api/option"
	internaloption "google.golang.org/api/option/internaloption"
	htransport "google.golang.org/api/transport/http"
)

// Always reference these packages, just in case the auto-generated code
// below doesn't.
var _ = bytes.NewBuffer
var _ = strconv.Itoa
var _ = fmt.Sprintf
var _ = json.NewDecoder
var _ = io.Copy
var _ = url.Parse
var _ = gensupport.MarshalJSON
var _ = googleapi.Version
var _ = errors.New
var _ = strings.Replace
var _ = context.Canceled
var _ = internaloption.WithDefaultEndpoint
var _ = internal.Version
var _ = internallog.New

const apiId = "oracledatabase:v1"
const apiName = "oracledatabase"
const apiVersion = "v1"
const basePath = "https://oracledatabase.googleapis.com/"
const basePathTemplate = "https://oracledatabase.UNIVERSE_DOMAIN/"
const mtlsBasePath = "https://oracledatabase.mtls.googleapis.com/"

// OAuth2 scopes used by this API.
const (
	// See, edit, configure, and delete your Google Cloud data and see the email
	// address for your Google Account.
	CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"
)

// NewService creates a new Service.
func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
	scopesOption := internaloption.WithDefaultScopes(
		"https://www.googleapis.com/auth/cloud-platform",
	)
	// NOTE: prepend, so we don't override user-specified scopes.
	opts = append([]option.ClientOption{scopesOption}, opts...)
	opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
	opts = append(opts, internaloption.WithDefaultEndpointTemplate(basePathTemplate))
	opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath))
	opts = append(opts, internaloption.EnableNewAuthLibrary())
	client, endpoint, err := htransport.NewClient(ctx, opts...)
	if err != nil {
		return nil, err
	}
	s := &Service{client: client, BasePath: basePath, logger: internaloption.GetLogger(opts)}
	s.Projects = NewProjectsService(s)
	if endpoint != "" {
		s.BasePath = endpoint
	}
	return s, nil
}

// New creates a new Service. It uses the provided http.Client for requests.
//
// Deprecated: please use NewService instead.
// To provide a custom HTTP client, use option.WithHTTPClient.
// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
func New(client *http.Client) (*Service, error) {
	if client == nil {
		return nil, errors.New("client is nil")
	}
	return NewService(context.TODO(), option.WithHTTPClient(client))
}

type Service struct {
	client    *http.Client
	logger    *slog.Logger
	BasePath  string // API endpoint base URL
	UserAgent string // optional additional User-Agent fragment

	Projects *ProjectsService
}

func (s *Service) userAgent() string {
	if s.UserAgent == "" {
		return googleapi.UserAgent
	}
	return googleapi.UserAgent + " " + s.UserAgent
}

func NewProjectsService(s *Service) *ProjectsService {
	rs := &ProjectsService{s: s}
	rs.Locations = NewProjectsLocationsService(s)
	return rs
}

type ProjectsService struct {
	s *Service

	Locations *ProjectsLocationsService
}

func NewProjectsLocationsService(s *Service) *ProjectsLocationsService {
	rs := &ProjectsLocationsService{s: s}
	rs.AutonomousDatabaseBackups = NewProjectsLocationsAutonomousDatabaseBackupsService(s)
	rs.AutonomousDatabaseCharacterSets = NewProjectsLocationsAutonomousDatabaseCharacterSetsService(s)
	rs.AutonomousDatabases = NewProjectsLocationsAutonomousDatabasesService(s)
	rs.AutonomousDbVersions = NewProjectsLocationsAutonomousDbVersionsService(s)
	rs.CloudExadataInfrastructures = NewProjectsLocationsCloudExadataInfrastructuresService(s)
	rs.CloudVmClusters = NewProjectsLocationsCloudVmClustersService(s)
	rs.DatabaseCharacterSets = NewProjectsLocationsDatabaseCharacterSetsService(s)
	rs.Databases = NewProjectsLocationsDatabasesService(s)
	rs.DbSystemInitialStorageSizes = NewProjectsLocationsDbSystemInitialStorageSizesService(s)
	rs.DbSystemShapes = NewProjectsLocationsDbSystemShapesService(s)
	rs.DbSystems = NewProjectsLocationsDbSystemsService(s)
	rs.DbVersions = NewProjectsLocationsDbVersionsService(s)
	rs.Entitlements = NewProjectsLocationsEntitlementsService(s)
	rs.ExadbVmClusters = NewProjectsLocationsExadbVmClustersService(s)
	rs.ExascaleDbStorageVaults = NewProjectsLocationsExascaleDbStorageVaultsService(s)
	rs.GiVersions = NewProjectsLocationsGiVersionsService(s)
	rs.GoldengateConnectionAssignments = NewProjectsLocationsGoldengateConnectionAssignmentsService(s)
	rs.GoldengateConnectionTypes = NewProjectsLocationsGoldengateConnectionTypesService(s)
	rs.GoldengateConnections = NewProjectsLocationsGoldengateConnectionsService(s)
	rs.GoldengateDeploymentEnvironments = NewProjectsLocationsGoldengateDeploymentEnvironmentsService(s)
	rs.GoldengateDeploymentTypes = NewProjectsLocationsGoldengateDeploymentTypesService(s)
	rs.GoldengateDeploymentVersions = NewProjectsLocationsGoldengateDeploymentVersionsService(s)
	rs.GoldengateDeployments = NewProjectsLocationsGoldengateDeploymentsService(s)
	rs.OdbNetworks = NewProjectsLocationsOdbNetworksService(s)
	rs.Operations = NewProjectsLocationsOperationsService(s)
	rs.PluggableDatabases = NewProjectsLocationsPluggableDatabasesService(s)
	return rs
}

type ProjectsLocationsService struct {
	s *Service

	AutonomousDatabaseBackups *ProjectsLocationsAutonomousDatabaseBackupsService

	AutonomousDatabaseCharacterSets *ProjectsLocationsAutonomousDatabaseCharacterSetsService

	AutonomousDatabases *ProjectsLocationsAutonomousDatabasesService

	AutonomousDbVersions *ProjectsLocationsAutonomousDbVersionsService

	CloudExadataInfrastructures *ProjectsLocationsCloudExadataInfrastructuresService

	CloudVmClusters *ProjectsLocationsCloudVmClustersService

	DatabaseCharacterSets *ProjectsLocationsDatabaseCharacterSetsService

	Databases *ProjectsLocationsDatabasesService

	DbSystemInitialStorageSizes *ProjectsLocationsDbSystemInitialStorageSizesService

	DbSystemShapes *ProjectsLocationsDbSystemShapesService

	DbSystems *ProjectsLocationsDbSystemsService

	DbVersions *ProjectsLocationsDbVersionsService

	Entitlements *ProjectsLocationsEntitlementsService

	ExadbVmClusters *ProjectsLocationsExadbVmClustersService

	ExascaleDbStorageVaults *ProjectsLocationsExascaleDbStorageVaultsService

	GiVersions *ProjectsLocationsGiVersionsService

	GoldengateConnectionAssignments *ProjectsLocationsGoldengateConnectionAssignmentsService

	GoldengateConnectionTypes *ProjectsLocationsGoldengateConnectionTypesService

	GoldengateConnections *ProjectsLocationsGoldengateConnectionsService

	GoldengateDeploymentEnvironments *ProjectsLocationsGoldengateDeploymentEnvironmentsService

	GoldengateDeploymentTypes *ProjectsLocationsGoldengateDeploymentTypesService

	GoldengateDeploymentVersions *ProjectsLocationsGoldengateDeploymentVersionsService

	GoldengateDeployments *ProjectsLocationsGoldengateDeploymentsService

	OdbNetworks *ProjectsLocationsOdbNetworksService

	Operations *ProjectsLocationsOperationsService

	PluggableDatabases *ProjectsLocationsPluggableDatabasesService
}

func NewProjectsLocationsAutonomousDatabaseBackupsService(s *Service) *ProjectsLocationsAutonomousDatabaseBackupsService {
	rs := &ProjectsLocationsAutonomousDatabaseBackupsService{s: s}
	return rs
}

type ProjectsLocationsAutonomousDatabaseBackupsService struct {
	s *Service
}

func NewProjectsLocationsAutonomousDatabaseCharacterSetsService(s *Service) *ProjectsLocationsAutonomousDatabaseCharacterSetsService {
	rs := &ProjectsLocationsAutonomousDatabaseCharacterSetsService{s: s}
	return rs
}

type ProjectsLocationsAutonomousDatabaseCharacterSetsService struct {
	s *Service
}

func NewProjectsLocationsAutonomousDatabasesService(s *Service) *ProjectsLocationsAutonomousDatabasesService {
	rs := &ProjectsLocationsAutonomousDatabasesService{s: s}
	return rs
}

type ProjectsLocationsAutonomousDatabasesService struct {
	s *Service
}

func NewProjectsLocationsAutonomousDbVersionsService(s *Service) *ProjectsLocationsAutonomousDbVersionsService {
	rs := &ProjectsLocationsAutonomousDbVersionsService{s: s}
	return rs
}

type ProjectsLocationsAutonomousDbVersionsService struct {
	s *Service
}

func NewProjectsLocationsCloudExadataInfrastructuresService(s *Service) *ProjectsLocationsCloudExadataInfrastructuresService {
	rs := &ProjectsLocationsCloudExadataInfrastructuresService{s: s}
	rs.DbServers = NewProjectsLocationsCloudExadataInfrastructuresDbServersService(s)
	return rs
}

type ProjectsLocationsCloudExadataInfrastructuresService struct {
	s *Service

	DbServers *ProjectsLocationsCloudExadataInfrastructuresDbServersService
}

func NewProjectsLocationsCloudExadataInfrastructuresDbServersService(s *Service) *ProjectsLocationsCloudExadataInfrastructuresDbServersService {
	rs := &ProjectsLocationsCloudExadataInfrastructuresDbServersService{s: s}
	return rs
}

type ProjectsLocationsCloudExadataInfrastructuresDbServersService struct {
	s *Service
}

func NewProjectsLocationsCloudVmClustersService(s *Service) *ProjectsLocationsCloudVmClustersService {
	rs := &ProjectsLocationsCloudVmClustersService{s: s}
	rs.DbNodes = NewProjectsLocationsCloudVmClustersDbNodesService(s)
	return rs
}

type ProjectsLocationsCloudVmClustersService struct {
	s *Service

	DbNodes *ProjectsLocationsCloudVmClustersDbNodesService
}

func NewProjectsLocationsCloudVmClustersDbNodesService(s *Service) *ProjectsLocationsCloudVmClustersDbNodesService {
	rs := &ProjectsLocationsCloudVmClustersDbNodesService{s: s}
	return rs
}

type ProjectsLocationsCloudVmClustersDbNodesService struct {
	s *Service
}

func NewProjectsLocationsDatabaseCharacterSetsService(s *Service) *ProjectsLocationsDatabaseCharacterSetsService {
	rs := &ProjectsLocationsDatabaseCharacterSetsService{s: s}
	return rs
}

type ProjectsLocationsDatabaseCharacterSetsService struct {
	s *Service
}

func NewProjectsLocationsDatabasesService(s *Service) *ProjectsLocationsDatabasesService {
	rs := &ProjectsLocationsDatabasesService{s: s}
	return rs
}

type ProjectsLocationsDatabasesService struct {
	s *Service
}

func NewProjectsLocationsDbSystemInitialStorageSizesService(s *Service) *ProjectsLocationsDbSystemInitialStorageSizesService {
	rs := &ProjectsLocationsDbSystemInitialStorageSizesService{s: s}
	return rs
}

type ProjectsLocationsDbSystemInitialStorageSizesService struct {
	s *Service
}

func NewProjectsLocationsDbSystemShapesService(s *Service) *ProjectsLocationsDbSystemShapesService {
	rs := &ProjectsLocationsDbSystemShapesService{s: s}
	return rs
}

type ProjectsLocationsDbSystemShapesService struct {
	s *Service
}

func NewProjectsLocationsDbSystemsService(s *Service) *ProjectsLocationsDbSystemsService {
	rs := &ProjectsLocationsDbSystemsService{s: s}
	return rs
}

type ProjectsLocationsDbSystemsService struct {
	s *Service
}

func NewProjectsLocationsDbVersionsService(s *Service) *ProjectsLocationsDbVersionsService {
	rs := &ProjectsLocationsDbVersionsService{s: s}
	return rs
}

type ProjectsLocationsDbVersionsService struct {
	s *Service
}

func NewProjectsLocationsEntitlementsService(s *Service) *ProjectsLocationsEntitlementsService {
	rs := &ProjectsLocationsEntitlementsService{s: s}
	return rs
}

type ProjectsLocationsEntitlementsService struct {
	s *Service
}

func NewProjectsLocationsExadbVmClustersService(s *Service) *ProjectsLocationsExadbVmClustersService {
	rs := &ProjectsLocationsExadbVmClustersService{s: s}
	rs.DbNodes = NewProjectsLocationsExadbVmClustersDbNodesService(s)
	return rs
}

type ProjectsLocationsExadbVmClustersService struct {
	s *Service

	DbNodes *ProjectsLocationsExadbVmClustersDbNodesService
}

func NewProjectsLocationsExadbVmClustersDbNodesService(s *Service) *ProjectsLocationsExadbVmClustersDbNodesService {
	rs := &ProjectsLocationsExadbVmClustersDbNodesService{s: s}
	return rs
}

type ProjectsLocationsExadbVmClustersDbNodesService struct {
	s *Service
}

func NewProjectsLocationsExascaleDbStorageVaultsService(s *Service) *ProjectsLocationsExascaleDbStorageVaultsService {
	rs := &ProjectsLocationsExascaleDbStorageVaultsService{s: s}
	return rs
}

type ProjectsLocationsExascaleDbStorageVaultsService struct {
	s *Service
}

func NewProjectsLocationsGiVersionsService(s *Service) *ProjectsLocationsGiVersionsService {
	rs := &ProjectsLocationsGiVersionsService{s: s}
	rs.MinorVersions = NewProjectsLocationsGiVersionsMinorVersionsService(s)
	return rs
}

type ProjectsLocationsGiVersionsService struct {
	s *Service

	MinorVersions *ProjectsLocationsGiVersionsMinorVersionsService
}

func NewProjectsLocationsGiVersionsMinorVersionsService(s *Service) *ProjectsLocationsGiVersionsMinorVersionsService {
	rs := &ProjectsLocationsGiVersionsMinorVersionsService{s: s}
	return rs
}

type ProjectsLocationsGiVersionsMinorVersionsService struct {
	s *Service
}

func NewProjectsLocationsGoldengateConnectionAssignmentsService(s *Service) *ProjectsLocationsGoldengateConnectionAssignmentsService {
	rs := &ProjectsLocationsGoldengateConnectionAssignmentsService{s: s}
	return rs
}

type ProjectsLocationsGoldengateConnectionAssignmentsService struct {
	s *Service
}

func NewProjectsLocationsGoldengateConnectionTypesService(s *Service) *ProjectsLocationsGoldengateConnectionTypesService {
	rs := &ProjectsLocationsGoldengateConnectionTypesService{s: s}
	return rs
}

type ProjectsLocationsGoldengateConnectionTypesService struct {
	s *Service
}

func NewProjectsLocationsGoldengateConnectionsService(s *Service) *ProjectsLocationsGoldengateConnectionsService {
	rs := &ProjectsLocationsGoldengateConnectionsService{s: s}
	return rs
}

type ProjectsLocationsGoldengateConnectionsService struct {
	s *Service
}

func NewProjectsLocationsGoldengateDeploymentEnvironmentsService(s *Service) *ProjectsLocationsGoldengateDeploymentEnvironmentsService {
	rs := &ProjectsLocationsGoldengateDeploymentEnvironmentsService{s: s}
	return rs
}

type ProjectsLocationsGoldengateDeploymentEnvironmentsService struct {
	s *Service
}

func NewProjectsLocationsGoldengateDeploymentTypesService(s *Service) *ProjectsLocationsGoldengateDeploymentTypesService {
	rs := &ProjectsLocationsGoldengateDeploymentTypesService{s: s}
	return rs
}

type ProjectsLocationsGoldengateDeploymentTypesService struct {
	s *Service
}

func NewProjectsLocationsGoldengateDeploymentVersionsService(s *Service) *ProjectsLocationsGoldengateDeploymentVersionsService {
	rs := &ProjectsLocationsGoldengateDeploymentVersionsService{s: s}
	return rs
}

type ProjectsLocationsGoldengateDeploymentVersionsService struct {
	s *Service
}

func NewProjectsLocationsGoldengateDeploymentsService(s *Service) *ProjectsLocationsGoldengateDeploymentsService {
	rs := &ProjectsLocationsGoldengateDeploymentsService{s: s}
	return rs
}

type ProjectsLocationsGoldengateDeploymentsService struct {
	s *Service
}

func NewProjectsLocationsOdbNetworksService(s *Service) *ProjectsLocationsOdbNetworksService {
	rs := &ProjectsLocationsOdbNetworksService{s: s}
	rs.OdbSubnets = NewProjectsLocationsOdbNetworksOdbSubnetsService(s)
	return rs
}

type ProjectsLocationsOdbNetworksService struct {
	s *Service

	OdbSubnets *ProjectsLocationsOdbNetworksOdbSubnetsService
}

func NewProjectsLocationsOdbNetworksOdbSubnetsService(s *Service) *ProjectsLocationsOdbNetworksOdbSubnetsService {
	rs := &ProjectsLocationsOdbNetworksOdbSubnetsService{s: s}
	return rs
}

type ProjectsLocationsOdbNetworksOdbSubnetsService struct {
	s *Service
}

func NewProjectsLocationsOperationsService(s *Service) *ProjectsLocationsOperationsService {
	rs := &ProjectsLocationsOperationsService{s: s}
	return rs
}

type ProjectsLocationsOperationsService struct {
	s *Service
}

func NewProjectsLocationsPluggableDatabasesService(s *Service) *ProjectsLocationsPluggableDatabasesService {
	rs := &ProjectsLocationsPluggableDatabasesService{s: s}
	return rs
}

type ProjectsLocationsPluggableDatabasesService struct {
	s *Service
}

// AllConnectionStrings: A list of all connection strings that can be used to
// connect to the Autonomous Database.
type AllConnectionStrings struct {
	// High: Output only. The database service provides the highest level of
	// resources to each SQL statement.
	High string `json:"high,omitempty"`
	// Low: Output only. The database service provides the least level of resources
	// to each SQL statement.
	Low string `json:"low,omitempty"`
	// Medium: Output only. The database service provides a lower level of
	// resources to each SQL statement.
	Medium string `json:"medium,omitempty"`
	// ForceSendFields is a list of field names (e.g. "High") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "High") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s AllConnectionStrings) MarshalJSON() ([]byte, error) {
	type NoMethod AllConnectionStrings
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// AmazonS3IcebergStorage: The Amazon S3 Iceberg storage.
type AmazonS3IcebergStorage struct {
	// AccessKeyId: Required. The access key ID of Amazon S3.
	AccessKeyId string `json:"accessKeyId,omitempty"`
	// Bucket: Required. The bucket of Amazon S3.
	Bucket string `json:"bucket,omitempty"`
	// Endpoint: Optional. The endpoint of Amazon S3.
	Endpoint string `json:"endpoint,omitempty"`
	// Region: Required. The region of Amazon S3.
	Region string `json:"region,omitempty"`
	// SchemeType: Required. The scheme type of Amazon S3.
	//
	// Possible values:
	//   "SCHEME_TYPE_UNSPECIFIED" - Scheme type not specified.
	//   "S3" - S3 scheme.
	//   "S3A" - S3A scheme.
	SchemeType string `json:"schemeType,omitempty"`
	// SecretAccessKeySecret: Optional. The secret access key of Amazon S3.
	SecretAccessKeySecret string `json:"secretAccessKeySecret,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AccessKeyId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AccessKeyId") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s AmazonS3IcebergStorage) MarshalJSON() ([]byte, error) {
	type NoMethod AmazonS3IcebergStorage
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// AutonomousDatabase: Details of the Autonomous Database resource.
// https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/AutonomousDatabase/
type AutonomousDatabase struct {
	// AdminPassword: Optional. Immutable. The password for the default ADMIN user.
	// Note: Only one of `admin_password_secret_version` or `admin_password` can be
	// populated.
	AdminPassword string `json:"adminPassword,omitempty"`
	// AdminPasswordSecretVersion: Optional. Immutable. The resource name of a
	// secret version in Secret Manager which contains the database admin user's
	// password. Format: projects/{project}/secrets/{secret}/versions/{version}.
	// Note: Only one of `admin_password_secret_version` or `admin_password` can be
	// populated.
	AdminPasswordSecretVersion string `json:"adminPasswordSecretVersion,omitempty"`
	// Cidr: Optional. Immutable. The subnet CIDR range for the Autonomous
	// Database.
	Cidr string `json:"cidr,omitempty"`
	// CreateTime: Output only. The date and time that the Autonomous Database was
	// created.
	CreateTime string `json:"createTime,omitempty"`
	// Database: Optional. Immutable. The name of the Autonomous Database. The
	// database name must be unique in the project. The name must begin with a
	// letter and can contain a maximum of 30 alphanumeric characters.
	Database string `json:"database,omitempty"`
	// DisasterRecoverySupportedLocations: Output only. List of supported GCP
	// region to clone the Autonomous Database for disaster recovery. Format:
	// `project/{project}/locations/{location}`.
	DisasterRecoverySupportedLocations []string `json:"disasterRecoverySupportedLocations,omitempty"`
	// DisplayName: Optional. Immutable. The display name for the Autonomous
	// Database. The name does not have to be unique within your project.
	DisplayName string `json:"displayName,omitempty"`
	// EntitlementId: Output only. The ID of the subscription entitlement
	// associated with the Autonomous Database.
	EntitlementId string `json:"entitlementId,omitempty"`
	// Labels: Optional. The labels or tags associated with the Autonomous
	// Database.
	Labels map[string]string `json:"labels,omitempty"`
	// Name: Identifier. The name of the Autonomous Database resource in the
	// following format:
	// projects/{project}/locations/{region}/autonomousDatabases/{autonomous_databas
	// e}
	Name string `json:"name,omitempty"`
	// Network: Optional. Immutable. The name of the VPC network used by the
	// Autonomous Database in the following format:
	// projects/{project}/global/networks/{network}
	Network string `json:"network,omitempty"`
	// OdbNetwork: Optional. Immutable. The name of the OdbNetwork associated with
	// the Autonomous Database. Format:
	// projects/{project}/locations/{location}/odbNetworks/{odb_network} It is
	// optional but if specified, this should match the parent ODBNetwork of the
	// OdbSubnet.
	OdbNetwork string `json:"odbNetwork,omitempty"`
	// OdbSubnet: Optional. Immutable. The name of the OdbSubnet associated with
	// the Autonomous Database. Format:
	// projects/{project}/locations/{location}/odbNetworks/{odb_network}/odbSubnets/
	// {odb_subnet}
	OdbSubnet string `json:"odbSubnet,omitempty"`
	// PeerAutonomousDatabases: Output only. The peer Autonomous Database names of
	// the given Autonomous Database.
	PeerAutonomousDatabases []string `json:"peerAutonomousDatabases,omitempty"`
	// Properties: Optional. The properties of the Autonomous Database.
	Properties *AutonomousDatabaseProperties `json:"properties,omitempty"`
	// SourceConfig: Optional. Immutable. The source Autonomous Database
	// configuration for the standby Autonomous Database. The source Autonomous
	// Database is configured while creating the Peer Autonomous Database and can't
	// be updated after creation.
	SourceConfig *SourceConfig `json:"sourceConfig,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "AdminPassword") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AdminPassword") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s AutonomousDatabase) MarshalJSON() ([]byte, error) {
	type NoMethod AutonomousDatabase
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// AutonomousDatabaseApex: Oracle APEX Application Development.
// https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/datatypes/AutonomousDatabaseApex
type AutonomousDatabaseApex struct {
	// ApexVersion: Output only. The Oracle APEX Application Development version.
	ApexVersion string `json:"apexVersion,omitempty"`
	// OrdsVersion: Output only. The Oracle REST Data Services (ORDS) version.
	OrdsVersion string `json:"ordsVersion,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ApexVersion") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ApexVersion") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s AutonomousDatabaseApex) MarshalJSON() ([]byte, error) {
	type NoMethod AutonomousDatabaseApex
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// AutonomousDatabaseBackup: Details of the Autonomous Database Backup
// resource.
// https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/AutonomousDatabaseBackup/
type AutonomousDatabaseBackup struct {
	// AutonomousDatabase: Required. The name of the Autonomous Database resource
	// for which the backup is being created. Format:
	// projects/{project}/locations/{region}/autonomousDatabases/{autonomous_databas
	// e}
	AutonomousDatabase string `json:"autonomousDatabase,omitempty"`
	// DisplayName: Optional. User friendly name for the Backup. The name does not
	// have to be unique.
	DisplayName string `json:"displayName,omitempty"`
	// Labels: Optional. labels or tags associated with the resource.
	Labels map[string]string `json:"labels,omitempty"`
	// Name: Identifier. The name of the Autonomous Database Backup resource with
	// the format:
	// projects/{project}/locations/{region}/autonomousDatabaseBackups/{autonomous_d
	// atabase_backup}
	Name string `json:"name,omitempty"`
	// Properties: Optional. Various properties of the backup.
	Properties *AutonomousDatabaseBackupProperties `json:"properties,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AutonomousDatabase") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AutonomousDatabase") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s AutonomousDatabaseBackup) MarshalJSON() ([]byte, error) {
	type NoMethod AutonomousDatabaseBackup
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// AutonomousDatabaseBackupProperties: Properties of the Autonomous Database
// Backup resource.
type AutonomousDatabaseBackupProperties struct {
	// AvailableTillTime: Output only. Timestamp until when the backup will be
	// available.
	AvailableTillTime string `json:"availableTillTime,omitempty"`
	// CompartmentId: Output only. The OCID of the compartment.
	CompartmentId string `json:"compartmentId,omitempty"`
	// DatabaseSizeTb: Output only. The quantity of data in the database, in
	// terabytes.
	DatabaseSizeTb float64 `json:"databaseSizeTb,omitempty"`
	// DbVersion: Output only. A valid Oracle Database version for Autonomous
	// Database.
	DbVersion string `json:"dbVersion,omitempty"`
	// EndTime: Output only. The date and time the backup completed.
	EndTime string `json:"endTime,omitempty"`
	// IsAutomaticBackup: Output only. Indicates if the backup is automatic or user
	// initiated.
	IsAutomaticBackup bool `json:"isAutomaticBackup,omitempty"`
	// IsLongTermBackup: Output only. Indicates if the backup is long term backup.
	IsLongTermBackup bool `json:"isLongTermBackup,omitempty"`
	// IsRestorable: Output only. Indicates if the backup can be used to restore
	// the Autonomous Database.
	IsRestorable bool `json:"isRestorable,omitempty"`
	// KeyStoreId: Optional. The OCID of the key store of Oracle Vault.
	KeyStoreId string `json:"keyStoreId,omitempty"`
	// KeyStoreWallet: Optional. The wallet name for Oracle Key Vault.
	KeyStoreWallet string `json:"keyStoreWallet,omitempty"`
	// KmsKeyId: Optional. The OCID of the key container that is used as the master
	// encryption key in database transparent data encryption (TDE) operations.
	KmsKeyId string `json:"kmsKeyId,omitempty"`
	// KmsKeyVersionId: Optional. The OCID of the key container version that is
	// used in database transparent data encryption (TDE) operations KMS Key can
	// have multiple key versions. If none is specified, the current key version
	// (latest) of the Key Id is used for the operation. Autonomous Database
	// Serverless does not use key versions, hence is not applicable for Autonomous
	// Database Serverless instances.
	KmsKeyVersionId string `json:"kmsKeyVersionId,omitempty"`
	// LifecycleDetails: Output only. Additional information about the current
	// lifecycle state.
	LifecycleDetails string `json:"lifecycleDetails,omitempty"`
	// LifecycleState: Output only. The lifecycle state of the backup.
	//
	// Possible values:
	//   "STATE_UNSPECIFIED" - Default unspecified value.
	//   "CREATING" - Indicates that the resource is in creating state.
	//   "ACTIVE" - Indicates that the resource is in active state.
	//   "DELETING" - Indicates that the resource is in deleting state.
	//   "DELETED" - Indicates that the resource is in deleted state.
	//   "FAILED" - Indicates that the resource is in failed state.
	//   "UPDATING" - Indicates that the resource is in updating state.
	LifecycleState string `json:"lifecycleState,omitempty"`
	// Ocid: Output only. OCID of the Autonomous Database backup.
	// https://docs.oracle.com/en-us/iaas/Content/General/Concepts/identifiers.htm#Oracle
	Ocid string `json:"ocid,omitempty"`
	// RetentionPeriodDays: Optional. Retention period in days for the backup.
	RetentionPeriodDays int64 `json:"retentionPeriodDays,omitempty"`
	// SizeTb: Output only. The backup size in terabytes.
	SizeTb float64 `json:"sizeTb,omitempty"`
	// StartTime: Output only. The date and time the backup started.
	StartTime string `json:"startTime,omitempty"`
	// Type: Output only. The type of the backup.
	//
	// Possible values:
	//   "TYPE_UNSPECIFIED" - Default unspecified value.
	//   "INCREMENTAL" - Incremental backups.
	//   "FULL" - Full backups.
	//   "LONG_TERM" - Long term backups.
	Type string `json:"type,omitempty"`
	// VaultId: Optional. The OCID of the vault.
	VaultId string `json:"vaultId,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AvailableTillTime") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AvailableTillTime") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s AutonomousDatabaseBackupProperties) MarshalJSON() ([]byte, error) {
	type NoMethod AutonomousDatabaseBackupProperties
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *AutonomousDatabaseBackupProperties) UnmarshalJSON(data []byte) error {
	type NoMethod AutonomousDatabaseBackupProperties
	var s1 struct {
		DatabaseSizeTb gensupport.JSONFloat64 `json:"databaseSizeTb"`
		SizeTb         gensupport.JSONFloat64 `json:"sizeTb"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.DatabaseSizeTb = float64(s1.DatabaseSizeTb)
	s.SizeTb = float64(s1.SizeTb)
	return nil
}

// AutonomousDatabaseCharacterSet: Details of the Autonomous Database character
// set resource.
// https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/AutonomousDatabaseCharacterSets/
type AutonomousDatabaseCharacterSet struct {
	// CharacterSet: Output only. The character set name for the Autonomous
	// Database which is the ID in the resource name.
	CharacterSet string `json:"characterSet,omitempty"`
	// CharacterSetType: Output only. The character set type for the Autonomous
	// Database.
	//
	// Possible values:
	//   "CHARACTER_SET_TYPE_UNSPECIFIED" - Character set type is not specified.
	//   "DATABASE" - Character set type is set to database.
	//   "NATIONAL" - Character set type is set to national.
	CharacterSetType string `json:"characterSetType,omitempty"`
	// Name: Identifier. The name of the Autonomous Database Character Set resource
	// in the following format:
	// projects/{project}/locations/{region}/autonomousDatabaseCharacterSets/{autono
	// mous_database_character_set}
	Name string `json:"name,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CharacterSet") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CharacterSet") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s AutonomousDatabaseCharacterSet) MarshalJSON() ([]byte, error) {
	type NoMethod AutonomousDatabaseCharacterSet
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// AutonomousDatabaseConnectionStrings: The connection string used to connect
// to the Autonomous Database.
// https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/datatypes/AutonomousDatabaseConnectionStrings
type AutonomousDatabaseConnectionStrings struct {
	// AllConnectionStrings: Output only. Returns all connection strings that can
	// be used to connect to the Autonomous Database.
	AllConnectionStrings *AllConnectionStrings `json:"allConnectionStrings,omitempty"`
	// Dedicated: Output only. The database service provides the least level of
	// resources to each SQL statement, but supports the most number of concurrent
	// SQL statements.
	Dedicated string `json:"dedicated,omitempty"`
	// High: Output only. The database service provides the highest level of
	// resources to each SQL statement.
	High string `json:"high,omitempty"`
	// Low: Output only. The database service provides the least level of resources
	// to each SQL statement.
	Low string `json:"low,omitempty"`
	// Medium: Output only. The database service provides a lower level of
	// resources to each SQL statement.
	Medium string `json:"medium,omitempty"`
	// Profiles: Output only. A list of connection string profiles to allow clients
	// to group, filter, and select values based on the structured metadata.
	Profiles []*DatabaseConnectionStringProfile `json:"profiles,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AllConnectionStrings") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AllConnectionStrings") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s AutonomousDatabaseConnectionStrings) MarshalJSON() ([]byte, error) {
	type NoMethod AutonomousDatabaseConnectionStrings
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// AutonomousDatabaseConnectionUrls: The URLs for accessing Oracle Application
// Express (APEX) and SQL Developer Web with a browser from a Compute instance.
// https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/datatypes/AutonomousDatabaseConnectionUrls
type AutonomousDatabaseConnectionUrls struct {
	// ApexUri: Output only. Oracle Application Express (APEX) URL.
	ApexUri string `json:"apexUri,omitempty"`
	// DatabaseTransformsUri: Output only. The URL of the Database Transforms for
	// the Autonomous Database.
	DatabaseTransformsUri string `json:"databaseTransformsUri,omitempty"`
	// GraphStudioUri: Output only. The URL of the Graph Studio for the Autonomous
	// Database.
	GraphStudioUri string `json:"graphStudioUri,omitempty"`
	// MachineLearningNotebookUri: Output only. The URL of the Oracle Machine
	// Learning (OML) Notebook for the Autonomous Database.
	MachineLearningNotebookUri string `json:"machineLearningNotebookUri,omitempty"`
	// MachineLearningUserManagementUri: Output only. The URL of Machine Learning
	// user management the Autonomous Database.
	MachineLearningUserManagementUri string `json:"machineLearningUserManagementUri,omitempty"`
	// MongoDbUri: Output only. The URL of the MongoDB API for the Autonomous
	// Database.
	MongoDbUri string `json:"mongoDbUri,omitempty"`
	// OrdsUri: Output only. The Oracle REST Data Services (ORDS) URL of the Web
	// Access for the Autonomous Database.
	OrdsUri string `json:"ordsUri,omitempty"`
	// SqlDevWebUri: Output only. The URL of the Oracle SQL Developer Web for the
	// Autonomous Database.
	SqlDevWebUri string `json:"sqlDevWebUri,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ApexUri") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ApexUri") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s AutonomousDatabaseConnectionUrls) MarshalJSON() ([]byte, error) {
	type NoMethod AutonomousDatabaseConnectionUrls
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// AutonomousDatabaseProperties: The properties of an Autonomous Database.
type AutonomousDatabaseProperties struct {
	// ActualUsedDataStorageSizeTb: Output only. The amount of storage currently
	// being used for user and system data, in terabytes.
	ActualUsedDataStorageSizeTb float64 `json:"actualUsedDataStorageSizeTb,omitempty"`
	// AllocatedStorageSizeTb: Output only. The amount of storage currently
	// allocated for the database tables and billed for, rounded up in terabytes.
	AllocatedStorageSizeTb float64 `json:"allocatedStorageSizeTb,omitempty"`
	// AllowlistedIps: Optional. Immutable. The list of allowlisted IP addresses
	// for the Autonomous Database.
	AllowlistedIps []string `json:"allowlistedIps,omitempty"`
	// ApexDetails: Output only. The details for the Oracle APEX Application
	// Development.
	ApexDetails *AutonomousDatabaseApex `json:"apexDetails,omitempty"`
	// ArePrimaryAllowlistedIpsUsed: Output only. This field indicates the status
	// of Data Guard and Access control for the Autonomous Database. The field's
	// value is null if Data Guard is disabled or Access Control is disabled. The
	// field's value is TRUE if both Data Guard and Access Control are enabled, and
	// the Autonomous Database is using primary IP access control list (ACL) for
	// standby. The field's value is FALSE if both Data Guard and Access Control
	// are enabled, and the Autonomous Database is using a different IP access
	// control list (ACL) for standby compared to primary.
	ArePrimaryAllowlistedIpsUsed bool `json:"arePrimaryAllowlistedIpsUsed,omitempty"`
	// AutonomousContainerDatabaseId: Output only. The Autonomous Container
	// Database OCID.
	AutonomousContainerDatabaseId string `json:"autonomousContainerDatabaseId,omitempty"`
	// AvailableUpgradeVersions: Output only. The list of available Oracle Database
	// upgrade versions for an Autonomous Database.
	AvailableUpgradeVersions []string `json:"availableUpgradeVersions,omitempty"`
	// BackupRetentionPeriodDays: Optional. Immutable. The retention period for the
	// Autonomous Database. This field is specified in days, can range from 1 day
	// to 60 days, and has a default value of 60 days.
	BackupRetentionPeriodDays int64 `json:"backupRetentionPeriodDays,omitempty"`
	// CharacterSet: Optional. Immutable. The character set for the Autonomous
	// Database. The default is AL32UTF8.
	CharacterSet string `json:"characterSet,omitempty"`
	// ComputeCount: Optional. Immutable. The number of compute servers for the
	// Autonomous Database.
	ComputeCount float64 `json:"computeCount,omitempty"`
	// ConnectionStrings: Output only. The connection strings used to connect to an
	// Autonomous Database.
	ConnectionStrings *AutonomousDatabaseConnectionStrings `json:"connectionStrings,omitempty"`
	// ConnectionUrls: Output only. The Oracle Connection URLs for an Autonomous
	// Database.
	ConnectionUrls *AutonomousDatabaseConnectionUrls `json:"connectionUrls,omitempty"`
	// CpuCoreCount: Optional. Immutable. The number of CPU cores to be made
	// available to the database.
	CpuCoreCount int64 `json:"cpuCoreCount,omitempty"`
	// CustomerContacts: Optional. Immutable. The list of customer contacts.
	CustomerContacts []*CustomerContact `json:"customerContacts,omitempty"`
	// DataGuardRoleChangedTime: Output only. The date and time the Autonomous Data
	// Guard role was changed for the standby Autonomous Database.
	DataGuardRoleChangedTime string `json:"dataGuardRoleChangedTime,omitempty"`
	// DataSafeState: Output only. The current state of the Data Safe registration
	// for the Autonomous Database.
	//
	// Possible values:
	//   "DATA_SAFE_STATE_UNSPECIFIED" - Default unspecified value.
	//   "REGISTERING" - Registering data safe state.
	//   "REGISTERED" - Registered data safe state.
	//   "DEREGISTERING" - Deregistering data safe state.
	//   "NOT_REGISTERED" - Not registered data safe state.
	//   "FAILED" - Failed data safe state.
	DataSafeState string `json:"dataSafeState,omitempty"`
	// DataStorageSizeGb: Optional. Immutable. The size of the data stored in the
	// database, in gigabytes.
	DataStorageSizeGb int64 `json:"dataStorageSizeGb,omitempty"`
	// DataStorageSizeTb: Optional. Immutable. The size of the data stored in the
	// database, in terabytes.
	DataStorageSizeTb int64 `json:"dataStorageSizeTb,omitempty"`
	// DatabaseManagementState: Output only. The current state of database
	// management for the Autonomous Database.
	//
	// Possible values:
	//   "DATABASE_MANAGEMENT_STATE_UNSPECIFIED" - Default unspecified value.
	//   "ENABLING" - Enabling Database Management state
	//   "ENABLED" - Enabled Database Management state
	//   "DISABLING" - Disabling Database Management state
	//   "NOT_ENABLED" - Not Enabled Database Management state
	//   "FAILED_ENABLING" - Failed enabling Database Management state
	//   "FAILED_DISABLING" - Failed disabling Database Management state
	DatabaseManagementState string `json:"databaseManagementState,omitempty"`
	// DbEdition: Optional. Immutable. The edition of the Autonomous Databases.
	//
	// Possible values:
	//   "DATABASE_EDITION_UNSPECIFIED" - Default unspecified value.
	//   "STANDARD_EDITION" - Standard Database Edition
	//   "ENTERPRISE_EDITION" - Enterprise Database Edition
	DbEdition string `json:"dbEdition,omitempty"`
	// DbVersion: Optional. Immutable. The Oracle Database version for the
	// Autonomous Database.
	DbVersion string `json:"dbVersion,omitempty"`
	// DbWorkload: Required. Immutable. The workload type of the Autonomous
	// Database.
	//
	// Possible values:
	//   "DB_WORKLOAD_UNSPECIFIED" - Default unspecified value.
	//   "OLTP" - Autonomous Transaction Processing database.
	//   "DW" - Autonomous Data Warehouse database.
	//   "AJD" - Autonomous JSON Database.
	//   "APEX" - Autonomous Database with the Oracle APEX Application Development
	// workload type.
	DbWorkload string `json:"dbWorkload,omitempty"`
	// DisasterRecoveryRoleChangedTime: Output only. The date and time the Disaster
	// Recovery role was changed for the standby Autonomous Database.
	DisasterRecoveryRoleChangedTime string `json:"disasterRecoveryRoleChangedTime,omitempty"`
	// EncryptionKey: Optional. The encryption key used to encrypt the Autonomous
	// Database. Updating this field will add a new entry in the
	// `encryption_key_history_entries` field with the former version.
	EncryptionKey *EncryptionKey `json:"encryptionKey,omitempty"`
	// EncryptionKeyHistoryEntries: Output only. The history of the encryption keys
	// used to encrypt the Autonomous Database.
	EncryptionKeyHistoryEntries []*EncryptionKeyHistoryEntry `json:"encryptionKeyHistoryEntries,omitempty"`
	// FailedDataRecoveryDuration: Output only. This field indicates the number of
	// seconds of data loss during a Data Guard failover.
	FailedDataRecoveryDuration string `json:"failedDataRecoveryDuration,omitempty"`
	// IsAutoScalingEnabled: Optional. Immutable. This field indicates if auto
	// scaling is enabled for the Autonomous Database CPU core count.
	IsAutoScalingEnabled bool `json:"isAutoScalingEnabled,omitempty"`
	// IsLocalDataGuardEnabled: Output only. Deprecated: Please use
	// `local_data_guard_enabled` instead. This field indicates whether the
	// Autonomous Database has local (in-region) Data Guard enabled.
	IsLocalDataGuardEnabled bool `json:"isLocalDataGuardEnabled,omitempty"`
	// IsStorageAutoScalingEnabled: Optional. Immutable. This field indicates if
	// auto scaling is enabled for the Autonomous Database storage.
	IsStorageAutoScalingEnabled bool `json:"isStorageAutoScalingEnabled,omitempty"`
	// LicenseType: Required. Immutable. The license type used for the Autonomous
	// Database.
	//
	// Possible values:
	//   "LICENSE_TYPE_UNSPECIFIED" - Unspecified
	//   "LICENSE_INCLUDED" - License included part of offer
	//   "BRING_YOUR_OWN_LICENSE" - Bring your own license
	LicenseType string `json:"licenseType,omitempty"`
	// LifecycleDetails: Output only. The details of the current lifestyle state of
	// the Autonomous Database.
	LifecycleDetails string `json:"lifecycleDetails,omitempty"`
	// LocalAdgAutoFailoverMaxDataLossLimit: Output only. Deprecated: Please use
	// `local_adg_auto_failover_max_data_loss_limit_duration` instead. This field
	// indicates the maximum data loss limit for an Autonomous Database, in
	// seconds.
	LocalAdgAutoFailoverMaxDataLossLimit int64 `json:"localAdgAutoFailoverMaxDataLossLimit,omitempty"`
	// LocalAdgAutoFailoverMaxDataLossLimitDuration: Optional. This field indicates
	// the maximum data loss limit for an Autonomous Database, in seconds.
	LocalAdgAutoFailoverMaxDataLossLimitDuration int64 `json:"localAdgAutoFailoverMaxDataLossLimitDuration,omitempty"`
	// LocalDataGuardEnabled: Optional. Indicates whether the Autonomous Database
	// has a local (in-region) standby database. Not applicable to cross-region
	// Data Guard or dedicated Exadata infrastructure.
	LocalDataGuardEnabled bool `json:"localDataGuardEnabled,omitempty"`
	// LocalDisasterRecoveryType: Output only. This field indicates the local
	// disaster recovery (DR) type of an Autonomous Database.
	//
	// Possible values:
	//   "LOCAL_DISASTER_RECOVERY_TYPE_UNSPECIFIED" - Default unspecified value.
	//   "ADG" - Autonomous Data Guard recovery.
	//   "BACKUP_BASED" - Backup based recovery.
	//   "NOT_AVAILABLE" - Local disaster recovery is not available.
	LocalDisasterRecoveryType string `json:"localDisasterRecoveryType,omitempty"`
	// LocalStandbyDb: Output only. The details of the Autonomous Data Guard
	// standby database.
	LocalStandbyDb *AutonomousDatabaseStandbySummary `json:"localStandbyDb,omitempty"`
	// MaintenanceBeginTime: Output only. The date and time when maintenance will
	// begin.
	MaintenanceBeginTime string `json:"maintenanceBeginTime,omitempty"`
	// MaintenanceEndTime: Output only. The date and time when maintenance will
	// end.
	MaintenanceEndTime string `json:"maintenanceEndTime,omitempty"`
	// MaintenanceScheduleType: Optional. Immutable. The maintenance schedule of
	// the Autonomous Database.
	//
	// Possible values:
	//   "MAINTENANCE_SCHEDULE_TYPE_UNSPECIFIED" - Default unspecified value.
	//   "EARLY" - An EARLY maintenance schedule patches the database before the
	// regular scheduled maintenance.
	//   "REGULAR" - A REGULAR maintenance schedule follows the normal maintenance
	// cycle.
	MaintenanceScheduleType string `json:"maintenanceScheduleType,omitempty"`
	// MemoryPerOracleComputeUnitGbs: Output only. The amount of memory enabled per
	// ECPU, in gigabytes.
	MemoryPerOracleComputeUnitGbs int64 `json:"memoryPerOracleComputeUnitGbs,omitempty"`
	// MemoryTableGbs: Output only. The memory assigned to in-memory tables in an
	// Autonomous Database.
	MemoryTableGbs int64 `json:"memoryTableGbs,omitempty"`
	// MtlsConnectionRequired: Optional. Immutable. This field specifies if the
	// Autonomous Database requires mTLS connections.
	MtlsConnectionRequired bool `json:"mtlsConnectionRequired,omitempty"`
	// NCharacterSet: Optional. Immutable. The national character set for the
	// Autonomous Database. The default is AL16UTF16.
	NCharacterSet string `json:"nCharacterSet,omitempty"`
	// NextLongTermBackupTime: Output only. The long term backup schedule of the
	// Autonomous Database.
	NextLongTermBackupTime string `json:"nextLongTermBackupTime,omitempty"`
	// OciUrl: Output only. The Oracle Cloud Infrastructure link for the Autonomous
	// Database.
	OciUrl string `json:"ociUrl,omitempty"`
	// Ocid: Output only. OCID of the Autonomous Database.
	// https://docs.oracle.com/en-us/iaas/Content/General/Concepts/identifiers.htm#Oracle
	Ocid string `json:"ocid,omitempty"`
	// OpenMode: Output only. This field indicates the current mode of the
	// Autonomous Database.
	//
	// Possible values:
	//   "OPEN_MODE_UNSPECIFIED" - Default unspecified value.
	//   "READ_ONLY" - Read Only Mode
	//   "READ_WRITE" - Read Write Mode
	OpenMode string `json:"openMode,omitempty"`
	// OperationsInsightsState: Output only. This field indicates the state of
	// Operations Insights for the Autonomous Database.
	//
	// Possible values:
	//   "OPERATIONS_INSIGHTS_STATE_UNSPECIFIED" - Default unspecified value.
	//   "ENABLING" - Enabling status for operation insights.
	//   "ENABLED" - Enabled status for operation insights.
	//   "DISABLING" - Disabling status for operation insights.
	//   "NOT_ENABLED" - Not Enabled status for operation insights.
	//   "FAILED_ENABLING" - Failed enabling status for operation insights.
	//   "FAILED_DISABLING" - Failed disabling status for operation insights.
	OperationsInsightsState string `json:"operationsInsightsState,omitempty"`
	// PeerDbIds: Output only. The list of OCIDs of standby databases located in
	// Autonomous Data Guard remote regions that are associated with the source
	// database.
	PeerDbIds []string `json:"peerDbIds,omitempty"`
	// PermissionLevel: Output only. The permission level of the Autonomous
	// Database.
	//
	// Possible values:
	//   "PERMISSION_LEVEL_UNSPECIFIED" - Default unspecified value.
	//   "RESTRICTED" - Restricted mode allows access only by admin users.
	//   "UNRESTRICTED" - Normal access.
	PermissionLevel string `json:"permissionLevel,omitempty"`
	// PrivateEndpoint: Output only. The private endpoint for the Autonomous
	// Database.
	PrivateEndpoint string `json:"privateEndpoint,omitempty"`
	// PrivateEndpointIp: Optional. Immutable. The private endpoint IP address for
	// the Autonomous Database.
	PrivateEndpointIp string `json:"privateEndpointIp,omitempty"`
	// PrivateEndpointLabel: Optional. Immutable. The private endpoint label for
	// the Autonomous Database.
	PrivateEndpointLabel string `json:"privateEndpointLabel,omitempty"`
	// RefreshableClone: Optional. Indicates if the Autonomous Database is a
	// refreshable clone. This field is used in update flow to connect / disconnect
	// a refreshable clone from its source database.
	RefreshableClone bool `json:"refreshableClone,omitempty"`
	// RefreshableMode: Output only. The refresh mode of the cloned Autonomous
	// Database.
	//
	// Possible values:
	//   "REFRESHABLE_MODE_UNSPECIFIED" - The default unspecified value.
	//   "AUTOMATIC" - AUTOMATIC indicates that the cloned database is
	// automatically refreshed with data from the source Autonomous Database.
	//   "MANUAL" - MANUAL indicates that the cloned database is manually refreshed
	// with data from the source Autonomous Database.
	RefreshableMode string `json:"refreshableMode,omitempty"`
	// RefreshableState: Output only. The refresh State of the clone.
	//
	// Possible values:
	//   "REFRESHABLE_STATE_UNSPECIFIED" - Default unspecified value.
	//   "REFRESHING" - Refreshing
	//   "NOT_REFRESHING" - Not refreshed
	RefreshableState string `json:"refreshableState,omitempty"`
	// Role: Output only. The Data Guard role of the Autonomous Database.
	//
	// Possible values:
	//   "ROLE_UNSPECIFIED" - Default unspecified value.
	//   "PRIMARY" - Primary role
	//   "STANDBY" - Standby role
	//   "DISABLED_STANDBY" - Disabled standby role
	//   "BACKUP_COPY" - Backup copy role
	//   "SNAPSHOT_STANDBY" - Snapshot standby role
	Role string `json:"role,omitempty"`
	// ScheduledOperationDetails: Output only. The list and details of the
	// scheduled operations of the Autonomous Database.
	ScheduledOperationDetails []*ScheduledOperationDetails `json:"scheduledOperationDetails,omitempty"`
	// SecretId: Optional. Immutable. The ID of the Oracle Cloud Infrastructure
	// vault secret.
	SecretId string `json:"secretId,omitempty"`
	// ServiceAgentEmail: Output only. An Oracle-managed Google Cloud service
	// account on which customers can grant roles to access resources in the
	// customer project.
	ServiceAgentEmail string `json:"serviceAgentEmail,omitempty"`
	// SqlWebDeveloperUrl: Output only. The SQL Web Developer URL for the
	// Autonomous Database.
	SqlWebDeveloperUrl string `json:"sqlWebDeveloperUrl,omitempty"`
	// State: Output only. The current lifecycle state of the Autonomous Database.
	//
	// Possible values:
	//   "STATE_UNSPECIFIED" - Default unspecified value.
	//   "PROVISIONING" - Indicates that the Autonomous Database is in provisioning
	// state.
	//   "AVAILABLE" - Indicates that the Autonomous Database is in available
	// state.
	//   "STOPPING" - Indicates that the Autonomous Database is in stopping state.
	//   "STOPPED" - Indicates that the Autonomous Database is in stopped state.
	//   "STARTING" - Indicates that the Autonomous Database is in starting state.
	//   "TERMINATING" - Indicates that the Autonomous Database is in terminating
	// state.
	//   "TERMINATED" - Indicates that the Autonomous Database is in terminated
	// state.
	//   "UNAVAILABLE" - Indicates that the Autonomous Database is in unavailable
	// state.
	//   "RESTORE_IN_PROGRESS" - Indicates that the Autonomous Database restore is
	// in progress.
	//   "RESTORE_FAILED" - Indicates that the Autonomous Database failed to
	// restore.
	//   "BACKUP_IN_PROGRESS" - Indicates that the Autonomous Database backup is in
	// progress.
	//   "SCALE_IN_PROGRESS" - Indicates that the Autonomous Database scale is in
	// progress.
	//   "AVAILABLE_NEEDS_ATTENTION" - Indicates that the Autonomous Database is
	// available but needs attention state.
	//   "UPDATING" - Indicates that the Autonomous Database is in updating state.
	//   "MAINTENANCE_IN_PROGRESS" - Indicates that the Autonomous Database's
	// maintenance is in progress state.
	//   "RESTARTING" - Indicates that the Autonomous Database is in restarting
	// state.
	//   "RECREATING" - Indicates that the Autonomous Database is in recreating
	// state.
	//   "ROLE_CHANGE_IN_PROGRESS" - Indicates that the Autonomous Database's role
	// change is in progress state.
	//   "UPGRADING" - Indicates that the Autonomous Database is in upgrading
	// state.
	//   "INACCESSIBLE" - Indicates that the Autonomous Database is in inaccessible
	// state.
	//   "STANDBY" - Indicates that the Autonomous Database is in standby state.
	State string `json:"state,omitempty"`
	// SupportedCloneRegions: Output only. The list of available regions that can
	// be used to create a clone for the Autonomous Database.
	SupportedCloneRegions []string `json:"supportedCloneRegions,omitempty"`
	// TotalAutoBackupStorageSizeGbs: Output only. The storage space used by
	// automatic backups of Autonomous Database, in gigabytes.
	TotalAutoBackupStorageSizeGbs float64 `json:"totalAutoBackupStorageSizeGbs,omitempty"`
	// UsedDataStorageSizeTbs: Output only. The storage space used by Autonomous
	// Database, in gigabytes.
	UsedDataStorageSizeTbs int64 `json:"usedDataStorageSizeTbs,omitempty"`
	// VaultId: Optional. Immutable. The ID of the Oracle Cloud Infrastructure
	// vault.
	VaultId string `json:"vaultId,omitempty"`
	// ForceSendFields is a list of field names (e.g.
	// "ActualUsedDataStorageSizeTb") to unconditionally include in API requests.
	// By default, fields with empty or default values are omitted from API
	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields
	// for more details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ActualUsedDataStorageSizeTb") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s AutonomousDatabaseProperties) MarshalJSON() ([]byte, error) {
	type NoMethod AutonomousDatabaseProperties
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *AutonomousDatabaseProperties) UnmarshalJSON(data []byte) error {
	type NoMethod AutonomousDatabaseProperties
	var s1 struct {
		ActualUsedDataStorageSizeTb   gensupport.JSONFloat64 `json:"actualUsedDataStorageSizeTb"`
		AllocatedStorageSizeTb        gensupport.JSONFloat64 `json:"allocatedStorageSizeTb"`
		ComputeCount                  gensupport.JSONFloat64 `json:"computeCount"`
		TotalAutoBackupStorageSizeGbs gensupport.JSONFloat64 `json:"totalAutoBackupStorageSizeGbs"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.ActualUsedDataStorageSizeTb = float64(s1.ActualUsedDataStorageSizeTb)
	s.AllocatedStorageSizeTb = float64(s1.AllocatedStorageSizeTb)
	s.ComputeCount = float64(s1.ComputeCount)
	s.TotalAutoBackupStorageSizeGbs = float64(s1.TotalAutoBackupStorageSizeGbs)
	return nil
}

// AutonomousDatabaseRefreshableClone: An Autonomous Database refreshable clone
type AutonomousDatabaseRefreshableClone struct {
	// Name: Output only. The GCP resource name of the Autonomous Database.
	Name string `json:"name,omitempty"`
	// Region: Output only. The Google Cloud region where the refreshable clone
	// exists.
	Region string `json:"region,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Name") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s AutonomousDatabaseRefreshableClone) MarshalJSON() ([]byte, error) {
	type NoMethod AutonomousDatabaseRefreshableClone
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// AutonomousDatabaseRefreshableClones: Response message for getting the
// Autonomous Database refreshable clones.
type AutonomousDatabaseRefreshableClones struct {
	// AutonomousDatabaseRefreshableClones: The list of Autonomous Database
	// refreshable clones.
	AutonomousDatabaseRefreshableClones []*AutonomousDatabaseRefreshableClone `json:"autonomousDatabaseRefreshableClones,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g.
	// "AutonomousDatabaseRefreshableClones") to unconditionally include in API
	// requests. By default, fields with empty or default values are omitted from
	// API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g.
	// "AutonomousDatabaseRefreshableClones") to include in API requests with the
	// JSON null value. By default, fields with empty values are omitted from API
	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-NullFields for
	// more details.
	NullFields []string `json:"-"`
}

func (s AutonomousDatabaseRefreshableClones) MarshalJSON() ([]byte, error) {
	type NoMethod AutonomousDatabaseRefreshableClones
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// AutonomousDatabaseStandbySummary: Autonomous Data Guard standby database
// details.
// https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/datatypes/AutonomousDatabaseStandbySummary
type AutonomousDatabaseStandbySummary struct {
	// DataGuardRoleChangedTime: Output only. The date and time the Autonomous Data
	// Guard role was switched for the standby Autonomous Database.
	DataGuardRoleChangedTime string `json:"dataGuardRoleChangedTime,omitempty"`
	// DisasterRecoveryRoleChangedTime: Output only. The date and time the Disaster
	// Recovery role was switched for the standby Autonomous Database.
	DisasterRecoveryRoleChangedTime string `json:"disasterRecoveryRoleChangedTime,omitempty"`
	// LagTimeDuration: Output only. The amount of time, in seconds, that the data
	// of the standby database lags in comparison to the data of the primary
	// database.
	LagTimeDuration string `json:"lagTimeDuration,omitempty"`
	// LifecycleDetails: Output only. The additional details about the current
	// lifecycle state of the Autonomous Database.
	LifecycleDetails string `json:"lifecycleDetails,omitempty"`
	// State: Output only. The current lifecycle state of the Autonomous Database.
	//
	// Possible values:
	//   "STATE_UNSPECIFIED" - Default unspecified value.
	//   "PROVISIONING" - Indicates that the Autonomous Database is in provisioning
	// state.
	//   "AVAILABLE" - Indicates that the Autonomous Database is in available
	// state.
	//   "STOPPING" - Indicates that the Autonomous Database is in stopping state.
	//   "STOPPED" - Indicates that the Autonomous Database is in stopped state.
	//   "STARTING" - Indicates that the Autonomous Database is in starting state.
	//   "TERMINATING" - Indicates that the Autonomous Database is in terminating
	// state.
	//   "TERMINATED" - Indicates that the Autonomous Database is in terminated
	// state.
	//   "UNAVAILABLE" - Indicates that the Autonomous Database is in unavailable
	// state.
	//   "RESTORE_IN_PROGRESS" - Indicates that the Autonomous Database restore is
	// in progress.
	//   "RESTORE_FAILED" - Indicates that the Autonomous Database failed to
	// restore.
	//   "BACKUP_IN_PROGRESS" - Indicates that the Autonomous Database backup is in
	// progress.
	//   "SCALE_IN_PROGRESS" - Indicates that the Autonomous Database scale is in
	// progress.
	//   "AVAILABLE_NEEDS_ATTENTION" - Indicates that the Autonomous Database is
	// available but needs attention state.
	//   "UPDATING" - Indicates that the Autonomous Database is in updating state.
	//   "MAINTENANCE_IN_PROGRESS" - Indicates that the Autonomous Database's
	// maintenance is in progress state.
	//   "RESTARTING" - Indicates that the Autonomous Database is in restarting
	// state.
	//   "RECREATING" - Indicates that the Autonomous Database is in recreating
	// state.
	//   "ROLE_CHANGE_IN_PROGRESS" - Indicates that the Autonomous Database's role
	// change is in progress state.
	//   "UPGRADING" - Indicates that the Autonomous Database is in upgrading
	// state.
	//   "INACCESSIBLE" - Indicates that the Autonomous Database is in inaccessible
	// state.
	//   "STANDBY" - Indicates that the Autonomous Database is in standby state.
	State string `json:"state,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DataGuardRoleChangedTime")
	// to unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DataGuardRoleChangedTime") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s AutonomousDatabaseStandbySummary) MarshalJSON() ([]byte, error) {
	type NoMethod AutonomousDatabaseStandbySummary
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// AutonomousDbVersion: Details of the Autonomous Database version.
// https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/AutonomousDbVersionSummary/
type AutonomousDbVersion struct {
	// DbWorkload: Output only. The Autonomous Database workload type.
	//
	// Possible values:
	//   "DB_WORKLOAD_UNSPECIFIED" - Default unspecified value.
	//   "OLTP" - Autonomous Transaction Processing database.
	//   "DW" - Autonomous Data Warehouse database.
	//   "AJD" - Autonomous JSON Database.
	//   "APEX" - Autonomous Database with the Oracle APEX Application Development
	// workload type.
	DbWorkload string `json:"dbWorkload,omitempty"`
	// Name: Identifier. The name of the Autonomous Database Version resource with
	// the format:
	// projects/{project}/locations/{region}/autonomousDbVersions/{autonomous_db_ver
	// sion}
	Name string `json:"name,omitempty"`
	// Version: Output only. An Oracle Database version for Autonomous Database.
	Version string `json:"version,omitempty"`
	// WorkloadUri: Output only. A URL that points to a detailed description of the
	// Autonomous Database version.
	WorkloadUri string `json:"workloadUri,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DbWorkload") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DbWorkload") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s AutonomousDbVersion) MarshalJSON() ([]byte, error) {
	type NoMethod AutonomousDbVersion
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// AzureDataLakeStorageIcebergStorage: The Azure Data Lake Storage Iceberg
// storage.
type AzureDataLakeStorageIcebergStorage struct {
	// AccountKeySecret: Optional. The account key of Azure Data Lake Storage.
	AccountKeySecret string `json:"accountKeySecret,omitempty"`
	// AzureAccount: Required. The account of Azure Data Lake Storage.
	AzureAccount string `json:"azureAccount,omitempty"`
	// Container: Required. The container of Azure Data Lake Storage.
	Container string `json:"container,omitempty"`
	// Endpoint: Optional. The endpoint of Azure Data Lake Storage.
	Endpoint string `json:"endpoint,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AccountKeySecret") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AccountKeySecret") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s AzureDataLakeStorageIcebergStorage) MarshalJSON() ([]byte, error) {
	type NoMethod AzureDataLakeStorageIcebergStorage
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// BackupDestinationDetails: The details of the database backup destination.
type BackupDestinationDetails struct {
	// Type: Optional. The type of the database backup destination.
	//
	// Possible values:
	//   "BACKUP_DESTINATION_TYPE_UNSPECIFIED" - Default unspecified value.
	//   "NFS" - Backup destination type is NFS.
	//   "RECOVERY_APPLIANCE" - Backup destination type is Recovery Appliance.
	//   "OBJECT_STORE" - Backup destination type is Object Store.
	//   "LOCAL" - Backup destination type is Local.
	//   "DBRS" - Backup destination type is DBRS.
	Type string `json:"type,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Type") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Type") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s BackupDestinationDetails) MarshalJSON() ([]byte, error) {
	type NoMethod BackupDestinationDetails
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// CancelOperationRequest: The request message for Operations.CancelOperation.
type CancelOperationRequest struct {
}

// CloudAccountDetails: Details of the OCI Cloud Account.
type CloudAccountDetails struct {
	// AccountCreationUri: Output only. URL to create a new account and link.
	AccountCreationUri string `json:"accountCreationUri,omitempty"`
	// CloudAccount: Output only. OCI account name.
	CloudAccount string `json:"cloudAccount,omitempty"`
	// CloudAccountHomeRegion: Output only. OCI account home region.
	CloudAccountHomeRegion string `json:"cloudAccountHomeRegion,omitempty"`
	// LinkExistingAccountUri: Output only. URL to link an existing account.
	LinkExistingAccountUri string `json:"linkExistingAccountUri,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AccountCreationUri") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AccountCreationUri") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s CloudAccountDetails) MarshalJSON() ([]byte, error) {
	type NoMethod CloudAccountDetails
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// CloudExadataInfrastructure: Represents CloudExadataInfrastructure resource.
// https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/CloudExadataInfrastructure/
type CloudExadataInfrastructure struct {
	// CreateTime: Output only. The date and time that the Exadata Infrastructure
	// was created.
	CreateTime string `json:"createTime,omitempty"`
	// DisplayName: Optional. User friendly name for this resource.
	DisplayName string `json:"displayName,omitempty"`
	// EntitlementId: Output only. Entitlement ID of the private offer against
	// which this infrastructure resource is provisioned.
	EntitlementId string `json:"entitlementId,omitempty"`
	// GcpOracleZone: Optional. The GCP Oracle zone where Oracle Exadata
	// Infrastructure is hosted. Example: us-east4-b-r2. If not specified, the
	// system will pick a zone based on availability.
	GcpOracleZone string `json:"gcpOracleZone,omitempty"`
	// Labels: Optional. Labels or tags associated with the resource.
	Labels map[string]string `json:"labels,omitempty"`
	// Name: Identifier. The name of the Exadata Infrastructure resource with the
	// format:
	// projects/{project}/locations/{region}/cloudExadataInfrastructures/{cloud_exad
	// ata_infrastructure}
	Name string `json:"name,omitempty"`
	// Properties: Optional. Various properties of the infra.
	Properties *CloudExadataInfrastructureProperties `json:"properties,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "CreateTime") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CreateTime") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s CloudExadataInfrastructure) MarshalJSON() ([]byte, error) {
	type NoMethod CloudExadataInfrastructure
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// CloudExadataInfrastructureProperties: Various properties of Exadata
// Infrastructure.
type CloudExadataInfrastructureProperties struct {
	// ActivatedStorageCount: Output only. The requested number of additional
	// storage servers activated for the Exadata Infrastructure.
	ActivatedStorageCount int64 `json:"activatedStorageCount,omitempty"`
	// AdditionalStorageCount: Output only. The requested number of additional
	// storage servers for the Exadata Infrastructure.
	AdditionalStorageCount int64 `json:"additionalStorageCount,omitempty"`
	// AvailableStorageSizeGb: Output only. The available storage can be allocated
	// to the Exadata Infrastructure resource, in gigabytes (GB).
	AvailableStorageSizeGb int64 `json:"availableStorageSizeGb,omitempty"`
	// ComputeCount: Optional. The number of compute servers for the Exadata
	// Infrastructure.
	ComputeCount int64 `json:"computeCount,omitempty"`
	// ComputeModel: Output only. The compute model of the Exadata Infrastructure.
	//
	// Possible values:
	//   "COMPUTE_MODEL_UNSPECIFIED" - Unspecified compute model.
	//   "COMPUTE_MODEL_ECPU" - Abstract measure of compute resources. ECPUs are
	// based on the number of cores elastically allocated from a pool of compute
	// and storage servers.
	//   "COMPUTE_MODEL_OCPU" - Physical measure of compute resources. OCPUs are
	// based on the physical core of a processor.
	ComputeModel string `json:"computeModel,omitempty"`
	// CpuCount: Output only. The number of enabled CPU cores.
	CpuCount int64 `json:"cpuCount,omitempty"`
	// CustomerContacts: Optional. The list of customer contacts.
	CustomerContacts []*CustomerContact `json:"customerContacts,omitempty"`
	// DataStorageSizeTb: Output only. Size, in terabytes, of the DATA disk group.
	DataStorageSizeTb float64 `json:"dataStorageSizeTb,omitempty"`
	// DatabaseServerType: Output only. The database server type of the Exadata
	// Infrastructure.
	DatabaseServerType string `json:"databaseServerType,omitempty"`
	// DbNodeStorageSizeGb: Output only. The local node storage allocated in GBs.
	DbNodeStorageSizeGb int64 `json:"dbNodeStorageSizeGb,omitempty"`
	// DbServerVersion: Output only. The software version of the database servers
	// (dom0) in the Exadata Infrastructure.
	DbServerVersion string `json:"dbServerVersion,omitempty"`
	// ExascaleConfig: Output only. The Exascale configuration for the Exadata
	// Infrastructure.
	ExascaleConfig *ExascaleConfig `json:"exascaleConfig,omitempty"`
	// MaintenanceWindow: Optional. Maintenance window for repair.
	MaintenanceWindow *MaintenanceWindow `json:"maintenanceWindow,omitempty"`
	// MaxCpuCount: Output only. The total number of CPU cores available.
	MaxCpuCount int64 `json:"maxCpuCount,omitempty"`
	// MaxDataStorageTb: Output only. The total available DATA disk group size.
	MaxDataStorageTb float64 `json:"maxDataStorageTb,omitempty"`
	// MaxDbNodeStorageSizeGb: Output only. The total local node storage available
	// in GBs.
	MaxDbNodeStorageSizeGb int64 `json:"maxDbNodeStorageSizeGb,omitempty"`
	// MaxMemoryGb: Output only. The total memory available in GBs.
	MaxMemoryGb int64 `json:"maxMemoryGb,omitempty"`
	// MemorySizeGb: Output only. The memory allocated in GBs.
	MemorySizeGb int64 `json:"memorySizeGb,omitempty"`
	// MonthlyDbServerVersion: Output only. The monthly software version of the
	// database servers (dom0) in the Exadata Infrastructure. Example: 20.1.15
	MonthlyDbServerVersion string `json:"monthlyDbServerVersion,omitempty"`
	// MonthlyStorageServerVersion: Output only. The monthly software version of
	// the storage servers (cells) in the Exadata Infrastructure. Example: 20.1.15
	MonthlyStorageServerVersion string `json:"monthlyStorageServerVersion,omitempty"`
	// NextMaintenanceRunId: Output only. The OCID of the next maintenance run.
	NextMaintenanceRunId string `json:"nextMaintenanceRunId,omitempty"`
	// NextMaintenanceRunTime: Output only. The time when the next maintenance run
	// will occur.
	NextMaintenanceRunTime string `json:"nextMaintenanceRunTime,omitempty"`
	// NextSecurityMaintenanceRunTime: Output only. The time when the next security
	// maintenance run will occur.
	NextSecurityMaintenanceRunTime string `json:"nextSecurityMaintenanceRunTime,omitempty"`
	// OciUrl: Output only. Deep link to the OCI console to view this resource.
	OciUrl string `json:"ociUrl,omitempty"`
	// Ocid: Output only. OCID of created infra.
	// https://docs.oracle.com/en-us/iaas/Content/General/Concepts/identifiers.htm#Oracle
	Ocid string `json:"ocid,omitempty"`
	// Shape: Required. The shape of the Exadata Infrastructure. The shape
	// determines the amount of CPU, storage, and memory resources allocated to the
	// instance.
	Shape string `json:"shape,omitempty"`
	// State: Output only. The current lifecycle state of the Exadata
	// Infrastructure.
	//
	// Possible values:
	//   "STATE_UNSPECIFIED" - Default unspecified value.
	//   "PROVISIONING" - The Exadata Infrastructure is being provisioned.
	//   "AVAILABLE" - The Exadata Infrastructure is available for use.
	//   "UPDATING" - The Exadata Infrastructure is being updated.
	//   "TERMINATING" - The Exadata Infrastructure is being terminated.
	//   "TERMINATED" - The Exadata Infrastructure is terminated.
	//   "FAILED" - The Exadata Infrastructure is in failed state.
	//   "MAINTENANCE_IN_PROGRESS" - The Exadata Infrastructure is in maintenance.
	State string `json:"state,omitempty"`
	// StorageCount: Optional. The number of Cloud Exadata storage servers for the
	// Exadata Infrastructure.
	StorageCount int64 `json:"storageCount,omitempty"`
	// StorageServerType: Output only. The storage server type of the Exadata
	// Infrastructure.
	StorageServerType string `json:"storageServerType,omitempty"`
	// StorageServerVersion: Output only. The software version of the storage
	// servers (cells) in the Exadata Infrastructure.
	StorageServerVersion string `json:"storageServerVersion,omitempty"`
	// TotalStorageSizeGb: Optional. The total storage allocated to the Exadata
	// Infrastructure resource, in gigabytes (GB).
	TotalStorageSizeGb int64 `json:"totalStorageSizeGb,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ActivatedStorageCount") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ActivatedStorageCount") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s CloudExadataInfrastructureProperties) MarshalJSON() ([]byte, error) {
	type NoMethod CloudExadataInfrastructureProperties
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *CloudExadataInfrastructureProperties) UnmarshalJSON(data []byte) error {
	type NoMethod CloudExadataInfrastructureProperties
	var s1 struct {
		DataStorageSizeTb gensupport.JSONFloat64 `json:"dataStorageSizeTb"`
		MaxDataStorageTb  gensupport.JSONFloat64 `json:"maxDataStorageTb"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.DataStorageSizeTb = float64(s1.DataStorageSizeTb)
	s.MaxDataStorageTb = float64(s1.MaxDataStorageTb)
	return nil
}

// CloudVmCluster: Details of the Cloud VM Cluster resource.
// https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/CloudVmCluster/
type CloudVmCluster struct {
	// BackupOdbSubnet: Optional. The name of the backup OdbSubnet associated with
	// the VM Cluster. Format:
	// projects/{project}/locations/{location}/odbNetworks/{odb_network}/odbSubnets/
	// {odb_subnet}
	BackupOdbSubnet string `json:"backupOdbSubnet,omitempty"`
	// BackupSubnetCidr: Optional. CIDR range of the backup subnet.
	BackupSubnetCidr string `json:"backupSubnetCidr,omitempty"`
	// Cidr: Optional. Network settings. CIDR to use for cluster IP allocation.
	Cidr string `json:"cidr,omitempty"`
	// CreateTime: Output only. The date and time that the VM cluster was created.
	CreateTime string `json:"createTime,omitempty"`
	// DisplayName: Optional. User friendly name for this resource.
	DisplayName string `json:"displayName,omitempty"`
	// ExadataInfrastructure: Required. The name of the Exadata Infrastructure
	// resource on which VM cluster resource is created, in the following format:
	// projects/{project}/locations/{region}/cloudExadataInfrastuctures/{cloud_extra
	// data_infrastructure}
	ExadataInfrastructure string `json:"exadataInfrastructure,omitempty"`
	// ExascaleDbStorageVault: Optional. The name of ExascaleDbStorageVault
	// associated with the VM Cluster. Format:
	// projects/{project}/locations/{location}/exascaleDbStorageVaults/{exascale_db_
	// storage_vault}
	ExascaleDbStorageVault string `json:"exascaleDbStorageVault,omitempty"`
	// GcpOracleZone: Output only. The GCP Oracle zone where Oracle CloudVmCluster
	// is hosted. This will be the same as the gcp_oracle_zone of the
	// CloudExadataInfrastructure. Example: us-east4-b-r2.
	GcpOracleZone string `json:"gcpOracleZone,omitempty"`
	// IdentityConnector: Output only. The identity connector details which will
	// allow OCI to securely access the resources in the customer project.
	IdentityConnector *IdentityConnector `json:"identityConnector,omitempty"`
	// Labels: Optional. Labels or tags associated with the VM Cluster.
	Labels map[string]string `json:"labels,omitempty"`
	// Name: Identifier. The name of the VM Cluster resource with the format:
	// projects/{project}/locations/{region}/cloudVmClusters/{cloud_vm_cluster}
	Name string `json:"name,omitempty"`
	// Network: Optional. The name of the VPC network. Format:
	// projects/{project}/global/networks/{network}
	Network string `json:"network,omitempty"`
	// OdbNetwork: Optional. The name of the OdbNetwork associated with the VM
	// Cluster. Format:
	// projects/{project}/locations/{location}/odbNetworks/{odb_network} It is
	// optional but if specified, this should match the parent ODBNetwork of the
	// odb_subnet and backup_odb_subnet.
	OdbNetwork string `json:"odbNetwork,omitempty"`
	// OdbSubnet: Optional. The name of the OdbSubnet associated with the VM
	// Cluster for IP allocation. Format:
	// projects/{project}/locations/{location}/odbNetworks/{odb_network}/odbSubnets/
	// {odb_subnet}
	OdbSubnet string `json:"odbSubnet,omitempty"`
	// Properties: Optional. Various properties of the VM Cluster.
	Properties *CloudVmClusterProperties `json:"properties,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "BackupOdbSubnet") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BackupOdbSubnet") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s CloudVmCluster) MarshalJSON() ([]byte, error) {
	type NoMethod CloudVmCluster
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// CloudVmClusterProperties: Various properties and settings associated with
// Exadata VM cluster.
type CloudVmClusterProperties struct {
	// ClusterName: Optional. OCI Cluster name.
	ClusterName string `json:"clusterName,omitempty"`
	// CompartmentId: Output only. Compartment ID of cluster.
	CompartmentId string `json:"compartmentId,omitempty"`
	// ComputeModel: Output only. The compute model of the VM Cluster.
	//
	// Possible values:
	//   "COMPUTE_MODEL_UNSPECIFIED" - Unspecified compute model.
	//   "COMPUTE_MODEL_ECPU" - Abstract measure of compute resources. ECPUs are
	// based on the number of cores elastically allocated from a pool of compute
	// and storage servers.
	//   "COMPUTE_MODEL_OCPU" - Physical measure of compute resources. OCPUs are
	// based on the physical core of a processor.
	ComputeModel string `json:"computeModel,omitempty"`
	// CpuCoreCount: Required. Number of enabled CPU cores.
	CpuCoreCount int64 `json:"cpuCoreCount,omitempty"`
	// DataStorageSizeTb: Optional. The data disk group size to be allocated in
	// TBs.
	DataStorageSizeTb float64 `json:"dataStorageSizeTb,omitempty"`
	// DbNodeStorageSizeGb: Optional. Local storage per VM.
	DbNodeStorageSizeGb int64 `json:"dbNodeStorageSizeGb,omitempty"`
	// DbServerOcids: Optional. OCID of database servers.
	DbServerOcids []string `json:"dbServerOcids,omitempty"`
	// DiagnosticsDataCollectionOptions: Optional. Data collection options for
	// diagnostics.
	DiagnosticsDataCollectionOptions *DataCollectionOptions `json:"diagnosticsDataCollectionOptions,omitempty"`
	// DiskRedundancy: Optional. The type of redundancy.
	//
	// Possible values:
	//   "DISK_REDUNDANCY_UNSPECIFIED" - Unspecified.
	//   "HIGH" - High - 3 way mirror.
	//   "NORMAL" - Normal - 2 way mirror.
	DiskRedundancy string `json:"diskRedundancy,omitempty"`
	// DnsListenerIp: Output only. DNS listener IP.
	DnsListenerIp string `json:"dnsListenerIp,omitempty"`
	// Domain: Output only. Parent DNS domain where SCAN DNS and hosts names are
	// qualified. ex: ocispdelegated.ocisp10jvnet.oraclevcn.com
	Domain string `json:"domain,omitempty"`
	// GiVersion: Optional. Grid Infrastructure Version.
	GiVersion string `json:"giVersion,omitempty"`
	// Hostname: Output only. host name without domain. format: "-" with some
	// suffix. ex: sp2-yi0xq where "sp2" is the hostname_prefix.
	Hostname string `json:"hostname,omitempty"`
	// HostnamePrefix: Optional. Prefix for VM cluster host names.
	HostnamePrefix string `json:"hostnamePrefix,omitempty"`
	// LicenseType: Required. License type of VM Cluster.
	//
	// Possible values:
	//   "LICENSE_TYPE_UNSPECIFIED" - Unspecified
	//   "LICENSE_INCLUDED" - License included part of offer
	//   "BRING_YOUR_OWN_LICENSE" - Bring your own license
	LicenseType string `json:"licenseType,omitempty"`
	// LocalBackupEnabled: Optional. Use local backup.
	LocalBackupEnabled bool `json:"localBackupEnabled,omitempty"`
	// MemorySizeGb: Optional. Memory allocated in GBs.
	MemorySizeGb int64 `json:"memorySizeGb,omitempty"`
	// NodeCount: Optional. Number of database servers.
	NodeCount int64 `json:"nodeCount,omitempty"`
	// OciUrl: Output only. Deep link to the OCI console to view this resource.
	OciUrl string `json:"ociUrl,omitempty"`
	// Ocid: Output only. Oracle Cloud Infrastructure ID of VM Cluster.
	Ocid string `json:"ocid,omitempty"`
	// OcpuCount: Optional. OCPU count per VM. Minimum is 0.1.
	OcpuCount float64 `json:"ocpuCount,omitempty"`
	// ScanDns: Output only. SCAN DNS name. ex:
	// sp2-yi0xq-scan.ocispdelegated.ocisp10jvnet.oraclevcn.com
	ScanDns string `json:"scanDns,omitempty"`
	// ScanDnsRecordId: Output only. OCID of scan DNS record.
	ScanDnsRecordId string `json:"scanDnsRecordId,omitempty"`
	// ScanIpIds: Output only. OCIDs of scan IPs.
	ScanIpIds []string `json:"scanIpIds,omitempty"`
	// ScanListenerPortTcp: Optional. SCAN listener port - TCP
	ScanListenerPortTcp int64 `json:"scanListenerPortTcp,omitempty"`
	// ScanListenerPortTcpSsl: Optional. SCAN listener port - TLS
	ScanListenerPortTcpSsl int64 `json:"scanListenerPortTcpSsl,omitempty"`
	// Shape: Output only. Shape of VM Cluster.
	Shape string `json:"shape,omitempty"`
	// SparseDiskgroupEnabled: Optional. Use exadata sparse snapshots.
	SparseDiskgroupEnabled bool `json:"sparseDiskgroupEnabled,omitempty"`
	// SshPublicKeys: Optional. SSH public keys to be stored with cluster.
	SshPublicKeys []string `json:"sshPublicKeys,omitempty"`
	// State: Output only. State of the cluster.
	//
	// Possible values:
	//   "STATE_UNSPECIFIED" - Default unspecified value.
	//   "PROVISIONING" - Indicates that the resource is in provisioning state.
	//   "AVAILABLE" - Indicates that the resource is in available state.
	//   "UPDATING" - Indicates that the resource is in updating state.
	//   "TERMINATING" - Indicates that the resource is in terminating state.
	//   "TERMINATED" - Indicates that the resource is in terminated state.
	//   "FAILED" - Indicates that the resource is in failed state.
	//   "MAINTENANCE_IN_PROGRESS" - Indicates that the resource is in maintenance
	// in progress state.
	State string `json:"state,omitempty"`
	// StorageManagementType: Output only. The storage management type of the VM
	// Cluster.
	//
	// Possible values:
	//   "STORAGE_MANAGEMENT_TYPE_UNSPECIFIED" - Unspecified storage management
	// type.
	//   "ASM" - Automatic Storage Management.
	//   "EXASCALE" - Exascale storage management.
	StorageManagementType string `json:"storageManagementType,omitempty"`
	// StorageSizeGb: Output only. The storage allocation for the disk group, in
	// gigabytes (GB).
	StorageSizeGb int64 `json:"storageSizeGb,omitempty"`
	// SystemVersion: Optional. Operating system version of the image.
	SystemVersion string `json:"systemVersion,omitempty"`
	// TimeZone: Optional. Time zone of VM Cluster to set. Defaults to UTC if not
	// specified.
	TimeZone *TimeZone `json:"timeZone,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ClusterName") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ClusterName") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s CloudVmClusterProperties) MarshalJSON() ([]byte, error) {
	type NoMethod CloudVmClusterProperties
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *CloudVmClusterProperties) UnmarshalJSON(data []byte) error {
	type NoMethod CloudVmClusterProperties
	var s1 struct {
		DataStorageSizeTb gensupport.JSONFloat64 `json:"dataStorageSizeTb"`
		OcpuCount         gensupport.JSONFloat64 `json:"ocpuCount"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.DataStorageSizeTb = float64(s1.DataStorageSizeTb)
	s.OcpuCount = float64(s1.OcpuCount)
	return nil
}

// ConfigureExascaleCloudExadataInfrastructureRequest: The request for
// `CloudExadataInfrastructure.ConfigureExascale`.
type ConfigureExascaleCloudExadataInfrastructureRequest struct {
	// RequestId: Optional. An optional ID to identify the request.
	RequestId string `json:"requestId,omitempty"`
	// TotalStorageSizeGb: Required. The total storage to be allocated to Exascale
	// in GBs.
	TotalStorageSizeGb int64 `json:"totalStorageSizeGb,omitempty"`
	// ForceSendFields is a list of field names (e.g. "RequestId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "RequestId") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s ConfigureExascaleCloudExadataInfrastructureRequest) MarshalJSON() ([]byte, error) {
	type NoMethod ConfigureExascaleCloudExadataInfrastructureRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// CustomerContact: The CustomerContact reference as defined by Oracle.
// https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/datatypes/CustomerContact
type CustomerContact struct {
	// Email: Required. The email address used by Oracle to send notifications
	// regarding databases and infrastructure.
	Email string `json:"email,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Email") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Email") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s CustomerContact) MarshalJSON() ([]byte, error) {
	type NoMethod CustomerContact
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// DataCollectionOptions: Data collection options for diagnostics.
type DataCollectionOptions struct {
	// DiagnosticsEventsEnabled: Optional. Indicates whether diagnostic collection
	// is enabled for the VM cluster
	DiagnosticsEventsEnabled bool `json:"diagnosticsEventsEnabled,omitempty"`
	// HealthMonitoringEnabled: Optional. Indicates whether health monitoring is
	// enabled for the VM cluster
	HealthMonitoringEnabled bool `json:"healthMonitoringEnabled,omitempty"`
	// IncidentLogsEnabled: Optional. Indicates whether incident logs and trace
	// collection are enabled for the VM cluster
	IncidentLogsEnabled bool `json:"incidentLogsEnabled,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DiagnosticsEventsEnabled")
	// to unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DiagnosticsEventsEnabled") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s DataCollectionOptions) MarshalJSON() ([]byte, error) {
	type NoMethod DataCollectionOptions
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// DataCollectionOptionsCommon: Data collection options for diagnostics.
// https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/datatypes/DataCollectionOptions
type DataCollectionOptionsCommon struct {
	// IsDiagnosticsEventsEnabled: Optional. Indicates whether to enable data
	// collection for diagnostics.
	IsDiagnosticsEventsEnabled bool `json:"isDiagnosticsEventsEnabled,omitempty"`
	// IsHealthMonitoringEnabled: Optional. Indicates whether to enable health
	// monitoring.
	IsHealthMonitoringEnabled bool `json:"isHealthMonitoringEnabled,omitempty"`
	// IsIncidentLogsEnabled: Optional. Indicates whether to enable incident logs
	// and trace collection.
	IsIncidentLogsEnabled bool `json:"isIncidentLogsEnabled,omitempty"`
	// ForceSendFields is a list of field names (e.g. "IsDiagnosticsEventsEnabled")
	// to unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "IsDiagnosticsEventsEnabled") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s DataCollectionOptionsCommon) MarshalJSON() ([]byte, error) {
	type NoMethod DataCollectionOptionsCommon
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// DataCollectionOptionsDbSystem: Data collection options for DbSystem.
type DataCollectionOptionsDbSystem struct {
	// IsDiagnosticsEventsEnabled: Optional. Indicates whether to enable data
	// collection for diagnostics.
	IsDiagnosticsEventsEnabled bool `json:"isDiagnosticsEventsEnabled,omitempty"`
	// IsIncidentLogsEnabled: Optional. Indicates whether to enable incident logs
	// and trace collection.
	IsIncidentLogsEnabled bool `json:"isIncidentLogsEnabled,omitempty"`
	// ForceSendFields is a list of field names (e.g. "IsDiagnosticsEventsEnabled")
	// to unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "IsDiagnosticsEventsEnabled") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s DataCollectionOptionsDbSystem) MarshalJSON() ([]byte, error) {
	type NoMethod DataCollectionOptionsDbSystem
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// Database: Details of the Database resource.
// https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/Database/
type Database struct {
	// AdminPassword: Optional. The password for the default ADMIN user. Note: Only
	// one of `admin_password_secret_version` or `admin_password` can be populated.
	AdminPassword string `json:"adminPassword,omitempty"`
	// AdminPasswordSecretVersion: Optional. The resource name of a secret version
	// in Secret Manager which contains the database admin user's password. Format:
	// projects/{project}/secrets/{secret}/versions/{version}. Note: Only one of
	// `admin_password_secret_version` or `admin_password` can be populated.
	AdminPasswordSecretVersion string `json:"adminPasswordSecretVersion,omitempty"`
	// CharacterSet: Optional. The character set for the database. The default is
	// AL32UTF8.
	CharacterSet string `json:"characterSet,omitempty"`
	// CreateTime: Output only. The date and time that the Database was created.
	CreateTime string `json:"createTime,omitempty"`
	// DatabaseId: Optional. The database ID of the Database.
	DatabaseId string `json:"databaseId,omitempty"`
	// DbHomeName: Optional. The name of the DbHome resource associated with the
	// Database.
	DbHomeName string `json:"dbHomeName,omitempty"`
	// DbName: Optional. The database name. The name must begin with an alphabetic
	// character and can contain a maximum of eight alphanumeric characters.
	// Special characters are not permitted.
	DbName string `json:"dbName,omitempty"`
	// DbUniqueName: Optional. The DB_UNIQUE_NAME of the Oracle Database being
	// backed up.
	DbUniqueName string `json:"dbUniqueName,omitempty"`
	// GcpOracleZone: Output only. The GCP Oracle zone where the Database is
	// created.
	GcpOracleZone string `json:"gcpOracleZone,omitempty"`
	// Name: Identifier. The name of the Database resource in the following format:
	// projects/{project}/locations/{region}/databases/{database}
	Name string `json:"name,omitempty"`
	// NcharacterSet: Optional. The national character set for the database. The
	// default is AL16UTF16.
	NcharacterSet string `json:"ncharacterSet,omitempty"`
	// OciUrl: Output only. HTTPS link to OCI resources exposed to Customer via UI
	// Interface.
	OciUrl string `json:"ociUrl,omitempty"`
	// OpsInsightsStatus: Output only. The Status of Operations Insights for this
	// Database.
	//
	// Possible values:
	//   "OPERATIONS_INSIGHTS_STATUS_UNSPECIFIED" - Default unspecified value.
	//   "ENABLING" - Indicates that the operations insights are being enabled.
	//   "ENABLED" - Indicates that the operations insights are enabled.
	//   "DISABLING" - Indicates that the operations insights are being disabled.
	//   "NOT_ENABLED" - Indicates that the operations insights are not enabled.
	//   "FAILED_ENABLING" - Indicates that the operations insights failed to
	// enable.
	//   "FAILED_DISABLING" - Indicates that the operations insights failed to
	// disable.
	OpsInsightsStatus string `json:"opsInsightsStatus,omitempty"`
	// PluggableDatabaseId: Optional. The ID of the pluggable database associated
	// with the Database. The ID must be unique within the project and location.
	PluggableDatabaseId string `json:"pluggableDatabaseId,omitempty"`
	// PluggableDatabaseName: Optional. The pluggable database associated with the
	// Database. The name must begin with an alphabetic character and can contain a
	// maximum of thirty alphanumeric characters.
	PluggableDatabaseName string `json:"pluggableDatabaseName,omitempty"`
	// Properties: Optional. The properties of the Database.
	Properties *DatabaseProperties `json:"properties,omitempty"`
	// TdeWalletPassword: Optional. The TDE wallet password for the database. Note:
	// Only one of `tde_wallet_password_secret_version` or `tde_wallet_password`
	// can be populated.
	TdeWalletPassword string `json:"tdeWalletPassword,omitempty"`
	// TdeWalletPasswordSecretVersion: Optional. The resource name of a secret
	// version in Secret Manager which contains the TDE wallet password for the
	// database. Format: projects/{project}/secrets/{secret}/versions/{version}.
	// Note: Only one of `tde_wallet_password_secret_version` or
	// `tde_wallet_password` can be populated.
	TdeWalletPasswordSecretVersion string `json:"tdeWalletPasswordSecretVersion,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "AdminPassword") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AdminPassword") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s Database) MarshalJSON() ([]byte, error) {
	type NoMethod Database
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// DatabaseCharacterSet: Details of the Database character set resource.
type DatabaseCharacterSet struct {
	// CharacterSet: Output only. The character set name for the Database which is
	// the ID in the resource name.
	CharacterSet string `json:"characterSet,omitempty"`
	// CharacterSetType: Output only. The character set type for the Database.
	//
	// Possible values:
	//   "CHARACTER_SET_TYPE_UNSPECIFIED" - Character set type is not specified.
	//   "DATABASE" - Character set type is set to database.
	//   "NATIONAL" - Character set type is set to national.
	CharacterSetType string `json:"characterSetType,omitempty"`
	// Name: Identifier. The name of the Database Character Set resource in the
	// following format:
	// projects/{project}/locations/{region}/databaseCharacterSets/{database_charact
	// er_set}
	Name string `json:"name,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CharacterSet") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CharacterSet") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s DatabaseCharacterSet) MarshalJSON() ([]byte, error) {
	type NoMethod DatabaseCharacterSet
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// DatabaseConnectionStringProfile: The connection string profile to allow
// clients to group.
// https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/datatypes/DatabaseConnectionStringProfile
type DatabaseConnectionStringProfile struct {
	// ConsumerGroup: Output only. The current consumer group being used by the
	// connection.
	//
	// Possible values:
	//   "CONSUMER_GROUP_UNSPECIFIED" - Default unspecified value.
	//   "HIGH" - High consumer group.
	//   "MEDIUM" - Medium consumer group.
	//   "LOW" - Low consumer group.
	//   "TP" - TP consumer group.
	//   "TPURGENT" - TPURGENT consumer group.
	ConsumerGroup string `json:"consumerGroup,omitempty"`
	// DisplayName: Output only. The display name for the database connection.
	DisplayName string `json:"displayName,omitempty"`
	// HostFormat: Output only. The host name format being currently used in
	// connection string.
	//
	// Possible values:
	//   "HOST_FORMAT_UNSPECIFIED" - Default unspecified value.
	//   "FQDN" - FQDN
	//   "IP" - IP
	HostFormat string `json:"hostFormat,omitempty"`
	// IsRegional: Output only. This field indicates if the connection string is
	// regional and is only applicable for cross-region Data Guard.
	IsRegional bool `json:"isRegional,omitempty"`
	// Protocol: Output only. The protocol being used by the connection.
	//
	// Possible values:
	//   "PROTOCOL_UNSPECIFIED" - Default unspecified value.
	//   "TCP" - Tcp
	//   "TCPS" - Tcps
	Protocol string `json:"protocol,omitempty"`
	// SessionMode: Output only. The current session mode of the connection.
	//
	// Possible values:
	//   "SESSION_MODE_UNSPECIFIED" - Default unspecified value.
	//   "DIRECT" - Direct
	//   "INDIRECT" - Indirect
	SessionMode string `json:"sessionMode,omitempty"`
	// SyntaxFormat: Output only. The syntax of the connection string.
	//
	// Possible values:
	//   "SYNTAX_FORMAT_UNSPECIFIED" - Default unspecified value.
	//   "LONG" - Long
	//   "EZCONNECT" - Ezconnect
	//   "EZCONNECTPLUS" - Ezconnectplus
	SyntaxFormat string `json:"syntaxFormat,omitempty"`
	// TlsAuthentication: Output only. This field indicates the TLS authentication
	// type of the connection.
	//
	// Possible values:
	//   "TLS_AUTHENTICATION_UNSPECIFIED" - Default unspecified value.
	//   "SERVER" - Server
	//   "MUTUAL" - Mutual
	TlsAuthentication string `json:"tlsAuthentication,omitempty"`
	// Value: Output only. The value of the connection string.
	Value string `json:"value,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ConsumerGroup") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ConsumerGroup") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s DatabaseConnectionStringProfile) MarshalJSON() ([]byte, error) {
	type NoMethod DatabaseConnectionStringProfile
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// DatabaseManagementConfig: The configuration of the Database Management
// service.
type DatabaseManagementConfig struct {
	// ManagementState: Output only. The status of the Database Management service.
	//
	// Possible values:
	//   "MANAGEMENT_STATE_UNSPECIFIED" - The status is not specified.
	//   "ENABLING" - The Database Management service is enabling.
	//   "ENABLED" - The Database Management service is enabled.
	//   "DISABLING" - The Database Management service is disabling.
	//   "DISABLED" - The Database Management service is disabled.
	//   "UPDATING" - The Database Management service is updating.
	//   "FAILED_ENABLING" - The Database Management service failed to enable.
	//   "FAILED_DISABLING" - The Database Management service failed to disable.
	//   "FAILED_UPDATING" - The Database Management service failed to update.
	ManagementState string `json:"managementState,omitempty"`
	// ManagementType: Output only. The Database Management type.
	//
	// Possible values:
	//   "MANAGEMENT_TYPE_UNSPECIFIED" - The type is not specified.
	//   "BASIC" - Basic Database Management.
	//   "ADVANCED" - Advanced Database Management.
	ManagementType string `json:"managementType,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ManagementState") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ManagementState") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s DatabaseManagementConfig) MarshalJSON() ([]byte, error) {
	type NoMethod DatabaseManagementConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// DatabaseProperties: The properties of a Database.
type DatabaseProperties struct {
	// DatabaseManagementConfig: Output only. The Database Management config.
	DatabaseManagementConfig *DatabaseManagementConfig `json:"databaseManagementConfig,omitempty"`
	// DbBackupConfig: Optional. Backup options for the Database.
	DbBackupConfig *DbBackupConfig `json:"dbBackupConfig,omitempty"`
	// DbVersion: Required. The Oracle Database version.
	DbVersion string `json:"dbVersion,omitempty"`
	// State: Output only. State of the Database.
	//
	// Possible values:
	//   "DATABASE_LIFECYCLE_STATE_UNSPECIFIED" - Default unspecified value.
	//   "PROVISIONING" - Indicates that the resource is in provisioning state.
	//   "AVAILABLE" - Indicates that the resource is in available state.
	//   "UPDATING" - Indicates that the resource is in updating state.
	//   "BACKUP_IN_PROGRESS" - Indicates that the resource is in backup in
	// progress state.
	//   "UPGRADING" - Indicates that the resource is in upgrading state.
	//   "CONVERTING" - Indicates that the resource is in converting state.
	//   "TERMINATING" - Indicates that the resource is in terminating state.
	//   "TERMINATED" - Indicates that the resource is in terminated state.
	//   "RESTORE_FAILED" - Indicates that the resource is in restore failed state.
	//   "FAILED" - Indicates that the resource is in failed state.
	State string `json:"state,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DatabaseManagementConfig")
	// to unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DatabaseManagementConfig") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s DatabaseProperties) MarshalJSON() ([]byte, error) {
	type NoMethod DatabaseProperties
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// DbBackupConfig: Backup Options for the Database.
type DbBackupConfig struct {
	// AutoBackupEnabled: Optional. If set to true, enables automatic backups on
	// the database.
	AutoBackupEnabled bool `json:"autoBackupEnabled,omitempty"`
	// AutoFullBackupDay: Optional. The day of the week on which the full backup
	// should be performed on the database. If no value is provided, it will
	// default to Sunday.
	//
	// Possible values:
	//   "DAY_OF_WEEK_UNSPECIFIED" - The day of the week is unspecified.
	//   "MONDAY" - Monday
	//   "TUESDAY" - Tuesday
	//   "WEDNESDAY" - Wednesday
	//   "THURSDAY" - Thursday
	//   "FRIDAY" - Friday
	//   "SATURDAY" - Saturday
	//   "SUNDAY" - Sunday
	AutoFullBackupDay string `json:"autoFullBackupDay,omitempty"`
	// AutoFullBackupWindow: Optional. The window in which the full backup should
	// be performed on the database. If no value is provided, the default is
	// anytime.
	//
	// Possible values:
	//   "BACKUP_WINDOW_UNSPECIFIED" - Default unspecified value.
	//   "SLOT_ONE" - 12:00 AM - 2:00 AM
	//   "SLOT_TWO" - 2:00 AM - 4:00 AM
	//   "SLOT_THREE" - 4:00 AM - 6:00 AM
	//   "SLOT_FOUR" - 6:00 AM - 8:00 AM
	//   "SLOT_FIVE" - 8:00 AM - 10:00 AM
	//   "SLOT_SIX" - 10:00 AM - 12:00 PM
	//   "SLOT_SEVEN" - 12:00 PM - 2:00 PM
	//   "SLOT_EIGHT" - 2:00 PM - 4:00 PM
	//   "SLOT_NINE" - 4:00 PM - 6:00 PM
	//   "SLOT_TEN" - 6:00 PM - 8:00 PM
	//   "SLOT_ELEVEN" - 8:00 PM - 10:00 PM
	//   "SLOT_TWELVE" - 10:00 PM - 12:00 AM
	AutoFullBackupWindow string `json:"autoFullBackupWindow,omitempty"`
	// AutoIncrementalBackupWindow: Optional. The window in which the incremental
	// backup should be performed on the database. If no value is provided, the
	// default is anytime except the auto full backup day.
	//
	// Possible values:
	//   "BACKUP_WINDOW_UNSPECIFIED" - Default unspecified value.
	//   "SLOT_ONE" - 12:00 AM - 2:00 AM
	//   "SLOT_TWO" - 2:00 AM - 4:00 AM
	//   "SLOT_THREE" - 4:00 AM - 6:00 AM
	//   "SLOT_FOUR" - 6:00 AM - 8:00 AM
	//   "SLOT_FIVE" - 8:00 AM - 10:00 AM
	//   "SLOT_SIX" - 10:00 AM - 12:00 PM
	//   "SLOT_SEVEN" - 12:00 PM - 2:00 PM
	//   "SLOT_EIGHT" - 2:00 PM - 4:00 PM
	//   "SLOT_NINE" - 4:00 PM - 6:00 PM
	//   "SLOT_TEN" - 6:00 PM - 8:00 PM
	//   "SLOT_ELEVEN" - 8:00 PM - 10:00 PM
	//   "SLOT_TWELVE" - 10:00 PM - 12:00 AM
	AutoIncrementalBackupWindow string `json:"autoIncrementalBackupWindow,omitempty"`
	// BackupDeletionPolicy: Optional. This defines when the backups will be
	// deleted after Database termination.
	//
	// Possible values:
	//   "BACKUP_DELETION_POLICY_UNSPECIFIED" - Default unspecified value.
	//   "DELETE_IMMEDIATELY" - Keeps the backup for predefined time i.e. 72 hours
	// and then delete permanently.
	//   "DELETE_AFTER_RETENTION_PERIOD" - Keeps the backups as per the policy
	// defined for database backups.
	BackupDeletionPolicy string `json:"backupDeletionPolicy,omitempty"`
	// BackupDestinationDetails: Optional. Details of the database backup
	// destinations.
	BackupDestinationDetails []*BackupDestinationDetails `json:"backupDestinationDetails,omitempty"`
	// RetentionPeriodDays: Optional. The number of days an automatic backup is
	// retained before being automatically deleted. This value determines the
	// earliest point in time to which a database can be restored. Min: 1, Max: 60.
	RetentionPeriodDays int64 `json:"retentionPeriodDays,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AutoBackupEnabled") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AutoBackupEnabled") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s DbBackupConfig) MarshalJSON() ([]byte, error) {
	type NoMethod DbBackupConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// DbHome: Details of the Database Home resource.
type DbHome struct {
	// Database: Required. The Database resource.
	Database *Database `json:"database,omitempty"`
	// DbVersion: Required. A valid Oracle Database version. For a list of
	// supported versions, use the ListDbVersions operation.
	DbVersion string `json:"dbVersion,omitempty"`
	// DisplayName: Optional. The display name for the Database Home. The name does
	// not have to be unique within your project.
	DisplayName string `json:"displayName,omitempty"`
	// IsUnifiedAuditingEnabled: Optional. Whether unified auditing is enabled for
	// the Database Home.
	IsUnifiedAuditingEnabled bool `json:"isUnifiedAuditingEnabled,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Database") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Database") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s DbHome) MarshalJSON() ([]byte, error) {
	type NoMethod DbHome
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// DbNode: Details of the database node resource.
// https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/DbNode/
type DbNode struct {
	// Name: Identifier. The name of the database node resource in the following
	// format:
	// projects/{project}/locations/{location}/cloudVmClusters/{cloud_vm_cluster}/db
	// Nodes/{db_node}
	Name string `json:"name,omitempty"`
	// Properties: Optional. Various properties of the database node.
	Properties *DbNodeProperties `json:"properties,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Name") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s DbNode) MarshalJSON() ([]byte, error) {
	type NoMethod DbNode
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// DbNodeProperties: Various properties and settings associated with Db node.
type DbNodeProperties struct {
	// CreateTime: Output only. The date and time that the database node was
	// created.
	CreateTime string `json:"createTime,omitempty"`
	// DbNodeStorageSizeGb: Optional. Local storage per database node.
	DbNodeStorageSizeGb int64 `json:"dbNodeStorageSizeGb,omitempty"`
	// DbServerOcid: Optional. Database server OCID.
	DbServerOcid string `json:"dbServerOcid,omitempty"`
	// Hostname: Optional. DNS
	Hostname string `json:"hostname,omitempty"`
	// MemorySizeGb: Memory allocated in GBs.
	MemorySizeGb int64 `json:"memorySizeGb,omitempty"`
	// Ocid: Output only. OCID of database node.
	Ocid string `json:"ocid,omitempty"`
	// OcpuCount: Optional. OCPU count per database node.
	OcpuCount int64 `json:"ocpuCount,omitempty"`
	// State: Output only. State of the database node.
	//
	// Possible values:
	//   "STATE_UNSPECIFIED" - Default unspecified value.
	//   "PROVISIONING" - Indicates that the resource is in provisioning state.
	//   "AVAILABLE" - Indicates that the resource is in available state.
	//   "UPDATING" - Indicates that the resource is in updating state.
	//   "STOPPING" - Indicates that the resource is in stopping state.
	//   "STOPPED" - Indicates that the resource is in stopped state.
	//   "STARTING" - Indicates that the resource is in starting state.
	//   "TERMINATING" - Indicates that the resource is in terminating state.
	//   "TERMINATED" - Indicates that the resource is in terminated state.
	//   "FAILED" - Indicates that the resource is in failed state.
	State string `json:"state,omitempty"`
	// TotalCpuCoreCount: Total CPU core count of the database node.
	TotalCpuCoreCount int64 `json:"totalCpuCoreCount,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CreateTime") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CreateTime") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s DbNodeProperties) MarshalJSON() ([]byte, error) {
	type NoMethod DbNodeProperties
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// DbServer: Details of the database server resource.
// https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/DbServer/
type DbServer struct {
	// DisplayName: Optional. User friendly name for this resource.
	DisplayName string `json:"displayName,omitempty"`
	// Name: Identifier. The name of the database server resource with the format:
	// projects/{project}/locations/{location}/cloudExadataInfrastructures/{cloud_ex
	// adata_infrastructure}/dbServers/{db_server}
	Name string `json:"name,omitempty"`
	// Properties: Optional. Various properties of the database server.
	Properties *DbServerProperties `json:"properties,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DisplayName") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DisplayName") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s DbServer) MarshalJSON() ([]byte, error) {
	type NoMethod DbServer
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// DbServerProperties: Various properties and settings associated with Exadata
// database server.
type DbServerProperties struct {
	// DbNodeIds: Output only. OCID of database nodes associated with the database
	// server.
	DbNodeIds []string `json:"dbNodeIds,omitempty"`
	// DbNodeStorageSizeGb: Optional. Local storage per VM.
	DbNodeStorageSizeGb int64 `json:"dbNodeStorageSizeGb,omitempty"`
	// MaxDbNodeStorageSizeGb: Optional. Maximum local storage per VM.
	MaxDbNodeStorageSizeGb int64 `json:"maxDbNodeStorageSizeGb,omitempty"`
	// MaxMemorySizeGb: Optional. Maximum memory allocated in GBs.
	MaxMemorySizeGb int64 `json:"maxMemorySizeGb,omitempty"`
	// MaxOcpuCount: Optional. Maximum OCPU count per database.
	MaxOcpuCount int64 `json:"maxOcpuCount,omitempty"`
	// MemorySizeGb: Optional. Memory allocated in GBs.
	MemorySizeGb int64 `json:"memorySizeGb,omitempty"`
	// Ocid: Output only. OCID of database server.
	Ocid string `json:"ocid,omitempty"`
	// OcpuCount: Optional. OCPU count per database.
	OcpuCount int64 `json:"ocpuCount,omitempty"`
	// State: Output only. State of the database server.
	//
	// Possible values:
	//   "STATE_UNSPECIFIED" - Default unspecified value.
	//   "CREATING" - Indicates that the resource is in creating state.
	//   "AVAILABLE" - Indicates that the resource is in available state.
	//   "UNAVAILABLE" - Indicates that the resource is in unavailable state.
	//   "DELETING" - Indicates that the resource is in deleting state.
	//   "DELETED" - Indicates that the resource is in deleted state.
	State string `json:"state,omitempty"`
	// VmCount: Optional. Vm count per database.
	VmCount int64 `json:"vmCount,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DbNodeIds") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DbNodeIds") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s DbServerProperties) MarshalJSON() ([]byte, error) {
	type NoMethod DbServerProperties
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// DbSystem: Details of the DbSystem (BaseDB) resource.
// https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/DbSystem/
type DbSystem struct {
	// CreateTime: Output only. The date and time that the DbSystem was created.
	CreateTime string `json:"createTime,omitempty"`
	// DisplayName: Required. The display name for the System db. The name does not
	// have to be unique within your project.
	DisplayName string `json:"displayName,omitempty"`
	// EntitlementId: Output only. The ID of the subscription entitlement
	// associated with the DbSystem
	EntitlementId string `json:"entitlementId,omitempty"`
	// GcpOracleZone: Optional. The GCP Oracle zone where Oracle DbSystem is
	// hosted. Example: us-east4-b-r2. If not specified, the system will pick a
	// zone based on availability.
	GcpOracleZone string `json:"gcpOracleZone,omitempty"`
	// Labels: Optional. The labels or tags associated with the DbSystem.
	Labels map[string]string `json:"labels,omitempty"`
	// Name: Identifier. The name of the DbSystem resource in the following format:
	// projects/{project}/locations/{region}/dbSystems/{db_system}
	Name string `json:"name,omitempty"`
	// OciUrl: Output only. HTTPS link to OCI resources exposed to Customer via UI
	// Interface.
	OciUrl string `json:"ociUrl,omitempty"`
	// OdbNetwork: Optional. The name of the OdbNetwork associated with the
	// DbSystem. Format:
	// projects/{project}/locations/{location}/odbNetworks/{odb_network} It is
	// optional but if specified, this should match the parent ODBNetwork of the
	// OdbSubnet.
	OdbNetwork string `json:"odbNetwork,omitempty"`
	// OdbSubnet: Required. The name of the OdbSubnet associated with the DbSystem
	// for IP allocation. Format:
	// projects/{project}/locations/{location}/odbNetworks/{odb_network}/odbSubnets/
	// {odb_subnet}
	OdbSubnet string `json:"odbSubnet,omitempty"`
	// Properties: Optional. The properties of the DbSystem.
	Properties *DbSystemProperties `json:"properties,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "CreateTime") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CreateTime") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s DbSystem) MarshalJSON() ([]byte, error) {
	type NoMethod DbSystem
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// DbSystemInitialStorageSize: Summary of the DbSystem initial storage size.
type DbSystemInitialStorageSize struct {
	// Name: Output only. The name of the resource.
	Name string `json:"name,omitempty"`
	// Properties: Output only. The properties of the DbSystem initial storage size
	// summary.
	Properties *DbSystemInitialStorageSizeProperties `json:"properties,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Name") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s DbSystemInitialStorageSize) MarshalJSON() ([]byte, error) {
	type NoMethod DbSystemInitialStorageSize
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// DbSystemInitialStorageSizeProperties: The properties of a DbSystem initial
// storage size summary.
type DbSystemInitialStorageSizeProperties struct {
	// LaunchFromBackupStorageSizeDetails: Output only. List of storage disk
	// details available for launches from backup.
	LaunchFromBackupStorageSizeDetails []*StorageSizeDetails `json:"launchFromBackupStorageSizeDetails,omitempty"`
	// ShapeType: Output only. VM shape platform type
	//
	// Possible values:
	//   "SHAPE_TYPE_UNSPECIFIED" - Unspecified shape type.
	//   "STANDARD_X86" - Standard X86.
	ShapeType string `json:"shapeType,omitempty"`
	// StorageManagement: Output only. The storage option used in DB system.
	//
	// Possible values:
	//   "STORAGE_MANAGEMENT_UNSPECIFIED" - Unspecified storage management.
	//   "ASM" - Automatic Storage Management.
	//   "LVM" - Logical Volume Management.
	StorageManagement string `json:"storageManagement,omitempty"`
	// StorageSizeDetails: Output only. List of storage disk details.
	StorageSizeDetails []*StorageSizeDetails `json:"storageSizeDetails,omitempty"`
	// ForceSendFields is a list of field names (e.g.
	// "LaunchFromBackupStorageSizeDetails") to unconditionally include in API
	// requests. By default, fields with empty or default values are omitted from
	// API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g.
	// "LaunchFromBackupStorageSizeDetails") to include in API requests with the
	// JSON null value. By default, fields with empty values are omitted from API
	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-NullFields for
	// more details.
	NullFields []string `json:"-"`
}

func (s DbSystemInitialStorageSizeProperties) MarshalJSON() ([]byte, error) {
	type NoMethod DbSystemInitialStorageSizeProperties
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// DbSystemOptions: Details of the DbSystem Options.
type DbSystemOptions struct {
	// StorageManagement: Optional. The storage option used in DB system.
	//
	// Possible values:
	//   "STORAGE_MANAGEMENT_UNSPECIFIED" - The storage management is unspecified.
	//   "ASM" - Automatic storage management. This option is not supported. Only
	// LVM is supported.
	//   "LVM" - Logical Volume management.
	StorageManagement string `json:"storageManagement,omitempty"`
	// ForceSendFields is a list of field names (e.g. "StorageManagement") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "StorageManagement") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s DbSystemOptions) MarshalJSON() ([]byte, error) {
	type NoMethod DbSystemOptions
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// DbSystemProperties: The properties of a DbSystem.
type DbSystemProperties struct {
	// ComputeCount: Required. The number of CPU cores to enable for the DbSystem.
	ComputeCount int64 `json:"computeCount,omitempty"`
	// ComputeModel: Optional. The compute model of the DbSystem.
	//
	// Possible values:
	//   "COMPUTE_MODEL_UNSPECIFIED" - The compute model is unspecified.
	//   "ECPU" - The compute model is virtual.
	//   "OCPU" - The compute model is physical.
	ComputeModel string `json:"computeModel,omitempty"`
	// DataCollectionOptions: Optional. Data collection options for diagnostics.
	DataCollectionOptions *DataCollectionOptionsDbSystem `json:"dataCollectionOptions,omitempty"`
	// DataStorageSizeGb: Optional. The data storage size in GB that is currently
	// available to DbSystems.
	DataStorageSizeGb int64 `json:"dataStorageSizeGb,omitempty"`
	// DatabaseEdition: Required. The database edition of the DbSystem.
	//
	// Possible values:
	//   "DB_SYSTEM_DATABASE_EDITION_UNSPECIFIED" - The database edition is
	// unspecified.
	//   "STANDARD_EDITION" - The database edition is Standard.
	//   "ENTERPRISE_EDITION" - The database edition is Enterprise.
	//   "ENTERPRISE_EDITION_HIGH_PERFORMANCE" - The database edition is Enterprise
	// Edition.
	DatabaseEdition string `json:"databaseEdition,omitempty"`
	// DbHome: Optional. Details for creating a Database Home.
	DbHome *DbHome `json:"dbHome,omitempty"`
	// DbSystemOptions: Optional. The options for the DbSystem.
	DbSystemOptions *DbSystemOptions `json:"dbSystemOptions,omitempty"`
	// Domain: Optional. The host domain name of the DbSystem.
	Domain string `json:"domain,omitempty"`
	// Hostname: Output only. The hostname of the DbSystem.
	Hostname string `json:"hostname,omitempty"`
	// HostnamePrefix: Optional. Prefix for DB System host names.
	HostnamePrefix string `json:"hostnamePrefix,omitempty"`
	// InitialDataStorageSizeGb: Required. The initial data storage size in GB.
	InitialDataStorageSizeGb int64 `json:"initialDataStorageSizeGb,omitempty"`
	// LicenseModel: Required. The license model of the DbSystem.
	//
	// Possible values:
	//   "LICENSE_MODEL_UNSPECIFIED" - The license model is unspecified.
	//   "LICENSE_INCLUDED" - The license model is included.
	//   "BRING_YOUR_OWN_LICENSE" - The license model is bring your own license.
	LicenseModel string `json:"licenseModel,omitempty"`
	// LifecycleState: Output only. State of the DbSystem.
	//
	// Possible values:
	//   "DB_SYSTEM_LIFECYCLE_STATE_UNSPECIFIED" - Default unspecified value.
	//   "PROVISIONING" - Indicates that the resource is in provisioning state.
	//   "AVAILABLE" - Indicates that the resource is in available state.
	//   "UPDATING" - Indicates that the resource is in updating state.
	//   "TERMINATING" - Indicates that the resource is in terminating state.
	//   "TERMINATED" - Indicates that the resource is in terminated state.
	//   "FAILED" - Indicates that the resource is in failed state.
	//   "MIGRATED" - Indicates that the resource has been migrated.
	//   "MAINTENANCE_IN_PROGRESS" - Indicates that the resource is in maintenance
	// in progress state.
	//   "NEEDS_ATTENTION" - Indicates that the resource needs attention.
	//   "UPGRADING" - Indicates that the resource is upgrading.
	LifecycleState string `json:"lifecycleState,omitempty"`
	// MemorySizeGb: Optional. The memory size in GB.
	MemorySizeGb int64 `json:"memorySizeGb,omitempty"`
	// NodeCount: Optional. The number of nodes in the DbSystem.
	NodeCount int64 `json:"nodeCount,omitempty"`
	// Ocid: Output only. OCID of the DbSystem.
	Ocid string `json:"ocid,omitempty"`
	// PrivateIp: Optional. The private IP address of the DbSystem.
	PrivateIp string `json:"privateIp,omitempty"`
	// RecoStorageSizeGb: Optional. The reco/redo storage size in GB.
	RecoStorageSizeGb int64 `json:"recoStorageSizeGb,omitempty"`
	// Shape: Required. Shape of DB System.
	Shape string `json:"shape,omitempty"`
	// SshPublicKeys: Required. SSH public keys to be stored with the DbSystem.
	SshPublicKeys []string `json:"sshPublicKeys,omitempty"`
	// TimeZone: Optional. Time zone of the DbSystem.
	TimeZone *TimeZone `json:"timeZone,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ComputeCount") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ComputeCount") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s DbSystemProperties) MarshalJSON() ([]byte, error) {
	type NoMethod DbSystemProperties
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// DbSystemShape: Details of the Database System Shapes resource.
// https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/DbSystemShapeSummary/
type DbSystemShape struct {
	// AvailableCoreCountPerNode: Optional. Number of cores per node.
	AvailableCoreCountPerNode int64 `json:"availableCoreCountPerNode,omitempty"`
	// AvailableDataStorageTb: Optional. Storage per storage server in terabytes.
	AvailableDataStorageTb int64 `json:"availableDataStorageTb,omitempty"`
	// AvailableMemoryPerNodeGb: Optional. Memory per database server node in
	// gigabytes.
	AvailableMemoryPerNodeGb int64 `json:"availableMemoryPerNodeGb,omitempty"`
	// MaxNodeCount: Optional. Maximum number of database servers.
	MaxNodeCount int64 `json:"maxNodeCount,omitempty"`
	// MaxStorageCount: Optional. Maximum number of storage servers.
	MaxStorageCount int64 `json:"maxStorageCount,omitempty"`
	// MinCoreCountPerNode: Optional. Minimum core count per node.
	MinCoreCountPerNode int64 `json:"minCoreCountPerNode,omitempty"`
	// MinDbNodeStoragePerNodeGb: Optional. Minimum node storage per database
	// server in gigabytes.
	MinDbNodeStoragePerNodeGb int64 `json:"minDbNodeStoragePerNodeGb,omitempty"`
	// MinMemoryPerNodeGb: Optional. Minimum memory per node in gigabytes.
	MinMemoryPerNodeGb int64 `json:"minMemoryPerNodeGb,omitempty"`
	// MinNodeCount: Optional. Minimum number of database servers.
	MinNodeCount int64 `json:"minNodeCount,omitempty"`
	// MinStorageCount: Optional. Minimum number of storage servers.
	MinStorageCount int64 `json:"minStorageCount,omitempty"`
	// Name: Identifier. The name of the Database System Shape resource with the
	// format:
	// projects/{project}/locations/{region}/dbSystemShapes/{db_system_shape}
	Name string `json:"name,omitempty"`
	// Shape: Optional. shape
	Shape string `json:"shape,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AvailableCoreCountPerNode")
	// to unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AvailableCoreCountPerNode") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s DbSystemShape) MarshalJSON() ([]byte, error) {
	type NoMethod DbSystemShape
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// DbVersion: A valid Oracle Database version.
type DbVersion struct {
	// Name: Output only. The name of the DbVersion resource in the following
	// format: projects/{project}/locations/{region}/dbVersions/{db_version}
	Name string `json:"name,omitempty"`
	// Properties: Output only. The properties of the DbVersion.
	Properties *DbVersionProperties `json:"properties,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Name") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s DbVersion) MarshalJSON() ([]byte, error) {
	type NoMethod DbVersion
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// DbVersionProperties: The properties of a DbVersion.
type DbVersionProperties struct {
	// IsLatestForMajorVersion: Output only. True if this version of the Oracle
	// Database software is the latest version for a release.
	IsLatestForMajorVersion bool `json:"isLatestForMajorVersion,omitempty"`
	// IsPreviewDbVersion: Output only. True if this version of the Oracle Database
	// software is the preview version.
	IsPreviewDbVersion bool `json:"isPreviewDbVersion,omitempty"`
	// IsUpgradeSupported: Output only. True if this version of the Oracle Database
	// software is supported for Upgrade.
	IsUpgradeSupported bool `json:"isUpgradeSupported,omitempty"`
	// SupportsPdb: Output only. True if this version of the Oracle Database
	// software supports pluggable databases.
	SupportsPdb bool `json:"supportsPdb,omitempty"`
	// Version: Output only. A valid Oracle Database version.
	Version string `json:"version,omitempty"`
	// ForceSendFields is a list of field names (e.g. "IsLatestForMajorVersion") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "IsLatestForMajorVersion") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s DbVersionProperties) MarshalJSON() ([]byte, error) {
	type NoMethod DbVersionProperties
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// DefinedTagValue: Wrapper message for the value of a defined tag.
type DefinedTagValue struct {
	// Tags: The tags within the namespace.
	Tags map[string]string `json:"tags,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Tags") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Tags") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s DefinedTagValue) MarshalJSON() ([]byte, error) {
	type NoMethod DefinedTagValue
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// DeploymentDiagnosticData: The deployment diagnostic data.
type DeploymentDiagnosticData struct {
	// Bucket: Output only. The bucket name.
	Bucket string `json:"bucket,omitempty"`
	// DiagnosticEndTime: Output only. The time diagnostic end.
	DiagnosticEndTime string `json:"diagnosticEndTime,omitempty"`
	// DiagnosticStartTime: Output only. The time diagnostic start.
	DiagnosticStartTime string `json:"diagnosticStartTime,omitempty"`
	// DiagnosticState: Output only. The diagnostic state.
	//
	// Possible values:
	//   "DIAGNOSTIC_STATE_UNSPECIFIED" - The diagnostic state is unspecified.
	//   "IN_PROGRESS" - The diagnostic is in progress.
	//   "SUCCEEDED" - The diagnostic completed successfully.
	//   "FAILED" - The diagnostic failed.
	DiagnosticState string `json:"diagnosticState,omitempty"`
	// Namespace: Output only. The namespace name.
	Namespace string `json:"namespace,omitempty"`
	// Object: Output only. The object name.
	Object string `json:"object,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Bucket") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Bucket") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s DeploymentDiagnosticData) MarshalJSON() ([]byte, error) {
	type NoMethod DeploymentDiagnosticData
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// Empty: A generic empty message that you can re-use to avoid defining
// duplicated empty messages in your APIs. A typical example is to use it as
// the request or the response type of an API method. For instance: service Foo
// { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
type Empty struct {
	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
}

// EncryptionKey: The encryption key used to encrypt the Autonomous Database.
type EncryptionKey struct {
	// KmsKey: Optional. The KMS key used to encrypt the Autonomous Database. This
	// field is required if the provider is GOOGLE_MANAGED. The name of the KMS key
	// resource in the following format:
	// `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{cryp
	// to_key}`.
	KmsKey string `json:"kmsKey,omitempty"`
	// Provider: Optional. The provider of the encryption key.
	//
	// Possible values:
	//   "PROVIDER_UNSPECIFIED" - Default unspecified value.
	//   "GOOGLE_MANAGED" - Google Managed KMS key, if selected, please provide the
	// KMS key name.
	//   "ORACLE_MANAGED" - Oracle Managed.
	Provider string `json:"provider,omitempty"`
	// ForceSendFields is a list of field names (e.g. "KmsKey") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "KmsKey") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s EncryptionKey) MarshalJSON() ([]byte, error) {
	type NoMethod EncryptionKey
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// EncryptionKeyHistoryEntry: The history of the encryption keys used to
// encrypt the Autonomous Database.
type EncryptionKeyHistoryEntry struct {
	// ActivationTime: Output only. The date and time when the encryption key was
	// activated on the Autonomous Database..
	ActivationTime string `json:"activationTime,omitempty"`
	// EncryptionKey: Output only. The encryption key used to encrypt the
	// Autonomous Database.
	EncryptionKey *EncryptionKey `json:"encryptionKey,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ActivationTime") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ActivationTime") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s EncryptionKeyHistoryEntry) MarshalJSON() ([]byte, error) {
	type NoMethod EncryptionKeyHistoryEntry
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// Entitlement: Details of the Entitlement resource.
type Entitlement struct {
	// CloudAccountDetails: Details of the OCI Cloud Account.
	CloudAccountDetails *CloudAccountDetails `json:"cloudAccountDetails,omitempty"`
	// EntitlementId: Output only. Google Cloud Marketplace order ID (aka
	// entitlement ID)
	EntitlementId string `json:"entitlementId,omitempty"`
	// Name: Identifier. The name of the Entitlement resource with the format:
	// projects/{project}/locations/{region}/entitlements/{entitlement}
	Name string `json:"name,omitempty"`
	// State: Output only. Entitlement State.
	//
	// Possible values:
	//   "STATE_UNSPECIFIED" - Default unspecified value.
	//   "ACCOUNT_NOT_LINKED" - Account not linked.
	//   "ACCOUNT_NOT_ACTIVE" - Account is linked but not active.
	//   "ACTIVE" - Entitlement and Account are active.
	//   "ACCOUNT_SUSPENDED" - Account is suspended.
	//   "NOT_APPROVED_IN_PRIVATE_MARKETPLACE" - Entitlement is not approved in
	// private marketplace.
	State string `json:"state,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CloudAccountDetails") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CloudAccountDetails") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s Entitlement) MarshalJSON() ([]byte, error) {
	type NoMethod Entitlement
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// ExadbVmCluster: ExadbVmCluster represents a cluster of VMs that are used to
// run Exadata workloads.
// https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/ExadbVmCluster/
type ExadbVmCluster struct {
	// BackupOdbSubnet: Required. Immutable. The name of the backup OdbSubnet
	// associated with the ExadbVmCluster. Format:
	// projects/{project}/locations/{location}/odbNetworks/{odb_network}/odbSubnets/
	// {odb_subnet}
	BackupOdbSubnet string `json:"backupOdbSubnet,omitempty"`
	// CreateTime: Output only. The date and time that the ExadbVmCluster was
	// created.
	CreateTime string `json:"createTime,omitempty"`
	// DisplayName: Required. Immutable. The display name for the ExadbVmCluster.
	// The name does not have to be unique within your project. The name must be
	// 1-255 characters long and can only contain alphanumeric characters.
	DisplayName string `json:"displayName,omitempty"`
	// EntitlementId: Output only. The ID of the subscription entitlement
	// associated with the ExadbVmCluster.
	EntitlementId string `json:"entitlementId,omitempty"`
	// GcpOracleZone: Output only. Immutable. The GCP Oracle zone where Oracle
	// ExadbVmCluster is hosted. Example: us-east4-b-r2. During creation, the
	// system will pick the zone assigned to the ExascaleDbStorageVault.
	GcpOracleZone string `json:"gcpOracleZone,omitempty"`
	// Labels: Optional. The labels or tags associated with the ExadbVmCluster.
	Labels map[string]string `json:"labels,omitempty"`
	// Name: Identifier. The name of the ExadbVmCluster resource in the following
	// format:
	// projects/{project}/locations/{region}/exadbVmClusters/{exadb_vm_cluster}
	Name string `json:"name,omitempty"`
	// OdbNetwork: Optional. Immutable. The name of the OdbNetwork associated with
	// the ExadbVmCluster. Format:
	// projects/{project}/locations/{location}/odbNetworks/{odb_network} It is
	// optional but if specified, this should match the parent ODBNetwork of the
	// OdbSubnet.
	OdbNetwork string `json:"odbNetwork,omitempty"`
	// OdbSubnet: Required. Immutable. The name of the OdbSubnet associated with
	// the ExadbVmCluster for IP allocation. Format:
	// projects/{project}/locations/{location}/odbNetworks/{odb_network}/odbSubnets/
	// {odb_subnet}
	OdbSubnet string `json:"odbSubnet,omitempty"`
	// Properties: Required. The properties of the ExadbVmCluster.
	Properties *ExadbVmClusterProperties `json:"properties,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "BackupOdbSubnet") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BackupOdbSubnet") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s ExadbVmCluster) MarshalJSON() ([]byte, error) {
	type NoMethod ExadbVmCluster
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// ExadbVmClusterProperties: The properties of an ExadbVmCluster.
type ExadbVmClusterProperties struct {
	// AdditionalEcpuCountPerNode: Optional. Immutable. The number of additional
	// ECPUs per node for an Exadata VM cluster on exascale infrastructure.
	AdditionalEcpuCountPerNode int64 `json:"additionalEcpuCountPerNode,omitempty"`
	// ClusterName: Optional. Immutable. The cluster name for Exascale vm cluster.
	// The cluster name must begin with an alphabetic character and may contain
	// hyphens(-) but can not contain underscores(_). It should be not more than 11
	// characters and is not case sensitive. OCI Cluster name.
	ClusterName string `json:"clusterName,omitempty"`
	// DataCollectionOptions: Optional. Immutable. Indicates user preference for
	// data collection options.
	DataCollectionOptions *DataCollectionOptionsCommon `json:"dataCollectionOptions,omitempty"`
	// EnabledEcpuCountPerNode: Required. Immutable. The number of ECPUs enabled
	// per node for an exadata vm cluster on exascale infrastructure.
	EnabledEcpuCountPerNode int64 `json:"enabledEcpuCountPerNode,omitempty"`
	// ExascaleDbStorageVault: Required. Immutable. The name of
	// ExascaleDbStorageVault associated with the ExadbVmCluster. It can refer to
	// an existing ExascaleDbStorageVault. Or a new one can be created during the
	// ExadbVmCluster creation (requires storage_vault_properties to be set).
	// Format:
	// projects/{project}/locations/{location}/exascaleDbStorageVaults/{exascale_db_
	// storage_vault}
	ExascaleDbStorageVault string `json:"exascaleDbStorageVault,omitempty"`
	// GiVersion: Output only. The Oracle Grid Infrastructure (GI) software
	// version.
	GiVersion string `json:"giVersion,omitempty"`
	// GridImageId: Required. Immutable. Grid Infrastructure Version.
	GridImageId string `json:"gridImageId,omitempty"`
	// Hostname: Output only. The hostname of the ExadbVmCluster.
	Hostname string `json:"hostname,omitempty"`
	// HostnamePrefix: Required. Immutable. Prefix for VM cluster host names.
	HostnamePrefix string `json:"hostnamePrefix,omitempty"`
	// LicenseModel: Optional. Immutable. The license type of the ExadbVmCluster.
	//
	// Possible values:
	//   "LICENSE_MODEL_UNSPECIFIED" - Unspecified.
	//   "LICENSE_INCLUDED" - Default is license included.
	//   "BRING_YOUR_OWN_LICENSE" - Bring your own license.
	LicenseModel string `json:"licenseModel,omitempty"`
	// LifecycleState: Output only. State of the cluster.
	//
	// Possible values:
	//   "EXADB_VM_CLUSTER_LIFECYCLE_STATE_UNSPECIFIED" - Default unspecified
	// value.
	//   "PROVISIONING" - Indicates that the resource is in provisioning state.
	//   "AVAILABLE" - Indicates that the resource is in available state.
	//   "UPDATING" - Indicates that the resource is in updating state.
	//   "TERMINATING" - Indicates that the resource is in terminating state.
	//   "TERMINATED" - Indicates that the resource is in terminated state.
	//   "FAILED" - Indicates that the resource is in failed state.
	//   "MAINTENANCE_IN_PROGRESS" - Indicates that the resource is in maintenance
	// in progress state.
	LifecycleState string `json:"lifecycleState,omitempty"`
	// MemorySizeGb: Output only. Memory per VM (GB) (Read-only): Shows the amount
	// of memory allocated to each VM. Memory is calculated based on 2.75 GB per
	// Total ECPUs.
	MemorySizeGb int64 `json:"memorySizeGb,omitempty"`
	// NodeCount: Required. The number of nodes/VMs in the ExadbVmCluster.
	NodeCount int64 `json:"nodeCount,omitempty"`
	// OciUri: Output only. Deep link to the OCI console to view this resource.
	OciUri string `json:"ociUri,omitempty"`
	// ScanListenerPortTcp: Optional. Immutable. SCAN listener port - TCP
	ScanListenerPortTcp int64 `json:"scanListenerPortTcp,omitempty"`
	// ShapeAttribute: Required. Immutable. The shape attribute of the VM cluster.
	// The type of Exascale storage used for Exadata VM cluster. The default is
	// SMART_STORAGE which supports Oracle Database 23ai and later
	//
	// Possible values:
	//   "SHAPE_ATTRIBUTE_UNSPECIFIED" - Default unspecified value.
	//   "SMART_STORAGE" - Indicates that the resource is in smart storage.
	//   "BLOCK_STORAGE" - Indicates that the resource is in block storage.
	ShapeAttribute string `json:"shapeAttribute,omitempty"`
	// SshPublicKeys: Required. Immutable. The SSH public keys for the
	// ExadbVmCluster.
	SshPublicKeys []string `json:"sshPublicKeys,omitempty"`
	// TimeZone: Optional. Immutable. The time zone of the ExadbVmCluster.
	TimeZone *TimeZone `json:"timeZone,omitempty"`
	// VmFileSystemStorage: Required. Immutable. Total storage details for the
	// ExadbVmCluster.
	VmFileSystemStorage *ExadbVmClusterStorageDetails `json:"vmFileSystemStorage,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AdditionalEcpuCountPerNode")
	// to unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AdditionalEcpuCountPerNode") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s ExadbVmClusterProperties) MarshalJSON() ([]byte, error) {
	type NoMethod ExadbVmClusterProperties
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// ExadbVmClusterStorageDetails: The storage allocation for the exadbvmcluster,
// in gigabytes (GB).
type ExadbVmClusterStorageDetails struct {
	// SizeInGbsPerNode: Required. The storage allocation for the exadbvmcluster
	// per node, in gigabytes (GB). This field is used to calculate the total
	// storage allocation for the exadbvmcluster.
	SizeInGbsPerNode int64 `json:"sizeInGbsPerNode,omitempty"`
	// ForceSendFields is a list of field names (e.g. "SizeInGbsPerNode") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "SizeInGbsPerNode") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s ExadbVmClusterStorageDetails) MarshalJSON() ([]byte, error) {
	type NoMethod ExadbVmClusterStorageDetails
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// ExascaleConfig: Details of the Exascale configuration for the Exadata
// Infrastructure.
type ExascaleConfig struct {
	// AvailableStorageSizeGb: Output only. Available storage size for Exascale in
	// GBs.
	AvailableStorageSizeGb int64 `json:"availableStorageSizeGb,omitempty"`
	// TotalStorageSizeGb: Output only. Total storage size needed for Exascale in
	// GBs.
	TotalStorageSizeGb int64 `json:"totalStorageSizeGb,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AvailableStorageSizeGb") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AvailableStorageSizeGb") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s ExascaleConfig) MarshalJSON() ([]byte, error) {
	type NoMethod ExascaleConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// ExascaleDbStorageDetails: The storage details of the ExascaleDbStorageVault.
type ExascaleDbStorageDetails struct {
	// AvailableSizeGbs: Output only. The available storage capacity for the
	// ExascaleDbStorageVault, in gigabytes (GB).
	AvailableSizeGbs int64 `json:"availableSizeGbs,omitempty"`
	// TotalSizeGbs: Required. The total storage allocation for the
	// ExascaleDbStorageVault, in gigabytes (GB).
	TotalSizeGbs int64 `json:"totalSizeGbs,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AvailableSizeGbs") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AvailableSizeGbs") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s ExascaleDbStorageDetails) MarshalJSON() ([]byte, error) {
	type NoMethod ExascaleDbStorageDetails
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// ExascaleDbStorageVault: ExascaleDbStorageVault represents a storage vault
// exadb vm cluster resource.
// https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/ExascaleDbStorageVault/
type ExascaleDbStorageVault struct {
	// CreateTime: Output only. The date and time when the ExascaleDbStorageVault
	// was created.
	CreateTime string `json:"createTime,omitempty"`
	// DisplayName: Required. The display name for the ExascaleDbStorageVault. The
	// name does not have to be unique within your project. The name must be 1-255
	// characters long and can only contain alphanumeric characters.
	DisplayName string `json:"displayName,omitempty"`
	// EntitlementId: Output only. The ID of the subscription entitlement
	// associated with the ExascaleDbStorageVault.
	EntitlementId string `json:"entitlementId,omitempty"`
	// ExadataInfrastructure: Optional. The Exadata Infrastructure resource on
	// which ExascaleDbStorageVault resource is created, in the following format:
	// projects/{project}/locations/{region}/cloudExadataInfrastuctures/{cloud_extra
	// data_infrastructure}
	ExadataInfrastructure string `json:"exadataInfrastructure,omitempty"`
	// GcpOracleZone: Optional. The GCP Oracle zone where Oracle
	// ExascaleDbStorageVault is hosted. Example: us-east4-b-r2. If not specified,
	// the system will pick a zone based on availability.
	GcpOracleZone string `json:"gcpOracleZone,omitempty"`
	// Labels: Optional. The labels or tags associated with the
	// ExascaleDbStorageVault.
	Labels map[string]string `json:"labels,omitempty"`
	// Name: Identifier. The resource name of the ExascaleDbStorageVault. Format:
	// projects/{project}/locations/{location}/exascaleDbStorageVaults/{exascale_db_
	// storage_vault}
	Name string `json:"name,omitempty"`
	// Properties: Required. The properties of the ExascaleDbStorageVault.
	Properties *ExascaleDbStorageVaultProperties `json:"properties,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "CreateTime") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CreateTime") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s ExascaleDbStorageVault) MarshalJSON() ([]byte, error) {
	type NoMethod ExascaleDbStorageVault
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// ExascaleDbStorageVaultProperties: The properties of the
// ExascaleDbStorageVault. next ID: 12
type ExascaleDbStorageVaultProperties struct {
	// AdditionalFlashCachePercent: Optional. The size of additional flash cache in
	// percentage of high capacity database storage.
	AdditionalFlashCachePercent int64 `json:"additionalFlashCachePercent,omitempty"`
	// AttachedShapeAttributes: Output only. The shape attributes of the VM
	// clusters attached to the ExascaleDbStorageVault.
	//
	// Possible values:
	//   "SHAPE_ATTRIBUTE_UNSPECIFIED" - Default unspecified value.
	//   "SMART_STORAGE" - Indicates that the resource is in smart storage.
	//   "BLOCK_STORAGE" - Indicates that the resource is in block storage.
	AttachedShapeAttributes []string `json:"attachedShapeAttributes,omitempty"`
	// AvailableShapeAttributes: Output only. The shape attributes available for
	// the VM clusters to be attached to the ExascaleDbStorageVault.
	//
	// Possible values:
	//   "SHAPE_ATTRIBUTE_UNSPECIFIED" - Default unspecified value.
	//   "SMART_STORAGE" - Indicates that the resource is in smart storage.
	//   "BLOCK_STORAGE" - Indicates that the resource is in block storage.
	AvailableShapeAttributes []string `json:"availableShapeAttributes,omitempty"`
	// Description: Optional. The description of the ExascaleDbStorageVault.
	Description string `json:"description,omitempty"`
	// ExascaleDbStorageDetails: Required. The storage details of the
	// ExascaleDbStorageVault.
	ExascaleDbStorageDetails *ExascaleDbStorageDetails `json:"exascaleDbStorageDetails,omitempty"`
	// OciUri: Output only. Deep link to the OCI console to view this resource.
	OciUri string `json:"ociUri,omitempty"`
	// Ocid: Output only. The OCID for the ExascaleDbStorageVault.
	Ocid string `json:"ocid,omitempty"`
	// State: Output only. The state of the ExascaleDbStorageVault.
	//
	// Possible values:
	//   "STATE_UNSPECIFIED" - The state of the ExascaleDbStorageVault is
	// unspecified.
	//   "PROVISIONING" - The ExascaleDbStorageVault is being provisioned.
	//   "AVAILABLE" - The ExascaleDbStorageVault is available.
	//   "UPDATING" - The ExascaleDbStorageVault is being updated.
	//   "TERMINATING" - The ExascaleDbStorageVault is being deleted.
	//   "TERMINATED" - The ExascaleDbStorageVault has been deleted.
	//   "FAILED" - The ExascaleDbStorageVault has failed.
	State string `json:"state,omitempty"`
	// TimeZone: Output only. The time zone of the ExascaleDbStorageVault.
	TimeZone *TimeZone `json:"timeZone,omitempty"`
	// VmClusterCount: Output only. The number of VM clusters associated with the
	// ExascaleDbStorageVault.
	VmClusterCount int64 `json:"vmClusterCount,omitempty"`
	// VmClusterIds: Output only. The list of VM cluster OCIDs associated with the
	// ExascaleDbStorageVault.
	VmClusterIds []string `json:"vmClusterIds,omitempty"`
	// ForceSendFields is a list of field names (e.g.
	// "AdditionalFlashCachePercent") to unconditionally include in API requests.
	// By default, fields with empty or default values are omitted from API
	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields
	// for more details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AdditionalFlashCachePercent") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s ExascaleDbStorageVaultProperties) MarshalJSON() ([]byte, error) {
	type NoMethod ExascaleDbStorageVaultProperties
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// FailoverAutonomousDatabaseRequest: The request for
// `OracleDatabase.FailoverAutonomousDatabase`.
type FailoverAutonomousDatabaseRequest struct {
	// PeerAutonomousDatabase: Optional. The peer database name to fail over to.
	// Required for cross-region standby, and must be omitted for in-region Data
	// Guard.
	PeerAutonomousDatabase string `json:"peerAutonomousDatabase,omitempty"`
	// ForceSendFields is a list of field names (e.g. "PeerAutonomousDatabase") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "PeerAutonomousDatabase") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s FailoverAutonomousDatabaseRequest) MarshalJSON() ([]byte, error) {
	type NoMethod FailoverAutonomousDatabaseRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GenerateAutonomousDatabaseWalletRequest: The request for
// `AutonomousDatabase.GenerateWallet`.
type GenerateAutonomousDatabaseWalletRequest struct {
	// IsRegional: Optional. True when requesting regional connection strings in
	// PDB connect info, applicable to cross-region Data Guard only.
	IsRegional bool `json:"isRegional,omitempty"`
	// Password: Required. The password used to encrypt the keys inside the wallet.
	// The password must be a minimum of 8 characters.
	Password string `json:"password,omitempty"`
	// Type: Optional. The type of wallet generation for the Autonomous Database.
	// The default value is SINGLE.
	//
	// Possible values:
	//   "GENERATE_TYPE_UNSPECIFIED" - Default unspecified value.
	//   "ALL" - Used to generate wallet for all databases in the region.
	//   "SINGLE" - Used to generate wallet for a single database.
	Type string `json:"type,omitempty"`
	// ForceSendFields is a list of field names (e.g. "IsRegional") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "IsRegional") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GenerateAutonomousDatabaseWalletRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GenerateAutonomousDatabaseWalletRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GenerateAutonomousDatabaseWalletResponse: The response for
// `AutonomousDatabase.GenerateWallet`.
type GenerateAutonomousDatabaseWalletResponse struct {
	// ArchiveContent: Output only. The base64 encoded wallet files.
	ArchiveContent string `json:"archiveContent,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "ArchiveContent") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ArchiveContent") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GenerateAutonomousDatabaseWalletResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GenerateAutonomousDatabaseWalletResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GiVersion: Details of the Oracle Grid Infrastructure (GI) version resource.
// https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/GiVersionSummary/
type GiVersion struct {
	// Name: Identifier. The name of the Oracle Grid Infrastructure (GI) version
	// resource with the format:
	// projects/{project}/locations/{region}/giVersions/{gi_versions}
	Name string `json:"name,omitempty"`
	// Version: Optional. version
	Version string `json:"version,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Name") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GiVersion) MarshalJSON() ([]byte, error) {
	type NoMethod GiVersion
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GlueIcebergCatalog: The Glue Iceberg catalog.
type GlueIcebergCatalog struct {
	// GlueId: Required. The catalog ID of Glue.
	GlueId string `json:"glueId,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GlueId") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GlueId") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GlueIcebergCatalog) MarshalJSON() ([]byte, error) {
	type NoMethod GlueIcebergCatalog
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoldengateAmazonKinesisConnectionProperties: The properties of
// GoldengateAmazonKinesisConnection.
type GoldengateAmazonKinesisConnectionProperties struct {
	// AccessKeyId: Optional. Access key ID to access the Amazon Kinesis.
	AccessKeyId string `json:"accessKeyId,omitempty"`
	// AwsRegion: Optional. The name of the AWS region. If not provided, Goldengate
	// will default to 'us-west-1'.
	AwsRegion string `json:"awsRegion,omitempty"`
	// Endpoint: Optional. The endpoint URL of the Amazon Kinesis service. e.g.:
	// 'https://kinesis.us-east-1.amazonaws.com' If not provided, Goldengate will
	// default to 'https://kinesis..amazonaws.com'.
	Endpoint string `json:"endpoint,omitempty"`
	// SecretAccessKeySecret: Optional. Secret access key to access the Amazon
	// Kinesis.
	SecretAccessKeySecret string `json:"secretAccessKeySecret,omitempty"`
	// TechnologyType: Optional. The technology type of AmazonKinesisConnection.
	TechnologyType string `json:"technologyType,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AccessKeyId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AccessKeyId") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoldengateAmazonKinesisConnectionProperties) MarshalJSON() ([]byte, error) {
	type NoMethod GoldengateAmazonKinesisConnectionProperties
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoldengateAmazonRedshiftConnectionProperties: The properties of
// GoldengateAmazonRedshiftConnection.
type GoldengateAmazonRedshiftConnectionProperties struct {
	// ConnectionUrl: Optional. Connection URL. e.g.:
	// 'jdbc:redshift://aws-redshift-instance.aaaaaaaaaaaa.us-east-2.redshift.amazon
	// aws.com:5439/mydb'
	ConnectionUrl string `json:"connectionUrl,omitempty"`
	// Password: Optional. Input only. The password Oracle Goldengate uses for
	// Amazon Redshift connection in plain text.
	Password string `json:"password,omitempty"`
	// PasswordSecretVersion: Optional. Input only. The resource name of a secret
	// version in Secret Manager which contains the password Oracle Goldengate uses
	// for Amazon Redshift connection. Format:
	// projects/{project}/secrets/{secret}/versions/{version}.
	PasswordSecretVersion string `json:"passwordSecretVersion,omitempty"`
	// TechnologyType: Optional. The technology type of AmazonRedshiftConnection.
	TechnologyType string `json:"technologyType,omitempty"`
	// Username: Optional. The username Oracle Goldengate uses to connect the
	// associated system of the given technology.
	Username string `json:"username,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ConnectionUrl") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ConnectionUrl") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoldengateAmazonRedshiftConnectionProperties) MarshalJSON() ([]byte, error) {
	type NoMethod GoldengateAmazonRedshiftConnectionProperties
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoldengateAmazonS3ConnectionProperties: The properties of
// GoldengateAmazonS3Connection.
type GoldengateAmazonS3ConnectionProperties struct {
	// AccessKeyId: Optional. Access key ID to access the Amazon S3 bucket.
	AccessKeyId string `json:"accessKeyId,omitempty"`
	// Endpoint: Optional. The Amazon Endpoint for S3.
	Endpoint string `json:"endpoint,omitempty"`
	// Region: Optional. The name of the AWS region where the bucket is created.
	Region string `json:"region,omitempty"`
	// SecretAccessKeySecret: Optional. Secret access key to access the Amazon S3
	// bucket.
	SecretAccessKeySecret string `json:"secretAccessKeySecret,omitempty"`
	// TechnologyType: Optional. The technology type of AmazonS3Connection.
	TechnologyType string `json:"technologyType,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AccessKeyId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AccessKeyId") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoldengateAmazonS3ConnectionProperties) MarshalJSON() ([]byte, error) {
	type NoMethod GoldengateAmazonS3ConnectionProperties
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoldengateAzureDataLakeStorageConnectionProperties: The properties of
// GoldengateAzureDataLakeStorageConnection.
type GoldengateAzureDataLakeStorageConnectionProperties struct {
	// Account: Optional. Sets the Azure storage account name.
	Account string `json:"account,omitempty"`
	// AccountKeySecret: Optional. Azure storage account key. This property is
	// required when 'authentication_type' is set to 'SHARED_KEY'.
	AccountKeySecret string `json:"accountKeySecret,omitempty"`
	// AuthenticationType: Optional. Authentication mechanism to access Azure Data
	// Lake Storage.
	//
	// Possible values:
	//   "AUTHENTICATION_TYPE_UNSPECIFIED" - Authentication type not specified.
	//   "SHARED_KEY" - Shared key authentication.
	//   "SHARED_ACCESS_SIGNATURE" - Shared access signature authentication.
	//   "AZURE_ACTIVE_DIRECTORY" - Azure active directory authentication.
	AuthenticationType string `json:"authenticationType,omitempty"`
	// AzureAuthorityHost: Optional. The endpoint used for authentication with
	// Microsoft Entra ID (formerly Azure Active Directory). Default value:
	// https://login.microsoftonline.com
	AzureAuthorityHost string `json:"azureAuthorityHost,omitempty"`
	// AzureTenantId: Optional. Azure tenant ID of the application. This property
	// is required when 'authentication_type' is set to 'AZURE_ACTIVE_DIRECTORY'.
	AzureTenantId string `json:"azureTenantId,omitempty"`
	// ClientId: Optional. Azure client ID of the application. This property is
	// required when 'authentication_type' is set to 'AZURE_ACTIVE_DIRECTORY'.
	ClientId string `json:"clientId,omitempty"`
	// ClientSecret: Optional. Azure client secret (aka application password) for
	// authentication.
	ClientSecret string `json:"clientSecret,omitempty"`
	// Endpoint: Optional. Azure Storage service endpoint. e.g:
	// https://test.blob.core.windows.net
	Endpoint string `json:"endpoint,omitempty"`
	// SasTokenSecret: Optional. Credential that uses a shared access signature
	// (SAS) to authenticate to an Azure Service.
	SasTokenSecret string `json:"sasTokenSecret,omitempty"`
	// TechnologyType: Optional. The technology type of
	// AzureDataLakeStorageConnection.
	TechnologyType string `json:"technologyType,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Account") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Account") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoldengateAzureDataLakeStorageConnectionProperties) MarshalJSON() ([]byte, error) {
	type NoMethod GoldengateAzureDataLakeStorageConnectionProperties
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoldengateAzureSynapseAnalyticsConnectionProperties: The properties of
// GoldengateAzureSynapseAnalyticsConnection.
type GoldengateAzureSynapseAnalyticsConnectionProperties struct {
	// ConnectionString: Optional. JDBC connection string. e.g.:
	// 'jdbc:sqlserver://.sql.azuresynapse.net:1433;database=;encrypt=true;trustServ
	// erCertificate=false;hostNameInCertificate=*.sql.azuresynapse.net;loginTimeout
	// =300;'
	ConnectionString string `json:"connectionString,omitempty"`
	// Password: Optional. Input only. The password Oracle Goldengate uses for
	// Azure Synapse Analytics connection in plain text.
	Password string `json:"password,omitempty"`
	// PasswordSecretVersion: Optional. Input only. The resource name of a secret
	// version in Secret Manager which contains the password Oracle Goldengate uses
	// for Azure Synapse Analytics connection. Format:
	// projects/{project}/secrets/{secret}/versions/{version}.
	PasswordSecretVersion string `json:"passwordSecretVersion,omitempty"`
	// TechnologyType: Optional. The technology type of
	// AzureSynapseAnalyticsConnection.
	TechnologyType string `json:"technologyType,omitempty"`
	// Username: Optional. The username Oracle Goldengate uses to connect the
	// associated system of the given technology.
	Username string `json:"username,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ConnectionString") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ConnectionString") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoldengateAzureSynapseAnalyticsConnectionProperties) MarshalJSON() ([]byte, error) {
	type NoMethod GoldengateAzureSynapseAnalyticsConnectionProperties
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoldengateBackupSchedule: The backup schedule of the GoldengateDeployment.
type GoldengateBackupSchedule struct {
	// BackupScheduledTime: Output only. The timestamp of when the backup was
	// scheduled.
	BackupScheduledTime string `json:"backupScheduledTime,omitempty"`
	// Bucket: Output only. The bucket name.
	Bucket string `json:"bucket,omitempty"`
	// CompartmentId: Output only. The compartment id.
	CompartmentId string `json:"compartmentId,omitempty"`
	// FrequencyBackupScheduled: Output only. The frequency backup scheduled.
	//
	// Possible values:
	//   "FREQUENCY_BACKUP_SCHEDULED_UNSPECIFIED" - The frequency backup scheduled
	// is unspecified.
	//   "DAILY" - The frequency backup scheduled is daily.
	//   "WEEKLY" - The frequency backup scheduled is weekly.
	//   "MONTHLY" - The frequency backup scheduled is monthly.
	FrequencyBackupScheduled string `json:"frequencyBackupScheduled,omitempty"`
	// MetadataOnly: Output only. If metadata only.
	MetadataOnly bool `json:"metadataOnly,omitempty"`
	// Namespace: Output only. The namespace name.
	Namespace string `json:"namespace,omitempty"`
	// ForceSendFields is a list of field names (e.g. "BackupScheduledTime") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BackupScheduledTime") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoldengateBackupSchedule) MarshalJSON() ([]byte, error) {
	type NoMethod GoldengateBackupSchedule
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoldengateConnection: Details of the GoldengateConnection resource.
type GoldengateConnection struct {
	// CreateTime: Output only. The date and time that the GoldengateConnection was
	// created.
	CreateTime string `json:"createTime,omitempty"`
	// EntitlementId: Output only. The ID of the subscription entitlement
	// associated with the GoldengateConnection.
	EntitlementId string `json:"entitlementId,omitempty"`
	// GcpOracleZone: Optional. The GCP Oracle zone where Oracle
	// GoldengateConnection is hosted. Example: us-east4-b-r2. If not specified,
	// the system will pick a zone based on availability.
	GcpOracleZone string `json:"gcpOracleZone,omitempty"`
	// Labels: Optional. The labels or tags associated with the
	// GoldengateConnection.
	Labels map[string]string `json:"labels,omitempty"`
	// Name: Identifier. The name of the GoldengateConnection resource in the
	// following format:
	// projects/{project}/locations/{region}/goldengateConnections/{goldengate_conne
	// ction}
	Name string `json:"name,omitempty"`
	// OciUrl: Output only. HTTPS link to OCI resources exposed to Customer via UI
	// Interface.
	OciUrl string `json:"ociUrl,omitempty"`
	// OdbNetwork: Optional. The name of the OdbNetwork associated with the
	// GoldengateConnection. The format is
	// projects/{project}/locations/{location}/odbNetworks/{odb_network}. It is
	// optional but if specified, this should match the parent ODBNetwork of the
	// OdbSubnet.
	OdbNetwork string `json:"odbNetwork,omitempty"`
	// OdbSubnet: Optional. The name of the OdbSubnet associated with the
	// GoldengateConnection for IP allocation. Format:
	// projects/{project}/locations/{location}/odbNetworks/{odb_network}/odbSubnets/
	// {odb_subnet}
	OdbSubnet string `json:"odbSubnet,omitempty"`
	// Properties: Required. The properties of the GoldengateConnection.
	Properties *GoldengateConnectionProperties `json:"properties,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "CreateTime") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CreateTime") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoldengateConnection) MarshalJSON() ([]byte, error) {
	type NoMethod GoldengateConnection
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoldengateConnectionAssignment: Represents the metadata of a Goldengate
// Connection Assignment.
type GoldengateConnectionAssignment struct {
	// CreateTime: Output only. The time when the connection assignment was
	// created.
	CreateTime string `json:"createTime,omitempty"`
	// DisplayName: Optional. The display name for the
	// GoldengateConnectionAssignment.
	DisplayName string `json:"displayName,omitempty"`
	// EntitlementId: Output only. The OCID of the entitlement linked to this
	// resource.
	EntitlementId string `json:"entitlementId,omitempty"`
	// Labels: Optional. The labels or tags associated with the
	// GoldengateConnectionAssignment.
	Labels map[string]string `json:"labels,omitempty"`
	// Name: Identifier. The name of the GoldengateConnectionAssignment resource in
	// the following format:
	// projects/{project}/locations/{region}/goldengateConnectionAssignments/{golden
	// gate_connection_assignment}
	Name string `json:"name,omitempty"`
	// Properties: Required. The properties of the GoldengateConnectionAssignment.
	Properties *GoldengateConnectionAssignmentProperties `json:"properties,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "CreateTime") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CreateTime") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoldengateConnectionAssignment) MarshalJSON() ([]byte, error) {
	type NoMethod GoldengateConnectionAssignment
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoldengateConnectionAssignmentProperties: The properties of a
// GoldengateConnectionAssignment.
type GoldengateConnectionAssignmentProperties struct {
	// Alias: Output only. Credential store alias.
	Alias string `json:"alias,omitempty"`
	// GoldengateConnection: Required. The GoldengateConnection resource to be
	// assigned. Format:
	// projects/{project}/locations/{location}/goldengateConnections/{goldengate_con
	// nection}
	GoldengateConnection string `json:"goldengateConnection,omitempty"`
	// GoldengateDeployment: Required. The GoldenGateDeployment to assign the
	// connection to. Format:
	// projects/{project}/locations/{location}/goldengateDeployments/{goldengate_dep
	// loyment}
	GoldengateDeployment string `json:"goldengateDeployment,omitempty"`
	// Ocid: Output only. The OCID
	// (https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of
	// the connection assignment being referenced.
	Ocid string `json:"ocid,omitempty"`
	// State: Output only. The lifecycle state of the connection assignment.
	//
	// Possible values:
	//   "STATE_UNSPECIFIED" - Lifecycle state is unspecified.
	//   "CREATING" - Connection assignment is being created.
	//   "ACTIVE" - Connection assignment is active.
	//   "FAILED" - Connection assignment failed.
	//   "UPDATING" - Connection assignment is being updated.
	//   "DELETING" - Connection assignment is being deleted.
	State string `json:"state,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Alias") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Alias") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoldengateConnectionAssignmentProperties) MarshalJSON() ([]byte, error) {
	type NoMethod GoldengateConnectionAssignmentProperties
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoldengateConnectionProperties: The properties of a GoldengateConnection.
type GoldengateConnectionProperties struct {
	// AmazonKinesisConnectionProperties: Properties for an Amazon Kinesis
	// connection.
	AmazonKinesisConnectionProperties *GoldengateAmazonKinesisConnectionProperties `json:"amazonKinesisConnectionProperties,omitempty"`
	// AmazonRedshiftConnectionProperties: Properties for an Amazon Redshift
	// connection.
	AmazonRedshiftConnectionProperties *GoldengateAmazonRedshiftConnectionProperties `json:"amazonRedshiftConnectionProperties,omitempty"`
	// AmazonS3ConnectionProperties: Properties for an Amazon S3 connection.
	AmazonS3ConnectionProperties *GoldengateAmazonS3ConnectionProperties `json:"amazonS3ConnectionProperties,omitempty"`
	// AzureDataLakeStorageConnectionProperties: Properties for an Azure Data Lake
	// Storage Connection.
	AzureDataLakeStorageConnectionProperties *GoldengateAzureDataLakeStorageConnectionProperties `json:"azureDataLakeStorageConnectionProperties,omitempty"`
	// AzureSynapseAnalyticsConnectionProperties: Properties for an Azure Synapse
	// Analytics connection.
	AzureSynapseAnalyticsConnectionProperties *GoldengateAzureSynapseAnalyticsConnectionProperties `json:"azureSynapseAnalyticsConnectionProperties,omitempty"`
	// ConnectionType: Required. The connection type.
	//
	// Possible values:
	//   "GOLDENGATE_CONNECTION_TYPE_UNSPECIFIED" - Connection type unspecified.
	//   "GOLDENGATE" - Goldengate connection type.
	//   "KAFKA" - Kafka connection type.
	//   "KAFKA_SCHEMA_REGISTRY" - Kafka schema registry connection type.
	//   "MYSQL" - MySQL connection type.
	//   "JAVA_MESSAGE_SERVICE" - Java message service connection type.
	//   "MICROSOFT_SQLSERVER" - Microsoft SQL Server connection type.
	//   "OCI_OBJECT_STORAGE" - OCI object storage connection type.
	//   "ORACLE" - Oracle connection type.
	//   "AZURE_DATA_LAKE_STORAGE" - Azure data lake storage connection type.
	//   "POSTGRESQL" - PostgreSQL connection type.
	//   "AZURE_SYNAPSE_ANALYTICS" - Azure synapse analytics connection type.
	//   "SNOWFLAKE" - Snowflake connection type.
	//   "AMAZON_S3" - Amazon S3 connection type.
	//   "HDFS" - HDFS connection type.
	//   "ORACLE_AI_DATA_PLATFORM" - Oracle AI data platform connection type.
	//   "ORACLE_NOSQL" - Oracle NoSQL connection type.
	//   "MONGODB" - MongoDB connection type.
	//   "AMAZON_KINESIS" - Amazon Kinesis connection type.
	//   "AMAZON_REDSHIFT" - Amazon Redshift connection type.
	//   "DB2" - DB2 connection type.
	//   "REDIS" - Redis connection type.
	//   "ELASTICSEARCH" - Elasticsearch connection type.
	//   "GENERIC" - Generic connection type.
	//   "GOOGLE_CLOUD_STORAGE" - Google Cloud Storage connection type.
	//   "GOOGLE_BIGQUERY" - Google BigQuery connection type.
	//   "DATABRICKS" - Databricks connection type.
	//   "GOOGLE_PUBSUB" - Google Pub/Sub connection type.
	//   "MICROSOFT_FABRIC" - Microsoft Fabric connection type.
	//   "ICEBERG" - Iceberg connection type.
	ConnectionType string `json:"connectionType,omitempty"`
	// DatabricksConnectionProperties: Properties for a Databricks connection.
	DatabricksConnectionProperties *GoldengateDatabricksConnectionProperties `json:"databricksConnectionProperties,omitempty"`
	// Db2ConnectionProperties: Properties for a DB2 connection.
	Db2ConnectionProperties *GoldengateDb2ConnectionProperties `json:"db2ConnectionProperties,omitempty"`
	// Description: Optional. Metadata about this specific object.
	Description string `json:"description,omitempty"`
	// DisplayName: Required. An object's Display Name.
	DisplayName string `json:"displayName,omitempty"`
	// ElasticsearchConnectionProperties: Properties for an Elasticsearch
	// connection.
	ElasticsearchConnectionProperties *GoldengateElasticsearchConnectionProperties `json:"elasticsearchConnectionProperties,omitempty"`
	// GenericConnectionProperties: Properties for a Generic Connection.
	GenericConnectionProperties *GoldengateGenericConnectionProperties `json:"genericConnectionProperties,omitempty"`
	// GoldengateConnectionProperties: Properties for a Goldengate Connection.
	GoldengateConnectionProperties *GoldengateGoldengateConnectionProperties `json:"goldengateConnectionProperties,omitempty"`
	// GoogleBigQueryConnectionProperties: Properties for a Google BigQuery
	// Connection.
	GoogleBigQueryConnectionProperties *GoldengateGoogleBigQueryConnectionProperties `json:"googleBigQueryConnectionProperties,omitempty"`
	// GoogleCloudStorageConnectionProperties: Properties for a Google Cloud
	// Storage Connection.
	GoogleCloudStorageConnectionProperties *GoldengateGoogleCloudStorageConnectionProperties `json:"googleCloudStorageConnectionProperties,omitempty"`
	// GooglePubsubConnectionProperties: Properties for a Google Pub/Sub
	// connection.
	GooglePubsubConnectionProperties *GoldengateGooglePubsubConnectionProperties `json:"googlePubsubConnectionProperties,omitempty"`
	// HdfsConnectionProperties: Properties for an HDFS connection.
	HdfsConnectionProperties *GoldengateHdfsConnectionProperties `json:"hdfsConnectionProperties,omitempty"`
	// IcebergConnectionProperties: Properties for an Iceberg connection.
	IcebergConnectionProperties *GoldengateIcebergConnectionProperties `json:"icebergConnectionProperties,omitempty"`
	// IngressIpAddresses: Output only. The Ingress IPs of the
	// GoldengateConnection.
	IngressIpAddresses []string `json:"ingressIpAddresses,omitempty"`
	// JavaMessageServiceConnectionProperties: Properties for a Java Message
	// Service connection.
	JavaMessageServiceConnectionProperties *GoldengateJavaMessageServiceConnectionProperties `json:"javaMessageServiceConnectionProperties,omitempty"`
	// KafkaConnectionProperties: Properties for a Kafka Connection.
	KafkaConnectionProperties *GoldengateKafkaConnectionProperties `json:"kafkaConnectionProperties,omitempty"`
	// KafkaSchemaRegistryConnectionProperties: Properties for a Kafka Schema
	// Registry Connection.
	KafkaSchemaRegistryConnectionProperties *GoldengateKafkaSchemaRegistryConnectionProperties `json:"kafkaSchemaRegistryConnectionProperties,omitempty"`
	// LifecycleDetails: Output only. Describes the object's current state in
	// detail. For example, it can be used to provide actionable information for a
	// resource in a Failed state.
	LifecycleDetails string `json:"lifecycleDetails,omitempty"`
	// LifecycleState: Output only. The lifecycle state of the connection.
	//
	// Possible values:
	//   "GOLDENGATE_CONNECTION_LIFECYCLE_STATE_UNSPECIFIED" - Default unspecified
	// value.
	//   "CREATING" - Indicates that the resource is in provisioning state.
	//   "ACTIVE" - Indicates that the resource is in active state.
	//   "UPDATING" - Indicates that the resource is in updating state.
	//   "DELETING" - Indicates that the resource is in deleting state.
	//   "DELETED" - Indicates that the resource is in deleted state.
	//   "FAILED" - Indicates that the resource is in failed state.
	LifecycleState string `json:"lifecycleState,omitempty"`
	// MicrosoftFabricConnectionProperties: Properties for a Microsoft Fabric
	// connection.
	MicrosoftFabricConnectionProperties *GoldengateMicrosoftFabricConnectionProperties `json:"microsoftFabricConnectionProperties,omitempty"`
	// MicrosoftSqlserverConnectionProperties: Properties for a Microsoft SQL
	// Server connection.
	MicrosoftSqlserverConnectionProperties *GoldengateMicrosoftSqlserverConnectionProperties `json:"microsoftSqlserverConnectionProperties,omitempty"`
	// MongodbConnectionProperties: Properties for a MongoDB connection.
	MongodbConnectionProperties *GoldengateMongodbConnectionProperties `json:"mongodbConnectionProperties,omitempty"`
	// MysqlConnectionProperties: Properties for a Mysql Connection.
	MysqlConnectionProperties *GoldengateMysqlConnectionProperties `json:"mysqlConnectionProperties,omitempty"`
	// OciObjectStorageConnectionProperties: Properties for an OCI Object Storage
	// Connection.
	OciObjectStorageConnectionProperties *GoldengateOciObjectStorageConnectionProperties `json:"ociObjectStorageConnectionProperties,omitempty"`
	// Ocid: Output only. The [OCID] of the connection being referenced.
	Ocid string `json:"ocid,omitempty"`
	// OracleAiDataPlatformConnectionProperties: Properties for an Oracle AI Data
	// Platform connection.
	OracleAiDataPlatformConnectionProperties *GoldengateOracleAIDataPlatformConnectionProperties `json:"oracleAiDataPlatformConnectionProperties,omitempty"`
	// OracleConnectionProperties: Properties for an Oracle Database Connection.
	OracleConnectionProperties *GoldengateOracleConnectionProperties `json:"oracleConnectionProperties,omitempty"`
	// OracleNosqlConnectionProperties: Properties for an Oracle NoSQL connection.
	OracleNosqlConnectionProperties *GoldengateOracleNosqlConnectionProperties `json:"oracleNosqlConnectionProperties,omitempty"`
	// PostgresqlConnectionProperties: Properties for a PostgreSQL connection.
	PostgresqlConnectionProperties *GoldengatePostgresqlConnectionProperties `json:"postgresqlConnectionProperties,omitempty"`
	// RedisConnectionProperties: Properties for a Redis connection.
	RedisConnectionProperties *GoldengateRedisConnectionProperties `json:"redisConnectionProperties,omitempty"`
	// RoutingMethod: Optional. The routing method for the GoldengateConnection.
	//
	// Possible values:
	//   "GOLDENGATE_CONNECTION_ROUTING_METHOD_UNSPECIFIED" - Default unspecified
	// value.
	//   "SHARED_DEPLOYMENT_ENDPOINT" - Network traffic flows from the assigned
	// deployment's private endpoint through the deployment's subnet.
	//   "DEDICATED_ENDPOINT" - A dedicated private endpoint is created in the
	// target VCN subnet for the connection.
	RoutingMethod string `json:"routingMethod,omitempty"`
	// SnowflakeConnectionProperties: Properties for a Snowflake connection.
	SnowflakeConnectionProperties *GoldengateSnowflakeConnectionProperties `json:"snowflakeConnectionProperties,omitempty"`
	// UpdateTime: Output only. The time the resource was last updated.
	UpdateTime string `json:"updateTime,omitempty"`
	// ForceSendFields is a list of field names (e.g.
	// "AmazonKinesisConnectionProperties") to unconditionally include in API
	// requests. By default, fields with empty or default values are omitted from
	// API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g.
	// "AmazonKinesisConnectionProperties") to include in API requests with the
	// JSON null value. By default, fields with empty values are omitted from API
	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-NullFields for
	// more details.
	NullFields []string `json:"-"`
}

func (s GoldengateConnectionProperties) MarshalJSON() ([]byte, error) {
	type NoMethod GoldengateConnectionProperties
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoldengateConnectionType: Details of the Goldengate Connection Type
// resource.
type GoldengateConnectionType struct {
	// ConnectionType: Output only. The connection type of the Goldengate
	// Connection Type resource.
	//
	// Possible values:
	//   "CONNECTION_TYPE_UNSPECIFIED" - Default unspecified value.
	//   "GOLDENGATE" - Goldengate Connection Type category is GOLDENGATE.
	//   "KAFKA" - Goldengate Connection Type category is KAFKA.
	//   "KAFKA_SCHEMA_REGISTRY" - Goldengate Connection Type category is
	// KAFKA_SCHEMA_REGISTRY.
	//   "MYSQL" - Goldengate Connection Type category is MYSQL.
	//   "JAVA_MESSAGE_SERVICE" - Goldengate Connection Type category is
	// JAVA_MESSAGE_SERVICE.
	//   "MICROSOFT_SQLSERVER" - Goldengate Connection Type category is
	// MICROSOFT_SQLSERVER.
	//   "OCI_OBJECT_STORAGE" - Goldengate Connection Type category is
	// OCI_OBJECT_STORAGE.
	//   "ORACLE" - Goldengate Connection Type category is ORACLE.
	//   "AZURE_DATA_LAKE_STORAGE" - Goldengate Connection Type category is
	// AZURE_DATA_LAKE_STORAGE.
	//   "POSTGRESQL" - Goldengate Connection Type category is POSTGRESQL.
	//   "AZURE_SYNAPSE_ANALYTICS" - Goldengate Connection Type category is
	// AZURE_SYNAPSE_ANALYTICS.
	//   "SNOWFLAKE" - Goldengate Connection Type category is SNOWFLAKE.
	//   "AMAZON_S3" - Goldengate Connection Type category is AMAZON_S3.
	//   "HDFS" - Goldengate Connection Type category is HDFS.
	//   "ORACLE_AI_DATA_PLATFORM" - Goldengate Connection Type category is
	// ORACLE_AI_DATA_PLATFORM.
	//   "ORACLE_NOSQL" - Goldengate Connection Type category is ORACLE_NOSQL.
	//   "MONGODB" - Goldengate Connection Type category is MONGODB.
	//   "AMAZON_KINESIS" - Goldengate Connection Type category is AMAZON_KINESIS.
	//   "AMAZON_REDSHIFT" - Goldengate Connection Type category is
	// AMAZON_REDSHIFT.
	//   "DB2" - Goldengate Connection Type category is DB2.
	//   "REDIS" - Goldengate Connection Type category is REDIS.
	//   "ELASTICSEARCH" - Goldengate Connection Type category is ELASTICSEARCH.
	//   "GENERIC" - Goldengate Connection Type category is GENERIC.
	//   "GOOGLE_CLOUD_STORAGE" - Goldengate Connection Type category is
	// GOOGLE_CLOUD_STORAGE.
	//   "GOOGLE_BIGQUERY" - Goldengate Connection Type category is
	// GOOGLE_BIGQUERY.
	//   "DATABRICKS" - Goldengate Connection Type category is DATABRICKS.
	//   "GOOGLE_PUBSUB" - Goldengate Connection Type category is GOOGLE_PUBSUB.
	//   "MICROSOFT_FABRIC" - Goldengate Connection Type category is
	// MICROSOFT_FABRIC.
	//   "ICEBERG" - Goldengate Connection Type category is ICEBERG.
	ConnectionType string `json:"connectionType,omitempty"`
	// Name: Identifier. The name of the Goldengate Connection Type resource with
	// the format:
	// projects/{project}/locations/{region}/goldengateConnectionTypes/{goldengate_c
	// onnection_type}
	Name string `json:"name,omitempty"`
	// TechnologyTypes: Output only. The technology type of the Goldengate
	// Connection Type resource.
	TechnologyTypes []string `json:"technologyTypes,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ConnectionType") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ConnectionType") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoldengateConnectionType) MarshalJSON() ([]byte, error) {
	type NoMethod GoldengateConnectionType
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoldengateDatabricksConnectionProperties: The properties of
// GoldengateDatabricksConnection.
type GoldengateDatabricksConnectionProperties struct {
	// AuthenticationType: Optional. Authentication type for Databricks.
	//
	// Possible values:
	//   "DATABRICKS_AUTHENTICATION_TYPE_UNSPECIFIED" - Authentication type not
	// specified.
	//   "PERSONAL_ACCESS_TOKEN" - Personal access token authentication.
	//   "OAUTH_M2M" - OAuth M2M authentication.
	AuthenticationType string `json:"authenticationType,omitempty"`
	// ClientId: Optional. OAuth client id, only applicable for authentication_type
	// == OAUTH_M2M
	ClientId string `json:"clientId,omitempty"`
	// ClientSecret: Optional. OAuth client secret, only applicable for
	// authentication_type == OAUTH_M2M
	ClientSecret string `json:"clientSecret,omitempty"`
	// ConnectionUrl: Optional. Connection URL. e.g.:
	// 'jdbc:databricks://adb-33934.4.azuredatabricks.net:443/default;transportMode=
	// http;ssl=1;httpPath=sql/protocolv1/o/3393########44/0##3-7-hlrb'
	ConnectionUrl string `json:"connectionUrl,omitempty"`
	// Password: Optional. Input only. The password used to connect to Databricks
	// in plain text.
	Password string `json:"password,omitempty"`
	// PasswordSecretVersion: Optional. Input only. The resource name of a secret
	// version in Secret Manager which contains the password used to connect to
	// Databricks. Format: projects/{project}/secrets/{secret}/versions/{version}.
	PasswordSecretVersion string `json:"passwordSecretVersion,omitempty"`
	// StorageCredential: Optional. External storage credential name to access
	// files on object storage such as ADLS Gen2, S3 or Cloud Storage.
	StorageCredential string `json:"storageCredential,omitempty"`
	// TechnologyType: Optional. The technology type of DatabricksConnection.
	TechnologyType string `json:"technologyType,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AuthenticationType") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AuthenticationType") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoldengateDatabricksConnectionProperties) MarshalJSON() ([]byte, error) {
	type NoMethod GoldengateDatabricksConnectionProperties
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoldengateDb2ConnectionProperties: The properties of
// GoldengateDb2Connection.
type GoldengateDb2ConnectionProperties struct {
	// AdditionalAttributes: Optional. An array of name-value pair attribute
	// entries. Used as additional parameters in connection string.
	AdditionalAttributes []*NameValuePair `json:"additionalAttributes,omitempty"`
	// Database: Optional. The name of the database.
	Database string `json:"database,omitempty"`
	// Host: Optional. The name or address of a host.
	Host string `json:"host,omitempty"`
	// Password: Optional. Input only. The password Oracle Goldengate uses for Db2
	// connection in plain text.
	Password string `json:"password,omitempty"`
	// PasswordSecretVersion: Optional. Input only. The resource name of a secret
	// version in Secret Manager which contains the password Oracle Goldengate uses
	// for Db2 connection. Format:
	// projects/{project}/secrets/{secret}/versions/{version}.
	PasswordSecretVersion string `json:"passwordSecretVersion,omitempty"`
	// Port: Optional. The port of an endpoint usually specified for a connection.
	Port int64 `json:"port,omitempty"`
	// SecurityProtocol: Optional. Security protocol for the DB2 database.
	//
	// Possible values:
	//   "DB2_SECURITY_PROTOCOL_UNSPECIFIED" - Security protocol not specified.
	//   "PLAIN" - Plain text communication.
	//   "TLS" - Transport Layer Security.
	SecurityProtocol string `json:"securityProtocol,omitempty"`
	// SslClientKeystashFile: Optional. The keystash file which contains the
	// encrypted password to the key database file. Not supported for IBM Db2 for
	// i.
	SslClientKeystashFile string `json:"sslClientKeystashFile,omitempty"`
	// SslClientKeystoredbFile: Optional. The keystore file created at the client
	// containing the server certificate / CA root certificate. Not supported for
	// IBM Db2 for i.
	SslClientKeystoredbFile string `json:"sslClientKeystoredbFile,omitempty"`
	// SslServerCertificateFile: Optional. The file which contains the self-signed
	// server certificate / Certificate Authority (CA) certificate.
	SslServerCertificateFile string `json:"sslServerCertificateFile,omitempty"`
	// TechnologyType: Optional. The technology type of Db2Connection.
	TechnologyType string `json:"technologyType,omitempty"`
	// Username: Optional. The username Oracle Goldengate uses to connect to the
	// DB2 database.
	Username string `json:"username,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AdditionalAttributes") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AdditionalAttributes") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoldengateDb2ConnectionProperties) MarshalJSON() ([]byte, error) {
	type NoMethod GoldengateDb2ConnectionProperties
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoldengateDeployment: GoldengateDeployment Goldengate Deployment resource
// model.
type GoldengateDeployment struct {
	// CreateTime: Output only. The date and time that the GoldengateDeployment was
	// created.
	CreateTime string `json:"createTime,omitempty"`
	// DisplayName: Required. The display name for the GoldengateDeployment.
	DisplayName string `json:"displayName,omitempty"`
	// EntitlementId: Output only. The ID of the subscription entitlement
	// associated with the GoldengateDeployment
	EntitlementId string `json:"entitlementId,omitempty"`
	// GcpOracleZone: Optional. The GCP Oracle zone where Oracle
	// GoldengateDeployment is hosted. Example: us-east4-b-r2. If not specified,
	// the system will pick a zone based on availability.
	GcpOracleZone string `json:"gcpOracleZone,omitempty"`
	// Labels: Optional. The labels or tags associated with the
	// GoldengateDeployment.
	Labels map[string]string `json:"labels,omitempty"`
	// Name: Identifier. The name of the GoldengateDeployment resource in the
	// following format:
	// projects/{project}/locations/{region}/goldengateDeployments/{goldengate_deplo
	// yment}
	Name string `json:"name,omitempty"`
	// OciUrl: Output only. HTTPS link to OCI resources exposed to Customer via UI
	// Interface.
	OciUrl string `json:"ociUrl,omitempty"`
	// OdbNetwork: Optional. The name of the OdbNetwork associated with the
	// GoldengateDeployment.
	OdbNetwork string `json:"odbNetwork,omitempty"`
	// OdbSubnet: Required. The name of the OdbSubnet associated with the
	// GoldengateDeployment for IP allocation.
	OdbSubnet string `json:"odbSubnet,omitempty"`
	// Properties: Required. The properties of the GoldengateDeployment.
	Properties *GoldengateDeploymentProperties `json:"properties,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "CreateTime") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CreateTime") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoldengateDeployment) MarshalJSON() ([]byte, error) {
	type NoMethod GoldengateDeployment
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoldengateDeploymentEnvironment: Details of the Goldengate Deployment
// Environment resource.
type GoldengateDeploymentEnvironment struct {
	// AutoScalingEnabled: Output only. Whether auto scaling is enabled by default
	// for the Goldengate Deployment Environment resource.
	AutoScalingEnabled bool `json:"autoScalingEnabled,omitempty"`
	// Category: Output only. The category of the Goldengate Deployment Environment
	// resource.
	//
	// Possible values:
	//   "DEPLOYMENT_CATEGORY_UNSPECIFIED" - Default unspecified value.
	//   "DATA_REPLICATION_CATEGORY" - Goldengate Deployment Environment category
	// is DATA_REPLICATION_CATEGORY.
	//   "DATA_TRANSFORMS_CATEGORY" - Goldengate Deployment Environment category is
	// DATA_TRANSFORMS_CATEGORY.
	Category string `json:"category,omitempty"`
	// DefaultCpuCoreCount: Output only. The default CPU core count of the
	// Goldengate Deployment Environment resource.
	DefaultCpuCoreCount int64 `json:"defaultCpuCoreCount,omitempty"`
	// DisplayName: The display name of the Goldengate Deployment Environment
	// resource.
	DisplayName string `json:"displayName,omitempty"`
	// EnvironmentType: Output only. The environment type of the Goldengate
	// Deployment Environment resource.
	//
	// Possible values:
	//   "DEPLOYMENT_ENVIRONMENT_TYPE_UNSPECIFIED" - Default unspecified value.
	//   "PRODUCTION" - Goldengate Deployment Environment type is PRODUCTION.
	//   "DEVELOPMENT_OR_TESTING" - Goldengate Deployment Environment type is
	// DEVELOPMENT_OR_TESTING.
	EnvironmentType string `json:"environmentType,omitempty"`
	// MaxCpuCoreCount: Output only. The max CPU core count of the Goldengate
	// Deployment Environment resource.
	MaxCpuCoreCount int64 `json:"maxCpuCoreCount,omitempty"`
	// MemoryGbPerCpuCore: Output only. The memory per CPU core in GBs of the
	// Goldengate Deployment Environment resource.
	MemoryGbPerCpuCore int64 `json:"memoryGbPerCpuCore,omitempty"`
	// MinCpuCoreCount: Output only. The min CPU core count of the Goldengate
	// Deployment Environment resource.
	MinCpuCoreCount int64 `json:"minCpuCoreCount,omitempty"`
	// Name: Identifier. The name of the Goldengate Deployment Environment resource
	// with the format:
	// projects/{project}/locations/{location}/goldengateDeploymentEnvironments/{gol
	// dengate_deployment_environment}
	Name string `json:"name,omitempty"`
	// NetworkBandwidthGbpsPerCpuCore: Output only. The network bandwidth per CPU
	// core in Gbps of the Goldengate Deployment Environment resource.
	NetworkBandwidthGbpsPerCpuCore int64 `json:"networkBandwidthGbpsPerCpuCore,omitempty"`
	// StorageUsageLimitGbPerCpuCore: Output only. The storage usage limit per CPU
	// core in GBs of the Goldengate Deployment Environment resource.
	StorageUsageLimitGbPerCpuCore int64 `json:"storageUsageLimitGbPerCpuCore,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AutoScalingEnabled") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AutoScalingEnabled") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoldengateDeploymentEnvironment) MarshalJSON() ([]byte, error) {
	type NoMethod GoldengateDeploymentEnvironment
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoldengateDeploymentLock: The lock of the GoldengateDeployment.
type GoldengateDeploymentLock struct {
	// CompartmentId: Output only. The compartment id.
	CompartmentId string `json:"compartmentId,omitempty"`
	// CreateTime: Output only. The time created.
	CreateTime string `json:"createTime,omitempty"`
	// Message: Output only. The message.
	Message string `json:"message,omitempty"`
	// RelatedResourceId: Output only. The related resource id.
	RelatedResourceId string `json:"relatedResourceId,omitempty"`
	// Type: Output only. The type of lock.
	//
	// Possible values:
	//   "LOCK_TYPE_UNSPECIFIED" - The lock type is unspecified.
	//   "FULL" - The lock type is full.
	//   "DELETE" - The lock type is delete.
	Type string `json:"type,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CompartmentId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CompartmentId") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoldengateDeploymentLock) MarshalJSON() ([]byte, error) {
	type NoMethod GoldengateDeploymentLock
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoldengateDeploymentProperties: Properties of GoldengateDeployment.
type GoldengateDeploymentProperties struct {
	// BackupSchedule: Output only. The backup schedule of the
	// GoldengateDeployment.
	BackupSchedule *GoldengateBackupSchedule `json:"backupSchedule,omitempty"`
	// Category: Output only. The category of the GoldengateDeployment.
	//
	// Possible values:
	//   "GOLDENGATE_DEPLOYMENT_CATEGORY_UNSPECIFIED" - The category is
	// unspecified.
	//   "DATA_REPLICATION" - The deployment is data replication.
	//   "DATA_TRANSFORMS" - The deployment is data transforms.
	Category string `json:"category,omitempty"`
	// CpuCoreCount: Optional. The Minimum number of OCPUs to be made available for
	// this Deployment.
	CpuCoreCount int64 `json:"cpuCoreCount,omitempty"`
	// DeploymentBackupId: Output only. The deployment backup id of the
	// GoldengateDeployment.
	DeploymentBackupId string `json:"deploymentBackupId,omitempty"`
	// DeploymentDiagnosticData: Output only. The deployment diagnostic data of the
	// GoldengateDeployment.
	DeploymentDiagnosticData *DeploymentDiagnosticData `json:"deploymentDiagnosticData,omitempty"`
	// DeploymentRole: Output only. The deployment role of the
	// GoldengateDeployment.
	//
	// Possible values:
	//   "GOLDENGATE_DEPLOYMENT_ROLE_TYPE_UNSPECIFIED" - The deployment role type
	// is unspecified.
	//   "PRIMARY" - The deployment role type is primary.
	//   "STANDBY" - The deployment role type is standby.
	DeploymentRole string `json:"deploymentRole,omitempty"`
	// DeploymentType: Required. A valid Goldengate Deployment type. For a list of
	// supported types, use the `ListGoldengateDeploymentTypes` operation.
	DeploymentType string `json:"deploymentType,omitempty"`
	// DeploymentUrl: Output only. The deployment url of the GoldengateDeployment.
	DeploymentUrl string `json:"deploymentUrl,omitempty"`
	// Description: Optional. The description of the GoldengateDeployment.
	Description string `json:"description,omitempty"`
	// EnvironmentType: Optional. The environment type of the GoldengateDeployment.
	EnvironmentType string `json:"environmentType,omitempty"`
	// Fqdn: Output only. The Fully Qualified Domain Name of the
	// GoldengateDeployment.
	Fqdn string `json:"fqdn,omitempty"`
	// Healthy: Output only. Whether the GoldengateDeployment is healthy.
	Healthy bool `json:"healthy,omitempty"`
	// IngressIps: Output only. The ingress ips of the GoldengateDeployment.
	IngressIps []*IngressIp `json:"ingressIps,omitempty"`
	// IsAutoScalingEnabled: Optional. Indicates if auto scaling is enabled for the
	// Deployment's CPU core count.
	IsAutoScalingEnabled bool `json:"isAutoScalingEnabled,omitempty"`
	// IsLatestVersion: Output only. Whether the GoldengateDeployment is of the
	// latest version.
	IsLatestVersion bool `json:"isLatestVersion,omitempty"`
	// IsPublic: Output only. Whether the GoldengateDeployment is public.
	IsPublic bool `json:"isPublic,omitempty"`
	// IsStorageUtilizationLimitExceeded: Output only. Whether storage utilization
	// limit is exceeded of the GoldengateDeployment.
	IsStorageUtilizationLimitExceeded bool `json:"isStorageUtilizationLimitExceeded,omitempty"`
	// LastBackupScheduleTime: Output only. The time last backup scheduled of the
	// GoldengateDeployment.
	LastBackupScheduleTime string `json:"lastBackupScheduleTime,omitempty"`
	// LicenseModel: Optional. The Oracle license model that applies to a
	// Deployment.
	//
	// Possible values:
	//   "LICENSE_MODEL_UNSPECIFIED" - The license model is unspecified.
	//   "LICENSE_INCLUDED" - The license model is included.
	//   "BRING_YOUR_OWN_LICENSE" - The license model is bring your own license.
	LicenseModel string `json:"licenseModel,omitempty"`
	// LifecycleDetails: Output only. The lifecycle details of the
	// GoldengateDeployment.
	LifecycleDetails string `json:"lifecycleDetails,omitempty"`
	// LifecycleState: Output only. State of the GoldengateDeployment.
	//
	// Possible values:
	//   "GOLDENGATE_DEPLOYMENT_LIFECYCLE_STATE_UNSPECIFIED" - Default unspecified
	// value.
	//   "CREATING" - The deployment is being created.
	//   "UPDATING" - The deployment is being updated.
	//   "ACTIVE" - The deployment is active.
	//   "INACTIVE" - The deployment is inactive.
	//   "DELETING" - The deployment is being deleted.
	//   "DELETED" - The deployment is deleted.
	//   "FAILED" - The deployment failed.
	//   "NEEDS_ATTENTION" - The deployment needs attention.
	//   "IN_PROGRESS" - The deployment is in progress.
	//   "CANCELLING" - The deployment is canceling.
	//   "CANCELLED" - The deployment is canceled.
	//   "SUCCEEDED" - The deployment succeeded.
	//   "WAITING" - The deployment is waiting.
	LifecycleState string `json:"lifecycleState,omitempty"`
	// LifecycleSubState: Output only. The lifecycle sub-state of the
	// GoldengateDeployment.
	//
	// Possible values:
	//   "GOLDENGATE_DEPLOYMENT_LIFECYCLE_SUB_STATE_UNSPECIFIED" - The lifecycle
	// sub-state is unspecified.
	//   "RECOVERING" - The deployment is recovering.
	//   "STARTING" - The deployment is starting.
	//   "STOPPING" - The deployment is stopping.
	//   "MOVING" - The deployment is moving.
	//   "UPGRADING" - The deployment is upgrading.
	//   "RESTORING" - The deployment is restoring.
	//   "BACKING_UP" - The deployment is backing up.
	//   "ROLLING_BACK" - The deployment is rolling back.
	LifecycleSubState string `json:"lifecycleSubState,omitempty"`
	// LoadBalancerId: Output only. The load balancer id of the
	// GoldengateDeployment.
	LoadBalancerId string `json:"loadBalancerId,omitempty"`
	// LoadBalancerSubnetId: Output only. The load balancer subnet id of the
	// GoldengateDeployment.
	LoadBalancerSubnetId string `json:"loadBalancerSubnetId,omitempty"`
	// Locks: Output only. The locks of the GoldengateDeployment.
	Locks []*GoldengateDeploymentLock `json:"locks,omitempty"`
	// MaintenanceConfig: Optional. The maintenance configuration of the
	// GoldengateDeployment.
	MaintenanceConfig *GoldengateMaintenanceConfig `json:"maintenanceConfig,omitempty"`
	// MaintenanceWindow: Optional. The maintenance window of the
	// GoldengateDeployment.
	MaintenanceWindow *GoldengateMaintenanceWindow `json:"maintenanceWindow,omitempty"`
	// NextBackupScheduleTime: Output only. The time next backup scheduled of the
	// GoldengateDeployment.
	NextBackupScheduleTime string `json:"nextBackupScheduleTime,omitempty"`
	// NextMaintenanceActionType: Output only. The next maintenance action type of
	// the GoldengateDeployment.
	//
	// Possible values:
	//   "NEXT_MAINTENANCE_ACTION_TYPE_UNSPECIFIED" - The next maintenance action
	// type is unspecified.
	//   "UPGRADE" - The next maintenance action type is upgrade.
	NextMaintenanceActionType string `json:"nextMaintenanceActionType,omitempty"`
	// NextMaintenanceDescription: Output only. The next maintenance description of
	// the GoldengateDeployment.
	NextMaintenanceDescription string `json:"nextMaintenanceDescription,omitempty"`
	// NextMaintenanceTime: Output only. The time of next maintenance of the
	// GoldengateDeployment.
	NextMaintenanceTime string `json:"nextMaintenanceTime,omitempty"`
	// NsgIds: Output only. The nsg ids of the GoldengateDeployment.
	NsgIds []string `json:"nsgIds,omitempty"`
	// Ocid: Output only. OCID of the GoldengateDeployment.
	Ocid string `json:"ocid,omitempty"`
	// OggData: Required. The ogg data of the GoldengateDeployment.
	OggData *GoldengateOggDeployment `json:"oggData,omitempty"`
	// OggVersionSupportEndTime: Output only. The time ogg version supported until
	// of the GoldengateDeployment.
	OggVersionSupportEndTime string `json:"oggVersionSupportEndTime,omitempty"`
	// Placements: Output only. The placements of the GoldengateDeployment.
	Placements []*GoldengatePlacement `json:"placements,omitempty"`
	// PrivateIpAddress: Output only. The private ip address of the
	// GoldengateDeployment.
	PrivateIpAddress string `json:"privateIpAddress,omitempty"`
	// PublicIpAddress: Output only. The public ip address of the
	// GoldengateDeployment.
	PublicIpAddress string `json:"publicIpAddress,omitempty"`
	// RoleChangeTime: Output only. The time when the role of the
	// GoldengateDeployment was changed.
	RoleChangeTime string `json:"roleChangeTime,omitempty"`
	// StorageUtilizationBytes: Output only. The storage utilization in bytes of
	// the GoldengateDeployment.
	StorageUtilizationBytes int64 `json:"storageUtilizationBytes,omitempty,string"`
	// UpdateTime: Output only. The time the GoldengateDeployment was updated.
	UpdateTime string `json:"updateTime,omitempty"`
	// UpgradeRequiredTime: Output only. The time upgrade required of the
	// GoldengateDeployment.
	UpgradeRequiredTime string `json:"upgradeRequiredTime,omitempty"`
	// ForceSendFields is a list of field names (e.g. "BackupSchedule") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BackupSchedule") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoldengateDeploymentProperties) MarshalJSON() ([]byte, error) {
	type NoMethod GoldengateDeploymentProperties
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoldengateDeploymentType: Details of the Goldengate Deployment Type
// resource.
type GoldengateDeploymentType struct {
	// Category: Output only. The category of the Goldengate Deployment Type
	// resource.
	//
	// Possible values:
	//   "DEPLOYMENT_CATEGORY_UNSPECIFIED" - Default unspecified value.
	//   "DATA_REPLICATION_CATEGORY" - Goldengate Deployment Type category is
	// DATA_REPLICATION_CATEGORY.
	//   "DATA_TRANSFORMS_CATEGORY" - Goldengate Deployment Type category is
	// DATA_TRANSFORMS_CATEGORY.
	Category string `json:"category,omitempty"`
	// ConnectionTypes: Output only. The connection types of the Goldengate
	// Deployment Type resource.
	ConnectionTypes []string `json:"connectionTypes,omitempty"`
	// DefaultUsername: Output only. The default username of the Goldengate
	// Deployment Type resource.
	DefaultUsername string `json:"defaultUsername,omitempty"`
	// DeploymentType: Output only. The deployment type of the Goldengate
	// Deployment Type resource.
	//
	// Possible values:
	//   "DEPLOYMENT_TYPE_UNSPECIFIED" - Default unspecified value.
	//   "OGG" - Goldengate Deployment Type category is OGG.
	//   "DATABASE_ORACLE" - Goldengate Deployment Type category is
	// DATABASE_ORACLE.
	//   "BIGDATA" - Goldengate Deployment Type category is BIGDATA.
	//   "DATABASE_MICROSOFT_SQLSERVER" - Goldengate Deployment Type category is
	// DATABASE_MICROSOFT_SQLSERVER.
	//   "DATABASE_MYSQL" - Goldengate Deployment Type category is DATABASE_MYSQL.
	//   "DATABASE_POSTGRESQL" - Goldengate Deployment Type category is
	// DATABASE_POSTGRESQL.
	//   "DATABASE_DB2ZOS" - Goldengate Deployment Type category is
	// DATABASE_DB2ZOS.
	//   "DATABASE_DB2I" - Goldengate Deployment Type category is DATABASE_DB2I.
	//   "GGSA" - Goldengate Deployment Type category is GGSA.
	//   "DATA_TRANSFORMS" - Goldengate Deployment Type category is
	// DATA_TRANSFORMS.
	DeploymentType string `json:"deploymentType,omitempty"`
	// DisplayName: Output only. The display name of the Goldengate Deployment Type
	// resource.
	DisplayName string `json:"displayName,omitempty"`
	// Name: Identifier. The name of the Goldengate Deployment Type resource with
	// the format:
	// projects/{project}/locations/{region}/goldengateDeploymentTypes/{goldengate_d
	// eployment_type}
	Name string `json:"name,omitempty"`
	// OggVersion: Output only. The Ogg version of the Goldengate Deployment Type
	// resource.
	OggVersion string `json:"oggVersion,omitempty"`
	// SourceTechnologies: Output only. The source technologies of the Goldengate
	// Deployment Type resource.
	SourceTechnologies []string `json:"sourceTechnologies,omitempty"`
	// SupportedCapabilities: Output only. The supported capabilities of the
	// Goldengate Deployment Type resource.
	SupportedCapabilities []string `json:"supportedCapabilities,omitempty"`
	// SupportedTechnologiesUrl: Output only. The supported technologies URL of the
	// Goldengate Deployment Type resource.
	SupportedTechnologiesUrl string `json:"supportedTechnologiesUrl,omitempty"`
	// TargetTechnologies: Output only. The target technologies of the Goldengate
	// Deployment Type resource.
	TargetTechnologies []string `json:"targetTechnologies,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Category") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Category") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoldengateDeploymentType) MarshalJSON() ([]byte, error) {
	type NoMethod GoldengateDeploymentType
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoldengateDeploymentVersion: Details of the Goldengate Deployment Version
// resource.
type GoldengateDeploymentVersion struct {
	// Name: Identifier. The name of the Goldengate Deployment Version resource
	// with the format:
	// projects/{project}/locations/{location}/goldengateDeploymentVersions/{goldeng
	// ate_deployment_version}
	Name string `json:"name,omitempty"`
	// Ocid: Output only. The deployment version ocid of the Goldengate Deployment
	// Version resource.
	Ocid string `json:"ocid,omitempty"`
	// Properties: Output only. The technology type of the Goldengate Deployment
	// Version resource.
	Properties *GoldengateDeploymentVersionProperties `json:"properties,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Name") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoldengateDeploymentVersion) MarshalJSON() ([]byte, error) {
	type NoMethod GoldengateDeploymentVersion
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoldengateDeploymentVersionProperties: Properties of
// GoldengateDeploymentVersion.
type GoldengateDeploymentVersionProperties struct {
	// DeploymentType: Output only. The deployment type of the Goldengate
	// Deployment Version resource.
	//
	// Possible values:
	//   "DEPLOYMENT_TYPE_UNSPECIFIED" - Default unspecified value.
	//   "OGG" - Goldengate Deployment Type category is OGG.
	//   "DATABASE_ORACLE" - Goldengate Deployment Type category is
	// DATABASE_ORACLE.
	//   "BIGDATA" - Goldengate Deployment Type category is BIGDATA.
	//   "DATABASE_MICROSOFT_SQLSERVER" - Goldengate Deployment Type category is
	// DATABASE_MICROSOFT_SQLSERVER.
	//   "DATABASE_MYSQL" - Goldengate Deployment Type category is DATABASE_MYSQL.
	//   "DATABASE_POSTGRESQL" - Goldengate Deployment Type category is
	// DATABASE_POSTGRESQL.
	//   "DATABASE_DB2ZOS" - Goldengate Deployment Type category is
	// DATABASE_DB2ZOS.
	//   "DATABASE_DB2I" - Goldengate Deployment Type category is DATABASE_DB2I.
	//   "GGSA" - Goldengate Deployment Type category is GGSA.
	//   "DATA_TRANSFORMS" - Goldengate Deployment Type category is
	// DATA_TRANSFORMS.
	DeploymentType string `json:"deploymentType,omitempty"`
	// OggVersion: Output only. The OGG version of the Goldengate Deployment
	// Version resource.
	OggVersion string `json:"oggVersion,omitempty"`
	// ReleaseTime: Output only. The release time of the Goldengate Deployment
	// Version resource.
	ReleaseTime string `json:"releaseTime,omitempty"`
	// ReleaseType: Output only. The release type of the Goldengate Deployment
	// Version resource.
	//
	// Possible values:
	//   "DEPLOYMENT_RELEASE_TYPE_UNSPECIFIED" - Default unspecified value.
	//   "MAJOR" - Goldengate Deployment Version release type is MAJOR.
	//   "BUNDLE" - Goldengate Deployment Version release type is BUNDLE.
	//   "MINOR" - Goldengate Deployment Version release type is MINOR.
	ReleaseType string `json:"releaseType,omitempty"`
	// SecurityFix: Optional. Whether the Goldengate Deployment Version resource is
	// a security fix.
	SecurityFix bool `json:"securityFix,omitempty"`
	// SupportEndTime: Output only. The support end time of the Goldengate
	// Deployment Version resource.
	SupportEndTime string `json:"supportEndTime,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DeploymentType") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DeploymentType") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoldengateDeploymentVersionProperties) MarshalJSON() ([]byte, error) {
	type NoMethod GoldengateDeploymentVersionProperties
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoldengateElasticsearchConnectionProperties: The properties of
// GoldengateElasticsearchConnection.
type GoldengateElasticsearchConnectionProperties struct {
	// AuthenticationType: Optional. Authentication type for Elasticsearch.
	//
	// Possible values:
	//   "ELASTICSEARCH_AUTHENTICATION_TYPE_UNSPECIFIED" - Authentication type not
	// specified.
	//   "NONE" - No authentication.
	//   "BASIC" - Basic authentication.
	AuthenticationType string `json:"authenticationType,omitempty"`
	// Fingerprint: Optional. Fingerprint required by TLS security protocol. Eg.:
	// '6152b2dfbff200f973c5074a5b91d06ab3b472c07c09a1ea57bb7fd406cdce9c'
	Fingerprint string `json:"fingerprint,omitempty"`
	// Password: Optional. Input only. The password Oracle Goldengate uses for
	// Elastic Search connection in plain text.
	Password string `json:"password,omitempty"`
	// PasswordSecretVersion: Optional. Input only. The resource name of a secret
	// version in Secret Manager which contains the password Oracle Goldengate uses
	// for Elastic Search connection. Format:
	// projects/{project}/secrets/{secret}/versions/{version}.
	PasswordSecretVersion string `json:"passwordSecretVersion,omitempty"`
	// SecurityProtocol: Optional. Security protocol for Elasticsearch.
	//
	// Possible values:
	//   "ELASTICSEARCH_SECURITY_PROTOCOL_UNSPECIFIED" - Security protocol not
	// specified.
	//   "PLAIN" - Plain text communication.
	//   "TLS" - Transport Layer Security.
	SecurityProtocol string `json:"securityProtocol,omitempty"`
	// Servers: Optional. Comma separated list of Elasticsearch server addresses,
	// specified as host:port entries, where :port is optional. If port is not
	// specified, it defaults to 9200. Example:
	// "server1.example.com:4000,server2.example.com:4000"
	Servers string `json:"servers,omitempty"`
	// TechnologyType: Optional. The technology type of ElasticsearchConnection.
	TechnologyType string `json:"technologyType,omitempty"`
	// Username: Optional. The username Oracle Goldengate uses to connect the
	// associated system of the given technology.
	Username string `json:"username,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AuthenticationType") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AuthenticationType") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoldengateElasticsearchConnectionProperties) MarshalJSON() ([]byte, error) {
	type NoMethod GoldengateElasticsearchConnectionProperties
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoldengateGenericConnectionProperties: The properties of
// GoldengateGenericConnectionProperties.
type GoldengateGenericConnectionProperties struct {
	// Host: Optional. The host of the GenericConnection.
	Host string `json:"host,omitempty"`
	// TechnologyType: Optional. The technology type.
	TechnologyType string `json:"technologyType,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Host") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Host") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoldengateGenericConnectionProperties) MarshalJSON() ([]byte, error) {
	type NoMethod GoldengateGenericConnectionProperties
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoldengateGoldengateConnectionProperties: The properties of
// GoldengateGoldengateConnectionProperties.
type GoldengateGoldengateConnectionProperties struct {
	// GoldengateDeploymentId: Optional. The name of the GoldengateDeployment
	// associated with the GoldengateConnection. Format:
	// projects/{project}/locations/{location}/goldengateDeployments/{goldengate_dep
	// loyment}
	GoldengateDeploymentId string `json:"goldengateDeploymentId,omitempty"`
	// Host: Optional. The host of the GoldengateConnection.
	Host string `json:"host,omitempty"`
	// Password: Optional. Input only. The password used to connect to the Oracle
	// Goldengate in plain text.
	Password string `json:"password,omitempty"`
	// PasswordSecretVersion: Optional. Input only. The resource name of a secret
	// version in Secret Manager which contains the password used to connect to the
	// Oracle Goldengate. Format:
	// projects/{project}/secrets/{secret}/versions/{version}.
	PasswordSecretVersion string `json:"passwordSecretVersion,omitempty"`
	// Port: Optional. The port of the GoldengateConnection.
	Port int64 `json:"port,omitempty"`
	// TechnologyType: Optional. The technology type.
	TechnologyType string `json:"technologyType,omitempty"`
	// Username: Optional. The username credential.
	Username string `json:"username,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GoldengateDeploymentId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GoldengateDeploymentId") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoldengateGoldengateConnectionProperties) MarshalJSON() ([]byte, error) {
	type NoMethod GoldengateGoldengateConnectionProperties
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoldengateGoogleBigQueryConnectionProperties: The properties of
// GoldengateGoogleBigQueryConnectionProperties.
type GoldengateGoogleBigQueryConnectionProperties struct {
	// ServiceAccountKeyFile: Optional. The base64 encoded content of the service
	// account key file containing the credentials required to use Google BigQuery.
	ServiceAccountKeyFile string `json:"serviceAccountKeyFile,omitempty"`
	// TechnologyType: Optional. The technology type.
	TechnologyType string `json:"technologyType,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ServiceAccountKeyFile") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ServiceAccountKeyFile") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoldengateGoogleBigQueryConnectionProperties) MarshalJSON() ([]byte, error) {
	type NoMethod GoldengateGoogleBigQueryConnectionProperties
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoldengateGoogleCloudStorageConnectionProperties: The properties of
// GoldengateGoogleCloudStorageConnectionProperties.
type GoldengateGoogleCloudStorageConnectionProperties struct {
	// ServiceAccountKeyFile: Optional. The base64 encoded content of the service
	// account key file containing the credentials required to use Google Cloud
	// Storage.
	ServiceAccountKeyFile string `json:"serviceAccountKeyFile,omitempty"`
	// TechnologyType: Optional. The technology type.
	TechnologyType string `json:"technologyType,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ServiceAccountKeyFile") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ServiceAccountKeyFile") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoldengateGoogleCloudStorageConnectionProperties) MarshalJSON() ([]byte, error) {
	type NoMethod GoldengateGoogleCloudStorageConnectionProperties
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoldengateGooglePubsubConnectionProperties: The properties of
// GoldengateGooglePubsubConnection.
type GoldengateGooglePubsubConnectionProperties struct {
	// ServiceAccountKeyFile: Optional. The base64 encoded content of the service
	// account key file containing the credentials required to use Google Pub/Sub.
	ServiceAccountKeyFile string `json:"serviceAccountKeyFile,omitempty"`
	// TechnologyType: Optional. The technology type of GooglePubsubConnection.
	TechnologyType string `json:"technologyType,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ServiceAccountKeyFile") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ServiceAccountKeyFile") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoldengateGooglePubsubConnectionProperties) MarshalJSON() ([]byte, error) {
	type NoMethod GoldengateGooglePubsubConnectionProperties
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoldengateGroupToRolesMapping: The group to roles mapping of the
// GoldengateDeployment.
type GoldengateGroupToRolesMapping struct {
	// AdministratorGroupId: Output only. The administrator group id.
	AdministratorGroupId string `json:"administratorGroupId,omitempty"`
	// OperatorGroupId: Output only. The operator group id.
	OperatorGroupId string `json:"operatorGroupId,omitempty"`
	// SecurityGroupId: Output only. The security group id.
	SecurityGroupId string `json:"securityGroupId,omitempty"`
	// UserGroupId: Output only. The user group id.
	UserGroupId string `json:"userGroupId,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AdministratorGroupId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AdministratorGroupId") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoldengateGroupToRolesMapping) MarshalJSON() ([]byte, error) {
	type NoMethod GoldengateGroupToRolesMapping
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoldengateHdfsConnectionProperties: The properties of
// GoldengateHdfsConnection.
type GoldengateHdfsConnectionProperties struct {
	// CoreSiteXml: Optional. The content of the Hadoop Distributed File System
	// configuration file (core-site.xml).
	CoreSiteXml string `json:"coreSiteXml,omitempty"`
	// TechnologyType: Optional. The technology type of HdfsConnection.
	TechnologyType string `json:"technologyType,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CoreSiteXml") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CoreSiteXml") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoldengateHdfsConnectionProperties) MarshalJSON() ([]byte, error) {
	type NoMethod GoldengateHdfsConnectionProperties
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoldengateIcebergConnectionProperties: The properties of
// GoldengateIcebergConnection.
type GoldengateIcebergConnectionProperties struct {
	// Catalog: Required. The Iceberg catalog.
	Catalog *IcebergCatalog `json:"catalog,omitempty"`
	// Storage: Required. The Iceberg storage.
	Storage *IcebergStorage `json:"storage,omitempty"`
	// TechnologyType: Required. The technology type of Iceberg connection.
	TechnologyType string `json:"technologyType,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Catalog") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Catalog") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoldengateIcebergConnectionProperties) MarshalJSON() ([]byte, error) {
	type NoMethod GoldengateIcebergConnectionProperties
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoldengateJavaMessageServiceConnectionProperties: The properties of
// GoldengateJavaMessageServiceConnection.
type GoldengateJavaMessageServiceConnectionProperties struct {
	// AuthenticationType: Optional. Authentication type for Java Message Service.
	//
	// Possible values:
	//   "JMS_AUTHENTICATION_TYPE_UNSPECIFIED" - Authentication type not specified.
	//   "NONE" - No authentication.
	//   "BASIC" - Basic authentication.
	AuthenticationType string `json:"authenticationType,omitempty"`
	// ConnectionFactory: Optional. The Java class implementing
	// javax.jms.ConnectionFactory interface supplied by the JMS provider.
	ConnectionFactory string `json:"connectionFactory,omitempty"`
	// ConnectionUrl: Optional. Connection URL of the Java Message Service,
	// specifying the protocol, host, and port. e.g.: 'mq://myjms.host.domain:7676'
	ConnectionUrl string `json:"connectionUrl,omitempty"`
	// JndiConnectionFactory: Optional. The Connection Factory can be looked up
	// using this name. e.g.: 'ConnectionFactory'
	JndiConnectionFactory string `json:"jndiConnectionFactory,omitempty"`
	// JndiInitialContextFactory: Optional. The implementation of
	// javax.naming.spi.InitialContextFactory interface used to obtain initial
	// naming context.
	JndiInitialContextFactory string `json:"jndiInitialContextFactory,omitempty"`
	// JndiProviderUrl: Optional. The URL that Java Message Service will use to
	// contact the JNDI provider. e.g.:
	// 'tcp://myjms.host.domain:61616?jms.prefetchPolicy.all=1000'
	JndiProviderUrl string `json:"jndiProviderUrl,omitempty"`
	// JndiSecurityCredentialsSecret: Optional. The password associated to the
	// principal.
	JndiSecurityCredentialsSecret string `json:"jndiSecurityCredentialsSecret,omitempty"`
	// JndiSecurityPrincipal: Optional. Specifies the identity of the principal
	// (user) to be authenticated.
	JndiSecurityPrincipal string `json:"jndiSecurityPrincipal,omitempty"`
	// KeyStoreFile: Optional. The base64 encoded content of the KeyStore file.
	KeyStoreFile string `json:"keyStoreFile,omitempty"`
	// KeyStorePassword: Optional. Input only. The KeyStore password in plain text.
	KeyStorePassword string `json:"keyStorePassword,omitempty"`
	// KeyStorePasswordSecretVersion: Optional. Input only. The resource name of a
	// secret version in Secret Manager which contains the KeyStore password.
	// Format: projects/{project}/secrets/{secret}/versions/{version}.
	KeyStorePasswordSecretVersion string `json:"keyStorePasswordSecretVersion,omitempty"`
	// Password: Optional. Input only. The password Oracle Goldengate uses to
	// connect the Java Message Service in plain text.
	Password string `json:"password,omitempty"`
	// PasswordSecretVersion: Optional. Input only. The resource name of a secret
	// version in Secret Manager which contains the password Oracle Goldengate uses
	// to connect the associated Java Message Service. Format:
	// projects/{project}/secrets/{secret}/versions/{version}.
	PasswordSecretVersion string `json:"passwordSecretVersion,omitempty"`
	// SecurityProtocol: Optional. Security protocol for Java Message Service.
	//
	// Possible values:
	//   "JMS_SECURITY_PROTOCOL_UNSPECIFIED" - Security protocol not specified.
	//   "PLAIN" - Plain text communication.
	//   "TLS" - Transport Layer Security.
	//   "MTLS" - Mutual Transport Layer Security.
	SecurityProtocol string `json:"securityProtocol,omitempty"`
	// SslKeyPassword: Optional. Input only. The password for the cert inside of
	// the KeyStore in plain text.
	SslKeyPassword string `json:"sslKeyPassword,omitempty"`
	// SslKeyPasswordSecretVersion: Optional. Input only. The resource name of a
	// secret version in Secret Manager which contains the password for the cert
	// inside of the KeyStore. Format:
	// projects/{project}/secrets/{secret}/versions/{version}.
	SslKeyPasswordSecretVersion string `json:"sslKeyPasswordSecretVersion,omitempty"`
	// TechnologyType: Optional. The technology type of
	// JavaMessageServiceConnection.
	TechnologyType string `json:"technologyType,omitempty"`
	// TrustStoreFile: Optional. The base64 encoded content of the TrustStore file.
	TrustStoreFile string `json:"trustStoreFile,omitempty"`
	// TrustStorePassword: Optional. Input only. The TrustStore password in plain
	// text.
	TrustStorePassword string `json:"trustStorePassword,omitempty"`
	// TrustStorePasswordSecretVersion: Optional. Input only. The resource name of
	// a secret version in Secret Manager which contains the TrustStore password.
	// Format: projects/{project}/secrets/{secret}/versions/{version}.
	TrustStorePasswordSecretVersion string `json:"trustStorePasswordSecretVersion,omitempty"`
	// UseJndi: Optional. If set to true, Java Naming and Directory Interface
	// (JNDI) properties should be provided.
	UseJndi bool `json:"useJndi,omitempty"`
	// Username: Optional. The username Oracle Goldengate uses to connect to the
	// Java Message Service.
	Username string `json:"username,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AuthenticationType") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AuthenticationType") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoldengateJavaMessageServiceConnectionProperties) MarshalJSON() ([]byte, error) {
	type NoMethod GoldengateJavaMessageServiceConnectionProperties
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoldengateKafkaConnectionProperties: The properties of
// GoldengateKafkaConnection.
type GoldengateKafkaConnectionProperties struct {
	// BootstrapServers: Optional. Kafka bootstrap. Equivalent of bootstrap.servers
	// configuration property in Kafka: list of KafkaBootstrapServer objects
	// specified by host/port. Used for establishing the initial connection to the
	// Kafka cluster. Example: "server1.example.com:9092,server2.example.com:9092"
	BootstrapServers []*KafkaBootstrapServer `json:"bootstrapServers,omitempty"`
	// ClusterId: Optional. The OCID of the Kafka cluster being referenced from OCI
	// Streaming with Apache Kafka.
	ClusterId string `json:"clusterId,omitempty"`
	// ConsumerPropertiesFile: Optional. The base64 encoded content of the
	// consumer.properties file.
	ConsumerPropertiesFile string `json:"consumerPropertiesFile,omitempty"`
	// KeyStoreFile: Optional. The base64 encoded content of the KeyStore file.
	KeyStoreFile string `json:"keyStoreFile,omitempty"`
	// KeyStorePassword: Optional. Input only. The KeyStore password in plain text.
	KeyStorePassword string `json:"keyStorePassword,omitempty"`
	// KeyStorePasswordSecretVersion: Optional. Input only. The resource name of a
	// secret version in Secret Manager which contains the KeyStore password.
	// Format: projects/{project}/secrets/{secret}/versions/{version}.
	KeyStorePasswordSecretVersion string `json:"keyStorePasswordSecretVersion,omitempty"`
	// Password: Optional. Input only. The password for Kafka basic/SASL auth in
	// plain text.
	Password string `json:"password,omitempty"`
	// PasswordSecretVersion: Optional. Input only. The resource name of a secret
	// version in Secret Manager which contains the password for Kafka basic/SASL
	// auth. Format: projects/{project}/secrets/{secret}/versions/{version}.
	PasswordSecretVersion string `json:"passwordSecretVersion,omitempty"`
	// ProducerPropertiesFile: Optional. The base64 encoded content of the
	// producer.properties file.
	ProducerPropertiesFile string `json:"producerPropertiesFile,omitempty"`
	// SecurityProtocol: Optional. Security Type for Kafka.
	//
	// Possible values:
	//   "KAFKA_SECURITY_PROTOCOL_UNSPECIFIED" - Security type not specified.
	//   "SSL" - SSL security protocol.
	//   "SASL_SSL" - SASL SSL security protocol.
	//   "PLAINTEXT" - Plaintext security protocol.
	//   "SASL_PLAINTEXT" - SASL Plaintext security protocol.
	SecurityProtocol string `json:"securityProtocol,omitempty"`
	// SslKeyPassword: Optional. Input only. The password for the cert inside of
	// the KeyStore in plain text.
	SslKeyPassword string `json:"sslKeyPassword,omitempty"`
	// SslKeyPasswordSecretVersion: Optional. Input only. The resource name of a
	// secret version in Secret Manager which contains the password for the cert
	// inside of the KeyStore. Format:
	// projects/{project}/secrets/{secret}/versions/{version}.
	SslKeyPasswordSecretVersion string `json:"sslKeyPasswordSecretVersion,omitempty"`
	// StreamPoolId: Optional. The OCID of the stream pool being referenced.
	StreamPoolId string `json:"streamPoolId,omitempty"`
	// TechnologyType: Optional. The technology type of KafkaConnection.
	TechnologyType string `json:"technologyType,omitempty"`
	// TrustStoreFile: Optional. The base64 encoded content of the TrustStore file.
	TrustStoreFile string `json:"trustStoreFile,omitempty"`
	// TrustStorePassword: Optional. Input only. The TrustStore password in plain
	// text.
	TrustStorePassword string `json:"trustStorePassword,omitempty"`
	// TrustStorePasswordSecretVersion: Optional. Input only. The resource name of
	// a secret version in Secret Manager which contains the TrustStore password.
	// Format: projects/{project}/secrets/{secret}/versions/{version}.
	TrustStorePasswordSecretVersion string `json:"trustStorePasswordSecretVersion,omitempty"`
	// UseResourcePrincipal: Optional. Specifies that the user intends to
	// authenticate to the instance using a resource principal. Applicable only for
	// OCI Streaming connections.
	UseResourcePrincipal bool `json:"useResourcePrincipal,omitempty"`
	// Username: Optional. The username Oracle Goldengate uses to connect the
	// associated system of the given technology.
	Username string `json:"username,omitempty"`
	// ForceSendFields is a list of field names (e.g. "BootstrapServers") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BootstrapServers") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoldengateKafkaConnectionProperties) MarshalJSON() ([]byte, error) {
	type NoMethod GoldengateKafkaConnectionProperties
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoldengateKafkaSchemaRegistryConnectionProperties: The properties of
// GoldengateKafkaSchemaRegistryConnection.
type GoldengateKafkaSchemaRegistryConnectionProperties struct {
	// AuthenticationType: Optional. Used authentication mechanism to access Schema
	// Registry.
	//
	// Possible values:
	//   "AUTHENTICATION_TYPE_UNSPECIFIED" - Authentication type not specified.
	//   "NONE" - No authentication.
	//   "BASIC" - Basic authentication.
	//   "MUTUAL" - Mutual authentication.
	AuthenticationType string `json:"authenticationType,omitempty"`
	// KeyStoreFile: Optional. The base64 encoded content of the KeyStore file.
	KeyStoreFile string `json:"keyStoreFile,omitempty"`
	// KeyStorePassword: Optional. Input only. The KeyStore password in plain text.
	KeyStorePassword string `json:"keyStorePassword,omitempty"`
	// KeyStorePasswordSecretVersion: Optional. Input only. The resource name of a
	// secret version in Secret Manager which contains the KeyStore password.
	// Format: projects/{project}/secrets/{secret}/versions/{version}.
	KeyStorePasswordSecretVersion string `json:"keyStorePasswordSecretVersion,omitempty"`
	// Password: Optional. Input only. The password to access Schema Registry in
	// plain text.
	Password string `json:"password,omitempty"`
	// PasswordSecretVersion: Optional. Input only. The resource name of a secret
	// version in Secret Manager which contains the password to access Schema
	// Registry using basic authentication. Format:
	// projects/{project}/secrets/{secret}/versions/{version}.
	PasswordSecretVersion string `json:"passwordSecretVersion,omitempty"`
	// SslKeyPassword: Optional. Input only. The password for the cert inside the
	// KeyStore in plain text.
	SslKeyPassword string `json:"sslKeyPassword,omitempty"`
	// SslKeyPasswordSecretVersion: Optional. Input only. The resource name of a
	// secret version in Secret Manager which contains the password for the cert
	// inside the KeyStore. Format:
	// projects/{project}/secrets/{secret}/versions/{version}.
	SslKeyPasswordSecretVersion string `json:"sslKeyPasswordSecretVersion,omitempty"`
	// TechnologyType: Optional. The technology type of
	// KafkaSchemaRegistryConnection.
	TechnologyType string `json:"technologyType,omitempty"`
	// TrustStoreFile: Optional. The base64 encoded content of the TrustStore file.
	TrustStoreFile string `json:"trustStoreFile,omitempty"`
	// TrustStorePassword: Optional. Input only. The TrustStore password in plain
	// text.
	TrustStorePassword string `json:"trustStorePassword,omitempty"`
	// TrustStorePasswordSecretVersion: Optional. Input only. The resource name of
	// a secret version in Secret Manager which contains the TrustStore password.
	// Format: projects/{project}/secrets/{secret}/versions/{version}.
	TrustStorePasswordSecretVersion string `json:"trustStorePasswordSecretVersion,omitempty"`
	// Url: Optional. Kafka Schema Registry URL. e.g.:
	// 'https://server1.us.oracle.com:8081'
	Url string `json:"url,omitempty"`
	// Username: Optional. The username to access Schema Registry using basic
	// authentication. This value is injected into
	// 'schema.registry.basic.auth.user.info=user:password' configuration property.
	Username string `json:"username,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AuthenticationType") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AuthenticationType") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoldengateKafkaSchemaRegistryConnectionProperties) MarshalJSON() ([]byte, error) {
	type NoMethod GoldengateKafkaSchemaRegistryConnectionProperties
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoldengateMaintenanceConfig: The maintenance configuration of the
// GoldengateDeployment.
type GoldengateMaintenanceConfig struct {
	// BundleReleaseUpgradePeriodDays: Optional. Defines auto upgrade period for
	// bundle releases. Manually configured period cannot be longer than service
	// defined period for bundle releases. This period must be shorter or equal to
	// major release upgrade period. Not passing this field during create will
	// equate to using the service default.
	BundleReleaseUpgradePeriodDays int64 `json:"bundleReleaseUpgradePeriodDays,omitempty"`
	// InterimReleaseUpgradePeriodDays: Optional. Defines auto upgrade period for
	// interim releases. This period must be shorter or equal to bundle release
	// upgrade period.
	InterimReleaseUpgradePeriodDays int64 `json:"interimReleaseUpgradePeriodDays,omitempty"`
	// IsInterimReleaseAutoUpgradeEnabled: Optional. By default auto upgrade for
	// interim releases are not enabled. If auto-upgrade is enabled for interim
	// release, you have to specify interim_release_upgrade_period_days too.
	IsInterimReleaseAutoUpgradeEnabled bool `json:"isInterimReleaseAutoUpgradeEnabled,omitempty"`
	// MajorReleaseUpgradePeriodDays: Optional. Defines auto upgrade period for
	// major releases. Manually configured period cannot be longer than service
	// defined period for major releases. Not passing this field during create will
	// equate to using the service default.
	MajorReleaseUpgradePeriodDays int64 `json:"majorReleaseUpgradePeriodDays,omitempty"`
	// SecurityPatchUpgradePeriodDays: Optional. Defines auto upgrade period for
	// releases with security fix. Manually configured period cannot be longer than
	// service defined period for security releases. Not passing this field during
	// create will equate to using the service default.
	SecurityPatchUpgradePeriodDays int64 `json:"securityPatchUpgradePeriodDays,omitempty"`
	// ForceSendFields is a list of field names (e.g.
	// "BundleReleaseUpgradePeriodDays") to unconditionally include in API
	// requests. By default, fields with empty or default values are omitted from
	// API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "BundleReleaseUpgradePeriodDays")
	// to include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoldengateMaintenanceConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoldengateMaintenanceConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoldengateMaintenanceWindow: The maintenance window of the
// GoldengateDeployment.
type GoldengateMaintenanceWindow struct {
	// Day: Required. Days of the week.
	//
	// Possible values:
	//   "DAY_OF_WEEK_UNSPECIFIED" - The day of the week is unspecified.
	//   "MONDAY" - Monday
	//   "TUESDAY" - Tuesday
	//   "WEDNESDAY" - Wednesday
	//   "THURSDAY" - Thursday
	//   "FRIDAY" - Friday
	//   "SATURDAY" - Saturday
	//   "SUNDAY" - Sunday
	Day string `json:"day,omitempty"`
	// StartHour: Required. Start hour for maintenance period. Hour is in UTC.
	StartHour int64 `json:"startHour,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Day") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Day") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoldengateMaintenanceWindow) MarshalJSON() ([]byte, error) {
	type NoMethod GoldengateMaintenanceWindow
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoldengateMicrosoftFabricConnectionProperties: The properties of
// GoldengateMicrosoftFabricConnection.
type GoldengateMicrosoftFabricConnectionProperties struct {
	// ClientId: Optional. Azure client ID of the application.
	ClientId string `json:"clientId,omitempty"`
	// ClientSecret: Optional. Client secret associated with the client id.
	ClientSecret string `json:"clientSecret,omitempty"`
	// Endpoint: Optional. Optional Microsoft Fabric service endpoint. Default
	// value: https://onelake.dfs.fabric.microsoft.com
	Endpoint string `json:"endpoint,omitempty"`
	// TechnologyType: Optional. The technology type of MicrosoftFabricConnection.
	TechnologyType string `json:"technologyType,omitempty"`
	// TenantId: Optional. Azure tenant ID of the application.
	TenantId string `json:"tenantId,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ClientId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ClientId") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoldengateMicrosoftFabricConnectionProperties) MarshalJSON() ([]byte, error) {
	type NoMethod GoldengateMicrosoftFabricConnectionProperties
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoldengateMicrosoftSqlserverConnectionProperties: The properties of
// GoldengateMicrosoftSqlserverConnection.
type GoldengateMicrosoftSqlserverConnectionProperties struct {
	// AdditionalAttributes: Optional. An array of name-value pair attribute
	// entries. Used as additional parameters in connection string.
	AdditionalAttributes []*NameValuePair `json:"additionalAttributes,omitempty"`
	// Database: Optional. The name of the database.
	Database string `json:"database,omitempty"`
	// Host: Optional. The name or address of a host.
	Host string `json:"host,omitempty"`
	// Password: Optional. Input only. The password Oracle Goldengate uses for
	// Microsoft SQL Server connection in plain text.
	Password string `json:"password,omitempty"`
	// PasswordSecretVersion: Optional. Input only. The resource name of a secret
	// version in Secret Manager which contains the password Oracle Goldengate uses
	// for Microsoft SQL Server connection. Format:
	// projects/{project}/secrets/{secret}/versions/{version}.
	PasswordSecretVersion string `json:"passwordSecretVersion,omitempty"`
	// Port: Optional. The port of an endpoint usually specified for a connection.
	Port int64 `json:"port,omitempty"`
	// SecurityProtocol: Optional. Security Type for Microsoft SQL Server.
	//
	// Possible values:
	//   "MICROSOFT_SQLSERVER_SECURITY_PROTOCOL_UNSPECIFIED" - Security type not
	// specified.
	//   "PLAIN" - Plain text communication.
	//   "TLS" - Transport Layer Security.
	SecurityProtocol string `json:"securityProtocol,omitempty"`
	// ServerCertificateValidationRequired: Optional. If set to true, the driver
	// validates the certificate that is sent by the database server.
	ServerCertificateValidationRequired bool `json:"serverCertificateValidationRequired,omitempty"`
	// SslCaFile: Optional. Database Certificate - The base64 encoded content of a
	// .pem or .crt file containing the server public key (for 1-way SSL).
	SslCaFile string `json:"sslCaFile,omitempty"`
	// TechnologyType: Optional. The technology type of
	// MicrosoftSqlserverConnection.
	TechnologyType string `json:"technologyType,omitempty"`
	// Username: Optional. The username Oracle Goldengate uses to connect to the
	// Microsoft SQL Server.
	Username string `json:"username,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AdditionalAttributes") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AdditionalAttributes") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoldengateMicrosoftSqlserverConnectionProperties) MarshalJSON() ([]byte, error) {
	type NoMethod GoldengateMicrosoftSqlserverConnectionProperties
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoldengateMongodbConnectionProperties: The properties of
// GoldengateMongodbConnection.
type GoldengateMongodbConnectionProperties struct {
	// ConnectionString: Optional. MongoDB connection string. e.g.:
	// 'mongodb://mongodb0.example.com:27017/recordsrecords'
	ConnectionString string `json:"connectionString,omitempty"`
	// DatabaseId: Optional. The OCID of the Oracle Autonomous Json Database.
	DatabaseId string `json:"databaseId,omitempty"`
	// Password: Optional. Input only. The password Oracle Goldengate uses to
	// connect the Mongodb connection in plain text.
	Password string `json:"password,omitempty"`
	// PasswordSecretVersion: Optional. Input only. The resource name of a secret
	// version in Secret Manager which contains the password Oracle Goldengate uses
	// to connect the Mongodb connection. Format:
	// projects/{project}/secrets/{secret}/versions/{version}.
	PasswordSecretVersion string `json:"passwordSecretVersion,omitempty"`
	// SecurityProtocol: Optional. Security Type for MongoDB.
	//
	// Possible values:
	//   "MONGODB_SECURITY_PROTOCOL_UNSPECIFIED" - Security type not specified.
	//   "PLAIN" - Plain text communication.
	//   "TLS" - Transport Layer Security.
	//   "MTLS" - Mutual Transport Layer Security.
	SecurityProtocol string `json:"securityProtocol,omitempty"`
	// TechnologyType: Optional. The technology type of MongodbConnection.
	TechnologyType string `json:"technologyType,omitempty"`
	// TlsCaFile: Optional. Database Certificate - The base64 encoded content of a
	// .pem file, containing the server public key (for 1 and 2-way SSL).
	TlsCaFile string `json:"tlsCaFile,omitempty"`
	// TlsCertificateKeyFile: Optional. Client Certificate - The base64 encoded
	// content of a .pem file, containing the client public key (for 2-way SSL).
	TlsCertificateKeyFile string `json:"tlsCertificateKeyFile,omitempty"`
	// TlsCertificateKeyFilePassword: Optional. Input only. The Client Certificate
	// key file password in plain text.
	TlsCertificateKeyFilePassword string `json:"tlsCertificateKeyFilePassword,omitempty"`
	// TlsCertificateKeyFilePasswordSecretVersion: Optional. Input only. The
	// resource name of a secret version in Secret Manager which contains the
	// Client Certificate key file password in Secret Manager. Format:
	// projects/{project}/secrets/{secret}/versions/{version}.
	TlsCertificateKeyFilePasswordSecretVersion string `json:"tlsCertificateKeyFilePasswordSecretVersion,omitempty"`
	// Username: Optional. The username Oracle Goldengate uses to connect to the
	// database.
	Username string `json:"username,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ConnectionString") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ConnectionString") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoldengateMongodbConnectionProperties) MarshalJSON() ([]byte, error) {
	type NoMethod GoldengateMongodbConnectionProperties
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoldengateMysqlConnectionProperties: Properties of
// GoldengateMysqlConnection.
type GoldengateMysqlConnectionProperties struct {
	// AdditionalAttributes: Optional. An array of name-value pair attribute
	// entries. Used as additional parameters in connection string.
	AdditionalAttributes []*NameValuePair `json:"additionalAttributes,omitempty"`
	// Database: Optional. The name of the database.
	Database string `json:"database,omitempty"`
	// DbSystemId: Optional. The OCID of the database system being referenced.
	DbSystemId string `json:"dbSystemId,omitempty"`
	// Host: Optional. The name or address of a host.
	Host string `json:"host,omitempty"`
	// Password: Optional. Input only. The password Oracle Goldengate uses to
	// connect to MySQL in plain text.
	Password string `json:"password,omitempty"`
	// PasswordSecretVersion: Optional. Input only. The resource name of a secret
	// version in Secret Manager which contains the password Oracle Goldengate uses
	// to connect to MySQL. Format:
	// projects/{project}/secrets/{secret}/versions/{version}.
	PasswordSecretVersion string `json:"passwordSecretVersion,omitempty"`
	// Port: Optional. The port of an endpoint usually specified for a connection.
	Port int64 `json:"port,omitempty"`
	// SecurityProtocol: Optional. Security Type for MySQL.
	//
	// Possible values:
	//   "MYSQL_SECURITY_PROTOCOL_UNSPECIFIED" - Security type not specified.
	//   "PLAIN" - Plain text communication.
	//   "TLS" - Transport Layer Security.
	//   "MTLS" - Mutual Transport Layer Security.
	SecurityProtocol string `json:"securityProtocol,omitempty"`
	// SslCaFile: Optional. Database Certificate - The base64 encoded content of a
	// .pem or .crt file containing the server public key (for 1 and 2-way SSL).
	SslCaFile string `json:"sslCaFile,omitempty"`
	// SslCertFile: Optional. Client Certificate - The base64 encoded content of a
	// .pem or .crt file containing the client public key (for 2-way SSL).
	SslCertFile string `json:"sslCertFile,omitempty"`
	// SslCrlFile: Optional. The base64 encoded list of certificates revoked by the
	// trusted certificate authorities (Trusted CA).
	SslCrlFile string `json:"sslCrlFile,omitempty"`
	// SslKeyFile: Optional. Client Key - The base64 encoded content of a .pem or
	// .crt file containing the client private key (for 2-way SSL).
	SslKeyFile string `json:"sslKeyFile,omitempty"`
	// SslMode: Optional. SSL modes for MySQL.
	//
	// Possible values:
	//   "SSL_MODE_UNSPECIFIED" - SSL mode not specified.
	//   "DISABLED" - SSL is disabled.
	//   "PREFERRED" - SSL is preferred.
	//   "REQUIRED" - SSL is required.
	//   "VERIFY_CA" - SSL is required and certificate is verified.
	//   "VERIFY_IDENTITY" - SSL is required and certificate and hostname are
	// verified.
	SslMode string `json:"sslMode,omitempty"`
	// TechnologyType: Optional. The technology type of MysqlConnection.
	TechnologyType string `json:"technologyType,omitempty"`
	// Username: Optional. The username Oracle Goldengate uses to connect the
	// associated system of the given technology.
	Username string `json:"username,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AdditionalAttributes") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AdditionalAttributes") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoldengateMysqlConnectionProperties) MarshalJSON() ([]byte, error) {
	type NoMethod GoldengateMysqlConnectionProperties
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoldengateOciObjectStorageConnectionProperties: The properties of
// GoldengateOciObjectStorageConnection.
type GoldengateOciObjectStorageConnectionProperties struct {
	// PrivateKeyFile: Optional. The content of the private key file (PEM file)
	// corresponding to the API key of the fingerprint.
	PrivateKeyFile string `json:"privateKeyFile,omitempty"`
	// PrivateKeyPassphraseSecret: Optional. The passphrase of the private key.
	PrivateKeyPassphraseSecret string `json:"privateKeyPassphraseSecret,omitempty"`
	// PublicKeyFingerprint: Optional. The fingerprint of the API Key of the user
	// specified by the userId.
	PublicKeyFingerprint string `json:"publicKeyFingerprint,omitempty"`
	// Region: Optional. The name of the region of OCI Object Storage. e.g.:
	// us-ashburn-1 If the region is not provided, backend will default to the
	// default region.
	Region string `json:"region,omitempty"`
	// TechnologyType: Optional. The technology type of OciObjectStorageConnection.
	TechnologyType string `json:"technologyType,omitempty"`
	// TenancyId: Optional. The OCID of the related OCI tenancy.
	TenancyId string `json:"tenancyId,omitempty"`
	// UseResourcePrincipal: Optional. Specifies that the user intends to
	// authenticate to the instance using a resource principal.
	UseResourcePrincipal bool `json:"useResourcePrincipal,omitempty"`
	// UserId: Optional. The OCID of the OCI user who will access the Object
	// Storage. The user must have write access to the bucket they want to connect
	// to.
	UserId string `json:"userId,omitempty"`
	// ForceSendFields is a list of field names (e.g. "PrivateKeyFile") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "PrivateKeyFile") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoldengateOciObjectStorageConnectionProperties) MarshalJSON() ([]byte, error) {
	type NoMethod GoldengateOciObjectStorageConnectionProperties
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoldengateOggDeployment: The Ogg data of the GoldengateDeployment.
type GoldengateOggDeployment struct {
	// AdminPassword: Optional. The Goldengate deployment console password in plain
	// text.
	AdminPassword string `json:"adminPassword,omitempty"`
	// AdminPasswordSecretVersion: Optional. Input only. The Goldengate deployment
	// console password secret version.
	AdminPasswordSecretVersion string `json:"adminPasswordSecretVersion,omitempty"`
	// AdminUsername: Required. The Goldengate deployment console username.
	AdminUsername string `json:"adminUsername,omitempty"`
	// Certificate: Output only. The certificate of the GoldengateDeployment.
	Certificate string `json:"certificate,omitempty"`
	// CredentialStore: Output only. The credential store of the
	// GoldengateDeployment.
	//
	// Possible values:
	//   "CREDENTIAL_STORE_UNSPECIFIED" - The credential store is unspecified.
	//   "GOLDENGATE" - The credential store is Goldengate.
	//   "IAM" - The credential store is IAM.
	CredentialStore string `json:"credentialStore,omitempty"`
	// Deployment: Required. The name given to the Goldengate service deployment.
	// The name must be 1 to 32 characters long, must contain only alphanumeric
	// characters and must start with a letter.
	Deployment string `json:"deployment,omitempty"`
	// GroupRolesMapping: Output only. The group to roles mapping of the
	// GoldengateDeployment.
	GroupRolesMapping *GoldengateGroupToRolesMapping `json:"groupRolesMapping,omitempty"`
	// IdentityDomainId: Output only. The identity domain id of the
	// GoldengateDeployment.
	IdentityDomainId string `json:"identityDomainId,omitempty"`
	// OggVersion: Optional. Version of OGG
	OggVersion string `json:"oggVersion,omitempty"`
	// PasswordSecretId: Output only. The password secret id of the
	// GoldengateDeployment.
	PasswordSecretId string `json:"passwordSecretId,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AdminPassword") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AdminPassword") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoldengateOggDeployment) MarshalJSON() ([]byte, error) {
	type NoMethod GoldengateOggDeployment
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoldengateOracleAIDataPlatformConnectionProperties: The properties of
// GoldengateOracleAIDataPlatformConnection.
type GoldengateOracleAIDataPlatformConnectionProperties struct {
	// ConnectionUrl: Optional. Connection URL. It must start with 'jdbc:spark://'
	ConnectionUrl string `json:"connectionUrl,omitempty"`
	// PrivateKeyFile: Optional. The content of the private key file (PEM file)
	// corresponding to the API key of the fingerprint.
	PrivateKeyFile string `json:"privateKeyFile,omitempty"`
	// PrivateKeyPassphraseSecret: Optional. The passphrase of the private key.
	PrivateKeyPassphraseSecret string `json:"privateKeyPassphraseSecret,omitempty"`
	// PublicKeyFingerprint: Optional. The fingerprint of the API Key of the user
	// specified by the user_id.
	PublicKeyFingerprint string `json:"publicKeyFingerprint,omitempty"`
	// Region: Optional. The name of the region. e.g.: us-ashburn-1
	Region string `json:"region,omitempty"`
	// TechnologyType: Optional. The technology type of
	// OracleAiDataPlatformConnection.
	TechnologyType string `json:"technologyType,omitempty"`
	// TenancyId: Optional. The OCID of the related OCI tenancy.
	TenancyId string `json:"tenancyId,omitempty"`
	// UseResourcePrincipal: Optional. Specifies that the user intends to
	// authenticate to the instance using a resource principal.
	UseResourcePrincipal bool `json:"useResourcePrincipal,omitempty"`
	// UserId: Optional. The OCID of the OCI user who will access.
	UserId string `json:"userId,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ConnectionUrl") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ConnectionUrl") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoldengateOracleAIDataPlatformConnectionProperties) MarshalJSON() ([]byte, error) {
	type NoMethod GoldengateOracleAIDataPlatformConnectionProperties
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoldengateOracleConnectionProperties: The properties of Goldengate Oracle
// Database Connection.
type GoldengateOracleConnectionProperties struct {
	// AuthenticationMode: Optional. Authentication mode.
	//
	// Possible values:
	//   "ORACLE_AUTHENTICATION_MODE_UNSPECIFIED" - Authentication mode not
	// specified.
	//   "TLS" - TLS authentication mode.
	//   "MTLS" - MTLS authentication mode.
	AuthenticationMode string `json:"authenticationMode,omitempty"`
	// ConnectionString: Optional. Connect descriptor or Easy Connect Naming method
	// used to connect to a database.
	ConnectionString string `json:"connectionString,omitempty"`
	// GcpOracleDatabaseId: Optional. Autonomous AI Database instance id of
	// database in Oracle Database @ Google Cloud. If gcp_oracle_database_id is
	// provided, connection_string must be empty. Format:
	// projects/{project}/locations/{location}/autonomousDatabases/{autonomous_datab
	// ase}
	GcpOracleDatabaseId string `json:"gcpOracleDatabaseId,omitempty"`
	// Password: Optional. Input only. The password Oracle Goldengate uses in plain
	// text.
	Password string `json:"password,omitempty"`
	// PasswordSecretVersion: Optional. Input only. The resource name of a secret
	// version in Secret Manager which contains the password Oracle Goldengate
	// uses. Format: projects/{project}/secrets/{secret}/versions/{version}.
	PasswordSecretVersion string `json:"passwordSecretVersion,omitempty"`
	// SessionMode: Optional. The mode of the database connection session to be
	// established by the data client.
	//
	// Possible values:
	//   "SESSION_MODE_UNSPECIFIED" - Default unspecified value.
	//   "DIRECT" - Indicates that the resource is using direct session mode.
	//   "REDIRECT" - Indicates that the resource is using redirect session mode.
	SessionMode string `json:"sessionMode,omitempty"`
	// TechnologyType: Optional. The technology type.
	TechnologyType string `json:"technologyType,omitempty"`
	// Username: Optional. The username Oracle Goldengate uses to connect.
	Username string `json:"username,omitempty"`
	// WalletFile: Optional. The wallet contents Oracle Goldengate uses to make
	// connections to a database. This attribute is expected to be base64 encoded.
	WalletFile string `json:"walletFile,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AuthenticationMode") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AuthenticationMode") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoldengateOracleConnectionProperties) MarshalJSON() ([]byte, error) {
	type NoMethod GoldengateOracleConnectionProperties
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoldengateOracleNosqlConnectionProperties: The properties of
// GoldengateOracleNosqlConnection.
type GoldengateOracleNosqlConnectionProperties struct {
	// PrivateKeyFile: Optional. The content of the private key file (PEM file)
	// corresponding to the API key of the fingerprint.
	PrivateKeyFile string `json:"privateKeyFile,omitempty"`
	// PrivateKeyPassphraseSecret: Optional. The passphrase of the private key.
	PrivateKeyPassphraseSecret string `json:"privateKeyPassphraseSecret,omitempty"`
	// PublicKeyFingerprint: Optional. The fingerprint of the API Key of the user
	// specified by the userId.
	PublicKeyFingerprint string `json:"publicKeyFingerprint,omitempty"`
	// Region: Optional. The name of the region. e.g.: us-ashburn-1
	Region string `json:"region,omitempty"`
	// TechnologyType: Optional. The technology type of OracleNosqlConnection.
	TechnologyType string `json:"technologyType,omitempty"`
	// TenancyId: Optional. The OCID of the OCI tenancy.
	TenancyId string `json:"tenancyId,omitempty"`
	// UseResourcePrincipal: Optional. Specifies that the user intends to
	// authenticate to the instance using a resource principal.
	UseResourcePrincipal bool `json:"useResourcePrincipal,omitempty"`
	// UserId: Optional. The OCID of the OCI user who will access the Oracle NoSQL
	// database.
	UserId string `json:"userId,omitempty"`
	// ForceSendFields is a list of field names (e.g. "PrivateKeyFile") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "PrivateKeyFile") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoldengateOracleNosqlConnectionProperties) MarshalJSON() ([]byte, error) {
	type NoMethod GoldengateOracleNosqlConnectionProperties
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoldengatePlacement: The placement of the GoldengateDeployment.
type GoldengatePlacement struct {
	// AvailabilityDomain: Output only. The availability domain.
	AvailabilityDomain string `json:"availabilityDomain,omitempty"`
	// FaultDomain: Output only. The fault domain.
	FaultDomain string `json:"faultDomain,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AvailabilityDomain") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AvailabilityDomain") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoldengatePlacement) MarshalJSON() ([]byte, error) {
	type NoMethod GoldengatePlacement
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoldengatePostgresqlConnectionProperties: The properties of
// GoldengatePostgresqlConnection.
type GoldengatePostgresqlConnectionProperties struct {
	// AdditionalAttributes: Optional. An array of name-value pair attribute
	// entries. Used as additional parameters in connection string.
	AdditionalAttributes []*NameValuePair `json:"additionalAttributes,omitempty"`
	// Database: Optional. The name of the database.
	Database string `json:"database,omitempty"`
	// DbSystemId: Optional. The OCID of the database system being referenced.
	DbSystemId string `json:"dbSystemId,omitempty"`
	// Host: Optional. The name or address of a host.
	Host string `json:"host,omitempty"`
	// Password: Optional. Input only. The password Oracle Goldengate uses for
	// PostgreSQL connection in plain text.
	Password string `json:"password,omitempty"`
	// PasswordSecretVersion: Optional. Input only. The resource name of a secret
	// version in Secret Manager which contains the password Oracle Goldengate uses
	// for PostgreSQL connection. Format:
	// projects/{project}/secrets/{secret}/versions/{version}.
	PasswordSecretVersion string `json:"passwordSecretVersion,omitempty"`
	// Port: Optional. The port of an endpoint usually specified for a connection.
	Port int64 `json:"port,omitempty"`
	// SecurityProtocol: Optional. Security protocol for PostgreSQL.
	//
	// Possible values:
	//   "POSTGRESQL_SECURITY_PROTOCOL_UNSPECIFIED" - Security protocol not
	// specified.
	//   "PLAIN" - Plain text communication.
	//   "TLS" - Transport Layer Security.
	//   "MTLS" - Mutual Transport Layer Security.
	SecurityProtocol string `json:"securityProtocol,omitempty"`
	// SslCaFile: Optional. The base64 encoded certificate of the trusted
	// certificate authorities (Trusted CA) for PostgreSQL.
	SslCaFile string `json:"sslCaFile,omitempty"`
	// SslCertFile: Optional. The base64 encoded certificate of the PostgreSQL
	// server.
	SslCertFile string `json:"sslCertFile,omitempty"`
	// SslCrlFile: Optional. The base64 encoded list of certificates revoked by the
	// trusted certificate authorities (Trusted CA).
	SslCrlFile string `json:"sslCrlFile,omitempty"`
	// SslKeyFile: Optional. The base64 encoded private key of the PostgreSQL
	// server.
	SslKeyFile string `json:"sslKeyFile,omitempty"`
	// SslMode: Optional. SSL modes for PostgreSQL.
	//
	// Possible values:
	//   "POSTGRESQL_SSL_MODE_UNSPECIFIED" - SSL mode not specified.
	//   "PREFER" - Prefer SSL.
	//   "REQUIRE" - Require SSL.
	//   "VERIFY_CA" - Verify Certificate Authority.
	//   "VERIFY_FULL" - Verify Full.
	SslMode string `json:"sslMode,omitempty"`
	// TechnologyType: Optional. The technology type of PostgresqlConnection.
	TechnologyType string `json:"technologyType,omitempty"`
	// Username: Optional. The username Oracle Goldengate uses to connect the
	// associated system of the given technology.
	Username string `json:"username,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AdditionalAttributes") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AdditionalAttributes") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoldengatePostgresqlConnectionProperties) MarshalJSON() ([]byte, error) {
	type NoMethod GoldengatePostgresqlConnectionProperties
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoldengateRedisConnectionProperties: The properties of
// GoldengateRedisConnection.
type GoldengateRedisConnectionProperties struct {
	// AuthenticationType: Optional. Authentication type for Redis.
	//
	// Possible values:
	//   "REDIS_AUTHENTICATION_TYPE_UNSPECIFIED" - Authentication type not
	// specified.
	//   "NONE" - No authentication.
	//   "BASIC" - Basic authentication.
	AuthenticationType string `json:"authenticationType,omitempty"`
	// KeyStoreFile: Optional. The base64 encoded content of the KeyStore file.
	KeyStoreFile string `json:"keyStoreFile,omitempty"`
	// KeyStorePassword: Optional. Input only. The KeyStore password in plain text.
	KeyStorePassword string `json:"keyStorePassword,omitempty"`
	// KeyStorePasswordSecretVersion: Optional. Input only. The resource name of a
	// secret version in Secret Manager which contains the KeyStore password.
	// Format: projects/{project}/secrets/{secret}/versions/{version}.
	KeyStorePasswordSecretVersion string `json:"keyStorePasswordSecretVersion,omitempty"`
	// Password: Optional. Input only. The password Oracle Goldengate uses for
	// Redis connection in plain text.
	Password string `json:"password,omitempty"`
	// PasswordSecretVersion: Optional. Input only. The resource name of a secret
	// version in Secret Manager which contains the password Oracle Goldengate uses
	// for Redis connection. Format:
	// projects/{project}/secrets/{secret}/versions/{version}.
	PasswordSecretVersion string `json:"passwordSecretVersion,omitempty"`
	// RedisClusterId: Optional. The OCID of the Redis cluster.
	RedisClusterId string `json:"redisClusterId,omitempty"`
	// SecurityProtocol: Optional. Security protocol for Redis.
	//
	// Possible values:
	//   "REDIS_SECURITY_PROTOCOL_UNSPECIFIED" - Security protocol not specified.
	//   "PLAIN" - Plain text communication.
	//   "TLS" - Transport Layer Security.
	//   "MTLS" - Mutual Transport Layer Security.
	SecurityProtocol string `json:"securityProtocol,omitempty"`
	// Servers: Optional. Comma separated list of Redis server addresses, specified
	// as host:port entries, where :port is optional. If port is not specified, it
	// defaults to 6379. Example:
	// "server1.example.com:6379,server2.example.com:6379"
	Servers string `json:"servers,omitempty"`
	// TechnologyType: Optional. The technology type of RedisConnection.
	TechnologyType string `json:"technologyType,omitempty"`
	// TrustStoreFile: Optional. The base64 encoded content of the TrustStore file.
	TrustStoreFile string `json:"trustStoreFile,omitempty"`
	// TrustStorePassword: Optional. Input only. The TrustStore password in plain
	// text.
	TrustStorePassword string `json:"trustStorePassword,omitempty"`
	// TrustStorePasswordSecretVersion: Optional. Input only. The resource name of
	// a secret version in Secret Manager which contains the TrustStore password.
	// Format: projects/{project}/secrets/{secret}/versions/{version}.
	TrustStorePasswordSecretVersion string `json:"trustStorePasswordSecretVersion,omitempty"`
	// Username: Optional. The username Oracle Goldengate uses to connect the
	// associated system of the given technology.
	Username string `json:"username,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AuthenticationType") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AuthenticationType") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoldengateRedisConnectionProperties) MarshalJSON() ([]byte, error) {
	type NoMethod GoldengateRedisConnectionProperties
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoldengateSnowflakeConnectionProperties: The properties of
// GoldengateSnowflakeConnection.
type GoldengateSnowflakeConnectionProperties struct {
	// AuthenticationType: Optional. Used authentication mechanism to access
	// Snowflake.
	//
	// Possible values:
	//   "AUTHENTICATION_TYPE_UNSPECIFIED" - Authentication type not specified.
	//   "BASIC" - Basic authentication.
	//   "KEY_PAIR" - Key pair authentication.
	AuthenticationType string `json:"authenticationType,omitempty"`
	// ConnectionUrl: Optional. JDBC connection URL. e.g.:
	// 'jdbc:snowflake://.snowflakecomputing.com/?warehouse=&db='
	ConnectionUrl string `json:"connectionUrl,omitempty"`
	// Password: Optional. Input only. The password Oracle Goldengate uses to
	// connect to Snowflake platform in plain text.
	Password string `json:"password,omitempty"`
	// PasswordSecretVersion: Optional. Input only. The resource name of a secret
	// version in Secret Manager which contains the password Oracle Goldengate uses
	// to connect to Snowflake platform. Format:
	// projects/{project}/secrets/{secret}/versions/{version}.
	PasswordSecretVersion string `json:"passwordSecretVersion,omitempty"`
	// PrivateKeyFile: Optional. The content of private key file in PEM format.
	PrivateKeyFile string `json:"privateKeyFile,omitempty"`
	// PrivateKeyPassphraseSecret: Optional. Password if the private key file is
	// encrypted.
	PrivateKeyPassphraseSecret string `json:"privateKeyPassphraseSecret,omitempty"`
	// TechnologyType: Optional. The technology type of SnowflakeConnection.
	TechnologyType string `json:"technologyType,omitempty"`
	// Username: Optional. The username Oracle Goldengate uses to connect to
	// Snowflake.
	Username string `json:"username,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AuthenticationType") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AuthenticationType") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoldengateSnowflakeConnectionProperties) MarshalJSON() ([]byte, error) {
	type NoMethod GoldengateSnowflakeConnectionProperties
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// GoogleCloudStorageIcebergStorage: The Google Cloud Storage Iceberg storage.
type GoogleCloudStorageIcebergStorage struct {
	// Bucket: Required. The bucket of Google Cloud Storage.
	Bucket string `json:"bucket,omitempty"`
	// ProjectId: Required. The project ID of Google Cloud Storage.
	ProjectId string `json:"projectId,omitempty"`
	// ServiceAccountKeyFile: Optional. The base64 encoded content of the service
	// account key file of Google Cloud Storage.
	ServiceAccountKeyFile string `json:"serviceAccountKeyFile,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Bucket") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Bucket") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s GoogleCloudStorageIcebergStorage) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudStorageIcebergStorage
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// IcebergCatalog: The Iceberg catalog details.
type IcebergCatalog struct {
	// CatalogType: Required. The type of Iceberg catalog.
	//
	// Possible values:
	//   "CATALOG_TYPE_UNSPECIFIED" - Catalog type not specified.
	//   "GLUE" - Glue catalog.
	//   "HADOOP" - Hadoop catalog.
	//   "NESSIE" - Nessie catalog.
	//   "POLARIS" - Polaris catalog.
	//   "REST" - REST catalog.
	CatalogType string `json:"catalogType,omitempty"`
	// GlueIcebergCatalog: The Glue Iceberg catalog.
	GlueIcebergCatalog *GlueIcebergCatalog `json:"glueIcebergCatalog,omitempty"`
	// NessieIcebergCatalog: The Nessie Iceberg catalog.
	NessieIcebergCatalog *NessieIcebergCatalog `json:"nessieIcebergCatalog,omitempty"`
	// PolarisIcebergCatalog: The Polaris Iceberg catalog.
	PolarisIcebergCatalog *PolarisIcebergCatalog `json:"polarisIcebergCatalog,omitempty"`
	// RestIcebergCatalog: The REST Iceberg catalog.
	RestIcebergCatalog *RestIcebergCatalog `json:"restIcebergCatalog,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CatalogType") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CatalogType") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s IcebergCatalog) MarshalJSON() ([]byte, error) {
	type NoMethod IcebergCatalog
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// IcebergStorage: The Iceberg storage details.
type IcebergStorage struct {
	// AmazonS3IcebergStorage: The Amazon S3 Iceberg storage.
	AmazonS3IcebergStorage *AmazonS3IcebergStorage `json:"amazonS3IcebergStorage,omitempty"`
	// AzureDataLakeStorageIcebergStorage: The Azure Data Lake Storage Iceberg
	// storage.
	AzureDataLakeStorageIcebergStorage *AzureDataLakeStorageIcebergStorage `json:"azureDataLakeStorageIcebergStorage,omitempty"`
	// GoogleCloudStorageIcebergStorage: The Google Cloud Storage Iceberg storage.
	GoogleCloudStorageIcebergStorage *GoogleCloudStorageIcebergStorage `json:"googleCloudStorageIcebergStorage,omitempty"`
	// StorageType: Required. The type of Iceberg storage.
	//
	// Possible values:
	//   "STORAGE_TYPE_UNSPECIFIED" - Storage type not specified.
	//   "AMAZON_S3" - Amazon S3 storage.
	//   "GOOGLE_CLOUD_STORAGE" - Google Cloud Storage storage.
	//   "AZURE_DATA_LAKE_STORAGE" - Azure Data Lake Storage storage.
	StorageType string `json:"storageType,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AmazonS3IcebergStorage") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AmazonS3IcebergStorage") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s IcebergStorage) MarshalJSON() ([]byte, error) {
	type NoMethod IcebergStorage
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// IdentityConnector: The identity connector details which will allow OCI to
// securely access the resources in the customer project.
type IdentityConnector struct {
	// ConnectionState: Output only. The connection state of the identity
	// connector.
	//
	// Possible values:
	//   "CONNECTION_STATE_UNSPECIFIED" - Default unspecified value.
	//   "CONNECTED" - The identity pool connection is connected.
	//   "PARTIALLY_CONNECTED" - The identity pool connection is partially
	// connected.
	//   "DISCONNECTED" - The identity pool connection is disconnected.
	//   "UNKNOWN" - The identity pool connection is in an unknown state.
	ConnectionState string `json:"connectionState,omitempty"`
	// ServiceAgentEmail: Output only. A google managed service account on which
	// customers can grant roles to access resources in the customer project.
	// Example: `p176944527254-55-75119d87fd8f@gcp-sa-oci.iam.gserviceaccount.com`
	ServiceAgentEmail string `json:"serviceAgentEmail,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ConnectionState") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ConnectionState") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s IdentityConnector) MarshalJSON() ([]byte, error) {
	type NoMethod IdentityConnector
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// IngressIp: The ingress IPs of the GoldengateDeployment.
type IngressIp struct {
	// IngressIpAddress: Output only. The ingress IP.
	IngressIpAddress string `json:"ingressIpAddress,omitempty"`
	// ForceSendFields is a list of field names (e.g. "IngressIpAddress") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "IngressIpAddress") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s IngressIp) MarshalJSON() ([]byte, error) {
	type NoMethod IngressIp
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// KafkaBootstrapServer: Represents a Kafka bootstrap server with host name,
// optional port defaults to 9092, and an optional private ip.
type KafkaBootstrapServer struct {
	// Host: Required. The name or address of a host.
	Host string `json:"host,omitempty"`
	// Port: Optional. The port of an endpoint usually specified for a connection.
	Port int64 `json:"port,omitempty"`
	// PrivateIpAddress: Optional. The private IP address of the connection's
	// endpoint in the customer's VCN, typically a database endpoint or a big data
	// endpoint (e.g. Kafka bootstrap server). In case the privateIp is provided,
	// the subnetId must also be provided. In case the privateIp (and the subnetId)
	// is not provided it is assumed the datasource is publicly accessible. In case
	// the connection is accessible only privately, the lack of privateIp will
	// result in not being able to access the connection.
	PrivateIpAddress string `json:"privateIpAddress,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Host") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Host") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s KafkaBootstrapServer) MarshalJSON() ([]byte, error) {
	type NoMethod KafkaBootstrapServer
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// ListAutonomousDatabaseBackupsResponse: The response for
// `AutonomousDatabaseBackup.List`.
type ListAutonomousDatabaseBackupsResponse struct {
	// AutonomousDatabaseBackups: The list of Autonomous Database Backups.
	AutonomousDatabaseBackups []*AutonomousDatabaseBackup `json:"autonomousDatabaseBackups,omitempty"`
	// NextPageToken: A token identifying a page of results the server should
	// return.
	NextPageToken string `json:"nextPageToken,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "AutonomousDatabaseBackups")
	// to unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AutonomousDatabaseBackups") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s ListAutonomousDatabaseBackupsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod ListAutonomousDatabaseBackupsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// ListAutonomousDatabaseCharacterSetsResponse: The response for
// `AutonomousDatabaseCharacterSet.List`.
type ListAutonomousDatabaseCharacterSetsResponse struct {
	// AutonomousDatabaseCharacterSets: The list of Autonomous Database Character
	// Sets.
	AutonomousDatabaseCharacterSets []*AutonomousDatabaseCharacterSet `json:"autonomousDatabaseCharacterSets,omitempty"`
	// NextPageToken: A token identifying a page of results the server should
	// return.
	NextPageToken string `json:"nextPageToken,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g.
	// "AutonomousDatabaseCharacterSets") to unconditionally include in API
	// requests. By default, fields with empty or default values are omitted from
	// API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AutonomousDatabaseCharacterSets")
	// to include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s ListAutonomousDatabaseCharacterSetsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod ListAutonomousDatabaseCharacterSetsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// ListAutonomousDatabasesResponse: The response for `AutonomousDatabase.List`.
type ListAutonomousDatabasesResponse struct {
	// AutonomousDatabases: The list of Autonomous Databases.
	AutonomousDatabases []*AutonomousDatabase `json:"autonomousDatabases,omitempty"`
	// NextPageToken: A token identifying a page of results the server should
	// return.
	NextPageToken string `json:"nextPageToken,omitempty"`
	// Unreachable: Unreachable locations when listing resources across all
	// locations using wildcard location '-'.
	Unreachable []string `json:"unreachable,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "AutonomousDatabases") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AutonomousDatabases") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s ListAutonomousDatabasesResponse) MarshalJSON() ([]byte, error) {
	type NoMethod ListAutonomousDatabasesResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// ListAutonomousDbVersionsResponse: The response for
// `AutonomousDbVersion.List`.
type ListAutonomousDbVersionsResponse struct {
	// AutonomousDbVersions: The list of Autonomous Database versions.
	AutonomousDbVersions []*AutonomousDbVersion `json:"autonomousDbVersions,omitempty"`
	// NextPageToken: A token identifying a page of results the server should
	// return.
	NextPageToken string `json:"nextPageToken,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "AutonomousDbVersions") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AutonomousDbVersions") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s ListAutonomousDbVersionsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod ListAutonomousDbVersionsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// ListCloudExadataInfrastructuresResponse: The response for
// `CloudExadataInfrastructures.list`.
type ListCloudExadataInfrastructuresResponse struct {
	// CloudExadataInfrastructures: The list of Exadata Infrastructures.
	CloudExadataInfrastructures []*CloudExadataInfrastructure `json:"cloudExadataInfrastructures,omitempty"`
	// NextPageToken: A token for fetching next page of response.
	NextPageToken string `json:"nextPageToken,omitempty"`
	// Unreachable: Unreachable locations when listing resources across all
	// locations using wildcard location '-'.
	Unreachable []string `json:"unreachable,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g.
	// "CloudExadataInfrastructures") to unconditionally include in API requests.
	// By default, fields with empty or default values are omitted from API
	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields
	// for more details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CloudExadataInfrastructures") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s ListCloudExadataInfrastructuresResponse) MarshalJSON() ([]byte, error) {
	type NoMethod ListCloudExadataInfrastructuresResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// ListCloudVmClustersResponse: The response for `CloudVmCluster.List`.
type ListCloudVmClustersResponse struct {
	// CloudVmClusters: The list of VM Clusters.
	CloudVmClusters []*CloudVmCluster `json:"cloudVmClusters,omitempty"`
	// NextPageToken: A token to fetch the next page of results.
	NextPageToken string `json:"nextPageToken,omitempty"`
	// Unreachable: Unreachable locations when listing resources across all
	// locations using wildcard location '-'.
	Unreachable []string `json:"unreachable,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "CloudVmClusters") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CloudVmClusters") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s ListCloudVmClustersResponse) MarshalJSON() ([]byte, error) {
	type NoMethod ListCloudVmClustersResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// ListDatabaseCharacterSetsResponse: The response for
// `DatabaseCharacterSet.List`.
type ListDatabaseCharacterSetsResponse struct {
	// DatabaseCharacterSets: The list of DatabaseCharacterSets.
	DatabaseCharacterSets []*DatabaseCharacterSet `json:"databaseCharacterSets,omitempty"`
	// NextPageToken: A token identifying a page of results the server should
	// return.
	NextPageToken string `json:"nextPageToken,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "DatabaseCharacterSets") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DatabaseCharacterSets") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s ListDatabaseCharacterSetsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod ListDatabaseCharacterSetsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// ListDatabasesResponse: The response for `Database.List`.
type ListDatabasesResponse struct {
	// Databases: The list of Databases.
	Databases []*Database `json:"databases,omitempty"`
	// NextPageToken: A token identifying a page of results the server should
	// return.
	NextPageToken string `json:"nextPageToken,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "Databases") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Databases") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s ListDatabasesResponse) MarshalJSON() ([]byte, error) {
	type NoMethod ListDatabasesResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// ListDbNodesResponse: The response for `DbNode.List`.
type ListDbNodesResponse struct {
	// DbNodes: The list of DB Nodes
	DbNodes []*DbNode `json:"dbNodes,omitempty"`
	// NextPageToken: A token identifying a page of results the node should return.
	NextPageToken string `json:"nextPageToken,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "DbNodes") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DbNodes") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s ListDbNodesResponse) MarshalJSON() ([]byte, error) {
	type NoMethod ListDbNodesResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// ListDbServersResponse: The response for `DbServer.List`.
type ListDbServersResponse struct {
	// DbServers: The list of database servers.
	DbServers []*DbServer `json:"dbServers,omitempty"`
	// NextPageToken: A token identifying a page of results the server should
	// return.
	NextPageToken string `json:"nextPageToken,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "DbServers") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DbServers") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s ListDbServersResponse) MarshalJSON() ([]byte, error) {
	type NoMethod ListDbServersResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// ListDbSystemInitialStorageSizesResponse: The response for
// `DbSystemInitialStorageSizes.List`.
type ListDbSystemInitialStorageSizesResponse struct {
	// DbSystemInitialStorageSizes: The list of DbSystemInitialStorageSizes.
	DbSystemInitialStorageSizes []*DbSystemInitialStorageSize `json:"dbSystemInitialStorageSizes,omitempty"`
	// NextPageToken: A token identifying a page of results the server should
	// return.
	NextPageToken string `json:"nextPageToken,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g.
	// "DbSystemInitialStorageSizes") to unconditionally include in API requests.
	// By default, fields with empty or default values are omitted from API
	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields
	// for more details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DbSystemInitialStorageSizes") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s ListDbSystemInitialStorageSizesResponse) MarshalJSON() ([]byte, error) {
	type NoMethod ListDbSystemInitialStorageSizesResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// ListDbSystemShapesResponse: The response for `DbSystemShape.List`.
type ListDbSystemShapesResponse struct {
	// DbSystemShapes: The list of Database System shapes.
	DbSystemShapes []*DbSystemShape `json:"dbSystemShapes,omitempty"`
	// NextPageToken: A token identifying a page of results the server should
	// return.
	NextPageToken string `json:"nextPageToken,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "DbSystemShapes") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DbSystemShapes") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s ListDbSystemShapesResponse) MarshalJSON() ([]byte, error) {
	type NoMethod ListDbSystemShapesResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// ListDbSystemsResponse: The response for `DbSystem.List`.
type ListDbSystemsResponse struct {
	// DbSystems: The list of DbSystems.
	DbSystems []*DbSystem `json:"dbSystems,omitempty"`
	// NextPageToken: A token identifying a page of results the server should
	// return.
	NextPageToken string `json:"nextPageToken,omitempty"`
	// Unreachable: Unreachable locations when listing resources across all
	// locations using wildcard location '-'.
	Unreachable []string `json:"unreachable,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "DbSystems") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DbSystems") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s ListDbSystemsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod ListDbSystemsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// ListDbVersionsResponse: The response for `DbVersions.List`.
type ListDbVersionsResponse struct {
	// DbVersions: The list of DbVersions.
	DbVersions []*DbVersion `json:"dbVersions,omitempty"`
	// NextPageToken: A token identifying a page of results the server should
	// return.
	NextPageToken string `json:"nextPageToken,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "DbVersions") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DbVersions") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s ListDbVersionsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod ListDbVersionsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// ListEntitlementsResponse: The response for `Entitlement.List`.
type ListEntitlementsResponse struct {
	// Entitlements: The list of Entitlements
	Entitlements []*Entitlement `json:"entitlements,omitempty"`
	// NextPageToken: A token identifying a page of results the server should
	// return.
	NextPageToken string `json:"nextPageToken,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "Entitlements") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Entitlements") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s ListEntitlementsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod ListEntitlementsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// ListExadbVmClustersResponse: The response for `ExadbVmCluster.List`.
type ListExadbVmClustersResponse struct {
	// ExadbVmClusters: The list of ExadbVmClusters.
	ExadbVmClusters []*ExadbVmCluster `json:"exadbVmClusters,omitempty"`
	// NextPageToken: A token identifying a page of results the server should
	// return.
	NextPageToken string `json:"nextPageToken,omitempty"`
	// Unreachable: Unreachable locations when listing resources across all
	// locations using wildcard location '-'.
	Unreachable []string `json:"unreachable,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "ExadbVmClusters") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ExadbVmClusters") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s ListExadbVmClustersResponse) MarshalJSON() ([]byte, error) {
	type NoMethod ListExadbVmClustersResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// ListExascaleDbStorageVaultsResponse: The response for
// `ExascaleDbStorageVault.List`.
type ListExascaleDbStorageVaultsResponse struct {
	// ExascaleDbStorageVaults: The ExascaleDbStorageVaults.
	ExascaleDbStorageVaults []*ExascaleDbStorageVault `json:"exascaleDbStorageVaults,omitempty"`
	// NextPageToken: A token identifying a page of results the server should
	// return. If present, the next page token can be provided to a subsequent
	// ListExascaleDbStorageVaults call to list the next page. If empty, there are
	// no more pages.
	NextPageToken string `json:"nextPageToken,omitempty"`
	// Unreachable: Unreachable locations when listing resources across all
	// locations using wildcard location '-'.
	Unreachable []string `json:"unreachable,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "ExascaleDbStorageVaults") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ExascaleDbStorageVaults") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s ListExascaleDbStorageVaultsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod ListExascaleDbStorageVaultsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// ListGiVersionsResponse: The response for `GiVersion.List`.
type ListGiVersionsResponse struct {
	// GiVersions: The list of Oracle Grid Infrastructure (GI) versions.
	GiVersions []*GiVersion `json:"giVersions,omitempty"`
	// NextPageToken: A token identifying a page of results the server should
	// return.
	NextPageToken string `json:"nextPageToken,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "GiVersions") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GiVersions") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s ListGiVersionsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod ListGiVersionsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// ListGoldengateConnectionAssignmentsResponse: Response message for listing
// GoldengateConnectionAssignments.
type ListGoldengateConnectionAssignmentsResponse struct {
	// GoldengateConnectionAssignments: The list of
	// GoldengateConnectionAssignments.
	GoldengateConnectionAssignments []*GoldengateConnectionAssignment `json:"goldengateConnectionAssignments,omitempty"`
	// NextPageToken: A token, which can be sent as `page_token` to retrieve the
	// next page. If this field is omitted, there are no subsequent pages.
	NextPageToken string `json:"nextPageToken,omitempty"`
	// Unreachable: Unreachable locations when listing resources across all
	// locations using wildcard location '-'.
	Unreachable []string `json:"unreachable,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g.
	// "GoldengateConnectionAssignments") to unconditionally include in API
	// requests. By default, fields with empty or default values are omitted from
	// API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GoldengateConnectionAssignments")
	// to include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s ListGoldengateConnectionAssignmentsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod ListGoldengateConnectionAssignmentsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// ListGoldengateConnectionTypesResponse: Message for response to listing
// GoldengateConnectionTypes
type ListGoldengateConnectionTypesResponse struct {
	// GoldengateConnectionTypes: The list of GoldengateConnectionType
	GoldengateConnectionTypes []*GoldengateConnectionType `json:"goldengateConnectionTypes,omitempty"`
	// NextPageToken: A token, which can be sent as `page_token` to retrieve the
	// next page. If this field is omitted, there are no subsequent pages.
	NextPageToken string `json:"nextPageToken,omitempty"`
	// Unreachable: Unordered list. Locations that could not be reached.
	Unreachable []string `json:"unreachable,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "GoldengateConnectionTypes")
	// to unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GoldengateConnectionTypes") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s ListGoldengateConnectionTypesResponse) MarshalJSON() ([]byte, error) {
	type NoMethod ListGoldengateConnectionTypesResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// ListGoldengateConnectionsResponse: The response for
// `GoldengateConnection.List`.
type ListGoldengateConnectionsResponse struct {
	// GoldengateConnections: The list of GoldengateConnections.
	GoldengateConnections []*GoldengateConnection `json:"goldengateConnections,omitempty"`
	// NextPageToken: A token identifying a page of results the server should
	// return.
	NextPageToken string `json:"nextPageToken,omitempty"`
	// Unreachable: Optional. Locations that could not be reached.
	Unreachable []string `json:"unreachable,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "GoldengateConnections") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GoldengateConnections") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s ListGoldengateConnectionsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod ListGoldengateConnectionsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// ListGoldengateDeploymentEnvironmentsResponse: Message for response to
// listing GoldengateDeploymentEnvironments
type ListGoldengateDeploymentEnvironmentsResponse struct {
	// GoldengateDeploymentEnvironments: The list of
	// GoldengateDeploymentEnvironment
	GoldengateDeploymentEnvironments []*GoldengateDeploymentEnvironment `json:"goldengateDeploymentEnvironments,omitempty"`
	// NextPageToken: A token identifying a page of results the server should
	// return. If this field is empty, there are no subsequent pages.
	NextPageToken string `json:"nextPageToken,omitempty"`
	// Unreachable: Unordered list. Locations that could not be reached.
	Unreachable []string `json:"unreachable,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g.
	// "GoldengateDeploymentEnvironments") to unconditionally include in API
	// requests. By default, fields with empty or default values are omitted from
	// API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g.
	// "GoldengateDeploymentEnvironments") to include in API requests with the JSON
	// null value. By default, fields with empty values are omitted from API
	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-NullFields for
	// more details.
	NullFields []string `json:"-"`
}

func (s ListGoldengateDeploymentEnvironmentsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod ListGoldengateDeploymentEnvironmentsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// ListGoldengateDeploymentTypesResponse: Message for response to listing
// GoldengateDeploymentTypes
type ListGoldengateDeploymentTypesResponse struct {
	// GoldengateDeploymentTypes: The list of GoldengateDeploymentType
	GoldengateDeploymentTypes []*GoldengateDeploymentType `json:"goldengateDeploymentTypes,omitempty"`
	// NextPageToken: A token, which can be sent as `page_token` to retrieve the
	// next page. If this field is omitted, there are no subsequent pages.
	NextPageToken string `json:"nextPageToken,omitempty"`
	// Unreachable: Unordered list. The resource names of locations that could not
	// be reached.
	Unreachable []string `json:"unreachable,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "GoldengateDeploymentTypes")
	// to unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GoldengateDeploymentTypes") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s ListGoldengateDeploymentTypesResponse) MarshalJSON() ([]byte, error) {
	type NoMethod ListGoldengateDeploymentTypesResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// ListGoldengateDeploymentVersionsResponse: Message for response to listing
// GoldengateDeploymentVersions
type ListGoldengateDeploymentVersionsResponse struct {
	// GoldengateDeploymentVersions: The list of GoldengateDeploymentVersion
	GoldengateDeploymentVersions []*GoldengateDeploymentVersion `json:"goldengateDeploymentVersions,omitempty"`
	// NextPageToken: A token, which can be sent as `page_token` to retrieve the
	// next page. If this field is omitted, there are no subsequent pages.
	NextPageToken string `json:"nextPageToken,omitempty"`
	// Unreachable: Unordered list. Locations that could not be reached.
	Unreachable []string `json:"unreachable,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g.
	// "GoldengateDeploymentVersions") to unconditionally include in API requests.
	// By default, fields with empty or default values are omitted from API
	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields
	// for more details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GoldengateDeploymentVersions") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s ListGoldengateDeploymentVersionsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod ListGoldengateDeploymentVersionsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// ListGoldengateDeploymentsResponse: The response for
// `GoldengateDeployment.List`.
type ListGoldengateDeploymentsResponse struct {
	// GoldengateDeployments: The list of GoldengateDeployments.
	GoldengateDeployments []*GoldengateDeployment `json:"goldengateDeployments,omitempty"`
	// NextPageToken: A token identifying a page of results the server should
	// return.
	NextPageToken string `json:"nextPageToken,omitempty"`
	// Unreachable: Optional. Locations that could not be reached.
	Unreachable []string `json:"unreachable,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "GoldengateDeployments") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GoldengateDeployments") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s ListGoldengateDeploymentsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod ListGoldengateDeploymentsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// ListLocationsResponse: The response message for Locations.ListLocations.
type ListLocationsResponse struct {
	// Locations: A list of locations that matches the specified filter in the
	// request.
	Locations []*Location `json:"locations,omitempty"`
	// NextPageToken: The standard List next-page token.
	NextPageToken string `json:"nextPageToken,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "Locations") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Locations") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s ListLocationsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod ListLocationsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// ListMinorVersionsResponse: The response for `MinorVersion.List`.
type ListMinorVersionsResponse struct {
	// MinorVersions: The list of MinorVersions.
	MinorVersions []*MinorVersion `json:"minorVersions,omitempty"`
	// NextPageToken: A token identifying a page of results the server should
	// return.
	NextPageToken string `json:"nextPageToken,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "MinorVersions") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "MinorVersions") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s ListMinorVersionsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod ListMinorVersionsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// ListOdbNetworksResponse: The response for `OdbNetwork.List`.
type ListOdbNetworksResponse struct {
	// NextPageToken: A token identifying a page of results the server should
	// return.
	NextPageToken string `json:"nextPageToken,omitempty"`
	// OdbNetworks: The list of ODB Networks.
	OdbNetworks []*OdbNetwork `json:"odbNetworks,omitempty"`
	// Unreachable: Unreachable locations when listing resources across all
	// locations using wildcard location '-'.
	Unreachable []string `json:"unreachable,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s ListOdbNetworksResponse) MarshalJSON() ([]byte, error) {
	type NoMethod ListOdbNetworksResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// ListOdbSubnetsResponse: The response for `OdbSubnet.List`.
type ListOdbSubnetsResponse struct {
	// NextPageToken: A token identifying a page of results the server should
	// return.
	NextPageToken string `json:"nextPageToken,omitempty"`
	// OdbSubnets: The list of ODB Subnets.
	OdbSubnets []*OdbSubnet `json:"odbSubnets,omitempty"`
	// Unreachable: Unreachable locations when listing resources across all
	// locations using wildcard location '-'.
	Unreachable []string `json:"unreachable,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s ListOdbSubnetsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod ListOdbSubnetsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// ListOperationsResponse: The response message for Operations.ListOperations.
type ListOperationsResponse struct {
	// NextPageToken: The standard List next-page token.
	NextPageToken string `json:"nextPageToken,omitempty"`
	// Operations: A list of operations that matches the specified filter in the
	// request.
	Operations []*Operation `json:"operations,omitempty"`
	// Unreachable: Unordered list. Unreachable resources. Populated when the
	// request sets `ListOperationsRequest.return_partial_success` and reads across
	// collections. For example, when attempting to list all resources across all
	// supported locations.
	Unreachable []string `json:"unreachable,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s ListOperationsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod ListOperationsResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// ListPluggableDatabasesResponse: The response for `PluggableDatabase.List`.
type ListPluggableDatabasesResponse struct {
	// NextPageToken: A token identifying a page of results the server should
	// return.
	NextPageToken string `json:"nextPageToken,omitempty"`
	// PluggableDatabases: The list of PluggableDatabases.
	PluggableDatabases []*PluggableDatabase `json:"pluggableDatabases,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s ListPluggableDatabasesResponse) MarshalJSON() ([]byte, error) {
	type NoMethod ListPluggableDatabasesResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// Location: A resource that represents a Google Cloud location.
type Location struct {
	// DisplayName: The friendly name for this location, typically a nearby city
	// name. For example, "Tokyo".
	DisplayName string `json:"displayName,omitempty"`
	// Labels: Cross-service attributes for the location. For example
	// {"cloud.googleapis.com/region": "us-east1"}
	Labels map[string]string `json:"labels,omitempty"`
	// LocationId: The canonical id for this location. For example: "us-east1".
	LocationId string `json:"locationId,omitempty"`
	// Metadata: Service-specific metadata. For example the available capacity at
	// the given location.
	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
	// Name: Resource name for the location, which may vary between
	// implementations. For example:
	// "projects/example-project/locations/us-east1"
	Name string `json:"name,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "DisplayName") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DisplayName") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s Location) MarshalJSON() ([]byte, error) {
	type NoMethod Location
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// LocationMetadata: Metadata for a given Location.
type LocationMetadata struct {
	// GcpOracleZones: Output only. Google Cloud Platform Oracle zones in a
	// location.
	GcpOracleZones []string `json:"gcpOracleZones,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GcpOracleZones") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GcpOracleZones") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s LocationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod LocationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// MaintenanceWindow: Maintenance window as defined by Oracle.
// https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/datatypes/MaintenanceWindow
type MaintenanceWindow struct {
	// CustomActionTimeoutMins: Optional. Determines the amount of time the system
	// will wait before the start of each database server patching operation.
	// Custom action timeout is in minutes and valid value is between 15 to 120
	// (inclusive).
	CustomActionTimeoutMins int64 `json:"customActionTimeoutMins,omitempty"`
	// DaysOfWeek: Optional. Days during the week when maintenance should be
	// performed.
	//
	// Possible values:
	//   "DAY_OF_WEEK_UNSPECIFIED" - The day of the week is unspecified.
	//   "MONDAY" - Monday
	//   "TUESDAY" - Tuesday
	//   "WEDNESDAY" - Wednesday
	//   "THURSDAY" - Thursday
	//   "FRIDAY" - Friday
	//   "SATURDAY" - Saturday
	//   "SUNDAY" - Sunday
	DaysOfWeek []string `json:"daysOfWeek,omitempty"`
	// HoursOfDay: Optional. The window of hours during the day when maintenance
	// should be performed. The window is a 4 hour slot. Valid values are: 0 -
	// represents time slot 0:00 - 3:59 UTC 4 - represents time slot 4:00 - 7:59
	// UTC 8 - represents time slot 8:00 - 11:59 UTC 12 - represents time slot
	// 12:00 - 15:59 UTC 16 - represents time slot 16:00 - 19:59 UTC 20 -
	// represents time slot 20:00 - 23:59 UTC
	HoursOfDay []int64 `json:"hoursOfDay,omitempty"`
	// IsCustomActionTimeoutEnabled: Optional. If true, enables the configuration
	// of a custom action timeout (waiting period) between database server patching
	// operations.
	IsCustomActionTimeoutEnabled bool `json:"isCustomActionTimeoutEnabled,omitempty"`
	// LeadTimeWeek: Optional. Lead time window allows user to set a lead time to
	// prepare for a down time. The lead time is in weeks and valid value is
	// between 1 to 4.
	LeadTimeWeek int64 `json:"leadTimeWeek,omitempty"`
	// Months: Optional. Months during the year when maintenance should be
	// performed.
	//
	// Possible values:
	//   "MONTH_UNSPECIFIED" - The unspecified month.
	//   "JANUARY" - The month of January.
	//   "FEBRUARY" - The month of February.
	//   "MARCH" - The month of March.
	//   "APRIL" - The month of April.
	//   "MAY" - The month of May.
	//   "JUNE" - The month of June.
	//   "JULY" - The month of July.
	//   "AUGUST" - The month of August.
	//   "SEPTEMBER" - The month of September.
	//   "OCTOBER" - The month of October.
	//   "NOVEMBER" - The month of November.
	//   "DECEMBER" - The month of December.
	Months []string `json:"months,omitempty"`
	// PatchingMode: Optional. Cloud CloudExadataInfrastructure node patching
	// method, either "ROLLING" or "NONROLLING". Default value is ROLLING.
	//
	// Possible values:
	//   "PATCHING_MODE_UNSPECIFIED" - Default unspecified value.
	//   "ROLLING" - Updates the Cloud Exadata database server hosts in a rolling
	// fashion.
	//   "NON_ROLLING" - The non-rolling maintenance method first updates your
	// storage servers at the same time, then your database servers at the same
	// time.
	PatchingMode string `json:"patchingMode,omitempty"`
	// Preference: Optional. The maintenance window scheduling preference.
	//
	// Possible values:
	//   "MAINTENANCE_WINDOW_PREFERENCE_UNSPECIFIED" - Default unspecified value.
	//   "CUSTOM_PREFERENCE" - Custom preference.
	//   "NO_PREFERENCE" - No preference.
	Preference string `json:"preference,omitempty"`
	// WeeksOfMonth: Optional. Weeks during the month when maintenance should be
	// performed. Weeks start on the 1st, 8th, 15th, and 22nd days of the month,
	// and have a duration of 7 days. Weeks start and end based on calendar dates,
	// not days of the week.
	WeeksOfMonth []int64 `json:"weeksOfMonth,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CustomActionTimeoutMins") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CustomActionTimeoutMins") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s MaintenanceWindow) MarshalJSON() ([]byte, error) {
	type NoMethod MaintenanceWindow
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// MinorVersion: MinorVersion represents a minor version of a GI.
// https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/GiMinorVersionSummary/
type MinorVersion struct {
	// GridImageId: Optional. The ID of the Grid Image.
	GridImageId string `json:"gridImageId,omitempty"`
	// Name: Identifier. The name of the MinorVersion resource with the format:
	// projects/{project}/locations/{region}/giVersions/{gi_version}/minorVersions/{
	// minor_version}
	Name string `json:"name,omitempty"`
	// Version: Optional. The valid Oracle grid infrastructure software version.
	Version string `json:"version,omitempty"`
	// ForceSendFields is a list of field names (e.g. "GridImageId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "GridImageId") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s MinorVersion) MarshalJSON() ([]byte, error) {
	type NoMethod MinorVersion
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// NameValuePair: A name-value pair representing an attribute entry usable in a
// list of attributes.
type NameValuePair struct {
	// Key: Required. The name of the property entry.
	Key string `json:"key,omitempty"`
	// Value: Required. The value of the property entry.
	Value string `json:"value,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Key") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Key") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s NameValuePair) MarshalJSON() ([]byte, error) {
	type NoMethod NameValuePair
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// NessieIcebergCatalog: The Nessie Iceberg catalog.
type NessieIcebergCatalog struct {
	// Branch: Required. The Nessie branch.
	Branch string `json:"branch,omitempty"`
	// Uri: Required. The Nessie uri.
	Uri string `json:"uri,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Branch") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Branch") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s NessieIcebergCatalog) MarshalJSON() ([]byte, error) {
	type NoMethod NessieIcebergCatalog
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// OdbNetwork: Represents OdbNetwork resource.
type OdbNetwork struct {
	// CreateTime: Output only. The date and time that the OdbNetwork was created.
	CreateTime string `json:"createTime,omitempty"`
	// EntitlementId: Output only. The ID of the subscription entitlement
	// associated with the OdbNetwork.
	EntitlementId string `json:"entitlementId,omitempty"`
	// GcpOracleZone: Optional. The GCP Oracle zone where OdbNetwork is hosted.
	// Example: us-east4-b-r2. If not specified, the system will pick a zone based
	// on availability.
	GcpOracleZone string `json:"gcpOracleZone,omitempty"`
	// Labels: Optional. Labels or tags associated with the resource.
	Labels map[string]string `json:"labels,omitempty"`
	// Name: Identifier. The name of the OdbNetwork resource in the following
	// format: projects/{project}/locations/{region}/odbNetworks/{odb_network}
	Name string `json:"name,omitempty"`
	// Network: Required. The name of the VPC network in the following format:
	// projects/{project}/global/networks/{network}
	Network string `json:"network,omitempty"`
	// State: Output only. State of the ODB Network.
	//
	// Possible values:
	//   "STATE_UNSPECIFIED" - Default unspecified value.
	//   "PROVISIONING" - Indicates that the resource is in provisioning state.
	//   "AVAILABLE" - Indicates that the resource is in available state.
	//   "TERMINATING" - Indicates that the resource is in terminating state.
	//   "FAILED" - Indicates that the resource is in failed state.
	State string `json:"state,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "CreateTime") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CreateTime") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s OdbNetwork) MarshalJSON() ([]byte, error) {
	type NoMethod OdbNetwork
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// OdbSubnet: Represents OdbSubnet resource.
type OdbSubnet struct {
	// CidrRange: Required. The CIDR range of the subnet.
	CidrRange string `json:"cidrRange,omitempty"`
	// CreateTime: Output only. The date and time that the OdbNetwork was created.
	CreateTime string `json:"createTime,omitempty"`
	// Labels: Optional. Labels or tags associated with the resource.
	Labels map[string]string `json:"labels,omitempty"`
	// Name: Identifier. The name of the OdbSubnet resource in the following
	// format:
	// projects/{project}/locations/{location}/odbNetworks/{odb_network}/odbSubnets/
	// {odb_subnet}
	Name string `json:"name,omitempty"`
	// Purpose: Required. Purpose of the subnet.
	//
	// Possible values:
	//   "PURPOSE_UNSPECIFIED" - Default unspecified value.
	//   "CLIENT_SUBNET" - Subnet to be used for client connections.
	//   "BACKUP_SUBNET" - Subnet to be used for backup.
	Purpose string `json:"purpose,omitempty"`
	// State: Output only. State of the ODB Subnet.
	//
	// Possible values:
	//   "STATE_UNSPECIFIED" - Default unspecified value.
	//   "PROVISIONING" - Indicates that the resource is in provisioning state.
	//   "AVAILABLE" - Indicates that the resource is in available state.
	//   "TERMINATING" - Indicates that the resource is in terminating state.
	//   "FAILED" - Indicates that the resource is in failed state.
	State string `json:"state,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "CidrRange") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CidrRange") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s OdbSubnet) MarshalJSON() ([]byte, error) {
	type NoMethod OdbSubnet
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// Operation: This resource represents a long-running operation that is the
// result of a network API call.
type Operation struct {
	// Done: If the value is `false`, it means the operation is still in progress.
	// If `true`, the operation is completed, and either `error` or `response` is
	// available.
	Done bool `json:"done,omitempty"`
	// Error: The error result of the operation in case of failure or cancellation.
	Error *Status `json:"error,omitempty"`
	// Metadata: Service-specific metadata associated with the operation. It
	// typically contains progress information and common metadata such as create
	// time. Some services might not provide such metadata. Any method that returns
	// a long-running operation should document the metadata type, if any.
	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
	// Name: The server-assigned name, which is only unique within the same service
	// that originally returns it. If you use the default HTTP mapping, the `name`
	// should be a resource name ending with `operations/{unique_id}`.
	Name string `json:"name,omitempty"`
	// Response: The normal, successful response of the operation. If the original
	// method returns no data on success, such as `Delete`, the response is
	// `google.protobuf.Empty`. If the original method is standard
	// `Get`/`Create`/`Update`, the response should be the resource. For other
	// methods, the response should have the type `XxxResponse`, where `Xxx` is the
	// original method name. For example, if the original method name is
	// `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
	Response googleapi.RawMessage `json:"response,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "Done") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Done") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s Operation) MarshalJSON() ([]byte, error) {
	type NoMethod Operation
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// OperationMetadata: Represents the metadata of the long-running operation.
type OperationMetadata struct {
	// ApiVersion: Output only. API version used to start the operation.
	ApiVersion string `json:"apiVersion,omitempty"`
	// CreateTime: Output only. The time the operation was created.
	CreateTime string `json:"createTime,omitempty"`
	// EndTime: Output only. The time the operation finished running.
	EndTime string `json:"endTime,omitempty"`
	// PercentComplete: Output only. An estimated percentage of the operation that
	// has been completed at a given moment of time, between 0 and 100.
	PercentComplete float64 `json:"percentComplete,omitempty"`
	// RequestedCancellation: Output only. Identifies whether the user has
	// requested cancellation of the operation. Operations that have been cancelled
	// successfully have Operation.error value with a google.rpc.Status.code of 1,
	// corresponding to `Code.CANCELLED`.
	RequestedCancellation bool `json:"requestedCancellation,omitempty"`
	// StatusMessage: Output only. The status of the operation.
	StatusMessage string `json:"statusMessage,omitempty"`
	// Target: Output only. Server-defined resource path for the target of the
	// operation.
	Target string `json:"target,omitempty"`
	// Verb: Output only. Name of the verb executed by the operation.
	Verb string `json:"verb,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ApiVersion") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ApiVersion") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s OperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod OperationMetadata
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

func (s *OperationMetadata) UnmarshalJSON(data []byte) error {
	type NoMethod OperationMetadata
	var s1 struct {
		PercentComplete gensupport.JSONFloat64 `json:"percentComplete"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.PercentComplete = float64(s1.PercentComplete)
	return nil
}

// PluggableDatabase: The PluggableDatabase resource.
// https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/PluggableDatabase/
type PluggableDatabase struct {
	// CreateTime: Output only. The date and time that the PluggableDatabase was
	// created.
	CreateTime string `json:"createTime,omitempty"`
	// Name: Identifier. The name of the PluggableDatabase resource in the
	// following format:
	// projects/{project}/locations/{region}/pluggableDatabases/{pluggable_database}
	Name string `json:"name,omitempty"`
	// OciUrl: Output only. HTTPS link to OCI resources exposed to Customer via UI
	// Interface.
	OciUrl string `json:"ociUrl,omitempty"`
	// Properties: Optional. The properties of the PluggableDatabase.
	Properties *PluggableDatabaseProperties `json:"properties,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "CreateTime") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CreateTime") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s PluggableDatabase) MarshalJSON() ([]byte, error) {
	type NoMethod PluggableDatabase
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// PluggableDatabaseConnectionStrings: The connection strings used to connect
// to the Oracle Database.
type PluggableDatabaseConnectionStrings struct {
	// AllConnectionStrings: Optional. All connection strings to use to connect to
	// the pluggable database.
	AllConnectionStrings map[string]string `json:"allConnectionStrings,omitempty"`
	// PdbDefault: Optional. The default connection string to use to connect to the
	// pluggable database.
	PdbDefault string `json:"pdbDefault,omitempty"`
	// PdbIpDefault: Optional. The default connection string to use to connect to
	// the pluggable database using IP.
	PdbIpDefault string `json:"pdbIpDefault,omitempty"`
	// ForceSendFields is a list of field names (e.g. "AllConnectionStrings") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AllConnectionStrings") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s PluggableDatabaseConnectionStrings) MarshalJSON() ([]byte, error) {
	type NoMethod PluggableDatabaseConnectionStrings
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// PluggableDatabaseNodeLevelDetails: The Pluggable Database Node Level
// Details.
type PluggableDatabaseNodeLevelDetails struct {
	// NodeName: Required. The Node name of the Database home.
	NodeName string `json:"nodeName,omitempty"`
	// OpenMode: Required. The mode that the pluggable database is in to open it.
	//
	// Possible values:
	//   "PLUGGABLE_DATABASE_OPEN_MODE_UNSPECIFIED" - The open mode is unspecified.
	//   "READ_ONLY" - The pluggable database is opened in read-only mode.
	//   "READ_WRITE" - The pluggable database is opened in read-write mode.
	//   "MOUNTED" - The pluggable database is mounted.
	//   "MIGRATE" - The pluggable database is migrated.
	OpenMode string `json:"openMode,omitempty"`
	// PluggableDatabaseId: Required. The OCID of the Pluggable Database.
	PluggableDatabaseId string `json:"pluggableDatabaseId,omitempty"`
	// ForceSendFields is a list of field names (e.g. "NodeName") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "NodeName") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s PluggableDatabaseNodeLevelDetails) MarshalJSON() ([]byte, error) {
	type NoMethod PluggableDatabaseNodeLevelDetails
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// PluggableDatabaseProperties: The properties of a PluggableDatabase.
type PluggableDatabaseProperties struct {
	// CompartmentId: Required. The OCID of the compartment.
	CompartmentId string `json:"compartmentId,omitempty"`
	// ConnectionStrings: Optional. The Connection strings used to connect to the
	// Oracle Database.
	ConnectionStrings *PluggableDatabaseConnectionStrings `json:"connectionStrings,omitempty"`
	// ContainerDatabaseOcid: Required. The OCID of the CDB.
	ContainerDatabaseOcid string `json:"containerDatabaseOcid,omitempty"`
	// DatabaseManagementConfig: Output only. The configuration of the Database
	// Management service.
	DatabaseManagementConfig *DatabaseManagementConfig `json:"databaseManagementConfig,omitempty"`
	// DefinedTags: Optional. Defined tags for this resource. Each key is
	// predefined and scoped to a namespace.
	DefinedTags map[string]DefinedTagValue `json:"definedTags,omitempty"`
	// FreeformTags: Optional. Free-form tags for this resource. Each tag is a
	// simple key-value pair with no predefined name, type, or namespace.
	FreeformTags map[string]string `json:"freeformTags,omitempty"`
	// IsRestricted: Optional. The restricted mode of the pluggable database. If a
	// pluggable database is opened in restricted mode, the user needs both create
	// a session and have restricted session privileges to connect to it.
	IsRestricted bool `json:"isRestricted,omitempty"`
	// LifecycleDetails: Output only. Additional information about the current
	// lifecycle state.
	LifecycleDetails string `json:"lifecycleDetails,omitempty"`
	// LifecycleState: Output only. The current state of the pluggable database.
	//
	// Possible values:
	//   "PLUGGABLE_DATABASE_LIFECYCLE_STATE_UNSPECIFIED" - The lifecycle state is
	// unspecified.
	//   "PROVISIONING" - The pluggable database is provisioning.
	//   "AVAILABLE" - The pluggable database is available.
	//   "TERMINATING" - The pluggable database is terminating.
	//   "TERMINATED" - The pluggable database is terminated.
	//   "UPDATING" - The pluggable database is updating.
	//   "FAILED" - The pluggable database is in a failed state.
	//   "RELOCATING" - The pluggable database is relocating.
	//   "RELOCATED" - The pluggable database is relocated.
	//   "REFRESHING" - The pluggable database is refreshing.
	//   "RESTORE_IN_PROGRESS" - The pluggable database is restoring.
	//   "RESTORE_FAILED" - The pluggable database restore failed.
	//   "BACKUP_IN_PROGRESS" - The pluggable database is backing up.
	//   "DISABLED" - The pluggable database is disabled.
	LifecycleState string `json:"lifecycleState,omitempty"`
	// Ocid: Output only. The OCID of the pluggable database.
	Ocid string `json:"ocid,omitempty"`
	// OperationsInsightsState: Output only. The status of Operations Insights for
	// this Database.
	//
	// Possible values:
	//   "OPERATIONS_INSIGHTS_STATE_UNSPECIFIED" - The status is not specified.
	//   "ENABLING" - Operations Insights is enabling.
	//   "ENABLED" - Operations Insights is enabled.
	//   "DISABLING" - Operations Insights is disabling.
	//   "NOT_ENABLED" - Operations Insights is not enabled.
	//   "FAILED_ENABLING" - Operations Insights failed to enable.
	//   "FAILED_DISABLING" - Operations Insights failed to disable.
	OperationsInsightsState string `json:"operationsInsightsState,omitempty"`
	// PdbName: Required. The database name.
	PdbName string `json:"pdbName,omitempty"`
	// PdbNodeLevelDetails: Optional. Pluggable Database Node Level Details
	PdbNodeLevelDetails []*PluggableDatabaseNodeLevelDetails `json:"pdbNodeLevelDetails,omitempty"`
	// ForceSendFields is a list of field names (e.g. "CompartmentId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "CompartmentId") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s PluggableDatabaseProperties) MarshalJSON() ([]byte, error) {
	type NoMethod PluggableDatabaseProperties
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// PolarisIcebergCatalog: The Polaris Iceberg catalog.
type PolarisIcebergCatalog struct {
	// ClientId: Required. The Polaris client ID.
	ClientId string `json:"clientId,omitempty"`
	// ClientSecret: Optional. The Polaris client secret.
	ClientSecret string `json:"clientSecret,omitempty"`
	// PolarisCatalog: Required. The catalog name within Polaris.
	PolarisCatalog string `json:"polarisCatalog,omitempty"`
	// PrincipalRole: Required. The Polaris principal role.
	PrincipalRole string `json:"principalRole,omitempty"`
	// Uri: Required. The Polaris uri.
	Uri string `json:"uri,omitempty"`
	// ForceSendFields is a list of field names (e.g. "ClientId") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "ClientId") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s PolarisIcebergCatalog) MarshalJSON() ([]byte, error) {
	type NoMethod PolarisIcebergCatalog
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// RefreshAutonomousDatabaseRequest: Request message for
// RefreshAutonomousDatabase method.
type RefreshAutonomousDatabaseRequest struct {
	// RefreshCutoffTime: Required. The timestamp to which the Autonomous Database
	// refreshable clone will be refreshed. Changes made in the primary database
	// after this timestamp are not part of the data refresh.
	RefreshCutoffTime string `json:"refreshCutoffTime,omitempty"`
	// ForceSendFields is a list of field names (e.g. "RefreshCutoffTime") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "RefreshCutoffTime") to include in
	// API requests with the JSON null value. By default, fields with empty values
	// are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s RefreshAutonomousDatabaseRequest) MarshalJSON() ([]byte, error) {
	type NoMethod RefreshAutonomousDatabaseRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// RemoveVirtualMachineExadbVmClusterRequest: The request for
// `ExadbVmCluster.RemoveVirtualMachine`.
type RemoveVirtualMachineExadbVmClusterRequest struct {
	// Hostnames: Required. The list of host names of db nodes to be removed from
	// the ExadbVmCluster.
	Hostnames []string `json:"hostnames,omitempty"`
	// RequestId: Optional. An optional ID to identify the request. This value is
	// used to identify duplicate requests. If you make a request with the same
	// request ID and the original request is still in progress or completed, the
	// server ignores the second request. This prevents clients from accidentally
	// creating duplicate commitments. The request ID must be a valid UUID with the
	// exception that zero UUID is not supported
	// (00000000-0000-0000-0000-000000000000).
	RequestId string `json:"requestId,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Hostnames") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Hostnames") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s RemoveVirtualMachineExadbVmClusterRequest) MarshalJSON() ([]byte, error) {
	type NoMethod RemoveVirtualMachineExadbVmClusterRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// RestIcebergCatalog: The REST Iceberg catalog.
type RestIcebergCatalog struct {
	// Properties: Optional. The base64 encoded content of the configuration file
	// containing additional properties for the REST catalog.
	Properties string `json:"properties,omitempty"`
	// Uri: Required. The REST uri.
	Uri string `json:"uri,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Properties") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Properties") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s RestIcebergCatalog) MarshalJSON() ([]byte, error) {
	type NoMethod RestIcebergCatalog
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// RestartAutonomousDatabaseRequest: The request for
// `AutonomousDatabase.Restart`.
type RestartAutonomousDatabaseRequest struct {
}

// RestoreAutonomousDatabaseRequest: The request for
// `AutonomousDatabase.Restore`.
type RestoreAutonomousDatabaseRequest struct {
	// RestoreTime: Required. The time and date to restore the database to.
	RestoreTime string `json:"restoreTime,omitempty"`
	// ForceSendFields is a list of field names (e.g. "RestoreTime") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "RestoreTime") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s RestoreAutonomousDatabaseRequest) MarshalJSON() ([]byte, error) {
	type NoMethod RestoreAutonomousDatabaseRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// ScheduledOperationDetails: Details of scheduled operation.
// https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/datatypes/ScheduledOperationDetails
type ScheduledOperationDetails struct {
	// DayOfWeek: Output only. Day of week.
	//
	// Possible values:
	//   "DAY_OF_WEEK_UNSPECIFIED" - The day of the week is unspecified.
	//   "MONDAY" - Monday
	//   "TUESDAY" - Tuesday
	//   "WEDNESDAY" - Wednesday
	//   "THURSDAY" - Thursday
	//   "FRIDAY" - Friday
	//   "SATURDAY" - Saturday
	//   "SUNDAY" - Sunday
	DayOfWeek string `json:"dayOfWeek,omitempty"`
	// StartTime: Output only. Auto start time.
	StartTime *TimeOfDay `json:"startTime,omitempty"`
	// StopTime: Output only. Auto stop time.
	StopTime *TimeOfDay `json:"stopTime,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DayOfWeek") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DayOfWeek") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s ScheduledOperationDetails) MarshalJSON() ([]byte, error) {
	type NoMethod ScheduledOperationDetails
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// SourceConfig: The source configuration for the standby Autonomous Database.
type SourceConfig struct {
	// AutoRefreshFrequencySeconds: Optional. The frequency in seconds a
	// refreshable clone is refreshed after auto-refresh is enabled.
	AutoRefreshFrequencySeconds int64 `json:"autoRefreshFrequencySeconds,omitempty"`
	// AutoRefreshPointLagSeconds: Optional. The time, in seconds, the data of the
	// automatic refreshable clone lags the primary database at the point of
	// refresh.
	AutoRefreshPointLagSeconds int64 `json:"autoRefreshPointLagSeconds,omitempty"`
	// AutoRefreshStartTime: Optional. The date and time that auto-refreshing will
	// begin for an Autonomous Database refreshable clone. This value controls only
	// the start time for the first refresh operation.
	AutoRefreshStartTime string `json:"autoRefreshStartTime,omitempty"`
	// AutomaticBackupsReplicationEnabled: Optional. This field specifies if the
	// replication of automatic backups is enabled when creating a Data Guard.
	AutomaticBackupsReplicationEnabled bool `json:"automaticBackupsReplicationEnabled,omitempty"`
	// AutonomousDatabase: Optional. The name of the primary Autonomous Database
	// that is used to create a Peer Autonomous Database from a source.
	AutonomousDatabase string `json:"autonomousDatabase,omitempty"`
	// AutonomousDatabaseBackup: Optional. The name of the Autonomous Database
	// Backup resource with the format:
	// projects/{project}/locations/{region}/autonomousDatabaseBackups/{autonomous_d
	// atabase_backup} Required when source_type is BACKUP_FROM_ID.
	AutonomousDatabaseBackup string `json:"autonomousDatabaseBackup,omitempty"`
	// BackupTime: Optional. The timestamp specified for the point-in-time clone of
	// the source Autonomous Database. This field is only applicable in case of
	// BACKUP_FROM_TIMESTAMP source type and when use_latest_available_backup is
	// false.
	BackupTime string `json:"backupTime,omitempty"`
	// CloneType: Optional. The clone type of the Autonomous Database. This field
	// is only applicable in case of cloning
	//
	// Possible values:
	//   "CLONE_TYPE_UNSPECIFIED" - Default unspecified value.
	//   "FULL" - Creates a new database with the source database's data and
	// metadata.
	//   "METADATA" - Creates a new database that includes all the source database
	// schema metadata, but none of the source database data.
	CloneType string `json:"cloneType,omitempty"`
	// RefreshableMode: Optional. The refresh mode of the clone.
	//
	// Possible values:
	//   "REFRESHABLE_MODE_UNSPECIFIED" - Default unspecified value.
	//   "AUTOMATIC" - Automatic refresh.
	//   "MANUAL" - Manual refresh.
	RefreshableMode string `json:"refreshableMode,omitempty"`
	// SourceType: Optional. The source type of the Autonomous Database.
	//
	// Possible values:
	//   "SOURCE_TYPE_UNSPECIFIED" - Default unspecified value.
	//   "CLONE_DATABASE" - Clone database from an existing database specified in
	// autonomous_database field.
	//   "CROSS_REGION_DISASTER_RECOVERY" - Create a cross-region disaster recovery
	// peer adb from an existing adb.
	//   "CLONE_TO_REFRESHABLE" - Create a refreshable clone from an existing
	// database specified in autonomous_database field.
	//   "BACKUP_FROM_ID" - Create clone from the backup resource.
	//   "BACKUP_FROM_TIMESTAMP" - Create clone from backup specified by
	// backup_time field, or use latest available backup if
	// use_latest_available_backup is true. The autonomous_database field must
	// specify the source database to clone from.
	SourceType string `json:"sourceType,omitempty"`
	// UseLatestAvailableBackup: Optional. Clone from latest available backup
	// timestamp. This field is only applicable in case of BACKUP_FROM_TIMESTAMP
	// source type.
	UseLatestAvailableBackup bool `json:"useLatestAvailableBackup,omitempty"`
	// ForceSendFields is a list of field names (e.g.
	// "AutoRefreshFrequencySeconds") to unconditionally include in API requests.
	// By default, fields with empty or default values are omitted from API
	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields
	// for more details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "AutoRefreshFrequencySeconds") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s SourceConfig) MarshalJSON() ([]byte, error) {
	type NoMethod SourceConfig
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// StartAutonomousDatabaseRequest: The request for `AutonomousDatabase.Start`.
type StartAutonomousDatabaseRequest struct {
}

// StartGoldengateDeploymentRequest: The request for
// `GoldengateDeployment.Start`.
type StartGoldengateDeploymentRequest struct {
}

// Status: The `Status` type defines a logical error model that is suitable for
// different programming environments, including REST APIs and RPC APIs. It is
// used by gRPC (https://github.com/grpc). Each `Status` message contains three
// pieces of data: error code, error message, and error details. You can find
// out more about this error model and how to work with it in the API Design
// Guide (https://cloud.google.com/apis/design/errors).
type Status struct {
	// Code: The status code, which should be an enum value of google.rpc.Code.
	Code int64 `json:"code,omitempty"`
	// Details: A list of messages that carry the error details. There is a common
	// set of message types for APIs to use.
	Details []googleapi.RawMessage `json:"details,omitempty"`
	// Message: A developer-facing error message, which should be in English. Any
	// user-facing error message should be localized and sent in the
	// google.rpc.Status.details field, or localized by the client.
	Message string `json:"message,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Code") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s Status) MarshalJSON() ([]byte, error) {
	type NoMethod Status
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// StopAutonomousDatabaseRequest: The request for `AutonomousDatabase.Stop`.
type StopAutonomousDatabaseRequest struct {
}

// StopGoldengateDeploymentRequest: The request for
// `GoldengateDeployment.Stop`.
type StopGoldengateDeploymentRequest struct {
}

// StorageSizeDetails: The initial storage size, in gigabytes, that is
// applicable for virtual machine DBSystem.
type StorageSizeDetails struct {
	// DataStorageSizeInGbs: Output only. The data storage size, in gigabytes, that
	// is applicable for virtual machine DBSystem.
	DataStorageSizeInGbs int64 `json:"dataStorageSizeInGbs,omitempty"`
	// RecoStorageSizeInGbs: Output only. The RECO/REDO storage size, in gigabytes,
	// that is applicable for virtual machine DBSystem.
	RecoStorageSizeInGbs int64 `json:"recoStorageSizeInGbs,omitempty"`
	// ForceSendFields is a list of field names (e.g. "DataStorageSizeInGbs") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "DataStorageSizeInGbs") to include
	// in API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s StorageSizeDetails) MarshalJSON() ([]byte, error) {
	type NoMethod StorageSizeDetails
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// SwitchoverAutonomousDatabaseRequest: The request for
// `OracleDatabase.SwitchoverAutonomousDatabase`.
type SwitchoverAutonomousDatabaseRequest struct {
	// PeerAutonomousDatabase: Optional. The peer database name to switch over to.
	// Required for cross-region standby, and must be omitted for in-region Data
	// Guard.
	PeerAutonomousDatabase string `json:"peerAutonomousDatabase,omitempty"`
	// ForceSendFields is a list of field names (e.g. "PeerAutonomousDatabase") to
	// unconditionally include in API requests. By default, fields with empty or
	// default values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "PeerAutonomousDatabase") to
	// include in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s SwitchoverAutonomousDatabaseRequest) MarshalJSON() ([]byte, error) {
	type NoMethod SwitchoverAutonomousDatabaseRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// TestConnectionAssignmentError: Error details for
// TestGoldengateConnectionAssignment.
type TestConnectionAssignmentError struct {
	// Action: The text describing the action required to fix the issue.
	Action string `json:"action,omitempty"`
	// Code: A short error code that defines the error, meant for programmatic
	// parsing.
	Code string `json:"code,omitempty"`
	// Issue: The text describing the root cause of the reported issue.
	Issue string `json:"issue,omitempty"`
	// Message: A human-readable error message.
	Message string `json:"message,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Action") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Action") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s TestConnectionAssignmentError) MarshalJSON() ([]byte, error) {
	type NoMethod TestConnectionAssignmentError
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// TestGoldengateConnectionAssignmentRequest: Request message for
// TestGoldengateConnectionAssignment.
type TestGoldengateConnectionAssignmentRequest struct {
	// Type: Optional. The type of the test of the assigned connection. The only
	// type actually supported is DEFAULT.
	//
	// Possible values:
	//   "TEST_TYPE_UNSPECIFIED" - The default value. This value is unused.
	//   "DEFAULT" - The default connection test.
	Type string `json:"type,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Type") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Type") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s TestGoldengateConnectionAssignmentRequest) MarshalJSON() ([]byte, error) {
	type NoMethod TestGoldengateConnectionAssignmentRequest
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// TestGoldengateConnectionAssignmentResponse: The result of the connectivity
// test performed between the Goldengate deployment and the associated database
// / service.
type TestGoldengateConnectionAssignmentResponse struct {
	// Error: Error details if test connection failed.
	Error *TestConnectionAssignmentError `json:"error,omitempty"`
	// Errors: List of test connection assignment error objects.
	Errors []*TestConnectionAssignmentError `json:"errors,omitempty"`
	// ResultType: Type of the result i.e. Success, Failure or Timeout.
	//
	// Possible values:
	//   "RESULT_TYPE_UNSPECIFIED" - Result type is unspecified.
	//   "SUCCEEDED" - Test connection succeeded.
	//   "FAILED" - Test connection failed.
	//   "TIMED_OUT" - Test connection timed out.
	ResultType string `json:"resultType,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the server.
	googleapi.ServerResponse `json:"-"`
	// ForceSendFields is a list of field names (e.g. "Error") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Error") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s TestGoldengateConnectionAssignmentResponse) MarshalJSON() ([]byte, error) {
	type NoMethod TestGoldengateConnectionAssignmentResponse
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// TimeOfDay: Represents a time of day. The date and time zone are either not
// significant or are specified elsewhere. An API may choose to allow leap
// seconds. Related types are google.type.Date and `google.protobuf.Timestamp`.
type TimeOfDay struct {
	// Hours: Hours of a day in 24 hour format. Must be greater than or equal to 0
	// and typically must be less than or equal to 23. An API may choose to allow
	// the value "24:00:00" for scenarios like business closing time.
	Hours int64 `json:"hours,omitempty"`
	// Minutes: Minutes of an hour. Must be greater than or equal to 0 and less
	// than or equal to 59.
	Minutes int64 `json:"minutes,omitempty"`
	// Nanos: Fractions of seconds, in nanoseconds. Must be greater than or equal
	// to 0 and less than or equal to 999,999,999.
	Nanos int64 `json:"nanos,omitempty"`
	// Seconds: Seconds of a minute. Must be greater than or equal to 0 and
	// typically must be less than or equal to 59. An API may allow the value 60 if
	// it allows leap-seconds.
	Seconds int64 `json:"seconds,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Hours") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Hours") to include in API
	// requests with the JSON null value. By default, fields with empty values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s TimeOfDay) MarshalJSON() ([]byte, error) {
	type NoMethod TimeOfDay
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

// TimeZone: Represents a time zone from the IANA Time Zone Database
// (https://www.iana.org/time-zones).
type TimeZone struct {
	// Id: IANA Time Zone Database time zone. For example "America/New_York".
	Id string `json:"id,omitempty"`
	// Version: Optional. IANA Time Zone Database version number. For example
	// "2019a".
	Version string `json:"version,omitempty"`
	// ForceSendFields is a list of field names (e.g. "Id") to unconditionally
	// include in API requests. By default, fields with empty or default values are
	// omitted from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
	// details.
	ForceSendFields []string `json:"-"`
	// NullFields is a list of field names (e.g. "Id") to include in API requests
	// with the JSON null value. By default, fields with empty values are omitted
	// from API requests. See
	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
	NullFields []string `json:"-"`
}

func (s TimeZone) MarshalJSON() ([]byte, error) {
	type NoMethod TimeZone
	return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}

type ProjectsLocationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets information about a location.
//
// - name: Resource name for the location.
func (r *ProjectsLocationsService) Get(name string) *ProjectsLocationsGetCall {
	c := &ProjectsLocationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsGetCall) Context(ctx context.Context) *ProjectsLocationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *Location.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsGetCall) Do(opts ...googleapi.CallOption) (*Location, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &Location{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists information about the supported locations for this service. This
// method lists locations based on the resource scope provided in the
// ListLocationsRequest.name field: * **Global locations**: If `name` is empty,
// the method lists the public locations available to all projects. *
// **Project-specific locations**: If `name` follows the format
// `projects/{project}`, the method lists locations visible to that specific
// project. This includes public, private, or other project-specific locations
// enabled for the project. For gRPC and client library implementations, the
// resource name is passed as the `name` field. For direct service calls, the
// resource name is incorporated into the request path based on the specific
// service implementation and version.
//
// - name: The resource that owns the locations collection, if applicable.
func (r *ProjectsLocationsService) List(name string) *ProjectsLocationsListCall {
	c := &ProjectsLocationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// ExtraLocationTypes sets the optional parameter "extraLocationTypes": Do not
// use this field unless explicitly documented otherwise. This is primarily for
// internal usage.
func (c *ProjectsLocationsListCall) ExtraLocationTypes(extraLocationTypes ...string) *ProjectsLocationsListCall {
	c.urlParams_.SetMulti("extraLocationTypes", append([]string{}, extraLocationTypes...))
	return c
}

// Filter sets the optional parameter "filter": A filter to narrow down results
// to a preferred subset. The filtering language accepts strings like
// "displayName=tokyo", and is documented in more detail in AIP-160
// (https://google.aip.dev/160).
func (c *ProjectsLocationsListCall) Filter(filter string) *ProjectsLocationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The maximum number of
// results to return. If not set, the service selects a default.
func (c *ProjectsLocationsListCall) PageSize(pageSize int64) *ProjectsLocationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": A page token received
// from the `next_page_token` field in the response. Send that page token to
// receive the subsequent page.
func (c *ProjectsLocationsListCall) PageToken(pageToken string) *ProjectsLocationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsListCall) Context(ctx context.Context) *ProjectsLocationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/locations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *ListLocationsResponse.ServerResponse.Header or (if a response was returned
// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsListCall) Do(opts ...googleapi.CallOption) (*ListLocationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &ListLocationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsListCall) Pages(ctx context.Context, f func(*ListLocationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsAutonomousDatabaseBackupsListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists the long-term and automatic backups of an Autonomous Database.
//
//   - parent: The parent value for ListAutonomousDatabaseBackups in the
//     following format: projects/{project}/locations/{location}.
func (r *ProjectsLocationsAutonomousDatabaseBackupsService) List(parent string) *ProjectsLocationsAutonomousDatabaseBackupsListCall {
	c := &ProjectsLocationsAutonomousDatabaseBackupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": An expression for filtering the
// results of the request. Only the **autonomous_database_id** field is
// supported in the following format:
// `autonomous_database_id="{autonomous_database_id}". The accepted values
// must be a valid Autonomous Database ID, limited to the naming restrictions
// of the ID: ^a-z ([a-z0-9-]{0,61}[a-z0-9])?$). The ID must start with a
// letter, end with a letter or a number, and be a maximum of 63 characters.
func (c *ProjectsLocationsAutonomousDatabaseBackupsListCall) Filter(filter string) *ProjectsLocationsAutonomousDatabaseBackupsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The maximum number of items
// to return. If unspecified, at most 50 Autonomous DB Backups will be
// returned. The maximum value is 1000; values above 1000 will be coerced to
// 1000.
func (c *ProjectsLocationsAutonomousDatabaseBackupsListCall) PageSize(pageSize int64) *ProjectsLocationsAutonomousDatabaseBackupsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": A token identifying a
// page of results the server should return.
func (c *ProjectsLocationsAutonomousDatabaseBackupsListCall) PageToken(pageToken string) *ProjectsLocationsAutonomousDatabaseBackupsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsAutonomousDatabaseBackupsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsAutonomousDatabaseBackupsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsAutonomousDatabaseBackupsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsAutonomousDatabaseBackupsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsAutonomousDatabaseBackupsListCall) Context(ctx context.Context) *ProjectsLocationsAutonomousDatabaseBackupsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsAutonomousDatabaseBackupsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsAutonomousDatabaseBackupsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/autonomousDatabaseBackups")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.autonomousDatabaseBackups.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.autonomousDatabaseBackups.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *ListAutonomousDatabaseBackupsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsAutonomousDatabaseBackupsListCall) Do(opts ...googleapi.CallOption) (*ListAutonomousDatabaseBackupsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &ListAutonomousDatabaseBackupsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.autonomousDatabaseBackups.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsAutonomousDatabaseBackupsListCall) Pages(ctx context.Context, f func(*ListAutonomousDatabaseBackupsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsAutonomousDatabaseCharacterSetsListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists Autonomous Database Character Sets in a given project and
// location.
//
//   - parent: The parent value for the Autonomous Database in the following
//     format: projects/{project}/locations/{location}.
func (r *ProjectsLocationsAutonomousDatabaseCharacterSetsService) List(parent string) *ProjectsLocationsAutonomousDatabaseCharacterSetsListCall {
	c := &ProjectsLocationsAutonomousDatabaseCharacterSetsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": An expression for filtering the
// results of the request. Only the **character_set_type** field is supported
// in the following format: `character_set_type="{characterSetType}". Accepted
// values include `DATABASE` and `NATIONAL`.
func (c *ProjectsLocationsAutonomousDatabaseCharacterSetsListCall) Filter(filter string) *ProjectsLocationsAutonomousDatabaseCharacterSetsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The maximum number of items
// to return. If unspecified, at most 50 Autonomous DB Character Sets will be
// returned. The maximum value is 1000; values above 1000 will be coerced to
// 1000.
func (c *ProjectsLocationsAutonomousDatabaseCharacterSetsListCall) PageSize(pageSize int64) *ProjectsLocationsAutonomousDatabaseCharacterSetsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": A token identifying a
// page of results the server should return.
func (c *ProjectsLocationsAutonomousDatabaseCharacterSetsListCall) PageToken(pageToken string) *ProjectsLocationsAutonomousDatabaseCharacterSetsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsAutonomousDatabaseCharacterSetsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsAutonomousDatabaseCharacterSetsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsAutonomousDatabaseCharacterSetsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsAutonomousDatabaseCharacterSetsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsAutonomousDatabaseCharacterSetsListCall) Context(ctx context.Context) *ProjectsLocationsAutonomousDatabaseCharacterSetsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsAutonomousDatabaseCharacterSetsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsAutonomousDatabaseCharacterSetsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/autonomousDatabaseCharacterSets")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.autonomousDatabaseCharacterSets.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.autonomousDatabaseCharacterSets.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *ListAutonomousDatabaseCharacterSetsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsAutonomousDatabaseCharacterSetsListCall) Do(opts ...googleapi.CallOption) (*ListAutonomousDatabaseCharacterSetsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &ListAutonomousDatabaseCharacterSetsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.autonomousDatabaseCharacterSets.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsAutonomousDatabaseCharacterSetsListCall) Pages(ctx context.Context, f func(*ListAutonomousDatabaseCharacterSetsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsAutonomousDatabasesCreateCall struct {
	s                  *Service
	parent             string
	autonomousdatabase *AutonomousDatabase
	urlParams_         gensupport.URLParams
	ctx_               context.Context
	header_            http.Header
}

// Create: Creates a new Autonomous Database in a given project and location.
//
//   - parent: The name of the parent in the following format:
//     projects/{project}/locations/{location}.
func (r *ProjectsLocationsAutonomousDatabasesService) Create(parent string, autonomousdatabase *AutonomousDatabase) *ProjectsLocationsAutonomousDatabasesCreateCall {
	c := &ProjectsLocationsAutonomousDatabasesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.autonomousdatabase = autonomousdatabase
	return c
}

// AutonomousDatabaseId sets the optional parameter "autonomousDatabaseId":
// Required. The ID of the Autonomous Database to create. This value is
// restricted to (^a-z ([a-z0-9-]{0,61}[a-z0-9])?$) and must be a maximum of 63
// characters in length. The value must start with a letter and end with a
// letter or a number.
func (c *ProjectsLocationsAutonomousDatabasesCreateCall) AutonomousDatabaseId(autonomousDatabaseId string) *ProjectsLocationsAutonomousDatabasesCreateCall {
	c.urlParams_.Set("autonomousDatabaseId", autonomousDatabaseId)
	return c
}

// RequestId sets the optional parameter "requestId": An optional ID to
// identify the request. This value is used to identify duplicate requests. If
// you make a request with the same request ID and the original request is
// still in progress or completed, the server ignores the second request. This
// prevents clients from accidentally creating duplicate commitments. The
// request ID must be a valid UUID with the exception that zero UUID is not
// supported (00000000-0000-0000-0000-000000000000).
func (c *ProjectsLocationsAutonomousDatabasesCreateCall) RequestId(requestId string) *ProjectsLocationsAutonomousDatabasesCreateCall {
	c.urlParams_.Set("requestId", requestId)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsAutonomousDatabasesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsAutonomousDatabasesCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsAutonomousDatabasesCreateCall) Context(ctx context.Context) *ProjectsLocationsAutonomousDatabasesCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsAutonomousDatabasesCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsAutonomousDatabasesCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.autonomousdatabase)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/autonomousDatabases")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.autonomousDatabases.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.autonomousDatabases.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsAutonomousDatabasesCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &Operation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.autonomousDatabases.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsAutonomousDatabasesDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a single Autonomous Database.
//
//   - name: The name of the resource in the following format:
//     projects/{project}/locations/{location}/autonomousDatabases/{autonomous_dat
//     abase}.
func (r *ProjectsLocationsAutonomousDatabasesService) Delete(name string) *ProjectsLocationsAutonomousDatabasesDeleteCall {
	c := &ProjectsLocationsAutonomousDatabasesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// RequestId sets the optional parameter "requestId": An optional ID to
// identify the request. This value is used to identify duplicate requests. If
// you make a request with the same request ID and the original request is
// still in progress or completed, the server ignores the second request. This
// prevents clients from accidentally creating duplicate commitments. The
// request ID must be a valid UUID with the exception that zero UUID is not
// supported (00000000-0000-0000-0000-000000000000).
func (c *ProjectsLocationsAutonomousDatabasesDeleteCall) RequestId(requestId string) *ProjectsLocationsAutonomousDatabasesDeleteCall {
	c.urlParams_.Set("requestId", requestId)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsAutonomousDatabasesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsAutonomousDatabasesDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsAutonomousDatabasesDeleteCall) Context(ctx context.Context) *ProjectsLocationsAutonomousDatabasesDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsAutonomousDatabasesDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsAutonomousDatabasesDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.autonomousDatabases.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.autonomousDatabases.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsAutonomousDatabasesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &Operation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.autonomousDatabases.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsAutonomousDatabasesFailoverCall struct {
	s                                 *Service
	name                              string
	failoverautonomousdatabaserequest *FailoverAutonomousDatabaseRequest
	urlParams_                        gensupport.URLParams
	ctx_                              context.Context
	header_                           http.Header
}

// Failover: Initiates a failover to target autonomous database from the
// associated primary database.
//
//   - name: The name of the Autonomous Database in the following format:
//     projects/{project}/locations/{location}/autonomousDatabases/{autonomous_dat
//     abase}.
func (r *ProjectsLocationsAutonomousDatabasesService) Failover(name string, failoverautonomousdatabaserequest *FailoverAutonomousDatabaseRequest) *ProjectsLocationsAutonomousDatabasesFailoverCall {
	c := &ProjectsLocationsAutonomousDatabasesFailoverCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.failoverautonomousdatabaserequest = failoverautonomousdatabaserequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsAutonomousDatabasesFailoverCall) Fields(s ...googleapi.Field) *ProjectsLocationsAutonomousDatabasesFailoverCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsAutonomousDatabasesFailoverCall) Context(ctx context.Context) *ProjectsLocationsAutonomousDatabasesFailoverCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsAutonomousDatabasesFailoverCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsAutonomousDatabasesFailoverCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.failoverautonomousdatabaserequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:failover")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.autonomousDatabases.failover", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.autonomousDatabases.failover" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsAutonomousDatabasesFailoverCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &Operation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.autonomousDatabases.failover", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsAutonomousDatabasesGenerateWalletCall struct {
	s                                       *Service
	name                                    string
	generateautonomousdatabasewalletrequest *GenerateAutonomousDatabaseWalletRequest
	urlParams_                              gensupport.URLParams
	ctx_                                    context.Context
	header_                                 http.Header
}

// GenerateWallet: Generates a wallet for an Autonomous Database.
//
//   - name: The name of the Autonomous Database in the following format:
//     projects/{project}/locations/{location}/autonomousDatabases/{autonomous_dat
//     abase}.
func (r *ProjectsLocationsAutonomousDatabasesService) GenerateWallet(name string, generateautonomousdatabasewalletrequest *GenerateAutonomousDatabaseWalletRequest) *ProjectsLocationsAutonomousDatabasesGenerateWalletCall {
	c := &ProjectsLocationsAutonomousDatabasesGenerateWalletCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.generateautonomousdatabasewalletrequest = generateautonomousdatabasewalletrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsAutonomousDatabasesGenerateWalletCall) Fields(s ...googleapi.Field) *ProjectsLocationsAutonomousDatabasesGenerateWalletCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsAutonomousDatabasesGenerateWalletCall) Context(ctx context.Context) *ProjectsLocationsAutonomousDatabasesGenerateWalletCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsAutonomousDatabasesGenerateWalletCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsAutonomousDatabasesGenerateWalletCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.generateautonomousdatabasewalletrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:generateWallet")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.autonomousDatabases.generateWallet", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.autonomousDatabases.generateWallet" call.
// Any non-2xx status code is an error. Response headers are in either
// *GenerateAutonomousDatabaseWalletResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsAutonomousDatabasesGenerateWalletCall) Do(opts ...googleapi.CallOption) (*GenerateAutonomousDatabaseWalletResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GenerateAutonomousDatabaseWalletResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.autonomousDatabases.generateWallet", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsAutonomousDatabasesGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the details of a single Autonomous Database.
//
//   - name: The name of the Autonomous Database in the following format:
//     projects/{project}/locations/{location}/autonomousDatabases/{autonomous_dat
//     abase}.
func (r *ProjectsLocationsAutonomousDatabasesService) Get(name string) *ProjectsLocationsAutonomousDatabasesGetCall {
	c := &ProjectsLocationsAutonomousDatabasesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsAutonomousDatabasesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsAutonomousDatabasesGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsAutonomousDatabasesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsAutonomousDatabasesGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsAutonomousDatabasesGetCall) Context(ctx context.Context) *ProjectsLocationsAutonomousDatabasesGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsAutonomousDatabasesGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsAutonomousDatabasesGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.autonomousDatabases.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.autonomousDatabases.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *AutonomousDatabase.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsAutonomousDatabasesGetCall) Do(opts ...googleapi.CallOption) (*AutonomousDatabase, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &AutonomousDatabase{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.autonomousDatabases.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsAutonomousDatabasesGetRefreshableClonesCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// GetRefreshableClones: Gets the refreshable clones for a given Autonomous
// Database.
//
//   - name: The Autonomous Database resource whose refreshable clones are to be
//     listed. Format:
//     projects/{project}/locations/{location}/autonomousDatabases/{autonomous_dat
//     abase}.
func (r *ProjectsLocationsAutonomousDatabasesService) GetRefreshableClones(name string) *ProjectsLocationsAutonomousDatabasesGetRefreshableClonesCall {
	c := &ProjectsLocationsAutonomousDatabasesGetRefreshableClonesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsAutonomousDatabasesGetRefreshableClonesCall) Fields(s ...googleapi.Field) *ProjectsLocationsAutonomousDatabasesGetRefreshableClonesCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsAutonomousDatabasesGetRefreshableClonesCall) IfNoneMatch(entityTag string) *ProjectsLocationsAutonomousDatabasesGetRefreshableClonesCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsAutonomousDatabasesGetRefreshableClonesCall) Context(ctx context.Context) *ProjectsLocationsAutonomousDatabasesGetRefreshableClonesCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsAutonomousDatabasesGetRefreshableClonesCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsAutonomousDatabasesGetRefreshableClonesCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:getRefreshableClones")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.autonomousDatabases.getRefreshableClones", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.autonomousDatabases.getRefreshableClones" call.
// Any non-2xx status code is an error. Response headers are in either
// *AutonomousDatabaseRefreshableClones.ServerResponse.Header or (if a response
// was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsAutonomousDatabasesGetRefreshableClonesCall) Do(opts ...googleapi.CallOption) (*AutonomousDatabaseRefreshableClones, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &AutonomousDatabaseRefreshableClones{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.autonomousDatabases.getRefreshableClones", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsAutonomousDatabasesListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists the Autonomous Databases in a given project and location.
//
//   - parent: The parent value for the Autonomous Database in the following
//     format: projects/{project}/locations/{location}.
func (r *ProjectsLocationsAutonomousDatabasesService) List(parent string) *ProjectsLocationsAutonomousDatabasesListCall {
	c := &ProjectsLocationsAutonomousDatabasesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": An expression for filtering the
// results of the request.
func (c *ProjectsLocationsAutonomousDatabasesListCall) Filter(filter string) *ProjectsLocationsAutonomousDatabasesListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// OrderBy sets the optional parameter "orderBy": An expression for ordering
// the results of the request.
func (c *ProjectsLocationsAutonomousDatabasesListCall) OrderBy(orderBy string) *ProjectsLocationsAutonomousDatabasesListCall {
	c.urlParams_.Set("orderBy", orderBy)
	return c
}

// PageSize sets the optional parameter "pageSize": The maximum number of items
// to return. If unspecified, at most 50 Autonomous Database will be returned.
// The maximum value is 1000; values above 1000 will be coerced to 1000.
func (c *ProjectsLocationsAutonomousDatabasesListCall) PageSize(pageSize int64) *ProjectsLocationsAutonomousDatabasesListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": A token identifying a
// page of results the server should return.
func (c *ProjectsLocationsAutonomousDatabasesListCall) PageToken(pageToken string) *ProjectsLocationsAutonomousDatabasesListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsAutonomousDatabasesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsAutonomousDatabasesListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsAutonomousDatabasesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsAutonomousDatabasesListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsAutonomousDatabasesListCall) Context(ctx context.Context) *ProjectsLocationsAutonomousDatabasesListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsAutonomousDatabasesListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsAutonomousDatabasesListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/autonomousDatabases")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.autonomousDatabases.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.autonomousDatabases.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *ListAutonomousDatabasesResponse.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsAutonomousDatabasesListCall) Do(opts ...googleapi.CallOption) (*ListAutonomousDatabasesResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &ListAutonomousDatabasesResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.autonomousDatabases.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsAutonomousDatabasesListCall) Pages(ctx context.Context, f func(*ListAutonomousDatabasesResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsAutonomousDatabasesPatchCall struct {
	s                  *Service
	name               string
	autonomousdatabase *AutonomousDatabase
	urlParams_         gensupport.URLParams
	ctx_               context.Context
	header_            http.Header
}

// Patch: Updates the parameters of a single Autonomous Database.
//
//   - name: Identifier. The name of the Autonomous Database resource in the
//     following format:
//     projects/{project}/locations/{region}/autonomousDatabases/{autonomous_datab
//     ase}.
func (r *ProjectsLocationsAutonomousDatabasesService) Patch(name string, autonomousdatabase *AutonomousDatabase) *ProjectsLocationsAutonomousDatabasesPatchCall {
	c := &ProjectsLocationsAutonomousDatabasesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.autonomousdatabase = autonomousdatabase
	return c
}

// RequestId sets the optional parameter "requestId": An optional ID to
// identify the request. This value is used to identify duplicate requests. If
// you make a request with the same request ID and the original request is
// still in progress or completed, the server ignores the second request. This
// prevents clients from accidentally creating duplicate commitments. The
// request ID must be a valid UUID with the exception that zero UUID is not
// supported (00000000-0000-0000-0000-000000000000).
func (c *ProjectsLocationsAutonomousDatabasesPatchCall) RequestId(requestId string) *ProjectsLocationsAutonomousDatabasesPatchCall {
	c.urlParams_.Set("requestId", requestId)
	return c
}

// UpdateMask sets the optional parameter "updateMask": Field mask is used to
// specify the fields to be overwritten in the Exadata resource by the update.
// The fields specified in the update_mask are relative to the resource, not
// the full request. A field will be overwritten if it is in the mask. If the
// user does not provide a mask then all fields will be overwritten.
func (c *ProjectsLocationsAutonomousDatabasesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsAutonomousDatabasesPatchCall {
	c.urlParams_.Set("updateMask", updateMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsAutonomousDatabasesPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsAutonomousDatabasesPatchCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsAutonomousDatabasesPatchCall) Context(ctx context.Context) *ProjectsLocationsAutonomousDatabasesPatchCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsAutonomousDatabasesPatchCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsAutonomousDatabasesPatchCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.autonomousdatabase)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("PATCH", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.autonomousDatabases.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.autonomousDatabases.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsAutonomousDatabasesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &Operation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.autonomousDatabases.patch", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsAutonomousDatabasesRefreshCall struct {
	s                                *Service
	name                             string
	refreshautonomousdatabaserequest *RefreshAutonomousDatabaseRequest
	urlParams_                       gensupport.URLParams
	ctx_                             context.Context
	header_                          http.Header
}

// Refresh: Refreshes the refreshable clone of an Autonomous Database.
//
//   - name: The name of the AutonomousDatabase resource. Format:
//     projects/{project}/location/{location}/autonomousDatabases/{autonomous_data
//     base}.
func (r *ProjectsLocationsAutonomousDatabasesService) Refresh(name string, refreshautonomousdatabaserequest *RefreshAutonomousDatabaseRequest) *ProjectsLocationsAutonomousDatabasesRefreshCall {
	c := &ProjectsLocationsAutonomousDatabasesRefreshCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.refreshautonomousdatabaserequest = refreshautonomousdatabaserequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsAutonomousDatabasesRefreshCall) Fields(s ...googleapi.Field) *ProjectsLocationsAutonomousDatabasesRefreshCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsAutonomousDatabasesRefreshCall) Context(ctx context.Context) *ProjectsLocationsAutonomousDatabasesRefreshCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsAutonomousDatabasesRefreshCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsAutonomousDatabasesRefreshCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.refreshautonomousdatabaserequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:refresh")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.autonomousDatabases.refresh", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.autonomousDatabases.refresh" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsAutonomousDatabasesRefreshCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &Operation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.autonomousDatabases.refresh", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsAutonomousDatabasesRestartCall struct {
	s                                *Service
	name                             string
	restartautonomousdatabaserequest *RestartAutonomousDatabaseRequest
	urlParams_                       gensupport.URLParams
	ctx_                             context.Context
	header_                          http.Header
}

// Restart: Restarts an Autonomous Database.
//
//   - name: The name of the Autonomous Database in the following format:
//     projects/{project}/locations/{location}/autonomousDatabases/{autonomous_dat
//     abase}.
func (r *ProjectsLocationsAutonomousDatabasesService) Restart(name string, restartautonomousdatabaserequest *RestartAutonomousDatabaseRequest) *ProjectsLocationsAutonomousDatabasesRestartCall {
	c := &ProjectsLocationsAutonomousDatabasesRestartCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.restartautonomousdatabaserequest = restartautonomousdatabaserequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsAutonomousDatabasesRestartCall) Fields(s ...googleapi.Field) *ProjectsLocationsAutonomousDatabasesRestartCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsAutonomousDatabasesRestartCall) Context(ctx context.Context) *ProjectsLocationsAutonomousDatabasesRestartCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsAutonomousDatabasesRestartCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsAutonomousDatabasesRestartCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.restartautonomousdatabaserequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:restart")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.autonomousDatabases.restart", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.autonomousDatabases.restart" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsAutonomousDatabasesRestartCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &Operation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.autonomousDatabases.restart", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsAutonomousDatabasesRestoreCall struct {
	s                                *Service
	name                             string
	restoreautonomousdatabaserequest *RestoreAutonomousDatabaseRequest
	urlParams_                       gensupport.URLParams
	ctx_                             context.Context
	header_                          http.Header
}

// Restore: Restores a single Autonomous Database.
//
//   - name: The name of the Autonomous Database in the following format:
//     projects/{project}/locations/{location}/autonomousDatabases/{autonomous_dat
//     abase}.
func (r *ProjectsLocationsAutonomousDatabasesService) Restore(name string, restoreautonomousdatabaserequest *RestoreAutonomousDatabaseRequest) *ProjectsLocationsAutonomousDatabasesRestoreCall {
	c := &ProjectsLocationsAutonomousDatabasesRestoreCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.restoreautonomousdatabaserequest = restoreautonomousdatabaserequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsAutonomousDatabasesRestoreCall) Fields(s ...googleapi.Field) *ProjectsLocationsAutonomousDatabasesRestoreCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsAutonomousDatabasesRestoreCall) Context(ctx context.Context) *ProjectsLocationsAutonomousDatabasesRestoreCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsAutonomousDatabasesRestoreCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsAutonomousDatabasesRestoreCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.restoreautonomousdatabaserequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:restore")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.autonomousDatabases.restore", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.autonomousDatabases.restore" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsAutonomousDatabasesRestoreCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &Operation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.autonomousDatabases.restore", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsAutonomousDatabasesStartCall struct {
	s                              *Service
	name                           string
	startautonomousdatabaserequest *StartAutonomousDatabaseRequest
	urlParams_                     gensupport.URLParams
	ctx_                           context.Context
	header_                        http.Header
}

// Start: Starts an Autonomous Database.
//
//   - name: The name of the Autonomous Database in the following format:
//     projects/{project}/locations/{location}/autonomousDatabases/{autonomous_dat
//     abase}.
func (r *ProjectsLocationsAutonomousDatabasesService) Start(name string, startautonomousdatabaserequest *StartAutonomousDatabaseRequest) *ProjectsLocationsAutonomousDatabasesStartCall {
	c := &ProjectsLocationsAutonomousDatabasesStartCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.startautonomousdatabaserequest = startautonomousdatabaserequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsAutonomousDatabasesStartCall) Fields(s ...googleapi.Field) *ProjectsLocationsAutonomousDatabasesStartCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsAutonomousDatabasesStartCall) Context(ctx context.Context) *ProjectsLocationsAutonomousDatabasesStartCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsAutonomousDatabasesStartCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsAutonomousDatabasesStartCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.startautonomousdatabaserequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:start")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.autonomousDatabases.start", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.autonomousDatabases.start" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsAutonomousDatabasesStartCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &Operation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.autonomousDatabases.start", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsAutonomousDatabasesStopCall struct {
	s                             *Service
	name                          string
	stopautonomousdatabaserequest *StopAutonomousDatabaseRequest
	urlParams_                    gensupport.URLParams
	ctx_                          context.Context
	header_                       http.Header
}

// Stop: Stops an Autonomous Database.
//
//   - name: The name of the Autonomous Database in the following format:
//     projects/{project}/locations/{location}/autonomousDatabases/{autonomous_dat
//     abase}.
func (r *ProjectsLocationsAutonomousDatabasesService) Stop(name string, stopautonomousdatabaserequest *StopAutonomousDatabaseRequest) *ProjectsLocationsAutonomousDatabasesStopCall {
	c := &ProjectsLocationsAutonomousDatabasesStopCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.stopautonomousdatabaserequest = stopautonomousdatabaserequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsAutonomousDatabasesStopCall) Fields(s ...googleapi.Field) *ProjectsLocationsAutonomousDatabasesStopCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsAutonomousDatabasesStopCall) Context(ctx context.Context) *ProjectsLocationsAutonomousDatabasesStopCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsAutonomousDatabasesStopCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsAutonomousDatabasesStopCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.stopautonomousdatabaserequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:stop")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.autonomousDatabases.stop", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.autonomousDatabases.stop" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsAutonomousDatabasesStopCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &Operation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.autonomousDatabases.stop", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsAutonomousDatabasesSwitchoverCall struct {
	s                                   *Service
	name                                string
	switchoverautonomousdatabaserequest *SwitchoverAutonomousDatabaseRequest
	urlParams_                          gensupport.URLParams
	ctx_                                context.Context
	header_                             http.Header
}

// Switchover: Initiates a switchover of specified autonomous database to the
// associated peer database.
//
//   - name: The name of the Autonomous Database in the following format:
//     projects/{project}/locations/{location}/autonomousDatabases/{autonomous_dat
//     abase}.
func (r *ProjectsLocationsAutonomousDatabasesService) Switchover(name string, switchoverautonomousdatabaserequest *SwitchoverAutonomousDatabaseRequest) *ProjectsLocationsAutonomousDatabasesSwitchoverCall {
	c := &ProjectsLocationsAutonomousDatabasesSwitchoverCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.switchoverautonomousdatabaserequest = switchoverautonomousdatabaserequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsAutonomousDatabasesSwitchoverCall) Fields(s ...googleapi.Field) *ProjectsLocationsAutonomousDatabasesSwitchoverCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsAutonomousDatabasesSwitchoverCall) Context(ctx context.Context) *ProjectsLocationsAutonomousDatabasesSwitchoverCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsAutonomousDatabasesSwitchoverCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsAutonomousDatabasesSwitchoverCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.switchoverautonomousdatabaserequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:switchover")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.autonomousDatabases.switchover", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.autonomousDatabases.switchover" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsAutonomousDatabasesSwitchoverCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &Operation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.autonomousDatabases.switchover", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsAutonomousDbVersionsListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists all the available Autonomous Database versions for a project and
// location.
//
//   - parent: The parent value for the Autonomous Database in the following
//     format: projects/{project}/locations/{location}.
func (r *ProjectsLocationsAutonomousDbVersionsService) List(parent string) *ProjectsLocationsAutonomousDbVersionsListCall {
	c := &ProjectsLocationsAutonomousDbVersionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// PageSize sets the optional parameter "pageSize": The maximum number of items
// to return. If unspecified, at most 50 Autonomous DB Versions will be
// returned. The maximum value is 1000; values above 1000 will be coerced to
// 1000.
func (c *ProjectsLocationsAutonomousDbVersionsListCall) PageSize(pageSize int64) *ProjectsLocationsAutonomousDbVersionsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": A token identifying a
// page of results the server should return.
func (c *ProjectsLocationsAutonomousDbVersionsListCall) PageToken(pageToken string) *ProjectsLocationsAutonomousDbVersionsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsAutonomousDbVersionsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsAutonomousDbVersionsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsAutonomousDbVersionsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsAutonomousDbVersionsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsAutonomousDbVersionsListCall) Context(ctx context.Context) *ProjectsLocationsAutonomousDbVersionsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsAutonomousDbVersionsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsAutonomousDbVersionsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/autonomousDbVersions")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.autonomousDbVersions.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.autonomousDbVersions.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *ListAutonomousDbVersionsResponse.ServerResponse.Header or (if a response
// was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsAutonomousDbVersionsListCall) Do(opts ...googleapi.CallOption) (*ListAutonomousDbVersionsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &ListAutonomousDbVersionsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.autonomousDbVersions.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsAutonomousDbVersionsListCall) Pages(ctx context.Context, f func(*ListAutonomousDbVersionsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsCloudExadataInfrastructuresConfigureExascaleCall struct {
	s                                                  *Service
	name                                               string
	configureexascalecloudexadatainfrastructurerequest *ConfigureExascaleCloudExadataInfrastructureRequest
	urlParams_                                         gensupport.URLParams
	ctx_                                               context.Context
	header_                                            http.Header
}

// ConfigureExascale: Configures Exascale for a single Exadata Infrastructure.
//
//   - name: The name of the Cloud Exadata Infrastructure in the following
//     format:
//     projects/{project}/locations/{location}/cloudExadataInfrastructures/{cloud_
//     exadata_infrastructure}.
func (r *ProjectsLocationsCloudExadataInfrastructuresService) ConfigureExascale(name string, configureexascalecloudexadatainfrastructurerequest *ConfigureExascaleCloudExadataInfrastructureRequest) *ProjectsLocationsCloudExadataInfrastructuresConfigureExascaleCall {
	c := &ProjectsLocationsCloudExadataInfrastructuresConfigureExascaleCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.configureexascalecloudexadatainfrastructurerequest = configureexascalecloudexadatainfrastructurerequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsCloudExadataInfrastructuresConfigureExascaleCall) Fields(s ...googleapi.Field) *ProjectsLocationsCloudExadataInfrastructuresConfigureExascaleCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsCloudExadataInfrastructuresConfigureExascaleCall) Context(ctx context.Context) *ProjectsLocationsCloudExadataInfrastructuresConfigureExascaleCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsCloudExadataInfrastructuresConfigureExascaleCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsCloudExadataInfrastructuresConfigureExascaleCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.configureexascalecloudexadatainfrastructurerequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:configureExascale")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.cloudExadataInfrastructures.configureExascale", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.cloudExadataInfrastructures.configureExascale" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsCloudExadataInfrastructuresConfigureExascaleCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &Operation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.cloudExadataInfrastructures.configureExascale", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsCloudExadataInfrastructuresCreateCall struct {
	s                          *Service
	parent                     string
	cloudexadatainfrastructure *CloudExadataInfrastructure
	urlParams_                 gensupport.URLParams
	ctx_                       context.Context
	header_                    http.Header
}

// Create: Creates a new Exadata Infrastructure in a given project and
// location.
//
//   - parent: The parent value for CloudExadataInfrastructure in the following
//     format: projects/{project}/locations/{location}.
func (r *ProjectsLocationsCloudExadataInfrastructuresService) Create(parent string, cloudexadatainfrastructure *CloudExadataInfrastructure) *ProjectsLocationsCloudExadataInfrastructuresCreateCall {
	c := &ProjectsLocationsCloudExadataInfrastructuresCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.cloudexadatainfrastructure = cloudexadatainfrastructure
	return c
}

// CloudExadataInfrastructureId sets the optional parameter
// "cloudExadataInfrastructureId": Required. The ID of the Exadata
// Infrastructure to create. This value is restricted to (^a-z
// ([a-z0-9-]{0,61}[a-z0-9])?$) and must be a maximum of 63 characters in
// length. The value must start with a letter and end with a letter or a
// number.
func (c *ProjectsLocationsCloudExadataInfrastructuresCreateCall) CloudExadataInfrastructureId(cloudExadataInfrastructureId string) *ProjectsLocationsCloudExadataInfrastructuresCreateCall {
	c.urlParams_.Set("cloudExadataInfrastructureId", cloudExadataInfrastructureId)
	return c
}

// RequestId sets the optional parameter "requestId": An optional ID to
// identify the request. This value is used to identify duplicate requests. If
// you make a request with the same request ID and the original request is
// still in progress or completed, the server ignores the second request. This
// prevents clients from accidentally creating duplicate commitments. The
// request ID must be a valid UUID with the exception that zero UUID is not
// supported (00000000-0000-0000-0000-000000000000).
func (c *ProjectsLocationsCloudExadataInfrastructuresCreateCall) RequestId(requestId string) *ProjectsLocationsCloudExadataInfrastructuresCreateCall {
	c.urlParams_.Set("requestId", requestId)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsCloudExadataInfrastructuresCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsCloudExadataInfrastructuresCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsCloudExadataInfrastructuresCreateCall) Context(ctx context.Context) *ProjectsLocationsCloudExadataInfrastructuresCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsCloudExadataInfrastructuresCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsCloudExadataInfrastructuresCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.cloudexadatainfrastructure)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/cloudExadataInfrastructures")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.cloudExadataInfrastructures.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.cloudExadataInfrastructures.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsCloudExadataInfrastructuresCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &Operation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.cloudExadataInfrastructures.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsCloudExadataInfrastructuresDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a single Exadata Infrastructure.
//
//   - name: The name of the Cloud Exadata Infrastructure in the following
//     format:
//     projects/{project}/locations/{location}/cloudExadataInfrastructures/{cloud_
//     exadata_infrastructure}.
func (r *ProjectsLocationsCloudExadataInfrastructuresService) Delete(name string) *ProjectsLocationsCloudExadataInfrastructuresDeleteCall {
	c := &ProjectsLocationsCloudExadataInfrastructuresDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Force sets the optional parameter "force": If set to true, all VM clusters
// for this Exadata Infrastructure will be deleted. An Exadata Infrastructure
// can only be deleted once all its VM clusters have been deleted.
func (c *ProjectsLocationsCloudExadataInfrastructuresDeleteCall) Force(force bool) *ProjectsLocationsCloudExadataInfrastructuresDeleteCall {
	c.urlParams_.Set("force", fmt.Sprint(force))
	return c
}

// RequestId sets the optional parameter "requestId": An optional ID to
// identify the request. This value is used to identify duplicate requests. If
// you make a request with the same request ID and the original request is
// still in progress or completed, the server ignores the second request. This
// prevents clients from accidentally creating duplicate commitments. The
// request ID must be a valid UUID with the exception that zero UUID is not
// supported (00000000-0000-0000-0000-000000000000).
func (c *ProjectsLocationsCloudExadataInfrastructuresDeleteCall) RequestId(requestId string) *ProjectsLocationsCloudExadataInfrastructuresDeleteCall {
	c.urlParams_.Set("requestId", requestId)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsCloudExadataInfrastructuresDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsCloudExadataInfrastructuresDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsCloudExadataInfrastructuresDeleteCall) Context(ctx context.Context) *ProjectsLocationsCloudExadataInfrastructuresDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsCloudExadataInfrastructuresDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsCloudExadataInfrastructuresDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.cloudExadataInfrastructures.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.cloudExadataInfrastructures.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsCloudExadataInfrastructuresDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &Operation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.cloudExadataInfrastructures.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsCloudExadataInfrastructuresGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets details of a single Exadata Infrastructure.
//
//   - name: The name of the Cloud Exadata Infrastructure in the following
//     format:
//     projects/{project}/locations/{location}/cloudExadataInfrastructures/{cloud_
//     exadata_infrastructure}.
func (r *ProjectsLocationsCloudExadataInfrastructuresService) Get(name string) *ProjectsLocationsCloudExadataInfrastructuresGetCall {
	c := &ProjectsLocationsCloudExadataInfrastructuresGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsCloudExadataInfrastructuresGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsCloudExadataInfrastructuresGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsCloudExadataInfrastructuresGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsCloudExadataInfrastructuresGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsCloudExadataInfrastructuresGetCall) Context(ctx context.Context) *ProjectsLocationsCloudExadataInfrastructuresGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsCloudExadataInfrastructuresGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsCloudExadataInfrastructuresGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.cloudExadataInfrastructures.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.cloudExadataInfrastructures.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *CloudExadataInfrastructure.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsCloudExadataInfrastructuresGetCall) Do(opts ...googleapi.CallOption) (*CloudExadataInfrastructure, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &CloudExadataInfrastructure{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.cloudExadataInfrastructures.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsCloudExadataInfrastructuresListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists Exadata Infrastructures in a given project and location.
//
//   - parent: The parent value for CloudExadataInfrastructure in the following
//     format: projects/{project}/locations/{location}.
func (r *ProjectsLocationsCloudExadataInfrastructuresService) List(parent string) *ProjectsLocationsCloudExadataInfrastructuresListCall {
	c := &ProjectsLocationsCloudExadataInfrastructuresListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": An expression for filtering the
// results of the request.
func (c *ProjectsLocationsCloudExadataInfrastructuresListCall) Filter(filter string) *ProjectsLocationsCloudExadataInfrastructuresListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// OrderBy sets the optional parameter "orderBy": An expression for ordering
// the results of the request.
func (c *ProjectsLocationsCloudExadataInfrastructuresListCall) OrderBy(orderBy string) *ProjectsLocationsCloudExadataInfrastructuresListCall {
	c.urlParams_.Set("orderBy", orderBy)
	return c
}

// PageSize sets the optional parameter "pageSize": The maximum number of items
// to return. If unspecified, at most 50 Exadata infrastructures will be
// returned. The maximum value is 1000; values above 1000 will be coerced to
// 1000.
func (c *ProjectsLocationsCloudExadataInfrastructuresListCall) PageSize(pageSize int64) *ProjectsLocationsCloudExadataInfrastructuresListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": A token identifying a
// page of results the server should return.
func (c *ProjectsLocationsCloudExadataInfrastructuresListCall) PageToken(pageToken string) *ProjectsLocationsCloudExadataInfrastructuresListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsCloudExadataInfrastructuresListCall) Fields(s ...googleapi.Field) *ProjectsLocationsCloudExadataInfrastructuresListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsCloudExadataInfrastructuresListCall) IfNoneMatch(entityTag string) *ProjectsLocationsCloudExadataInfrastructuresListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsCloudExadataInfrastructuresListCall) Context(ctx context.Context) *ProjectsLocationsCloudExadataInfrastructuresListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsCloudExadataInfrastructuresListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsCloudExadataInfrastructuresListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/cloudExadataInfrastructures")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.cloudExadataInfrastructures.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.cloudExadataInfrastructures.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *ListCloudExadataInfrastructuresResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsCloudExadataInfrastructuresListCall) Do(opts ...googleapi.CallOption) (*ListCloudExadataInfrastructuresResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &ListCloudExadataInfrastructuresResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.cloudExadataInfrastructures.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsCloudExadataInfrastructuresListCall) Pages(ctx context.Context, f func(*ListCloudExadataInfrastructuresResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsCloudExadataInfrastructuresDbServersListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists the database servers of an Exadata Infrastructure instance.
//
//   - parent: The parent value for database server in the following format:
//     projects/{project}/locations/{location}/cloudExadataInfrastructures/{cloudE
//     xadataInfrastructure}.
func (r *ProjectsLocationsCloudExadataInfrastructuresDbServersService) List(parent string) *ProjectsLocationsCloudExadataInfrastructuresDbServersListCall {
	c := &ProjectsLocationsCloudExadataInfrastructuresDbServersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// PageSize sets the optional parameter "pageSize": The maximum number of items
// to return. If unspecified, a maximum of 50 db servers will be returned. The
// maximum value is 1000; values above 1000 will be reset to 1000.
func (c *ProjectsLocationsCloudExadataInfrastructuresDbServersListCall) PageSize(pageSize int64) *ProjectsLocationsCloudExadataInfrastructuresDbServersListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": A token identifying a
// page of results the server should return.
func (c *ProjectsLocationsCloudExadataInfrastructuresDbServersListCall) PageToken(pageToken string) *ProjectsLocationsCloudExadataInfrastructuresDbServersListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsCloudExadataInfrastructuresDbServersListCall) Fields(s ...googleapi.Field) *ProjectsLocationsCloudExadataInfrastructuresDbServersListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsCloudExadataInfrastructuresDbServersListCall) IfNoneMatch(entityTag string) *ProjectsLocationsCloudExadataInfrastructuresDbServersListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsCloudExadataInfrastructuresDbServersListCall) Context(ctx context.Context) *ProjectsLocationsCloudExadataInfrastructuresDbServersListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsCloudExadataInfrastructuresDbServersListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsCloudExadataInfrastructuresDbServersListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/dbServers")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.cloudExadataInfrastructures.dbServers.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.cloudExadataInfrastructures.dbServers.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *ListDbServersResponse.ServerResponse.Header or (if a response was returned
// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsCloudExadataInfrastructuresDbServersListCall) Do(opts ...googleapi.CallOption) (*ListDbServersResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &ListDbServersResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.cloudExadataInfrastructures.dbServers.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsCloudExadataInfrastructuresDbServersListCall) Pages(ctx context.Context, f func(*ListDbServersResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsCloudVmClustersCreateCall struct {
	s              *Service
	parent         string
	cloudvmcluster *CloudVmCluster
	urlParams_     gensupport.URLParams
	ctx_           context.Context
	header_        http.Header
}

// Create: Creates a new VM Cluster in a given project and location.
//
//   - parent: The name of the parent in the following format:
//     projects/{project}/locations/{location}.
func (r *ProjectsLocationsCloudVmClustersService) Create(parent string, cloudvmcluster *CloudVmCluster) *ProjectsLocationsCloudVmClustersCreateCall {
	c := &ProjectsLocationsCloudVmClustersCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.cloudvmcluster = cloudvmcluster
	return c
}

// CloudVmClusterId sets the optional parameter "cloudVmClusterId": Required.
// The ID of the VM Cluster to create. This value is restricted to (^a-z
// ([a-z0-9-]{0,61}[a-z0-9])?$) and must be a maximum of 63 characters in
// length. The value must start with a letter and end with a letter or a
// number.
func (c *ProjectsLocationsCloudVmClustersCreateCall) CloudVmClusterId(cloudVmClusterId string) *ProjectsLocationsCloudVmClustersCreateCall {
	c.urlParams_.Set("cloudVmClusterId", cloudVmClusterId)
	return c
}

// RequestId sets the optional parameter "requestId": An optional ID to
// identify the request. This value is used to identify duplicate requests. If
// you make a request with the same request ID and the original request is
// still in progress or completed, the server ignores the second request. This
// prevents clients from accidentally creating duplicate commitments. The
// request ID must be a valid UUID with the exception that zero UUID is not
// supported (00000000-0000-0000-0000-000000000000).
func (c *ProjectsLocationsCloudVmClustersCreateCall) RequestId(requestId string) *ProjectsLocationsCloudVmClustersCreateCall {
	c.urlParams_.Set("requestId", requestId)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsCloudVmClustersCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsCloudVmClustersCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsCloudVmClustersCreateCall) Context(ctx context.Context) *ProjectsLocationsCloudVmClustersCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsCloudVmClustersCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsCloudVmClustersCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.cloudvmcluster)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/cloudVmClusters")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.cloudVmClusters.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.cloudVmClusters.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsCloudVmClustersCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &Operation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.cloudVmClusters.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsCloudVmClustersDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a single VM Cluster.
//
//   - name: The name of the Cloud VM Cluster in the following format:
//     projects/{project}/locations/{location}/cloudVmClusters/{cloud_vm_cluster}.
func (r *ProjectsLocationsCloudVmClustersService) Delete(name string) *ProjectsLocationsCloudVmClustersDeleteCall {
	c := &ProjectsLocationsCloudVmClustersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Force sets the optional parameter "force": If set to true, all child
// resources for the VM Cluster will be deleted. A VM Cluster can only be
// deleted once all its child resources have been deleted.
func (c *ProjectsLocationsCloudVmClustersDeleteCall) Force(force bool) *ProjectsLocationsCloudVmClustersDeleteCall {
	c.urlParams_.Set("force", fmt.Sprint(force))
	return c
}

// RequestId sets the optional parameter "requestId": An optional ID to
// identify the request. This value is used to identify duplicate requests. If
// you make a request with the same request ID and the original request is
// still in progress or completed, the server ignores the second request. This
// prevents clients from accidentally creating duplicate commitments. The
// request ID must be a valid UUID with the exception that zero UUID is not
// supported (00000000-0000-0000-0000-000000000000).
func (c *ProjectsLocationsCloudVmClustersDeleteCall) RequestId(requestId string) *ProjectsLocationsCloudVmClustersDeleteCall {
	c.urlParams_.Set("requestId", requestId)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsCloudVmClustersDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsCloudVmClustersDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsCloudVmClustersDeleteCall) Context(ctx context.Context) *ProjectsLocationsCloudVmClustersDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsCloudVmClustersDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsCloudVmClustersDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.cloudVmClusters.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.cloudVmClusters.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsCloudVmClustersDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &Operation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.cloudVmClusters.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsCloudVmClustersGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets details of a single VM Cluster.
//
//   - name: The name of the Cloud VM Cluster in the following format:
//     projects/{project}/locations/{location}/cloudVmClusters/{cloud_vm_cluster}.
func (r *ProjectsLocationsCloudVmClustersService) Get(name string) *ProjectsLocationsCloudVmClustersGetCall {
	c := &ProjectsLocationsCloudVmClustersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsCloudVmClustersGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsCloudVmClustersGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsCloudVmClustersGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsCloudVmClustersGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsCloudVmClustersGetCall) Context(ctx context.Context) *ProjectsLocationsCloudVmClustersGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsCloudVmClustersGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsCloudVmClustersGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.cloudVmClusters.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.cloudVmClusters.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *CloudVmCluster.ServerResponse.Header or (if a response was returned at all)
// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsCloudVmClustersGetCall) Do(opts ...googleapi.CallOption) (*CloudVmCluster, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &CloudVmCluster{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.cloudVmClusters.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsCloudVmClustersListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists the VM Clusters in a given project and location.
//
//   - parent: The name of the parent in the following format:
//     projects/{project}/locations/{location}.
func (r *ProjectsLocationsCloudVmClustersService) List(parent string) *ProjectsLocationsCloudVmClustersListCall {
	c := &ProjectsLocationsCloudVmClustersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": An expression for filtering the
// results of the request.
func (c *ProjectsLocationsCloudVmClustersListCall) Filter(filter string) *ProjectsLocationsCloudVmClustersListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The number of VM clusters
// to return. If unspecified, at most 50 VM clusters will be returned. The
// maximum value is 1,000.
func (c *ProjectsLocationsCloudVmClustersListCall) PageSize(pageSize int64) *ProjectsLocationsCloudVmClustersListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": A token identifying the
// page of results the server returns.
func (c *ProjectsLocationsCloudVmClustersListCall) PageToken(pageToken string) *ProjectsLocationsCloudVmClustersListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsCloudVmClustersListCall) Fields(s ...googleapi.Field) *ProjectsLocationsCloudVmClustersListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsCloudVmClustersListCall) IfNoneMatch(entityTag string) *ProjectsLocationsCloudVmClustersListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsCloudVmClustersListCall) Context(ctx context.Context) *ProjectsLocationsCloudVmClustersListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsCloudVmClustersListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsCloudVmClustersListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/cloudVmClusters")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.cloudVmClusters.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.cloudVmClusters.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *ListCloudVmClustersResponse.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsCloudVmClustersListCall) Do(opts ...googleapi.CallOption) (*ListCloudVmClustersResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &ListCloudVmClustersResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.cloudVmClusters.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsCloudVmClustersListCall) Pages(ctx context.Context, f func(*ListCloudVmClustersResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsCloudVmClustersDbNodesListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists the database nodes of a VM Cluster.
//
//   - parent: The parent value for database node in the following format:
//     projects/{project}/locations/{location}/cloudVmClusters/{cloudVmCluster}.
//     .
func (r *ProjectsLocationsCloudVmClustersDbNodesService) List(parent string) *ProjectsLocationsCloudVmClustersDbNodesListCall {
	c := &ProjectsLocationsCloudVmClustersDbNodesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// PageSize sets the optional parameter "pageSize": The maximum number of items
// to return. If unspecified, at most 50 db nodes will be returned. The maximum
// value is 1000; values above 1000 will be coerced to 1000.
func (c *ProjectsLocationsCloudVmClustersDbNodesListCall) PageSize(pageSize int64) *ProjectsLocationsCloudVmClustersDbNodesListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": A token identifying a
// page of results the node should return.
func (c *ProjectsLocationsCloudVmClustersDbNodesListCall) PageToken(pageToken string) *ProjectsLocationsCloudVmClustersDbNodesListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsCloudVmClustersDbNodesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsCloudVmClustersDbNodesListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsCloudVmClustersDbNodesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsCloudVmClustersDbNodesListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsCloudVmClustersDbNodesListCall) Context(ctx context.Context) *ProjectsLocationsCloudVmClustersDbNodesListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsCloudVmClustersDbNodesListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsCloudVmClustersDbNodesListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/dbNodes")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.cloudVmClusters.dbNodes.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.cloudVmClusters.dbNodes.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *ListDbNodesResponse.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsCloudVmClustersDbNodesListCall) Do(opts ...googleapi.CallOption) (*ListDbNodesResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &ListDbNodesResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.cloudVmClusters.dbNodes.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsCloudVmClustersDbNodesListCall) Pages(ctx context.Context, f func(*ListDbNodesResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsDatabaseCharacterSetsListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: List DatabaseCharacterSets for the given project and location.
//
//   - parent: The parent value for DatabaseCharacterSets in the following
//     format: projects/{project}/locations/{location}.
func (r *ProjectsLocationsDatabaseCharacterSetsService) List(parent string) *ProjectsLocationsDatabaseCharacterSetsListCall {
	c := &ProjectsLocationsDatabaseCharacterSetsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": An expression for filtering the
// results of the request. Only the **character_set_type** field is supported
// in the following format: `character_set_type="{characterSetType}". Accepted
// values include `DATABASE` and `NATIONAL`.
func (c *ProjectsLocationsDatabaseCharacterSetsListCall) Filter(filter string) *ProjectsLocationsDatabaseCharacterSetsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The maximum number of
// DatabaseCharacterSets to return. The service may return fewer than this
// value. If unspecified, at most 50 DatabaseCharacterSets will be returned.
// The maximum value is 1000; values above 1000 will be coerced to 1000.
func (c *ProjectsLocationsDatabaseCharacterSetsListCall) PageSize(pageSize int64) *ProjectsLocationsDatabaseCharacterSetsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": A page token, received
// from a previous `ListDatabaseCharacterSets` call. Provide this to retrieve
// the subsequent page. When paginating, all other parameters provided to
// `ListDatabaseCharacterSets` must match the call that provided the page
// token.
func (c *ProjectsLocationsDatabaseCharacterSetsListCall) PageToken(pageToken string) *ProjectsLocationsDatabaseCharacterSetsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDatabaseCharacterSetsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatabaseCharacterSetsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsDatabaseCharacterSetsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatabaseCharacterSetsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDatabaseCharacterSetsListCall) Context(ctx context.Context) *ProjectsLocationsDatabaseCharacterSetsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDatabaseCharacterSetsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDatabaseCharacterSetsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/databaseCharacterSets")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.databaseCharacterSets.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.databaseCharacterSets.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *ListDatabaseCharacterSetsResponse.ServerResponse.Header or (if a response
// was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsDatabaseCharacterSetsListCall) Do(opts ...googleapi.CallOption) (*ListDatabaseCharacterSetsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &ListDatabaseCharacterSetsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.databaseCharacterSets.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsDatabaseCharacterSetsListCall) Pages(ctx context.Context, f func(*ListDatabaseCharacterSetsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsDatabasesGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets details of a single Database.
//
//   - name: The name of the Database resource in the following format:
//     projects/{project}/locations/{region}/databases/{database}.
func (r *ProjectsLocationsDatabasesService) Get(name string) *ProjectsLocationsDatabasesGetCall {
	c := &ProjectsLocationsDatabasesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDatabasesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatabasesGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsDatabasesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatabasesGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDatabasesGetCall) Context(ctx context.Context) *ProjectsLocationsDatabasesGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDatabasesGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDatabasesGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.databases.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.databases.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *Database.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsDatabasesGetCall) Do(opts ...googleapi.CallOption) (*Database, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &Database{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.databases.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsDatabasesListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists all the Databases for the given project, location and DbSystem.
//
//   - parent: The parent resource name in the following format:
//     projects/{project}/locations/{region}.
func (r *ProjectsLocationsDatabasesService) List(parent string) *ProjectsLocationsDatabasesListCall {
	c := &ProjectsLocationsDatabasesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": An expression for filtering the
// results of the request. list for container databases is supported only with
// a valid dbSystem (full resource name) filter in this format:
// `dbSystem="projects/{project}/locations/{location}/dbSystems/{dbSystemId}"
func (c *ProjectsLocationsDatabasesListCall) Filter(filter string) *ProjectsLocationsDatabasesListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The maximum number of items
// to return. If unspecified, a maximum of 50 Databases will be returned. The
// maximum value is 1000; values above 1000 will be reset to 1000.
func (c *ProjectsLocationsDatabasesListCall) PageSize(pageSize int64) *ProjectsLocationsDatabasesListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": A token identifying the
// requested page of results to return. All fields except the filter should
// remain the same as in the request that provided this page token.
func (c *ProjectsLocationsDatabasesListCall) PageToken(pageToken string) *ProjectsLocationsDatabasesListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDatabasesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatabasesListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsDatabasesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDatabasesListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDatabasesListCall) Context(ctx context.Context) *ProjectsLocationsDatabasesListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDatabasesListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDatabasesListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/databases")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.databases.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.databases.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *ListDatabasesResponse.ServerResponse.Header or (if a response was returned
// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsDatabasesListCall) Do(opts ...googleapi.CallOption) (*ListDatabasesResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &ListDatabasesResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.databases.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsDatabasesListCall) Pages(ctx context.Context, f func(*ListDatabasesResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsDbSystemInitialStorageSizesListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists all the DbSystemInitialStorageSizes for the given project and
// location.
//
//   - parent: The parent value for the DbSystemInitialStorageSize resource with
//     the format: projects/{project}/locations/{location}.
func (r *ProjectsLocationsDbSystemInitialStorageSizesService) List(parent string) *ProjectsLocationsDbSystemInitialStorageSizesListCall {
	c := &ProjectsLocationsDbSystemInitialStorageSizesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// PageSize sets the optional parameter "pageSize": The maximum number of items
// to return. If unspecified, a maximum of 50 DbSystemInitialStorageSizes will
// be returned. The maximum value is 1000; values above 1000 will be reset to
// 1000.
func (c *ProjectsLocationsDbSystemInitialStorageSizesListCall) PageSize(pageSize int64) *ProjectsLocationsDbSystemInitialStorageSizesListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": A token identifying the
// requested page of results to return. All fields except the filter should
// remain the same as in the request that provided this page token.
func (c *ProjectsLocationsDbSystemInitialStorageSizesListCall) PageToken(pageToken string) *ProjectsLocationsDbSystemInitialStorageSizesListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDbSystemInitialStorageSizesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDbSystemInitialStorageSizesListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsDbSystemInitialStorageSizesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDbSystemInitialStorageSizesListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDbSystemInitialStorageSizesListCall) Context(ctx context.Context) *ProjectsLocationsDbSystemInitialStorageSizesListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDbSystemInitialStorageSizesListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDbSystemInitialStorageSizesListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/dbSystemInitialStorageSizes")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.dbSystemInitialStorageSizes.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.dbSystemInitialStorageSizes.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *ListDbSystemInitialStorageSizesResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsDbSystemInitialStorageSizesListCall) Do(opts ...googleapi.CallOption) (*ListDbSystemInitialStorageSizesResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &ListDbSystemInitialStorageSizesResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.dbSystemInitialStorageSizes.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsDbSystemInitialStorageSizesListCall) Pages(ctx context.Context, f func(*ListDbSystemInitialStorageSizesResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsDbSystemShapesListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists the database system shapes available for the project and
// location.
//
//   - parent: The parent value for Database System Shapes in the following
//     format: projects/{project}/locations/{location}.
func (r *ProjectsLocationsDbSystemShapesService) List(parent string) *ProjectsLocationsDbSystemShapesListCall {
	c := &ProjectsLocationsDbSystemShapesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": An expression for filtering the
// results of the request. Only the gcp_oracle_zone_id field is supported in
// this format: `gcp_oracle_zone_id="{gcp_oracle_zone_id}".
func (c *ProjectsLocationsDbSystemShapesListCall) Filter(filter string) *ProjectsLocationsDbSystemShapesListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The maximum number of items
// to return. If unspecified, at most 50 database system shapes will be
// returned. The maximum value is 1000; values above 1000 will be coerced to
// 1000.
func (c *ProjectsLocationsDbSystemShapesListCall) PageSize(pageSize int64) *ProjectsLocationsDbSystemShapesListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": A token identifying a
// page of results the server should return.
func (c *ProjectsLocationsDbSystemShapesListCall) PageToken(pageToken string) *ProjectsLocationsDbSystemShapesListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDbSystemShapesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDbSystemShapesListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsDbSystemShapesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDbSystemShapesListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDbSystemShapesListCall) Context(ctx context.Context) *ProjectsLocationsDbSystemShapesListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDbSystemShapesListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDbSystemShapesListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/dbSystemShapes")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.dbSystemShapes.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.dbSystemShapes.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *ListDbSystemShapesResponse.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsDbSystemShapesListCall) Do(opts ...googleapi.CallOption) (*ListDbSystemShapesResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &ListDbSystemShapesResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.dbSystemShapes.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsDbSystemShapesListCall) Pages(ctx context.Context, f func(*ListDbSystemShapesResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsDbSystemsCreateCall struct {
	s          *Service
	parent     string
	dbsystem   *DbSystem
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Create: Creates a new DbSystem in a given project and location.
//
//   - parent: The value for parent of the DbSystem in the following format:
//     projects/{project}/locations/{location}.
func (r *ProjectsLocationsDbSystemsService) Create(parent string, dbsystem *DbSystem) *ProjectsLocationsDbSystemsCreateCall {
	c := &ProjectsLocationsDbSystemsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.dbsystem = dbsystem
	return c
}

// DbSystemId sets the optional parameter "dbSystemId": Required. The ID of the
// DbSystem to create. This value is restricted to (^a-z
// ([a-z0-9-]{0,61}[a-z0-9])?$) and must be a maximum of 63 characters in
// length. The value must start with a letter and end with a letter or a
// number.
func (c *ProjectsLocationsDbSystemsCreateCall) DbSystemId(dbSystemId string) *ProjectsLocationsDbSystemsCreateCall {
	c.urlParams_.Set("dbSystemId", dbSystemId)
	return c
}

// RequestId sets the optional parameter "requestId": An optional request ID to
// identify requests. Specify a unique request ID so that if you must retry
// your request, the server will know to ignore the request if it has already
// been completed. The server will guarantee that for at least 60 minutes since
// the first request. For example, consider a situation where you make an
// initial request and the request times out. If you make the request again
// with the same request ID, the server can check if original operation with
// the same request ID was received, and if so, will ignore the second request.
// This prevents clients from accidentally creating duplicate commitments. The
// request ID must be a valid UUID with the exception that zero UUID is not
// supported (00000000-0000-0000-0000-000000000000).
func (c *ProjectsLocationsDbSystemsCreateCall) RequestId(requestId string) *ProjectsLocationsDbSystemsCreateCall {
	c.urlParams_.Set("requestId", requestId)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDbSystemsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDbSystemsCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDbSystemsCreateCall) Context(ctx context.Context) *ProjectsLocationsDbSystemsCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDbSystemsCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDbSystemsCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.dbsystem)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/dbSystems")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.dbSystems.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.dbSystems.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsDbSystemsCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &Operation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.dbSystems.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsDbSystemsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a single DbSystem.
//
//   - name: The name of the DbSystem in the following format:
//     projects/{project}/locations/{location}/dbSystems/{db_system}.
func (r *ProjectsLocationsDbSystemsService) Delete(name string) *ProjectsLocationsDbSystemsDeleteCall {
	c := &ProjectsLocationsDbSystemsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// RequestId sets the optional parameter "requestId": An optional ID to
// identify the request. This value is used to identify duplicate requests. If
// you make a request with the same request ID and the original request is
// still in progress or completed, the server ignores the second request. This
// prevents clients from accidentally creating duplicate commitments. The
// request ID must be a valid UUID with the exception that zero UUID is not
// supported (00000000-0000-0000-0000-000000000000).
func (c *ProjectsLocationsDbSystemsDeleteCall) RequestId(requestId string) *ProjectsLocationsDbSystemsDeleteCall {
	c.urlParams_.Set("requestId", requestId)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDbSystemsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDbSystemsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDbSystemsDeleteCall) Context(ctx context.Context) *ProjectsLocationsDbSystemsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDbSystemsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDbSystemsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.dbSystems.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.dbSystems.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsDbSystemsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &Operation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.dbSystems.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsDbSystemsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets details of a single DbSystem.
//
//   - name: The name of the DbSystem in the following format:
//     projects/{project}/locations/{location}/dbSystems/{db_system}.
func (r *ProjectsLocationsDbSystemsService) Get(name string) *ProjectsLocationsDbSystemsGetCall {
	c := &ProjectsLocationsDbSystemsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDbSystemsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDbSystemsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsDbSystemsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDbSystemsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDbSystemsGetCall) Context(ctx context.Context) *ProjectsLocationsDbSystemsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDbSystemsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDbSystemsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.dbSystems.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.dbSystems.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *DbSystem.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsDbSystemsGetCall) Do(opts ...googleapi.CallOption) (*DbSystem, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &DbSystem{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.dbSystems.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsDbSystemsListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists all the DbSystems for the given project and location.
//
//   - parent: The parent value for DbSystems in the following format:
//     projects/{project}/locations/{location}.
func (r *ProjectsLocationsDbSystemsService) List(parent string) *ProjectsLocationsDbSystemsListCall {
	c := &ProjectsLocationsDbSystemsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": An expression for filtering the
// results of the request.
func (c *ProjectsLocationsDbSystemsListCall) Filter(filter string) *ProjectsLocationsDbSystemsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// OrderBy sets the optional parameter "orderBy": An expression for ordering
// the results of the request.
func (c *ProjectsLocationsDbSystemsListCall) OrderBy(orderBy string) *ProjectsLocationsDbSystemsListCall {
	c.urlParams_.Set("orderBy", orderBy)
	return c
}

// PageSize sets the optional parameter "pageSize": The maximum number of items
// to return. If unspecified, at most 50 DbSystems will be returned. The
// maximum value is 1000; values above 1000 will be coerced to 1000.
func (c *ProjectsLocationsDbSystemsListCall) PageSize(pageSize int64) *ProjectsLocationsDbSystemsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": A token identifying a
// page of results the server should return.
func (c *ProjectsLocationsDbSystemsListCall) PageToken(pageToken string) *ProjectsLocationsDbSystemsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDbSystemsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDbSystemsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsDbSystemsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDbSystemsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDbSystemsListCall) Context(ctx context.Context) *ProjectsLocationsDbSystemsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDbSystemsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDbSystemsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/dbSystems")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.dbSystems.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.dbSystems.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *ListDbSystemsResponse.ServerResponse.Header or (if a response was returned
// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsDbSystemsListCall) Do(opts ...googleapi.CallOption) (*ListDbSystemsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &ListDbSystemsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.dbSystems.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsDbSystemsListCall) Pages(ctx context.Context, f func(*ListDbSystemsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsDbVersionsListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: List DbVersions for the given project and location.
//
//   - parent: The parent value for the DbVersion resource with the format:
//     projects/{project}/locations/{location}.
func (r *ProjectsLocationsDbVersionsService) List(parent string) *ProjectsLocationsDbVersionsListCall {
	c := &ProjectsLocationsDbVersionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": Filter expression that matches
// a subset of the DbVersions to show. The supported filter for dbSystem
// creation is `db_system_shape = {db_system_shape} AND storage_management =
// {storage_management}`. If no filter is provided, all DbVersions will be
// returned.
func (c *ProjectsLocationsDbVersionsListCall) Filter(filter string) *ProjectsLocationsDbVersionsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The maximum number of items
// to return. If unspecified, a maximum of 50 DbVersions will be returned. The
// maximum value is 1000; values above 1000 will be reset to 1000.
func (c *ProjectsLocationsDbVersionsListCall) PageSize(pageSize int64) *ProjectsLocationsDbVersionsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": A token identifying the
// requested page of results to return. All fields except the filter should
// remain the same as in the request that provided this page token.
func (c *ProjectsLocationsDbVersionsListCall) PageToken(pageToken string) *ProjectsLocationsDbVersionsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsDbVersionsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDbVersionsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsDbVersionsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDbVersionsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsDbVersionsListCall) Context(ctx context.Context) *ProjectsLocationsDbVersionsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsDbVersionsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsDbVersionsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/dbVersions")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.dbVersions.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.dbVersions.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *ListDbVersionsResponse.ServerResponse.Header or (if a response was returned
// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsDbVersionsListCall) Do(opts ...googleapi.CallOption) (*ListDbVersionsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &ListDbVersionsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.dbVersions.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsDbVersionsListCall) Pages(ctx context.Context, f func(*ListDbVersionsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsEntitlementsListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists the entitlements in a given project.
//
//   - parent: The parent value for the entitlement in the following format:
//     projects/{project}/locations/{location}.
func (r *ProjectsLocationsEntitlementsService) List(parent string) *ProjectsLocationsEntitlementsListCall {
	c := &ProjectsLocationsEntitlementsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// PageSize sets the optional parameter "pageSize": The maximum number of items
// to return. If unspecified, a maximum of 50 entitlements will be returned.
// The maximum value is 1000.
func (c *ProjectsLocationsEntitlementsListCall) PageSize(pageSize int64) *ProjectsLocationsEntitlementsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": A token identifying a
// page of results the server should return.
func (c *ProjectsLocationsEntitlementsListCall) PageToken(pageToken string) *ProjectsLocationsEntitlementsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsEntitlementsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsEntitlementsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsEntitlementsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsEntitlementsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsEntitlementsListCall) Context(ctx context.Context) *ProjectsLocationsEntitlementsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsEntitlementsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsEntitlementsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/entitlements")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.entitlements.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.entitlements.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *ListEntitlementsResponse.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsEntitlementsListCall) Do(opts ...googleapi.CallOption) (*ListEntitlementsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &ListEntitlementsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.entitlements.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsEntitlementsListCall) Pages(ctx context.Context, f func(*ListEntitlementsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsExadbVmClustersCreateCall struct {
	s              *Service
	parent         string
	exadbvmcluster *ExadbVmCluster
	urlParams_     gensupport.URLParams
	ctx_           context.Context
	header_        http.Header
}

// Create: Creates a new Exadb (Exascale) VM Cluster resource.
//
//   - parent: The value for parent of the ExadbVmCluster in the following
//     format: projects/{project}/locations/{location}.
func (r *ProjectsLocationsExadbVmClustersService) Create(parent string, exadbvmcluster *ExadbVmCluster) *ProjectsLocationsExadbVmClustersCreateCall {
	c := &ProjectsLocationsExadbVmClustersCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.exadbvmcluster = exadbvmcluster
	return c
}

// ExadbVmClusterId sets the optional parameter "exadbVmClusterId": Required.
// The ID of the ExadbVmCluster to create. This value is restricted to (^a-z
// ([a-z0-9-]{0,61}[a-z0-9])?$) and must be a maximum of 63 characters in
// length. The value must start with a letter and end with a letter or a
// number.
func (c *ProjectsLocationsExadbVmClustersCreateCall) ExadbVmClusterId(exadbVmClusterId string) *ProjectsLocationsExadbVmClustersCreateCall {
	c.urlParams_.Set("exadbVmClusterId", exadbVmClusterId)
	return c
}

// RequestId sets the optional parameter "requestId": An optional request ID to
// identify requests. Specify a unique request ID so that if you must retry
// your request, the server will know to ignore the request if it has already
// been completed. The server will guarantee that for at least 60 minutes since
// the first request. For example, consider a situation where you make an
// initial request and the request times out. If you make the request again
// with the same request ID, the server can check if original operation with
// the same request ID was received, and if so, will ignore the second request.
// This prevents clients from accidentally creating duplicate commitments. The
// request ID must be a valid UUID with the exception that zero UUID is not
// supported (00000000-0000-0000-0000-000000000000).
func (c *ProjectsLocationsExadbVmClustersCreateCall) RequestId(requestId string) *ProjectsLocationsExadbVmClustersCreateCall {
	c.urlParams_.Set("requestId", requestId)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsExadbVmClustersCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsExadbVmClustersCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsExadbVmClustersCreateCall) Context(ctx context.Context) *ProjectsLocationsExadbVmClustersCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsExadbVmClustersCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsExadbVmClustersCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.exadbvmcluster)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/exadbVmClusters")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.exadbVmClusters.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.exadbVmClusters.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsExadbVmClustersCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &Operation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.exadbVmClusters.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsExadbVmClustersDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a single Exadb (Exascale) VM Cluster.
//
//   - name: The name of the ExadbVmCluster in the following format:
//     projects/{project}/locations/{location}/exadbVmClusters/{exadb_vm_cluster}.
func (r *ProjectsLocationsExadbVmClustersService) Delete(name string) *ProjectsLocationsExadbVmClustersDeleteCall {
	c := &ProjectsLocationsExadbVmClustersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// RequestId sets the optional parameter "requestId": An optional ID to
// identify the request. This value is used to identify duplicate requests. If
// you make a request with the same request ID and the original request is
// still in progress or completed, the server ignores the second request. This
// prevents clients from accidentally creating duplicate commitments. The
// request ID must be a valid UUID with the exception that zero UUID is not
// supported (00000000-0000-0000-0000-000000000000).
func (c *ProjectsLocationsExadbVmClustersDeleteCall) RequestId(requestId string) *ProjectsLocationsExadbVmClustersDeleteCall {
	c.urlParams_.Set("requestId", requestId)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsExadbVmClustersDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsExadbVmClustersDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsExadbVmClustersDeleteCall) Context(ctx context.Context) *ProjectsLocationsExadbVmClustersDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsExadbVmClustersDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsExadbVmClustersDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.exadbVmClusters.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.exadbVmClusters.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsExadbVmClustersDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &Operation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.exadbVmClusters.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsExadbVmClustersGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets details of a single Exadb (Exascale) VM Cluster.
//
//   - name: The name of the ExadbVmCluster in the following format:
//     projects/{project}/locations/{location}/exadbVmClusters/{exadb_vm_cluster}.
func (r *ProjectsLocationsExadbVmClustersService) Get(name string) *ProjectsLocationsExadbVmClustersGetCall {
	c := &ProjectsLocationsExadbVmClustersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsExadbVmClustersGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsExadbVmClustersGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsExadbVmClustersGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsExadbVmClustersGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsExadbVmClustersGetCall) Context(ctx context.Context) *ProjectsLocationsExadbVmClustersGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsExadbVmClustersGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsExadbVmClustersGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.exadbVmClusters.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.exadbVmClusters.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *ExadbVmCluster.ServerResponse.Header or (if a response was returned at all)
// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsExadbVmClustersGetCall) Do(opts ...googleapi.CallOption) (*ExadbVmCluster, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &ExadbVmCluster{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.exadbVmClusters.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsExadbVmClustersListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists all the Exadb (Exascale) VM Clusters for the given project and
// location.
//
//   - parent: The parent value for ExadbVmClusters in the following format:
//     projects/{project}/locations/{location}.
func (r *ProjectsLocationsExadbVmClustersService) List(parent string) *ProjectsLocationsExadbVmClustersListCall {
	c := &ProjectsLocationsExadbVmClustersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": An expression for filtering the
// results of the request.
func (c *ProjectsLocationsExadbVmClustersListCall) Filter(filter string) *ProjectsLocationsExadbVmClustersListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// OrderBy sets the optional parameter "orderBy": An expression for ordering
// the results of the request.
func (c *ProjectsLocationsExadbVmClustersListCall) OrderBy(orderBy string) *ProjectsLocationsExadbVmClustersListCall {
	c.urlParams_.Set("orderBy", orderBy)
	return c
}

// PageSize sets the optional parameter "pageSize": The maximum number of items
// to return. If unspecified, at most 50 ExadbVmClusters will be returned. The
// maximum value is 1000; values above 1000 will be coerced to 1000.
func (c *ProjectsLocationsExadbVmClustersListCall) PageSize(pageSize int64) *ProjectsLocationsExadbVmClustersListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": A token identifying a
// page of results the server should return.
func (c *ProjectsLocationsExadbVmClustersListCall) PageToken(pageToken string) *ProjectsLocationsExadbVmClustersListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsExadbVmClustersListCall) Fields(s ...googleapi.Field) *ProjectsLocationsExadbVmClustersListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsExadbVmClustersListCall) IfNoneMatch(entityTag string) *ProjectsLocationsExadbVmClustersListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsExadbVmClustersListCall) Context(ctx context.Context) *ProjectsLocationsExadbVmClustersListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsExadbVmClustersListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsExadbVmClustersListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/exadbVmClusters")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.exadbVmClusters.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.exadbVmClusters.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *ListExadbVmClustersResponse.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsExadbVmClustersListCall) Do(opts ...googleapi.CallOption) (*ListExadbVmClustersResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &ListExadbVmClustersResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.exadbVmClusters.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsExadbVmClustersListCall) Pages(ctx context.Context, f func(*ListExadbVmClustersResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsExadbVmClustersPatchCall struct {
	s              *Service
	name           string
	exadbvmcluster *ExadbVmCluster
	urlParams_     gensupport.URLParams
	ctx_           context.Context
	header_        http.Header
}

// Patch: Updates a single Exadb (Exascale) VM Cluster. To add virtual machines
// to existing exadb vm cluster, only pass the node count.
//
//   - name: Identifier. The name of the ExadbVmCluster resource in the following
//     format:
//     projects/{project}/locations/{region}/exadbVmClusters/{exadb_vm_cluster}.
func (r *ProjectsLocationsExadbVmClustersService) Patch(name string, exadbvmcluster *ExadbVmCluster) *ProjectsLocationsExadbVmClustersPatchCall {
	c := &ProjectsLocationsExadbVmClustersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.exadbvmcluster = exadbvmcluster
	return c
}

// RequestId sets the optional parameter "requestId": An optional ID to
// identify the request. This value is used to identify duplicate requests. If
// you make a request with the same request ID and the original request is
// still in progress or completed, the server ignores the second request. This
// prevents clients from accidentally creating duplicate commitments. The
// request ID must be a valid UUID with the exception that zero UUID is not
// supported (00000000-0000-0000-0000-000000000000).
func (c *ProjectsLocationsExadbVmClustersPatchCall) RequestId(requestId string) *ProjectsLocationsExadbVmClustersPatchCall {
	c.urlParams_.Set("requestId", requestId)
	return c
}

// UpdateMask sets the optional parameter "updateMask": A mask specifying which
// fields in th VM Cluster should be updated. A field specified in the mask is
// overwritten. If a mask isn't provided then all the fields in the VM Cluster
// are overwritten.
func (c *ProjectsLocationsExadbVmClustersPatchCall) UpdateMask(updateMask string) *ProjectsLocationsExadbVmClustersPatchCall {
	c.urlParams_.Set("updateMask", updateMask)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsExadbVmClustersPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsExadbVmClustersPatchCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsExadbVmClustersPatchCall) Context(ctx context.Context) *ProjectsLocationsExadbVmClustersPatchCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsExadbVmClustersPatchCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsExadbVmClustersPatchCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.exadbvmcluster)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("PATCH", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.exadbVmClusters.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.exadbVmClusters.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsExadbVmClustersPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &Operation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.exadbVmClusters.patch", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsExadbVmClustersRemoveVirtualMachineCall struct {
	s                                         *Service
	name                                      string
	removevirtualmachineexadbvmclusterrequest *RemoveVirtualMachineExadbVmClusterRequest
	urlParams_                                gensupport.URLParams
	ctx_                                      context.Context
	header_                                   http.Header
}

// RemoveVirtualMachine: Removes virtual machines from an existing exadb vm
// cluster.
//
//   - name: The name of the ExadbVmCluster in the following format:
//     projects/{project}/locations/{location}/exadbVmClusters/{exadb_vm_cluster}.
func (r *ProjectsLocationsExadbVmClustersService) RemoveVirtualMachine(name string, removevirtualmachineexadbvmclusterrequest *RemoveVirtualMachineExadbVmClusterRequest) *ProjectsLocationsExadbVmClustersRemoveVirtualMachineCall {
	c := &ProjectsLocationsExadbVmClustersRemoveVirtualMachineCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.removevirtualmachineexadbvmclusterrequest = removevirtualmachineexadbvmclusterrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsExadbVmClustersRemoveVirtualMachineCall) Fields(s ...googleapi.Field) *ProjectsLocationsExadbVmClustersRemoveVirtualMachineCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsExadbVmClustersRemoveVirtualMachineCall) Context(ctx context.Context) *ProjectsLocationsExadbVmClustersRemoveVirtualMachineCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsExadbVmClustersRemoveVirtualMachineCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsExadbVmClustersRemoveVirtualMachineCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.removevirtualmachineexadbvmclusterrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:removeVirtualMachine")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.exadbVmClusters.removeVirtualMachine", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.exadbVmClusters.removeVirtualMachine" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsExadbVmClustersRemoveVirtualMachineCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &Operation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.exadbVmClusters.removeVirtualMachine", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsExadbVmClustersDbNodesListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists the database nodes of a VM Cluster.
//
//   - parent: The parent value for database node in the following format:
//     projects/{project}/locations/{location}/cloudVmClusters/{cloudVmCluster}.
//     .
func (r *ProjectsLocationsExadbVmClustersDbNodesService) List(parent string) *ProjectsLocationsExadbVmClustersDbNodesListCall {
	c := &ProjectsLocationsExadbVmClustersDbNodesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// PageSize sets the optional parameter "pageSize": The maximum number of items
// to return. If unspecified, at most 50 db nodes will be returned. The maximum
// value is 1000; values above 1000 will be coerced to 1000.
func (c *ProjectsLocationsExadbVmClustersDbNodesListCall) PageSize(pageSize int64) *ProjectsLocationsExadbVmClustersDbNodesListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": A token identifying a
// page of results the node should return.
func (c *ProjectsLocationsExadbVmClustersDbNodesListCall) PageToken(pageToken string) *ProjectsLocationsExadbVmClustersDbNodesListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsExadbVmClustersDbNodesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsExadbVmClustersDbNodesListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsExadbVmClustersDbNodesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsExadbVmClustersDbNodesListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsExadbVmClustersDbNodesListCall) Context(ctx context.Context) *ProjectsLocationsExadbVmClustersDbNodesListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsExadbVmClustersDbNodesListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsExadbVmClustersDbNodesListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/dbNodes")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.exadbVmClusters.dbNodes.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.exadbVmClusters.dbNodes.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *ListDbNodesResponse.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsExadbVmClustersDbNodesListCall) Do(opts ...googleapi.CallOption) (*ListDbNodesResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &ListDbNodesResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.exadbVmClusters.dbNodes.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsExadbVmClustersDbNodesListCall) Pages(ctx context.Context, f func(*ListDbNodesResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsExascaleDbStorageVaultsCreateCall struct {
	s                      *Service
	parent                 string
	exascaledbstoragevault *ExascaleDbStorageVault
	urlParams_             gensupport.URLParams
	ctx_                   context.Context
	header_                http.Header
}

// Create: Creates a new ExascaleDB Storage Vault resource.
//
//   - parent: The value for parent of the ExascaleDbStorageVault in the
//     following format: projects/{project}/locations/{location}.
func (r *ProjectsLocationsExascaleDbStorageVaultsService) Create(parent string, exascaledbstoragevault *ExascaleDbStorageVault) *ProjectsLocationsExascaleDbStorageVaultsCreateCall {
	c := &ProjectsLocationsExascaleDbStorageVaultsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.exascaledbstoragevault = exascaledbstoragevault
	return c
}

// ExascaleDbStorageVaultId sets the optional parameter
// "exascaleDbStorageVaultId": Required. The ID of the ExascaleDbStorageVault
// to create. This value is restricted to (^a-z ([a-z0-9-]{0,61}[a-z0-9])?$)
// and must be a maximum of 63 characters in length. The value must start with
// a letter and end with a letter or a number.
func (c *ProjectsLocationsExascaleDbStorageVaultsCreateCall) ExascaleDbStorageVaultId(exascaleDbStorageVaultId string) *ProjectsLocationsExascaleDbStorageVaultsCreateCall {
	c.urlParams_.Set("exascaleDbStorageVaultId", exascaleDbStorageVaultId)
	return c
}

// RequestId sets the optional parameter "requestId": An optional request ID to
// identify requests. Specify a unique request ID so that if you must retry
// your request, the server will know to ignore the request if it has already
// been completed. The server will guarantee that for at least 60 minutes since
// the first request. For example, consider a situation where you make an
// initial request and the request times out. If you make the request again
// with the same request ID, the server can check if original operation with
// the same request ID was received, and if so, will ignore the second request.
// This prevents clients from accidentally creating duplicate commitments. The
// request ID must be a valid UUID with the exception that zero UUID is not
// supported (00000000-0000-0000-0000-000000000000).
func (c *ProjectsLocationsExascaleDbStorageVaultsCreateCall) RequestId(requestId string) *ProjectsLocationsExascaleDbStorageVaultsCreateCall {
	c.urlParams_.Set("requestId", requestId)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsExascaleDbStorageVaultsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsExascaleDbStorageVaultsCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsExascaleDbStorageVaultsCreateCall) Context(ctx context.Context) *ProjectsLocationsExascaleDbStorageVaultsCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsExascaleDbStorageVaultsCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsExascaleDbStorageVaultsCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.exascaledbstoragevault)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/exascaleDbStorageVaults")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.exascaleDbStorageVaults.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.exascaleDbStorageVaults.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsExascaleDbStorageVaultsCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &Operation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.exascaleDbStorageVaults.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsExascaleDbStorageVaultsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a single ExascaleDB Storage Vault.
//
//   - name: The name of the ExascaleDbStorageVault in the following format:
//     projects/{project}/locations/{location}/exascaleDbStorageVaults/{exascale_d
//     b_storage_vault}.
func (r *ProjectsLocationsExascaleDbStorageVaultsService) Delete(name string) *ProjectsLocationsExascaleDbStorageVaultsDeleteCall {
	c := &ProjectsLocationsExascaleDbStorageVaultsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// RequestId sets the optional parameter "requestId": An optional ID to
// identify the request. This value is used to identify duplicate requests. If
// you make a request with the same request ID and the original request is
// still in progress or completed, the server ignores the second request. This
// prevents clients from accidentally creating duplicate commitments. The
// request ID must be a valid UUID with the exception that zero UUID is not
// supported (00000000-0000-0000-0000-000000000000).
func (c *ProjectsLocationsExascaleDbStorageVaultsDeleteCall) RequestId(requestId string) *ProjectsLocationsExascaleDbStorageVaultsDeleteCall {
	c.urlParams_.Set("requestId", requestId)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsExascaleDbStorageVaultsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsExascaleDbStorageVaultsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsExascaleDbStorageVaultsDeleteCall) Context(ctx context.Context) *ProjectsLocationsExascaleDbStorageVaultsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsExascaleDbStorageVaultsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsExascaleDbStorageVaultsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.exascaleDbStorageVaults.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.exascaleDbStorageVaults.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsExascaleDbStorageVaultsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &Operation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.exascaleDbStorageVaults.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsExascaleDbStorageVaultsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets details of a single ExascaleDB Storage Vault.
//
//   - name: The name of the ExascaleDbStorageVault in the following format:
//     projects/{project}/locations/{location}/exascaleDbStorageVaults/{exascale_d
//     b_storage_vault}.
func (r *ProjectsLocationsExascaleDbStorageVaultsService) Get(name string) *ProjectsLocationsExascaleDbStorageVaultsGetCall {
	c := &ProjectsLocationsExascaleDbStorageVaultsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsExascaleDbStorageVaultsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsExascaleDbStorageVaultsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsExascaleDbStorageVaultsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsExascaleDbStorageVaultsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsExascaleDbStorageVaultsGetCall) Context(ctx context.Context) *ProjectsLocationsExascaleDbStorageVaultsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsExascaleDbStorageVaultsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsExascaleDbStorageVaultsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.exascaleDbStorageVaults.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.exascaleDbStorageVaults.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *ExascaleDbStorageVault.ServerResponse.Header or (if a response was returned
// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsExascaleDbStorageVaultsGetCall) Do(opts ...googleapi.CallOption) (*ExascaleDbStorageVault, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &ExascaleDbStorageVault{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.exascaleDbStorageVaults.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsExascaleDbStorageVaultsListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists all the ExascaleDB Storage Vaults for the given project and
// location.
//
//   - parent: The parent value for ExascaleDbStorageVault in the following
//     format: projects/{project}/locations/{location}.
func (r *ProjectsLocationsExascaleDbStorageVaultsService) List(parent string) *ProjectsLocationsExascaleDbStorageVaultsListCall {
	c := &ProjectsLocationsExascaleDbStorageVaultsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": An expression for filtering the
// results of the request. Filter the list as specified in
// https://google.aip.dev/160.
func (c *ProjectsLocationsExascaleDbStorageVaultsListCall) Filter(filter string) *ProjectsLocationsExascaleDbStorageVaultsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// OrderBy sets the optional parameter "orderBy": An expression for ordering
// the results of the request. Order results as specified in
// https://google.aip.dev/132.
func (c *ProjectsLocationsExascaleDbStorageVaultsListCall) OrderBy(orderBy string) *ProjectsLocationsExascaleDbStorageVaultsListCall {
	c.urlParams_.Set("orderBy", orderBy)
	return c
}

// PageSize sets the optional parameter "pageSize": The maximum number of items
// to return. If unspecified, at most 50 ExascaleDbStorageVaults will be
// returned. The maximum value is 1000; values above 1000 will be coerced to
// 1000.
func (c *ProjectsLocationsExascaleDbStorageVaultsListCall) PageSize(pageSize int64) *ProjectsLocationsExascaleDbStorageVaultsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": A token identifying a
// page of results the server should return.
func (c *ProjectsLocationsExascaleDbStorageVaultsListCall) PageToken(pageToken string) *ProjectsLocationsExascaleDbStorageVaultsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsExascaleDbStorageVaultsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsExascaleDbStorageVaultsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsExascaleDbStorageVaultsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsExascaleDbStorageVaultsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsExascaleDbStorageVaultsListCall) Context(ctx context.Context) *ProjectsLocationsExascaleDbStorageVaultsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsExascaleDbStorageVaultsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsExascaleDbStorageVaultsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/exascaleDbStorageVaults")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.exascaleDbStorageVaults.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.exascaleDbStorageVaults.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *ListExascaleDbStorageVaultsResponse.ServerResponse.Header or (if a response
// was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsExascaleDbStorageVaultsListCall) Do(opts ...googleapi.CallOption) (*ListExascaleDbStorageVaultsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &ListExascaleDbStorageVaultsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.exascaleDbStorageVaults.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsExascaleDbStorageVaultsListCall) Pages(ctx context.Context, f func(*ListExascaleDbStorageVaultsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsGiVersionsListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists all the valid Oracle Grid Infrastructure (GI) versions for the
// given project and location.
//
//   - parent: The parent value for Grid Infrastructure Version in the following
//     format: Format: projects/{project}/locations/{location}.
func (r *ProjectsLocationsGiVersionsService) List(parent string) *ProjectsLocationsGiVersionsListCall {
	c := &ProjectsLocationsGiVersionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": An expression for filtering the
// results of the request. Only the shape, gcp_oracle_zone and gi_version
// fields are supported in this format: `shape="{shape}".
func (c *ProjectsLocationsGiVersionsListCall) Filter(filter string) *ProjectsLocationsGiVersionsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The maximum number of items
// to return. If unspecified, a maximum of 50 Oracle Grid Infrastructure (GI)
// versions will be returned. The maximum value is 1000; values above 1000 will
// be reset to 1000.
func (c *ProjectsLocationsGiVersionsListCall) PageSize(pageSize int64) *ProjectsLocationsGiVersionsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": A token identifying a
// page of results the server should return.
func (c *ProjectsLocationsGiVersionsListCall) PageToken(pageToken string) *ProjectsLocationsGiVersionsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsGiVersionsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsGiVersionsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsGiVersionsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsGiVersionsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsGiVersionsListCall) Context(ctx context.Context) *ProjectsLocationsGiVersionsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsGiVersionsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsGiVersionsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/giVersions")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.giVersions.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.giVersions.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *ListGiVersionsResponse.ServerResponse.Header or (if a response was returned
// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsGiVersionsListCall) Do(opts ...googleapi.CallOption) (*ListGiVersionsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &ListGiVersionsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.giVersions.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsGiVersionsListCall) Pages(ctx context.Context, f func(*ListGiVersionsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsGiVersionsMinorVersionsListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists all the valid minor versions for the given project, location, gi
// version and shape family.
//
//   - parent: The parent value for the MinorVersion resource with the format:
//     projects/{project}/locations/{location}/giVersions/{gi_version}.
func (r *ProjectsLocationsGiVersionsMinorVersionsService) List(parent string) *ProjectsLocationsGiVersionsMinorVersionsListCall {
	c := &ProjectsLocationsGiVersionsMinorVersionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": An expression for filtering the
// results of the request. Only shapeFamily and gcp_oracle_zone_id are
// supported in this format: `shape_family="{shapeFamily}" AND
// gcp_oracle_zone_id="{gcp_oracle_zone_id}".
func (c *ProjectsLocationsGiVersionsMinorVersionsListCall) Filter(filter string) *ProjectsLocationsGiVersionsMinorVersionsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The maximum number of items
// to return. If unspecified, a maximum of 50 System Versions will be returned.
// The maximum value is 1000; values above 1000 will be reset to 1000.
func (c *ProjectsLocationsGiVersionsMinorVersionsListCall) PageSize(pageSize int64) *ProjectsLocationsGiVersionsMinorVersionsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": A token identifying the
// requested page of results to return. All fields except the filter should
// remain the same as in the request that provided this page token.
func (c *ProjectsLocationsGiVersionsMinorVersionsListCall) PageToken(pageToken string) *ProjectsLocationsGiVersionsMinorVersionsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsGiVersionsMinorVersionsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsGiVersionsMinorVersionsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsGiVersionsMinorVersionsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsGiVersionsMinorVersionsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsGiVersionsMinorVersionsListCall) Context(ctx context.Context) *ProjectsLocationsGiVersionsMinorVersionsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsGiVersionsMinorVersionsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsGiVersionsMinorVersionsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/minorVersions")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.giVersions.minorVersions.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.giVersions.minorVersions.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *ListMinorVersionsResponse.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsGiVersionsMinorVersionsListCall) Do(opts ...googleapi.CallOption) (*ListMinorVersionsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &ListMinorVersionsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.giVersions.minorVersions.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsGiVersionsMinorVersionsListCall) Pages(ctx context.Context, f func(*ListMinorVersionsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsGoldengateConnectionAssignmentsCreateCall struct {
	s                              *Service
	parent                         string
	goldengateconnectionassignment *GoldengateConnectionAssignment
	urlParams_                     gensupport.URLParams
	ctx_                           context.Context
	header_                        http.Header
}

// Create: Creates a new GoldengateConnectionAssignment in a given project and
// location.
//
//   - parent: The parent resource where this GoldengateConnectionAssignment will
//     be created. Format: projects/{project}/locations/{location}.
func (r *ProjectsLocationsGoldengateConnectionAssignmentsService) Create(parent string, goldengateconnectionassignment *GoldengateConnectionAssignment) *ProjectsLocationsGoldengateConnectionAssignmentsCreateCall {
	c := &ProjectsLocationsGoldengateConnectionAssignmentsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.goldengateconnectionassignment = goldengateconnectionassignment
	return c
}

// GoldengateConnectionAssignmentId sets the optional parameter
// "goldengateConnectionAssignmentId": Required. The ID of the
// GoldengateConnectionAssignment to create.
func (c *ProjectsLocationsGoldengateConnectionAssignmentsCreateCall) GoldengateConnectionAssignmentId(goldengateConnectionAssignmentId string) *ProjectsLocationsGoldengateConnectionAssignmentsCreateCall {
	c.urlParams_.Set("goldengateConnectionAssignmentId", goldengateConnectionAssignmentId)
	return c
}

// RequestId sets the optional parameter "requestId": An optional request ID to
// identify requests. Specify a unique request ID so that if you must retry
// your request, the server will know to ignore the request if it has already
// been completed. The server will guarantee that for at least 60 minutes since
// the first request. For example, consider a situation where you make an
// initial request and the request times out. If you make the request again
// with the same request ID, the server can check if original operation with
// the same request ID was received, and if so, will ignore the second request.
// This prevents clients from accidentally creating duplicate commitments. The
// request ID must be a valid UUID with the exception that zero UUID is not
// supported (00000000-0000-0000-0000-000000000000).
func (c *ProjectsLocationsGoldengateConnectionAssignmentsCreateCall) RequestId(requestId string) *ProjectsLocationsGoldengateConnectionAssignmentsCreateCall {
	c.urlParams_.Set("requestId", requestId)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsGoldengateConnectionAssignmentsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsGoldengateConnectionAssignmentsCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsGoldengateConnectionAssignmentsCreateCall) Context(ctx context.Context) *ProjectsLocationsGoldengateConnectionAssignmentsCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsGoldengateConnectionAssignmentsCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsGoldengateConnectionAssignmentsCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.goldengateconnectionassignment)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/goldengateConnectionAssignments")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.goldengateConnectionAssignments.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.goldengateConnectionAssignments.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsGoldengateConnectionAssignmentsCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &Operation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.goldengateConnectionAssignments.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsGoldengateConnectionAssignmentsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a single GoldengateConnectionAssignment.
//
//   - name: The name of the GoldengateConnectionAssignment to delete. Format:
//     projects/{project}/locations/{location}/goldengateConnectionAssignments/{go
//     ldengate_connection_assignment}.
func (r *ProjectsLocationsGoldengateConnectionAssignmentsService) Delete(name string) *ProjectsLocationsGoldengateConnectionAssignmentsDeleteCall {
	c := &ProjectsLocationsGoldengateConnectionAssignmentsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// RequestId sets the optional parameter "requestId": An optional request ID to
// identify requests. Specify a unique request ID so that if you must retry
// your request, the server will know to ignore the request if it has already
// been completed. The server will guarantee that for at least 60 minutes after
// the first request. For example, consider a situation where you make an
// initial request and the request times out. If you make the request again
// with the same request ID, the server can check if original operation with
// the same request ID was received, and if so, will ignore the second request.
// This prevents clients from accidentally creating duplicate commitments. The
// request ID must be a valid UUID with the exception that zero UUID is not
// supported (00000000-0000-0000-0000-000000000000).
func (c *ProjectsLocationsGoldengateConnectionAssignmentsDeleteCall) RequestId(requestId string) *ProjectsLocationsGoldengateConnectionAssignmentsDeleteCall {
	c.urlParams_.Set("requestId", requestId)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsGoldengateConnectionAssignmentsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsGoldengateConnectionAssignmentsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsGoldengateConnectionAssignmentsDeleteCall) Context(ctx context.Context) *ProjectsLocationsGoldengateConnectionAssignmentsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsGoldengateConnectionAssignmentsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsGoldengateConnectionAssignmentsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.goldengateConnectionAssignments.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.goldengateConnectionAssignments.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsGoldengateConnectionAssignmentsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &Operation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.goldengateConnectionAssignments.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsGoldengateConnectionAssignmentsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets details of a single GoldengateConnectionAssignment.
//
//   - name: The name of the GoldengateConnectionAssignment to retrieve. Format:
//     projects/{project}/locations/{location}/goldengateConnectionAssignments/{go
//     ldengate_connection_assignment}.
func (r *ProjectsLocationsGoldengateConnectionAssignmentsService) Get(name string) *ProjectsLocationsGoldengateConnectionAssignmentsGetCall {
	c := &ProjectsLocationsGoldengateConnectionAssignmentsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsGoldengateConnectionAssignmentsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsGoldengateConnectionAssignmentsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsGoldengateConnectionAssignmentsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsGoldengateConnectionAssignmentsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsGoldengateConnectionAssignmentsGetCall) Context(ctx context.Context) *ProjectsLocationsGoldengateConnectionAssignmentsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsGoldengateConnectionAssignmentsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsGoldengateConnectionAssignmentsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.goldengateConnectionAssignments.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.goldengateConnectionAssignments.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoldengateConnectionAssignment.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsGoldengateConnectionAssignmentsGetCall) Do(opts ...googleapi.CallOption) (*GoldengateConnectionAssignment, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoldengateConnectionAssignment{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.goldengateConnectionAssignments.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsGoldengateConnectionAssignmentsListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists GoldengateConnectionAssignments in a given project and location.
//
//   - parent: The parent value for the GoldengateConnectionAssignments. Format:
//     projects/{project}/locations/{location}.
func (r *ProjectsLocationsGoldengateConnectionAssignmentsService) List(parent string) *ProjectsLocationsGoldengateConnectionAssignmentsListCall {
	c := &ProjectsLocationsGoldengateConnectionAssignmentsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": A filter expression that
// filters GoldengateConnectionAssignments listed in the response.
func (c *ProjectsLocationsGoldengateConnectionAssignmentsListCall) Filter(filter string) *ProjectsLocationsGoldengateConnectionAssignmentsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// OrderBy sets the optional parameter "orderBy": A comma-separated list of
// fields to order by, sorted in ascending order. Use "DESC" after a field name
// for descending.
func (c *ProjectsLocationsGoldengateConnectionAssignmentsListCall) OrderBy(orderBy string) *ProjectsLocationsGoldengateConnectionAssignmentsListCall {
	c.urlParams_.Set("orderBy", orderBy)
	return c
}

// PageSize sets the optional parameter "pageSize": The maximum number of
// GoldengateConnectionAssignments to return. The service may return fewer than
// this value. If unspecified, at most 50 GoldengateConnectionAssignments will
// be returned. The maximum value is 1000; values above 1000 will be coerced to
// 1000.
func (c *ProjectsLocationsGoldengateConnectionAssignmentsListCall) PageSize(pageSize int64) *ProjectsLocationsGoldengateConnectionAssignmentsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": A page token, received
// from a previous `ListGoldengateConnectionAssignments` call. Provide this to
// retrieve the subsequent page. When paginating, all other parameters provided
// to `ListGoldengateConnectionAssignments` must match the call that provided
// the page token.
func (c *ProjectsLocationsGoldengateConnectionAssignmentsListCall) PageToken(pageToken string) *ProjectsLocationsGoldengateConnectionAssignmentsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsGoldengateConnectionAssignmentsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsGoldengateConnectionAssignmentsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsGoldengateConnectionAssignmentsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsGoldengateConnectionAssignmentsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsGoldengateConnectionAssignmentsListCall) Context(ctx context.Context) *ProjectsLocationsGoldengateConnectionAssignmentsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsGoldengateConnectionAssignmentsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsGoldengateConnectionAssignmentsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/goldengateConnectionAssignments")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.goldengateConnectionAssignments.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.goldengateConnectionAssignments.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *ListGoldengateConnectionAssignmentsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsGoldengateConnectionAssignmentsListCall) Do(opts ...googleapi.CallOption) (*ListGoldengateConnectionAssignmentsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &ListGoldengateConnectionAssignmentsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.goldengateConnectionAssignments.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsGoldengateConnectionAssignmentsListCall) Pages(ctx context.Context, f func(*ListGoldengateConnectionAssignmentsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsGoldengateConnectionAssignmentsTestCall struct {
	s                                         *Service
	name                                      string
	testgoldengateconnectionassignmentrequest *TestGoldengateConnectionAssignmentRequest
	urlParams_                                gensupport.URLParams
	ctx_                                      context.Context
	header_                                   http.Header
}

// Test: Tests a single GoldengateConnectionAssignment.
//
//   - name: Name of the connection assignment for which to test connection.
//     projects/{project}/locations/{region}/goldengateConnectionAssignments/{gold
//     engate_connection_assignment}.
func (r *ProjectsLocationsGoldengateConnectionAssignmentsService) Test(name string, testgoldengateconnectionassignmentrequest *TestGoldengateConnectionAssignmentRequest) *ProjectsLocationsGoldengateConnectionAssignmentsTestCall {
	c := &ProjectsLocationsGoldengateConnectionAssignmentsTestCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.testgoldengateconnectionassignmentrequest = testgoldengateconnectionassignmentrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsGoldengateConnectionAssignmentsTestCall) Fields(s ...googleapi.Field) *ProjectsLocationsGoldengateConnectionAssignmentsTestCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsGoldengateConnectionAssignmentsTestCall) Context(ctx context.Context) *ProjectsLocationsGoldengateConnectionAssignmentsTestCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsGoldengateConnectionAssignmentsTestCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsGoldengateConnectionAssignmentsTestCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.testgoldengateconnectionassignmentrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:test")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.goldengateConnectionAssignments.test", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.goldengateConnectionAssignments.test" call.
// Any non-2xx status code is an error. Response headers are in either
// *TestGoldengateConnectionAssignmentResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsGoldengateConnectionAssignmentsTestCall) Do(opts ...googleapi.CallOption) (*TestGoldengateConnectionAssignmentResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &TestGoldengateConnectionAssignmentResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.goldengateConnectionAssignments.test", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsGoldengateConnectionTypesListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists GoldengateConnectionTypes in a given project and location.
//
//   - parent: Parent value for ListGoldengateConnectionTypesRequest Format:
//     projects/{project}/locations/{location}.
func (r *ProjectsLocationsGoldengateConnectionTypesService) List(parent string) *ProjectsLocationsGoldengateConnectionTypesListCall {
	c := &ProjectsLocationsGoldengateConnectionTypesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": An expression for filtering the
// results of the request. The connection_type field must be specified in the
// format: `connection_type="ORACLE".
func (c *ProjectsLocationsGoldengateConnectionTypesListCall) Filter(filter string) *ProjectsLocationsGoldengateConnectionTypesListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": Requested page size. Server
// may return fewer items than requested. If unspecified, server will pick an
// appropriate default.
func (c *ProjectsLocationsGoldengateConnectionTypesListCall) PageSize(pageSize int64) *ProjectsLocationsGoldengateConnectionTypesListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": A token identifying a
// page of results the server should return.
func (c *ProjectsLocationsGoldengateConnectionTypesListCall) PageToken(pageToken string) *ProjectsLocationsGoldengateConnectionTypesListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsGoldengateConnectionTypesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsGoldengateConnectionTypesListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsGoldengateConnectionTypesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsGoldengateConnectionTypesListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsGoldengateConnectionTypesListCall) Context(ctx context.Context) *ProjectsLocationsGoldengateConnectionTypesListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsGoldengateConnectionTypesListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsGoldengateConnectionTypesListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/goldengateConnectionTypes")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.goldengateConnectionTypes.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.goldengateConnectionTypes.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *ListGoldengateConnectionTypesResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsGoldengateConnectionTypesListCall) Do(opts ...googleapi.CallOption) (*ListGoldengateConnectionTypesResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &ListGoldengateConnectionTypesResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.goldengateConnectionTypes.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsGoldengateConnectionTypesListCall) Pages(ctx context.Context, f func(*ListGoldengateConnectionTypesResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsGoldengateConnectionsCreateCall struct {
	s                    *Service
	parent               string
	goldengateconnection *GoldengateConnection
	urlParams_           gensupport.URLParams
	ctx_                 context.Context
	header_              http.Header
}

// Create: Creates a new GoldengateConnection in a given project and location.
//
//   - parent: The value for parent of the GoldengateConnection in the following
//     format: projects/{project}/locations/{location}.
func (r *ProjectsLocationsGoldengateConnectionsService) Create(parent string, goldengateconnection *GoldengateConnection) *ProjectsLocationsGoldengateConnectionsCreateCall {
	c := &ProjectsLocationsGoldengateConnectionsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.goldengateconnection = goldengateconnection
	return c
}

// GoldengateConnectionId sets the optional parameter "goldengateConnectionId":
// Required. The ID of the GoldengateConnection to create. This value is
// restricted to (^a-z ([a-z0-9-]{0,61}[a-z0-9])?$) and must be a maximum of 63
// characters in length. The value must start with a letter and end with a
// letter or a number.
func (c *ProjectsLocationsGoldengateConnectionsCreateCall) GoldengateConnectionId(goldengateConnectionId string) *ProjectsLocationsGoldengateConnectionsCreateCall {
	c.urlParams_.Set("goldengateConnectionId", goldengateConnectionId)
	return c
}

// RequestId sets the optional parameter "requestId": An optional request ID to
// identify requests. Specify a unique request ID so that if you must retry
// your request, the server will know to ignore the request if it has already
// been completed. The server will guarantee that for at least 60 minutes since
// the first request. For example, consider a situation where you make an
// initial request and the request times out. If you make the request again
// with the same request ID, the server can check if original operation with
// the same request ID was received, and if so, will ignore the second request.
// This prevents clients from accidentally creating duplicate commitments. The
// request ID must be a valid UUID with the exception that zero UUID is not
// supported (00000000-0000-0000-0000-000000000000).
func (c *ProjectsLocationsGoldengateConnectionsCreateCall) RequestId(requestId string) *ProjectsLocationsGoldengateConnectionsCreateCall {
	c.urlParams_.Set("requestId", requestId)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsGoldengateConnectionsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsGoldengateConnectionsCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsGoldengateConnectionsCreateCall) Context(ctx context.Context) *ProjectsLocationsGoldengateConnectionsCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsGoldengateConnectionsCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsGoldengateConnectionsCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.goldengateconnection)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/goldengateConnections")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.goldengateConnections.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.goldengateConnections.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsGoldengateConnectionsCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &Operation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.goldengateConnections.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsGoldengateConnectionsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a single GoldengateConnection.
//
//   - name: The name of the GoldengateConnection in the following format:
//     projects/{project}/locations/{location}/goldengateConnections/{goldengate_c
//     onnection}.
func (r *ProjectsLocationsGoldengateConnectionsService) Delete(name string) *ProjectsLocationsGoldengateConnectionsDeleteCall {
	c := &ProjectsLocationsGoldengateConnectionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// RequestId sets the optional parameter "requestId": An optional ID to
// identify the request. This value is used to identify duplicate requests. If
// you make a request with the same request ID and the original request is
// still in progress or completed, the server ignores the second request. This
// prevents clients from accidentally creating duplicate commitments. The
// request ID must be a valid UUID with the exception that zero UUID is not
// supported (00000000-0000-0000-0000-000000000000).
func (c *ProjectsLocationsGoldengateConnectionsDeleteCall) RequestId(requestId string) *ProjectsLocationsGoldengateConnectionsDeleteCall {
	c.urlParams_.Set("requestId", requestId)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsGoldengateConnectionsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsGoldengateConnectionsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsGoldengateConnectionsDeleteCall) Context(ctx context.Context) *ProjectsLocationsGoldengateConnectionsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsGoldengateConnectionsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsGoldengateConnectionsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.goldengateConnections.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.goldengateConnections.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsGoldengateConnectionsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &Operation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.goldengateConnections.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsGoldengateConnectionsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets details of a single GoldengateConnection.
//
//   - name: The name of the GoldengateConnection in the following format:
//     projects/{project}/locations/{location}/goldengateConnections/{goldengate_c
//     onnection}.
func (r *ProjectsLocationsGoldengateConnectionsService) Get(name string) *ProjectsLocationsGoldengateConnectionsGetCall {
	c := &ProjectsLocationsGoldengateConnectionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsGoldengateConnectionsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsGoldengateConnectionsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsGoldengateConnectionsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsGoldengateConnectionsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsGoldengateConnectionsGetCall) Context(ctx context.Context) *ProjectsLocationsGoldengateConnectionsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsGoldengateConnectionsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsGoldengateConnectionsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.goldengateConnections.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.goldengateConnections.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoldengateConnection.ServerResponse.Header or (if a response was returned
// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsGoldengateConnectionsGetCall) Do(opts ...googleapi.CallOption) (*GoldengateConnection, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoldengateConnection{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.goldengateConnections.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsGoldengateConnectionsListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists all the GoldengateConnections for the given project and
// location.
//
//   - parent: The parent value for GoldengateConnections in the following
//     format: projects/{project}/locations/{location}.
func (r *ProjectsLocationsGoldengateConnectionsService) List(parent string) *ProjectsLocationsGoldengateConnectionsListCall {
	c := &ProjectsLocationsGoldengateConnectionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": An expression for filtering the
// results of the request.
func (c *ProjectsLocationsGoldengateConnectionsListCall) Filter(filter string) *ProjectsLocationsGoldengateConnectionsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// OrderBy sets the optional parameter "orderBy": An expression for ordering
// the results of the request.
func (c *ProjectsLocationsGoldengateConnectionsListCall) OrderBy(orderBy string) *ProjectsLocationsGoldengateConnectionsListCall {
	c.urlParams_.Set("orderBy", orderBy)
	return c
}

// PageSize sets the optional parameter "pageSize": The maximum number of items
// to return. If unspecified, at most 50 GoldengateConnections will be
// returned. The maximum value is 1000; values above 1000 will be coerced to
// 1000.
func (c *ProjectsLocationsGoldengateConnectionsListCall) PageSize(pageSize int64) *ProjectsLocationsGoldengateConnectionsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": A page token, received
// from a previous ListGoldengateConnections call. Provide this to retrieve the
// subsequent page.
func (c *ProjectsLocationsGoldengateConnectionsListCall) PageToken(pageToken string) *ProjectsLocationsGoldengateConnectionsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsGoldengateConnectionsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsGoldengateConnectionsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsGoldengateConnectionsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsGoldengateConnectionsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsGoldengateConnectionsListCall) Context(ctx context.Context) *ProjectsLocationsGoldengateConnectionsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsGoldengateConnectionsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsGoldengateConnectionsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/goldengateConnections")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.goldengateConnections.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.goldengateConnections.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *ListGoldengateConnectionsResponse.ServerResponse.Header or (if a response
// was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsGoldengateConnectionsListCall) Do(opts ...googleapi.CallOption) (*ListGoldengateConnectionsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &ListGoldengateConnectionsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.goldengateConnections.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsGoldengateConnectionsListCall) Pages(ctx context.Context, f func(*ListGoldengateConnectionsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsGoldengateDeploymentEnvironmentsListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists GoldengateDeploymentEnvironments in a given project and
// location.
//
//   - parent: The parent, which owns this collection of
//     GoldengateDeploymentEnvironments. Format:
//     projects/{project}/locations/{location}.
func (r *ProjectsLocationsGoldengateDeploymentEnvironmentsService) List(parent string) *ProjectsLocationsGoldengateDeploymentEnvironmentsListCall {
	c := &ProjectsLocationsGoldengateDeploymentEnvironmentsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// PageSize sets the optional parameter "pageSize": The maximum number of items
// to return. If unspecified, at most 50 deployment environments will be
// returned. The maximum value is 1000; values above 1000 will be coerced to
// 1000.
func (c *ProjectsLocationsGoldengateDeploymentEnvironmentsListCall) PageSize(pageSize int64) *ProjectsLocationsGoldengateDeploymentEnvironmentsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": A token identifying a
// page of results the server should return.
func (c *ProjectsLocationsGoldengateDeploymentEnvironmentsListCall) PageToken(pageToken string) *ProjectsLocationsGoldengateDeploymentEnvironmentsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsGoldengateDeploymentEnvironmentsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsGoldengateDeploymentEnvironmentsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsGoldengateDeploymentEnvironmentsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsGoldengateDeploymentEnvironmentsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsGoldengateDeploymentEnvironmentsListCall) Context(ctx context.Context) *ProjectsLocationsGoldengateDeploymentEnvironmentsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsGoldengateDeploymentEnvironmentsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsGoldengateDeploymentEnvironmentsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/goldengateDeploymentEnvironments")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.goldengateDeploymentEnvironments.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.goldengateDeploymentEnvironments.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *ListGoldengateDeploymentEnvironmentsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsGoldengateDeploymentEnvironmentsListCall) Do(opts ...googleapi.CallOption) (*ListGoldengateDeploymentEnvironmentsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &ListGoldengateDeploymentEnvironmentsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.goldengateDeploymentEnvironments.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsGoldengateDeploymentEnvironmentsListCall) Pages(ctx context.Context, f func(*ListGoldengateDeploymentEnvironmentsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsGoldengateDeploymentTypesListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists GoldenGateDeploymentTypes in a given project and location.
//
//   - parent: The parent resource. Format:
//     projects/{project}/locations/{location}.
func (r *ProjectsLocationsGoldengateDeploymentTypesService) List(parent string) *ProjectsLocationsGoldengateDeploymentTypesListCall {
	c := &ProjectsLocationsGoldengateDeploymentTypesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": An expression for filtering the
// results of the request. Either the deployment_type and ogg_version fields
// must be specified in the format: `deployment_type="DATABASE_ORACLE" or
// `ogg_version="version". Allowed values for deployment_type are:
// `DATABASE_ORACLE`, `BIGDATA`, `DATABASE_MICROSOFT_SQLSERVER`,
// `DATABASE_MYSQL`, `DATABASE_POSTGRESQL`, `DATABASE_DB2ZOS`, `DATABASE_DB2I`,
// `GGSA`, `DATA_TRANSFORMS`.
func (c *ProjectsLocationsGoldengateDeploymentTypesListCall) Filter(filter string) *ProjectsLocationsGoldengateDeploymentTypesListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// OrderBy sets the optional parameter "orderBy": Hint for how to order the
// results
func (c *ProjectsLocationsGoldengateDeploymentTypesListCall) OrderBy(orderBy string) *ProjectsLocationsGoldengateDeploymentTypesListCall {
	c.urlParams_.Set("orderBy", orderBy)
	return c
}

// PageSize sets the optional parameter "pageSize": Requested page size. Server
// may return fewer items than requested. If unspecified, server will pick an
// appropriate default.
func (c *ProjectsLocationsGoldengateDeploymentTypesListCall) PageSize(pageSize int64) *ProjectsLocationsGoldengateDeploymentTypesListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": A token identifying a
// page of results the server should return.
func (c *ProjectsLocationsGoldengateDeploymentTypesListCall) PageToken(pageToken string) *ProjectsLocationsGoldengateDeploymentTypesListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsGoldengateDeploymentTypesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsGoldengateDeploymentTypesListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsGoldengateDeploymentTypesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsGoldengateDeploymentTypesListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsGoldengateDeploymentTypesListCall) Context(ctx context.Context) *ProjectsLocationsGoldengateDeploymentTypesListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsGoldengateDeploymentTypesListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsGoldengateDeploymentTypesListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/goldengateDeploymentTypes")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.goldengateDeploymentTypes.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.goldengateDeploymentTypes.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *ListGoldengateDeploymentTypesResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsGoldengateDeploymentTypesListCall) Do(opts ...googleapi.CallOption) (*ListGoldengateDeploymentTypesResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &ListGoldengateDeploymentTypesResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.goldengateDeploymentTypes.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsGoldengateDeploymentTypesListCall) Pages(ctx context.Context, f func(*ListGoldengateDeploymentTypesResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsGoldengateDeploymentVersionsListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists GoldengateDeploymentVersions in a given project and location.
//
//   - parent: Parent value for ListGoldengateDeploymentVersionsRequest Format:
//     projects/{project}/locations/{location}.
func (r *ProjectsLocationsGoldengateDeploymentVersionsService) List(parent string) *ProjectsLocationsGoldengateDeploymentVersionsListCall {
	c := &ProjectsLocationsGoldengateDeploymentVersionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": An expression for filtering the
// results of the request. Either the deployment_id and deployment_type fields
// must be specified in the format: `deployment_id="id" or
// `deployment_type="DATABASE_ORACLE".
func (c *ProjectsLocationsGoldengateDeploymentVersionsListCall) Filter(filter string) *ProjectsLocationsGoldengateDeploymentVersionsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": Requested page size. Server
// may return fewer items than requested. If unspecified, server will pick an
// appropriate default. The maximum value is 1000; values above 1000 will be
// coerced to 1000.
func (c *ProjectsLocationsGoldengateDeploymentVersionsListCall) PageSize(pageSize int64) *ProjectsLocationsGoldengateDeploymentVersionsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": A token identifying a
// page of results the server should return.
func (c *ProjectsLocationsGoldengateDeploymentVersionsListCall) PageToken(pageToken string) *ProjectsLocationsGoldengateDeploymentVersionsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsGoldengateDeploymentVersionsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsGoldengateDeploymentVersionsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsGoldengateDeploymentVersionsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsGoldengateDeploymentVersionsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsGoldengateDeploymentVersionsListCall) Context(ctx context.Context) *ProjectsLocationsGoldengateDeploymentVersionsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsGoldengateDeploymentVersionsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsGoldengateDeploymentVersionsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/goldengateDeploymentVersions")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.goldengateDeploymentVersions.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.goldengateDeploymentVersions.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *ListGoldengateDeploymentVersionsResponse.ServerResponse.Header or (if a
// response was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsGoldengateDeploymentVersionsListCall) Do(opts ...googleapi.CallOption) (*ListGoldengateDeploymentVersionsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &ListGoldengateDeploymentVersionsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.goldengateDeploymentVersions.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsGoldengateDeploymentVersionsListCall) Pages(ctx context.Context, f func(*ListGoldengateDeploymentVersionsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsGoldengateDeploymentsCreateCall struct {
	s                    *Service
	parent               string
	goldengatedeployment *GoldengateDeployment
	urlParams_           gensupport.URLParams
	ctx_                 context.Context
	header_              http.Header
}

// Create: Creates a new GoldengateDeployment in a given project and location.
//
//   - parent: The value for parent of the GoldengateDeployment in the following
//     format: projects/{project}/locations/{location}.
func (r *ProjectsLocationsGoldengateDeploymentsService) Create(parent string, goldengatedeployment *GoldengateDeployment) *ProjectsLocationsGoldengateDeploymentsCreateCall {
	c := &ProjectsLocationsGoldengateDeploymentsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.goldengatedeployment = goldengatedeployment
	return c
}

// GoldengateDeploymentId sets the optional parameter "goldengateDeploymentId":
// Required. The ID of the GoldengateDeployment to create. This value is
// restricted to (^a-z ([a-z0-9-]{0,61}[a-z0-9])?$) and must be a maximum of 63
// characters in length. The value must start with a letter and end with a
// letter or a number.
func (c *ProjectsLocationsGoldengateDeploymentsCreateCall) GoldengateDeploymentId(goldengateDeploymentId string) *ProjectsLocationsGoldengateDeploymentsCreateCall {
	c.urlParams_.Set("goldengateDeploymentId", goldengateDeploymentId)
	return c
}

// RequestId sets the optional parameter "requestId": An optional request ID to
// identify requests. Specify a unique request ID so that if you must retry
// your request, the server will know to ignore the request if it has already
// been completed. The server will guarantee that for at least 60 minutes since
// the first request. For example, consider a situation where you make an
// initial request and the request times out. If you make the request again
// with the same request ID, the server can check if original operation with
// the same request ID was received, and if so, will ignore the second request.
// This prevents clients from accidentally creating duplicate commitments. The
// request ID must be a valid UUID with the exception that zero UUID is not
// supported (00000000-0000-0000-0000-000000000000).
func (c *ProjectsLocationsGoldengateDeploymentsCreateCall) RequestId(requestId string) *ProjectsLocationsGoldengateDeploymentsCreateCall {
	c.urlParams_.Set("requestId", requestId)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsGoldengateDeploymentsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsGoldengateDeploymentsCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsGoldengateDeploymentsCreateCall) Context(ctx context.Context) *ProjectsLocationsGoldengateDeploymentsCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsGoldengateDeploymentsCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsGoldengateDeploymentsCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.goldengatedeployment)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/goldengateDeployments")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.goldengateDeployments.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.goldengateDeployments.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsGoldengateDeploymentsCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &Operation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.goldengateDeployments.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsGoldengateDeploymentsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a single GoldengateDeployment.
//
//   - name: The name of the GoldengateDeployment in the following format:
//     projects/{project}/locations/{location}/goldengateDeployments/{goldengate_d
//     eployment}.
func (r *ProjectsLocationsGoldengateDeploymentsService) Delete(name string) *ProjectsLocationsGoldengateDeploymentsDeleteCall {
	c := &ProjectsLocationsGoldengateDeploymentsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// RequestId sets the optional parameter "requestId": An optional ID to
// identify the request. This value is used to identify duplicate requests. If
// you make a request with the same request ID and the original request is
// still in progress or completed, the server ignores the second request. This
// prevents clients from accidentally creating duplicate commitments. The
// request ID must be a valid UUID with the exception that zero UUID is not
// supported (00000000-0000-0000-0000-000000000000).
func (c *ProjectsLocationsGoldengateDeploymentsDeleteCall) RequestId(requestId string) *ProjectsLocationsGoldengateDeploymentsDeleteCall {
	c.urlParams_.Set("requestId", requestId)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsGoldengateDeploymentsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsGoldengateDeploymentsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsGoldengateDeploymentsDeleteCall) Context(ctx context.Context) *ProjectsLocationsGoldengateDeploymentsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsGoldengateDeploymentsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsGoldengateDeploymentsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.goldengateDeployments.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.goldengateDeployments.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsGoldengateDeploymentsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &Operation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.goldengateDeployments.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsGoldengateDeploymentsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets details of a single GoldengateDeployment.
//
//   - name: The name of the GoldengateDeployment in the following format:
//     projects/{project}/locations/{location}/goldengateDeployments/{goldengate_d
//     eployment}.
func (r *ProjectsLocationsGoldengateDeploymentsService) Get(name string) *ProjectsLocationsGoldengateDeploymentsGetCall {
	c := &ProjectsLocationsGoldengateDeploymentsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsGoldengateDeploymentsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsGoldengateDeploymentsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsGoldengateDeploymentsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsGoldengateDeploymentsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsGoldengateDeploymentsGetCall) Context(ctx context.Context) *ProjectsLocationsGoldengateDeploymentsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsGoldengateDeploymentsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsGoldengateDeploymentsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.goldengateDeployments.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.goldengateDeployments.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoldengateDeployment.ServerResponse.Header or (if a response was returned
// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsGoldengateDeploymentsGetCall) Do(opts ...googleapi.CallOption) (*GoldengateDeployment, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &GoldengateDeployment{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.goldengateDeployments.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsGoldengateDeploymentsListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists all the GoldengateDeployments for the given project and
// location.
//
//   - parent: The parent value for GoldengateDeployments in the following
//     format: projects/{project}/locations/{location}.
func (r *ProjectsLocationsGoldengateDeploymentsService) List(parent string) *ProjectsLocationsGoldengateDeploymentsListCall {
	c := &ProjectsLocationsGoldengateDeploymentsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": An expression for filtering the
// results of the request.
func (c *ProjectsLocationsGoldengateDeploymentsListCall) Filter(filter string) *ProjectsLocationsGoldengateDeploymentsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// OrderBy sets the optional parameter "orderBy": An expression for ordering
// the results of the request.
func (c *ProjectsLocationsGoldengateDeploymentsListCall) OrderBy(orderBy string) *ProjectsLocationsGoldengateDeploymentsListCall {
	c.urlParams_.Set("orderBy", orderBy)
	return c
}

// PageSize sets the optional parameter "pageSize": The maximum number of items
// to return. If unspecified, at most 50 GoldengateDeployments will be
// returned. The maximum value is 1000; values above 1000 will be coerced to
// 1000.
func (c *ProjectsLocationsGoldengateDeploymentsListCall) PageSize(pageSize int64) *ProjectsLocationsGoldengateDeploymentsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": A page token, received
// from a previous ListGoldengateDeployments call. Provide this to retrieve the
// subsequent page.
func (c *ProjectsLocationsGoldengateDeploymentsListCall) PageToken(pageToken string) *ProjectsLocationsGoldengateDeploymentsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsGoldengateDeploymentsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsGoldengateDeploymentsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsGoldengateDeploymentsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsGoldengateDeploymentsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsGoldengateDeploymentsListCall) Context(ctx context.Context) *ProjectsLocationsGoldengateDeploymentsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsGoldengateDeploymentsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsGoldengateDeploymentsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/goldengateDeployments")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.goldengateDeployments.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.goldengateDeployments.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *ListGoldengateDeploymentsResponse.ServerResponse.Header or (if a response
// was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsGoldengateDeploymentsListCall) Do(opts ...googleapi.CallOption) (*ListGoldengateDeploymentsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &ListGoldengateDeploymentsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.goldengateDeployments.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsGoldengateDeploymentsListCall) Pages(ctx context.Context, f func(*ListGoldengateDeploymentsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsGoldengateDeploymentsStartCall struct {
	s                                *Service
	name                             string
	startgoldengatedeploymentrequest *StartGoldengateDeploymentRequest
	urlParams_                       gensupport.URLParams
	ctx_                             context.Context
	header_                          http.Header
}

// Start: Starts a single GoldengateDeployment.
//
//   - name: The name of the Goldengate Deployment in the following format:
//     projects/{project}/locations/{location}/goldengateDeployments/{goldengate_d
//     eployment}.
func (r *ProjectsLocationsGoldengateDeploymentsService) Start(name string, startgoldengatedeploymentrequest *StartGoldengateDeploymentRequest) *ProjectsLocationsGoldengateDeploymentsStartCall {
	c := &ProjectsLocationsGoldengateDeploymentsStartCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.startgoldengatedeploymentrequest = startgoldengatedeploymentrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsGoldengateDeploymentsStartCall) Fields(s ...googleapi.Field) *ProjectsLocationsGoldengateDeploymentsStartCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsGoldengateDeploymentsStartCall) Context(ctx context.Context) *ProjectsLocationsGoldengateDeploymentsStartCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsGoldengateDeploymentsStartCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsGoldengateDeploymentsStartCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.startgoldengatedeploymentrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:start")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.goldengateDeployments.start", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.goldengateDeployments.start" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsGoldengateDeploymentsStartCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &Operation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.goldengateDeployments.start", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsGoldengateDeploymentsStopCall struct {
	s                               *Service
	name                            string
	stopgoldengatedeploymentrequest *StopGoldengateDeploymentRequest
	urlParams_                      gensupport.URLParams
	ctx_                            context.Context
	header_                         http.Header
}

// Stop: Stops a single GoldengateDeployment.
//
//   - name: The name of the Goldengate Deployment in the following format:
//     projects/{project}/locations/{location}/goldengateDeployments/{goldengate_d
//     eployment}.
func (r *ProjectsLocationsGoldengateDeploymentsService) Stop(name string, stopgoldengatedeploymentrequest *StopGoldengateDeploymentRequest) *ProjectsLocationsGoldengateDeploymentsStopCall {
	c := &ProjectsLocationsGoldengateDeploymentsStopCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.stopgoldengatedeploymentrequest = stopgoldengatedeploymentrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsGoldengateDeploymentsStopCall) Fields(s ...googleapi.Field) *ProjectsLocationsGoldengateDeploymentsStopCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsGoldengateDeploymentsStopCall) Context(ctx context.Context) *ProjectsLocationsGoldengateDeploymentsStopCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsGoldengateDeploymentsStopCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsGoldengateDeploymentsStopCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.stopgoldengatedeploymentrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:stop")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.goldengateDeployments.stop", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.goldengateDeployments.stop" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsGoldengateDeploymentsStopCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &Operation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.goldengateDeployments.stop", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsOdbNetworksCreateCall struct {
	s          *Service
	parent     string
	odbnetwork *OdbNetwork
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Create: Creates a new ODB Network in a given project and location.
//
//   - parent: The parent value for the OdbNetwork in the following format:
//     projects/{project}/locations/{location}.
func (r *ProjectsLocationsOdbNetworksService) Create(parent string, odbnetwork *OdbNetwork) *ProjectsLocationsOdbNetworksCreateCall {
	c := &ProjectsLocationsOdbNetworksCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.odbnetwork = odbnetwork
	return c
}

// OdbNetworkId sets the optional parameter "odbNetworkId": Required. The ID of
// the OdbNetwork to create. This value is restricted to (^a-z
// ([a-z0-9-]{0,61}[a-z0-9])?$) and must be a maximum of 63 characters in
// length. The value must start with a letter and end with a letter or a
// number.
func (c *ProjectsLocationsOdbNetworksCreateCall) OdbNetworkId(odbNetworkId string) *ProjectsLocationsOdbNetworksCreateCall {
	c.urlParams_.Set("odbNetworkId", odbNetworkId)
	return c
}

// RequestId sets the optional parameter "requestId": An optional ID to
// identify the request. This value is used to identify duplicate requests. If
// you make a request with the same request ID and the original request is
// still in progress or completed, the server ignores the second request. This
// prevents clients from accidentally creating duplicate commitments. The
// request ID must be a valid UUID with the exception that zero UUID is not
// supported (00000000-0000-0000-0000-000000000000).
func (c *ProjectsLocationsOdbNetworksCreateCall) RequestId(requestId string) *ProjectsLocationsOdbNetworksCreateCall {
	c.urlParams_.Set("requestId", requestId)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsOdbNetworksCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsOdbNetworksCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsOdbNetworksCreateCall) Context(ctx context.Context) *ProjectsLocationsOdbNetworksCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsOdbNetworksCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsOdbNetworksCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.odbnetwork)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/odbNetworks")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.odbNetworks.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.odbNetworks.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsOdbNetworksCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &Operation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.odbNetworks.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsOdbNetworksDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a single ODB Network.
//
//   - name: The name of the resource in the following format:
//     projects/{project}/locations/{location}/odbNetworks/{odb_network}.
func (r *ProjectsLocationsOdbNetworksService) Delete(name string) *ProjectsLocationsOdbNetworksDeleteCall {
	c := &ProjectsLocationsOdbNetworksDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// RequestId sets the optional parameter "requestId": An optional ID to
// identify the request. This value is used to identify duplicate requests. If
// you make a request with the same request ID and the original request is
// still in progress or completed, the server ignores the second request. This
// prevents clients from accidentally creating duplicate commitments. The
// request ID must be a valid UUID with the exception that zero UUID is not
// supported (00000000-0000-0000-0000-000000000000).
func (c *ProjectsLocationsOdbNetworksDeleteCall) RequestId(requestId string) *ProjectsLocationsOdbNetworksDeleteCall {
	c.urlParams_.Set("requestId", requestId)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsOdbNetworksDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsOdbNetworksDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsOdbNetworksDeleteCall) Context(ctx context.Context) *ProjectsLocationsOdbNetworksDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsOdbNetworksDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsOdbNetworksDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.odbNetworks.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.odbNetworks.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsOdbNetworksDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &Operation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.odbNetworks.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsOdbNetworksGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets details of a single ODB Network.
//
//   - name: The name of the OdbNetwork in the following format:
//     projects/{project}/locations/{location}/odbNetworks/{odb_network}.
func (r *ProjectsLocationsOdbNetworksService) Get(name string) *ProjectsLocationsOdbNetworksGetCall {
	c := &ProjectsLocationsOdbNetworksGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsOdbNetworksGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsOdbNetworksGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsOdbNetworksGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsOdbNetworksGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsOdbNetworksGetCall) Context(ctx context.Context) *ProjectsLocationsOdbNetworksGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsOdbNetworksGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsOdbNetworksGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.odbNetworks.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.odbNetworks.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *OdbNetwork.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsOdbNetworksGetCall) Do(opts ...googleapi.CallOption) (*OdbNetwork, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &OdbNetwork{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.odbNetworks.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsOdbNetworksListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists the ODB Networks in a given project and location.
//
//   - parent: The parent value for the ODB Network in the following format:
//     projects/{project}/locations/{location}.
func (r *ProjectsLocationsOdbNetworksService) List(parent string) *ProjectsLocationsOdbNetworksListCall {
	c := &ProjectsLocationsOdbNetworksListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": An expression for filtering the
// results of the request.
func (c *ProjectsLocationsOdbNetworksListCall) Filter(filter string) *ProjectsLocationsOdbNetworksListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// OrderBy sets the optional parameter "orderBy": An expression for ordering
// the results of the request.
func (c *ProjectsLocationsOdbNetworksListCall) OrderBy(orderBy string) *ProjectsLocationsOdbNetworksListCall {
	c.urlParams_.Set("orderBy", orderBy)
	return c
}

// PageSize sets the optional parameter "pageSize": The maximum number of items
// to return. If unspecified, at most 50 ODB Networks will be returned. The
// maximum value is 1000; values above 1000 will be coerced to 1000.
func (c *ProjectsLocationsOdbNetworksListCall) PageSize(pageSize int64) *ProjectsLocationsOdbNetworksListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": A token identifying a
// page of results the server should return.
func (c *ProjectsLocationsOdbNetworksListCall) PageToken(pageToken string) *ProjectsLocationsOdbNetworksListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsOdbNetworksListCall) Fields(s ...googleapi.Field) *ProjectsLocationsOdbNetworksListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsOdbNetworksListCall) IfNoneMatch(entityTag string) *ProjectsLocationsOdbNetworksListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsOdbNetworksListCall) Context(ctx context.Context) *ProjectsLocationsOdbNetworksListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsOdbNetworksListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsOdbNetworksListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/odbNetworks")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.odbNetworks.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.odbNetworks.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *ListOdbNetworksResponse.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsOdbNetworksListCall) Do(opts ...googleapi.CallOption) (*ListOdbNetworksResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &ListOdbNetworksResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.odbNetworks.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsOdbNetworksListCall) Pages(ctx context.Context, f func(*ListOdbNetworksResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsOdbNetworksOdbSubnetsCreateCall struct {
	s          *Service
	parent     string
	odbsubnet  *OdbSubnet
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Create: Creates a new ODB Subnet in a given ODB Network.
//
//   - parent: The parent value for the OdbSubnet in the following format:
//     projects/{project}/locations/{location}/odbNetworks/{odb_network}.
func (r *ProjectsLocationsOdbNetworksOdbSubnetsService) Create(parent string, odbsubnet *OdbSubnet) *ProjectsLocationsOdbNetworksOdbSubnetsCreateCall {
	c := &ProjectsLocationsOdbNetworksOdbSubnetsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.odbsubnet = odbsubnet
	return c
}

// OdbSubnetId sets the optional parameter "odbSubnetId": Required. The ID of
// the OdbSubnet to create. This value is restricted to (^a-z
// ([a-z0-9-]{0,61}[a-z0-9])?$) and must be a maximum of 63 characters in
// length. The value must start with a letter and end with a letter or a
// number.
func (c *ProjectsLocationsOdbNetworksOdbSubnetsCreateCall) OdbSubnetId(odbSubnetId string) *ProjectsLocationsOdbNetworksOdbSubnetsCreateCall {
	c.urlParams_.Set("odbSubnetId", odbSubnetId)
	return c
}

// RequestId sets the optional parameter "requestId": An optional ID to
// identify the request. This value is used to identify duplicate requests. If
// you make a request with the same request ID and the original request is
// still in progress or completed, the server ignores the second request. This
// prevents clients from accidentally creating duplicate commitments. The
// request ID must be a valid UUID with the exception that zero UUID is not
// supported (00000000-0000-0000-0000-000000000000).
func (c *ProjectsLocationsOdbNetworksOdbSubnetsCreateCall) RequestId(requestId string) *ProjectsLocationsOdbNetworksOdbSubnetsCreateCall {
	c.urlParams_.Set("requestId", requestId)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsOdbNetworksOdbSubnetsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsOdbNetworksOdbSubnetsCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsOdbNetworksOdbSubnetsCreateCall) Context(ctx context.Context) *ProjectsLocationsOdbNetworksOdbSubnetsCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsOdbNetworksOdbSubnetsCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsOdbNetworksOdbSubnetsCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.odbsubnet)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/odbSubnets")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.odbNetworks.odbSubnets.create", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.odbNetworks.odbSubnets.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsOdbNetworksOdbSubnetsCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &Operation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.odbNetworks.odbSubnets.create", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsOdbNetworksOdbSubnetsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a single ODB Subnet.
//
//   - name: The name of the resource in the following format:
//     projects/{project}/locations/{region}/odbNetworks/{odb_network}/odbSubnets/
//     {odb_subnet}.
func (r *ProjectsLocationsOdbNetworksOdbSubnetsService) Delete(name string) *ProjectsLocationsOdbNetworksOdbSubnetsDeleteCall {
	c := &ProjectsLocationsOdbNetworksOdbSubnetsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// RequestId sets the optional parameter "requestId": An optional ID to
// identify the request. This value is used to identify duplicate requests. If
// you make a request with the same request ID and the original request is
// still in progress or completed, the server ignores the second request. This
// prevents clients from accidentally creating duplicate commitments. The
// request ID must be a valid UUID with the exception that zero UUID is not
// supported (00000000-0000-0000-0000-000000000000).
func (c *ProjectsLocationsOdbNetworksOdbSubnetsDeleteCall) RequestId(requestId string) *ProjectsLocationsOdbNetworksOdbSubnetsDeleteCall {
	c.urlParams_.Set("requestId", requestId)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsOdbNetworksOdbSubnetsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsOdbNetworksOdbSubnetsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsOdbNetworksOdbSubnetsDeleteCall) Context(ctx context.Context) *ProjectsLocationsOdbNetworksOdbSubnetsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsOdbNetworksOdbSubnetsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsOdbNetworksOdbSubnetsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.odbNetworks.odbSubnets.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.odbNetworks.odbSubnets.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsOdbNetworksOdbSubnetsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &Operation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.odbNetworks.odbSubnets.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsOdbNetworksOdbSubnetsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets details of a single ODB Subnet.
//
//   - name: The name of the OdbSubnet in the following format:
//     projects/{project}/locations/{location}/odbNetworks/{odb_network}/odbSubnet
//     s/{odb_subnet}.
func (r *ProjectsLocationsOdbNetworksOdbSubnetsService) Get(name string) *ProjectsLocationsOdbNetworksOdbSubnetsGetCall {
	c := &ProjectsLocationsOdbNetworksOdbSubnetsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsOdbNetworksOdbSubnetsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsOdbNetworksOdbSubnetsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsOdbNetworksOdbSubnetsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsOdbNetworksOdbSubnetsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsOdbNetworksOdbSubnetsGetCall) Context(ctx context.Context) *ProjectsLocationsOdbNetworksOdbSubnetsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsOdbNetworksOdbSubnetsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsOdbNetworksOdbSubnetsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.odbNetworks.odbSubnets.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.odbNetworks.odbSubnets.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *OdbSubnet.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsOdbNetworksOdbSubnetsGetCall) Do(opts ...googleapi.CallOption) (*OdbSubnet, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &OdbSubnet{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.odbNetworks.odbSubnets.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsOdbNetworksOdbSubnetsListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists all the ODB Subnets in a given ODB Network.
//
//   - parent: The parent value for the OdbSubnet in the following format:
//     projects/{project}/locations/{location}/odbNetworks/{odb_network}.
func (r *ProjectsLocationsOdbNetworksOdbSubnetsService) List(parent string) *ProjectsLocationsOdbNetworksOdbSubnetsListCall {
	c := &ProjectsLocationsOdbNetworksOdbSubnetsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": An expression for filtering the
// results of the request.
func (c *ProjectsLocationsOdbNetworksOdbSubnetsListCall) Filter(filter string) *ProjectsLocationsOdbNetworksOdbSubnetsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// OrderBy sets the optional parameter "orderBy": An expression for ordering
// the results of the request.
func (c *ProjectsLocationsOdbNetworksOdbSubnetsListCall) OrderBy(orderBy string) *ProjectsLocationsOdbNetworksOdbSubnetsListCall {
	c.urlParams_.Set("orderBy", orderBy)
	return c
}

// PageSize sets the optional parameter "pageSize": The maximum number of items
// to return. If unspecified, at most 50 ODB Networks will be returned. The
// maximum value is 1000; values above 1000 will be coerced to 1000.
func (c *ProjectsLocationsOdbNetworksOdbSubnetsListCall) PageSize(pageSize int64) *ProjectsLocationsOdbNetworksOdbSubnetsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": A token identifying a
// page of results the server should return.
func (c *ProjectsLocationsOdbNetworksOdbSubnetsListCall) PageToken(pageToken string) *ProjectsLocationsOdbNetworksOdbSubnetsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsOdbNetworksOdbSubnetsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsOdbNetworksOdbSubnetsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsOdbNetworksOdbSubnetsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsOdbNetworksOdbSubnetsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsOdbNetworksOdbSubnetsListCall) Context(ctx context.Context) *ProjectsLocationsOdbNetworksOdbSubnetsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsOdbNetworksOdbSubnetsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsOdbNetworksOdbSubnetsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/odbSubnets")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.odbNetworks.odbSubnets.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.odbNetworks.odbSubnets.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *ListOdbSubnetsResponse.ServerResponse.Header or (if a response was returned
// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsOdbNetworksOdbSubnetsListCall) Do(opts ...googleapi.CallOption) (*ListOdbSubnetsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &ListOdbSubnetsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.odbNetworks.odbSubnets.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsOdbNetworksOdbSubnetsListCall) Pages(ctx context.Context, f func(*ListOdbSubnetsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsOperationsCancelCall struct {
	s                      *Service
	name                   string
	canceloperationrequest *CancelOperationRequest
	urlParams_             gensupport.URLParams
	ctx_                   context.Context
	header_                http.Header
}

// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *ProjectsLocationsOperationsService) Cancel(name string, canceloperationrequest *CancelOperationRequest) *ProjectsLocationsOperationsCancelCall {
	c := &ProjectsLocationsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	c.canceloperationrequest = canceloperationrequest
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsCancelCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsOperationsCancelCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
	body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.canceloperationrequest)
	if err != nil {
		return nil, err
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.operations.cancel", "request", internallog.HTTPRequest(req, body.Bytes()))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *Empty.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &Empty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.operations.cancel", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsOperationsDeleteCall struct {
	s          *Service
	name       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ProjectsLocationsOperationsService) Delete(name string) *ProjectsLocationsOperationsDeleteCall {
	c := &ProjectsLocationsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsOperationsDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("DELETE", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.operations.delete", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Empty.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &Empty{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.operations.delete", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsOperationsGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ProjectsLocationsOperationsService) Get(name string) *ProjectsLocationsOperationsGetCall {
	c := &ProjectsLocationsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsOperationsGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsOperationsGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.operations.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.operations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was returned.
func (c *ProjectsLocationsOperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &Operation{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.operations.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsOperationsListCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *ProjectsLocationsOperationsService) List(name string) *ProjectsLocationsOperationsListCall {
	c := &ProjectsLocationsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Filter sets the optional parameter "filter": The standard list filter.
func (c *ProjectsLocationsOperationsListCall) Filter(filter string) *ProjectsLocationsOperationsListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsLocationsOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsOperationsListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsLocationsOperationsListCall) PageToken(pageToken string) *ProjectsLocationsOperationsListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *ProjectsLocationsOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ProjectsLocationsOperationsListCall {
	c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsOperationsListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsOperationsListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsOperationsListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.operations.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *ListOperationsResponse.ServerResponse.Header or (if a response was returned
// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsOperationsListCall) Do(opts ...googleapi.CallOption) (*ListOperationsResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &ListOperationsResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.operations.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsOperationsListCall) Pages(ctx context.Context, f func(*ListOperationsResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

type ProjectsLocationsPluggableDatabasesGetCall struct {
	s            *Service
	name         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Gets details of a single PluggableDatabase.
//
//   - name: The name of the PluggableDatabase resource in the following format:
//     projects/{project}/locations/{region}/pluggableDatabases/{pluggable_databas
//     e}.
func (r *ProjectsLocationsPluggableDatabasesService) Get(name string) *ProjectsLocationsPluggableDatabasesGetCall {
	c := &ProjectsLocationsPluggableDatabasesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.name = name
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsPluggableDatabasesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsPluggableDatabasesGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsPluggableDatabasesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsPluggableDatabasesGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsPluggableDatabasesGetCall) Context(ctx context.Context) *ProjectsLocationsPluggableDatabasesGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsPluggableDatabasesGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsPluggableDatabasesGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"name": c.name,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.pluggableDatabases.get", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.pluggableDatabases.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *PluggableDatabase.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsPluggableDatabasesGetCall) Do(opts ...googleapi.CallOption) (*PluggableDatabase, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &PluggableDatabase{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.pluggableDatabases.get", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

type ProjectsLocationsPluggableDatabasesListCall struct {
	s            *Service
	parent       string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// List: Lists all the PluggableDatabases for the given project, location and
// Container Database.
//
//   - parent: The parent, which owns this collection of PluggableDatabases.
//     Format: projects/{project}/locations/{location}.
func (r *ProjectsLocationsPluggableDatabasesService) List(parent string) *ProjectsLocationsPluggableDatabasesListCall {
	c := &ProjectsLocationsPluggableDatabasesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	return c
}

// Filter sets the optional parameter "filter": An expression for filtering the
// results of the request. List for pluggable databases is supported only with
// a valid container database (full resource name) filter in this format:
// `database="projects/{project}/locations/{location}/databases/{database}"
func (c *ProjectsLocationsPluggableDatabasesListCall) Filter(filter string) *ProjectsLocationsPluggableDatabasesListCall {
	c.urlParams_.Set("filter", filter)
	return c
}

// PageSize sets the optional parameter "pageSize": The maximum number of
// PluggableDatabases to return. The service may return fewer than this value.
func (c *ProjectsLocationsPluggableDatabasesListCall) PageSize(pageSize int64) *ProjectsLocationsPluggableDatabasesListCall {
	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
	return c
}

// PageToken sets the optional parameter "pageToken": A page token, received
// from a previous `ListPluggableDatabases` call. Provide this to retrieve the
// subsequent page. When paginating, all other parameters provided to
// `ListPluggableDatabases` must match the call that provided the page token.
func (c *ProjectsLocationsPluggableDatabasesListCall) PageToken(pageToken string) *ProjectsLocationsPluggableDatabasesListCall {
	c.urlParams_.Set("pageToken", pageToken)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsPluggableDatabasesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsPluggableDatabasesListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsPluggableDatabasesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsPluggableDatabasesListCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsPluggableDatabasesListCall) Context(ctx context.Context) *ProjectsLocationsPluggableDatabasesListCall {
	c.ctx_ = ctx
	return c
}

// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsPluggableDatabasesListCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsPluggableDatabasesListCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/pluggableDatabases")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("GET", urls, nil)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"parent": c.parent,
	})
	c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.pluggableDatabases.list", "request", internallog.HTTPRequest(req, nil))
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "oracledatabase.projects.locations.pluggableDatabases.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *ListPluggableDatabasesResponse.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsPluggableDatabasesListCall) Do(opts ...googleapi.CallOption) (*ListPluggableDatabasesResponse, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, gensupport.WrapError(&googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		})
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, gensupport.WrapError(err)
	}
	ret := &ListPluggableDatabasesResponse{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	b, err := gensupport.DecodeResponseBytes(target, res)
	if err != nil {
		return nil, err
	}
	c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "oracledatabase.projects.locations.pluggableDatabases.list", "response", internallog.HTTPResponse(res, b))
	return ret, nil
}

// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsPluggableDatabasesListCall) Pages(ctx context.Context, f func(*ListPluggableDatabasesResponse) error) error {
	c.ctx_ = ctx
	defer c.PageToken(c.urlParams_.Get("pageToken"))
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}
