2012-11-15T16:19:00.094Z
.
# Corresponds to the JSON property `expirationTime`
# @return [String]
attr_accessor :expiration_time
# This is always sql#aclEntry
.
# Corresponds to the JSON property `kind`
# @return [String]
attr_accessor :kind
# An optional label to identify this entry.
# Corresponds to the JSON property `name`
# @return [String]
attr_accessor :name
# The whitelisted value for the access control list.
# Corresponds to the JSON property `value`
# @return [String]
attr_accessor :value
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@expiration_time = args[:expiration_time] if args.key?(:expiration_time)
@kind = args[:kind] if args.key?(:kind)
@name = args[:name] if args.key?(:name)
@value = args[:value] if args.key?(:value)
end
end
# An Admin API warning message.
class ApiWarning
include Google::Apis::Core::Hashable
# Code to uniquely identify the warning type.
# Corresponds to the JSON property `code`
# @return [String]
attr_accessor :code
# The warning message.
# Corresponds to the JSON property `message`
# @return [String]
attr_accessor :message
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@code = args[:code] if args.key?(:code)
@message = args[:message] if args.key?(:message)
end
end
# Database instance backup configuration.
class BackupConfiguration
include Google::Apis::Core::Hashable
# Whether binary log is enabled. If backup configuration is disabled, binary
# log must be disabled as well.
# Corresponds to the JSON property `binaryLogEnabled`
# @return [Boolean]
attr_accessor :binary_log_enabled
alias_method :binary_log_enabled?, :binary_log_enabled
# Whether this configuration is enabled.
# Corresponds to the JSON property `enabled`
# @return [Boolean]
attr_accessor :enabled
alias_method :enabled?, :enabled
# This is always sql#backupConfiguration
.
# Corresponds to the JSON property `kind`
# @return [String]
attr_accessor :kind
# Location of the backup
# Corresponds to the JSON property `location`
# @return [String]
attr_accessor :location
# Reserved for future use.
# Corresponds to the JSON property `replicationLogArchivingEnabled`
# @return [Boolean]
attr_accessor :replication_log_archiving_enabled
alias_method :replication_log_archiving_enabled?, :replication_log_archiving_enabled
# Start time for the daily backup configuration in UTC timezone in the 24
# hour format - HH:MM
.
# Corresponds to the JSON property `startTime`
# @return [String]
attr_accessor :start_time
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@binary_log_enabled = args[:binary_log_enabled] if args.key?(:binary_log_enabled)
@enabled = args[:enabled] if args.key?(:enabled)
@kind = args[:kind] if args.key?(:kind)
@location = args[:location] if args.key?(:location)
@replication_log_archiving_enabled = args[:replication_log_archiving_enabled] if args.key?(:replication_log_archiving_enabled)
@start_time = args[:start_time] if args.key?(:start_time)
end
end
# A BackupRun resource.
class BackupRun
include Google::Apis::Core::Hashable
# The description of this run, only applicable to on-demand backups.
# Corresponds to the JSON property `description`
# @return [String]
attr_accessor :description
# Disk encryption configuration for an instance.
# Corresponds to the JSON property `diskEncryptionConfiguration`
# @return [Google::Apis::SqlV1beta4::DiskEncryptionConfiguration]
attr_accessor :disk_encryption_configuration
# Disk encryption status for an instance.
# Corresponds to the JSON property `diskEncryptionStatus`
# @return [Google::Apis::SqlV1beta4::DiskEncryptionStatus]
attr_accessor :disk_encryption_status
# The time the backup operation completed in UTC timezone in RFC 3339 format, for example
# 2012-11-15T16:19:00.094Z
.
# Corresponds to the JSON property `endTime`
# @return [String]
attr_accessor :end_time
# The time the run was enqueued in UTC timezone in RFC 3339 format, for example
# 2012-11-15T16:19:00.094Z
.
# Corresponds to the JSON property `enqueuedTime`
# @return [String]
attr_accessor :enqueued_time
# Database instance operation error.
# Corresponds to the JSON property `error`
# @return [Google::Apis::SqlV1beta4::OperationError]
attr_accessor :error
# The identifier for this backup run. Unique only for a specific Cloud SQL
# instance.
# Corresponds to the JSON property `id`
# @return [Fixnum]
attr_accessor :id
# Name of the database instance.
# Corresponds to the JSON property `instance`
# @return [String]
attr_accessor :instance
# This is always sql#backupRun
.
# Corresponds to the JSON property `kind`
# @return [String]
attr_accessor :kind
# Location of the backups.
# Corresponds to the JSON property `location`
# @return [String]
attr_accessor :location
# The URI of this resource.
# Corresponds to the JSON property `selfLink`
# @return [String]
attr_accessor :self_link
# The time the backup operation actually started in UTC timezone in RFC 3339 format, for example
# 2012-11-15T16:19:00.094Z
.
# Corresponds to the JSON property `startTime`
# @return [String]
attr_accessor :start_time
# The status of this run.
# Corresponds to the JSON property `status`
# @return [String]
attr_accessor :status
# The type of this run; can be either "AUTOMATED" or "ON_DEMAND".
# Corresponds to the JSON property `type`
# @return [String]
attr_accessor :type
# The start time of the backup window during which this the backup was
# attempted in RFC 3339
# format, for example 2012-11-15T16:19:00.094Z
.
# Corresponds to the JSON property `windowStartTime`
# @return [String]
attr_accessor :window_start_time
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@description = args[:description] if args.key?(:description)
@disk_encryption_configuration = args[:disk_encryption_configuration] if args.key?(:disk_encryption_configuration)
@disk_encryption_status = args[:disk_encryption_status] if args.key?(:disk_encryption_status)
@end_time = args[:end_time] if args.key?(:end_time)
@enqueued_time = args[:enqueued_time] if args.key?(:enqueued_time)
@error = args[:error] if args.key?(:error)
@id = args[:id] if args.key?(:id)
@instance = args[:instance] if args.key?(:instance)
@kind = args[:kind] if args.key?(:kind)
@location = args[:location] if args.key?(:location)
@self_link = args[:self_link] if args.key?(:self_link)
@start_time = args[:start_time] if args.key?(:start_time)
@status = args[:status] if args.key?(:status)
@type = args[:type] if args.key?(:type)
@window_start_time = args[:window_start_time] if args.key?(:window_start_time)
end
end
# Backup run list results.
class BackupRunsListResponse
include Google::Apis::Core::Hashable
# A list of backup runs in reverse chronological order of the enqueued time.
# Corresponds to the JSON property `items`
# @return [Arraysql#backupRunsList
.
# Corresponds to the JSON property `kind`
# @return [String]
attr_accessor :kind
# The continuation token, used to page through large result sets. Provide
# this value in a subsequent request to return the next page of results.
# Corresponds to the JSON property `nextPageToken`
# @return [String]
attr_accessor :next_page_token
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@items = args[:items] if args.key?(:items)
@kind = args[:kind] if args.key?(:kind)
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
end
end
# Binary log coordinates.
class BinLogCoordinates
include Google::Apis::Core::Hashable
# Name of the binary log file for a Cloud SQL instance.
# Corresponds to the JSON property `binLogFileName`
# @return [String]
attr_accessor :bin_log_file_name
# Position (offset) within the binary log file.
# Corresponds to the JSON property `binLogPosition`
# @return [Fixnum]
attr_accessor :bin_log_position
# This is always sql#binLogCoordinates
.
# Corresponds to the JSON property `kind`
# @return [String]
attr_accessor :kind
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@bin_log_file_name = args[:bin_log_file_name] if args.key?(:bin_log_file_name)
@bin_log_position = args[:bin_log_position] if args.key?(:bin_log_position)
@kind = args[:kind] if args.key?(:kind)
end
end
# Database instance clone context.
class CloneContext
include Google::Apis::Core::Hashable
# Binary log coordinates.
# Corresponds to the JSON property `binLogCoordinates`
# @return [Google::Apis::SqlV1beta4::BinLogCoordinates]
attr_accessor :bin_log_coordinates
# Name of the Cloud SQL instance to be created as a clone.
# Corresponds to the JSON property `destinationInstanceName`
# @return [String]
attr_accessor :destination_instance_name
# This is always sql#cloneContext
.
# Corresponds to the JSON property `kind`
# @return [String]
attr_accessor :kind
# Reserved for future use.
# Corresponds to the JSON property `pitrTimestampMs`
# @return [Fixnum]
attr_accessor :pitr_timestamp_ms
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@bin_log_coordinates = args[:bin_log_coordinates] if args.key?(:bin_log_coordinates)
@destination_instance_name = args[:destination_instance_name] if args.key?(:destination_instance_name)
@kind = args[:kind] if args.key?(:kind)
@pitr_timestamp_ms = args[:pitr_timestamp_ms] if args.key?(:pitr_timestamp_ms)
end
end
# Represents a SQL database on the Cloud SQL instance.
class Database
include Google::Apis::Core::Hashable
# The MySQL charset value.
# Corresponds to the JSON property `charset`
# @return [String]
attr_accessor :charset
# The MySQL collation value.
# Corresponds to the JSON property `collation`
# @return [String]
attr_accessor :collation
# This field is deprecated and will be removed from a future version of the
# API.
# Corresponds to the JSON property `etag`
# @return [String]
attr_accessor :etag
# The name of the Cloud SQL instance. This does not include the project ID.
# Corresponds to the JSON property `instance`
# @return [String]
attr_accessor :instance
# This is always sql#database
.
# Corresponds to the JSON property `kind`
# @return [String]
attr_accessor :kind
# The name of the database in the Cloud SQL instance. This does not include
# the project ID or instance name.
# Corresponds to the JSON property `name`
# @return [String]
attr_accessor :name
# The project ID of the project containing the Cloud SQL database. The Google
# apps domain is prefixed if applicable.
# Corresponds to the JSON property `project`
# @return [String]
attr_accessor :project
# The URI of this resource.
# Corresponds to the JSON property `selfLink`
# @return [String]
attr_accessor :self_link
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@charset = args[:charset] if args.key?(:charset)
@collation = args[:collation] if args.key?(:collation)
@etag = args[:etag] if args.key?(:etag)
@instance = args[:instance] if args.key?(:instance)
@kind = args[:kind] if args.key?(:kind)
@name = args[:name] if args.key?(:name)
@project = args[:project] if args.key?(:project)
@self_link = args[:self_link] if args.key?(:self_link)
end
end
# Database flags for Cloud SQL instances.
class DatabaseFlags
include Google::Apis::Core::Hashable
# The name of the flag. These flags are passed at instance startup, so
# include both server options and system variables for MySQL. Flags should be
# specified with underscores, not hyphens. For more information, see Configuring Database Flags in the Cloud
# SQL documentation.
# Corresponds to the JSON property `name`
# @return [String]
attr_accessor :name
# The value of the flag. Booleans should be set to on
for true
# and off
for false. This field must be omitted if the flag
# doesn't take a value.
# Corresponds to the JSON property `value`
# @return [String]
attr_accessor :value
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@name = args[:name] if args.key?(:name)
@value = args[:value] if args.key?(:value)
end
end
# A Cloud SQL instance resource.
# If you change this, also change SqlDatabaseInstance
class DatabaseInstance
include Google::Apis::Core::Hashable
# FIRST_GEN
: First Generation instance. MySQL only. SECOND_GEN
: Second Generation instance or PostgreSQL
# instance. EXTERNAL
: A database server that is not
# managed by Google. tier
property in the settings
object to determine
# the database type and Second or First Generation.
# Corresponds to the JSON property `backendType`
# @return [String]
attr_accessor :backend_type
# Connection name of the Cloud SQL instance used in connection strings.
# Corresponds to the JSON property `connectionName`
# @return [String]
attr_accessor :connection_name
# The current disk usage of the instance in bytes. This property has been
# deprecated. Users should use the
# "cloudsql.googleapis.com/database/disk/bytes_used" metric in Cloud
# Monitoring API instead. Please see this
# announcement for details.
# Corresponds to the JSON property `currentDiskSize`
# @return [Fixnum]
attr_accessor :current_disk_size
# The database engine type and version. The databaseVersion
# field can not be changed after instance creation. MySQL Second Generation
# instances: MYSQL_5_7
(default) or MYSQL_5_6
.
# PostgreSQL instances: POSTGRES_9_6
(default) or
# POSTGRES_11 Beta
MySQL First Generation
# instances: MYSQL_5_6
(default) or MYSQL_5_5
# Corresponds to the JSON property `databaseVersion`
# @return [String]
attr_accessor :database_version
# Disk encryption configuration for an instance.
# Corresponds to the JSON property `diskEncryptionConfiguration`
# @return [Google::Apis::SqlV1beta4::DiskEncryptionConfiguration]
attr_accessor :disk_encryption_configuration
# Disk encryption status for an instance.
# Corresponds to the JSON property `diskEncryptionStatus`
# @return [Google::Apis::SqlV1beta4::DiskEncryptionStatus]
attr_accessor :disk_encryption_status
# This field is deprecated and will be removed from a future version of the
# API. Use the settings.settingsVersion
field instead.
# Corresponds to the JSON property `etag`
# @return [String]
attr_accessor :etag
# The name and status of the failover replica. This property is applicable
# only to Second Generation instances.
# Corresponds to the JSON property `failoverReplica`
# @return [Google::Apis::SqlV1beta4::DatabaseInstance::FailoverReplica]
attr_accessor :failover_replica
# The Compute Engine zone that the instance is currently serving from. This
# value could be different from the zone that was specified when the instance
# was created if the instance has failed over to its secondary zone.
# Corresponds to the JSON property `gceZone`
# @return [String]
attr_accessor :gce_zone
# The instance type. This can be one of the following.
# CLOUD_SQL_INSTANCE
: A Cloud SQL instance that is not
# replicating from a master. ON_PREMISES_INSTANCE
: An
# instance running on the
# customer's premises. READ_REPLICA_INSTANCE
: A Cloud SQL
# instance configured as a read-replica.
# Corresponds to the JSON property `instanceType`
# @return [String]
attr_accessor :instance_type
# The assigned IP addresses for the instance.
# Corresponds to the JSON property `ipAddresses`
# @return [Arraysql#instance
.
# Corresponds to the JSON property `kind`
# @return [String]
attr_accessor :kind
# The name of the instance which will act as master in the replication setup.
# Corresponds to the JSON property `masterInstanceName`
# @return [String]
attr_accessor :master_instance_name
# The maximum disk size of the instance in bytes.
# Corresponds to the JSON property `maxDiskSize`
# @return [Fixnum]
attr_accessor :max_disk_size
# Name of the Cloud SQL instance. This does not include the project ID.
# Corresponds to the JSON property `name`
# @return [String]
attr_accessor :name
# On-premises instance configuration.
# Corresponds to the JSON property `onPremisesConfiguration`
# @return [Google::Apis::SqlV1beta4::OnPremisesConfiguration]
attr_accessor :on_premises_configuration
# The project ID of the project containing the Cloud SQL instance. The Google
# apps domain is prefixed if applicable.
# Corresponds to the JSON property `project`
# @return [String]
attr_accessor :project
# The geographical region. Can be us-central
# (FIRST_GEN
instances only), us-central1
# (SECOND_GEN
instances only), asia-east1
or
# europe-west1
. Defaults to us-central
or
# us-central1
depending on the instance type (First Generation
# or Second Generation). The region can not be changed after instance
# creation.
# Corresponds to the JSON property `region`
# @return [String]
attr_accessor :region
# Read-replica configuration for connecting to the master.
# Corresponds to the JSON property `replicaConfiguration`
# @return [Google::Apis::SqlV1beta4::ReplicaConfiguration]
attr_accessor :replica_configuration
# The replicas of the instance.
# Corresponds to the JSON property `replicaNames`
# @return [ArrayRUNNABLE
: The instance is running, or is ready
# to run when accessed. SUSPENDED
: The instance is not
# available, for example due to problems with billing.
# PENDING_CREATE
: The instance is being created.
# MAINTENANCE
: The instance is down for maintenance.
# FAILED
: The instance creation failed.
# UNKNOWN_STATE
: The state of the instance is unknown.
# Corresponds to the JSON property `state`
# @return [String]
attr_accessor :state
# If the instance state is SUSPENDED, the reason for the suspension.
# Corresponds to the JSON property `suspensionReason`
# @return [Arraysql#databasesList
.
# Corresponds to the JSON property `kind`
# @return [String]
attr_accessor :kind
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@items = args[:items] if args.key?(:items)
@kind = args[:kind] if args.key?(:kind)
end
end
# Read-replica configuration for connecting to the on-premises master.
class DemoteMasterConfiguration
include Google::Apis::Core::Hashable
# This is always sql#demoteMasterConfiguration
.
# Corresponds to the JSON property `kind`
# @return [String]
attr_accessor :kind
# Read-replica configuration specific to MySQL databases.
# Corresponds to the JSON property `mysqlReplicaConfiguration`
# @return [Google::Apis::SqlV1beta4::DemoteMasterMySqlReplicaConfiguration]
attr_accessor :mysql_replica_configuration
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@kind = args[:kind] if args.key?(:kind)
@mysql_replica_configuration = args[:mysql_replica_configuration] if args.key?(:mysql_replica_configuration)
end
end
# Database instance demote master context.
class DemoteMasterContext
include Google::Apis::Core::Hashable
# This is always sql#demoteMasterContext
.
# Corresponds to the JSON property `kind`
# @return [String]
attr_accessor :kind
# The name of the instance which will act as on-premises master in the
# replication setup.
# Corresponds to the JSON property `masterInstanceName`
# @return [String]
attr_accessor :master_instance_name
# Read-replica configuration for connecting to the on-premises master.
# Corresponds to the JSON property `replicaConfiguration`
# @return [Google::Apis::SqlV1beta4::DemoteMasterConfiguration]
attr_accessor :replica_configuration
# Verify GTID consistency for demote operation. Default value:
# True
. Second Generation instances only. Setting this flag to
# false enables you to bypass GTID consistency check between on-premises
# master and Cloud SQL instance during the demotion operation but also
# exposes you to the risk of future replication failures. Change the value
# only if you know the reason for the GTID divergence and are confident that
# doing so will not cause any replication issues.
# Corresponds to the JSON property `verifyGtidConsistency`
# @return [Boolean]
attr_accessor :verify_gtid_consistency
alias_method :verify_gtid_consistency?, :verify_gtid_consistency
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@kind = args[:kind] if args.key?(:kind)
@master_instance_name = args[:master_instance_name] if args.key?(:master_instance_name)
@replica_configuration = args[:replica_configuration] if args.key?(:replica_configuration)
@verify_gtid_consistency = args[:verify_gtid_consistency] if args.key?(:verify_gtid_consistency)
end
end
# Read-replica configuration specific to MySQL databases.
class DemoteMasterMySqlReplicaConfiguration
include Google::Apis::Core::Hashable
# PEM representation of the trusted CA's x509 certificate.
# Corresponds to the JSON property `caCertificate`
# @return [String]
attr_accessor :ca_certificate
# PEM representation of the slave's x509 certificate.
# Corresponds to the JSON property `clientCertificate`
# @return [String]
attr_accessor :client_certificate
# PEM representation of the slave's private key. The corresponsing public key
# is encoded in the client's certificate. The format of the slave's private
# key can be either PKCS #1 or PKCS #8.
# Corresponds to the JSON property `clientKey`
# @return [String]
attr_accessor :client_key
# This is always sql#demoteMasterMysqlReplicaConfiguration
.
# Corresponds to the JSON property `kind`
# @return [String]
attr_accessor :kind
# The password for the replication connection.
# Corresponds to the JSON property `password`
# @return [String]
attr_accessor :password
# The username for the replication connection.
# Corresponds to the JSON property `username`
# @return [String]
attr_accessor :username
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@ca_certificate = args[:ca_certificate] if args.key?(:ca_certificate)
@client_certificate = args[:client_certificate] if args.key?(:client_certificate)
@client_key = args[:client_key] if args.key?(:client_key)
@kind = args[:kind] if args.key?(:kind)
@password = args[:password] if args.key?(:password)
@username = args[:username] if args.key?(:username)
end
end
# Disk encryption configuration for an instance.
class DiskEncryptionConfiguration
include Google::Apis::Core::Hashable
# This is always sql#diskEncryptionConfiguration
.
# Corresponds to the JSON property `kind`
# @return [String]
attr_accessor :kind
# Resource name of KMS key for disk encryption
# Corresponds to the JSON property `kmsKeyName`
# @return [String]
attr_accessor :kms_key_name
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@kind = args[:kind] if args.key?(:kind)
@kms_key_name = args[:kms_key_name] if args.key?(:kms_key_name)
end
end
# Disk encryption status for an instance.
class DiskEncryptionStatus
include Google::Apis::Core::Hashable
# This is always sql#diskEncryptionStatus
.
# Corresponds to the JSON property `kind`
# @return [String]
attr_accessor :kind
# KMS key version used to encrypt the Cloud SQL instance resource
# Corresponds to the JSON property `kmsKeyVersionName`
# @return [String]
attr_accessor :kms_key_version_name
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@kind = args[:kind] if args.key?(:kind)
@kms_key_version_name = args[:kms_key_version_name] if args.key?(:kms_key_version_name)
end
end
# Database instance export context.
class ExportContext
include Google::Apis::Core::Hashable
# Options for exporting data as CSV.
# Corresponds to the JSON property `csvExportOptions`
# @return [Google::Apis::SqlV1beta4::ExportContext::CsvExportOptions]
attr_accessor :csv_export_options
# Databases to be exported. fileType
is SQL
and no database is specified, all
# databases are exported, except for the mysql
system database.
# If fileType
is CSV
, you can specify one database,
# either by using this property or by using the
# csvExportOptions.selectQuery
property, which takes precedence
# over this property. fileType
is CSV
,
# this database must match the one specified in the
# csvExportOptions.selectQuery
property.
# Corresponds to the JSON property `databases`
# @return [ArraySQL
: The file
# contains SQL statements. CSV
: The file contains CSV data.
# Corresponds to the JSON property `fileType`
# @return [String]
attr_accessor :file_type
# This is always sql#exportContext
.
# Corresponds to the JSON property `kind`
# @return [String]
attr_accessor :kind
# Options for exporting data as SQL statements.
# Corresponds to the JSON property `sqlExportOptions`
# @return [Google::Apis::SqlV1beta4::ExportContext::SqlExportOptions]
attr_accessor :sql_export_options
# The path to the file in Google Cloud Storage where the export will be
# stored. The URI is in the form gs:
# //bucketName/fileName
. If the file already exists, the requests
# // succeeds, but the operation fails. If fileType
is
# // SQL
and the filename ends with .gz, the contents are
# // compressed.
# Corresponds to the JSON property `uri`
# @return [String]
attr_accessor :uri
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@csv_export_options = args[:csv_export_options] if args.key?(:csv_export_options)
@databases = args[:databases] if args.key?(:databases)
@file_type = args[:file_type] if args.key?(:file_type)
@kind = args[:kind] if args.key?(:kind)
@sql_export_options = args[:sql_export_options] if args.key?(:sql_export_options)
@uri = args[:uri] if args.key?(:uri)
end
# Options for exporting data as CSV.
class CsvExportOptions
include Google::Apis::Core::Hashable
# The select query used to extract the data.
# Corresponds to the JSON property `selectQuery`
# @return [String]
attr_accessor :select_query
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@select_query = args[:select_query] if args.key?(:select_query)
end
end
# Options for exporting data as SQL statements.
class SqlExportOptions
include Google::Apis::Core::Hashable
# Options for exporting from MySQL.
# Corresponds to the JSON property `mysqlExportOptions`
# @return [Google::Apis::SqlV1beta4::ExportContext::SqlExportOptions::MysqlExportOptions]
attr_accessor :mysql_export_options
# Export only schemas.
# Corresponds to the JSON property `schemaOnly`
# @return [Boolean]
attr_accessor :schema_only
alias_method :schema_only?, :schema_only
# Tables to export, or that were exported, from the specified database. If
# you specify tables, specify one and only one database. For PostgreSQL
# instances, you can specify only one table.
# Corresponds to the JSON property `tables`
# @return [Array1
, the dump file includes
# a CHANGE MASTER TO statement with the binary log coordinates.
# If set to 2
, the CHANGE MASTER TO statement is written as
# a SQL comment, and has no effect.
# All other values are ignored.
# Corresponds to the JSON property `masterData`
# @return [Fixnum]
attr_accessor :master_data
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@master_data = args[:master_data] if args.key?(:master_data)
end
end
end
end
# Database instance failover context.
class FailoverContext
include Google::Apis::Core::Hashable
# This is always sql#failoverContext
.
# Corresponds to the JSON property `kind`
# @return [String]
attr_accessor :kind
# The current settings version of this instance. Request will be rejected if
# this version doesn't match the current settings version.
# Corresponds to the JSON property `settingsVersion`
# @return [Fixnum]
attr_accessor :settings_version
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@kind = args[:kind] if args.key?(:kind)
@settings_version = args[:settings_version] if args.key?(:settings_version)
end
end
# A flag resource.
class Flag
include Google::Apis::Core::Hashable
# For STRING
flags, a list of strings that the value can be set
# to.
# Corresponds to the JSON property `allowedStringValues`
# @return [ArrayMYSQL_5_5
,
# MYSQL_5_6
, or MYSQL_5_7
. MYSQL_5_7
# is applicable only to Second Generation instances.
# Corresponds to the JSON property `appliesTo`
# @return [Arraysql#flag
.
# Corresponds to the JSON property `kind`
# @return [String]
attr_accessor :kind
# For INTEGER
flags, the maximum allowed value.
# Corresponds to the JSON property `maxValue`
# @return [Fixnum]
attr_accessor :max_value
# For INTEGER
flags, the minimum allowed value.
# Corresponds to the JSON property `minValue`
# @return [Fixnum]
attr_accessor :min_value
# This is the name of the flag. Flag names always use underscores, not
# hyphens, e.g. max_allowed_packet
# Corresponds to the JSON property `name`
# @return [String]
attr_accessor :name
# Indicates whether changing this flag will trigger a database restart. Only
# applicable to Second Generation instances.
# Corresponds to the JSON property `requiresRestart`
# @return [Boolean]
attr_accessor :requires_restart
alias_method :requires_restart?, :requires_restart
# The type of the flag. Flags are typed to being BOOLEAN
,
# STRING
, INTEGER
or NONE
.
# NONE
is used for flags which do not take a value, such as
# skip_grant_tables
.
# Corresponds to the JSON property `type`
# @return [String]
attr_accessor :type
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@allowed_string_values = args[:allowed_string_values] if args.key?(:allowed_string_values)
@applies_to = args[:applies_to] if args.key?(:applies_to)
@in_beta = args[:in_beta] if args.key?(:in_beta)
@kind = args[:kind] if args.key?(:kind)
@max_value = args[:max_value] if args.key?(:max_value)
@min_value = args[:min_value] if args.key?(:min_value)
@name = args[:name] if args.key?(:name)
@requires_restart = args[:requires_restart] if args.key?(:requires_restart)
@type = args[:type] if args.key?(:type)
end
end
# Flags list response.
class FlagsListResponse
include Google::Apis::Core::Hashable
# List of flags.
# Corresponds to the JSON property `items`
# @return [Arraysql#flagsList
.
# Corresponds to the JSON property `kind`
# @return [String]
attr_accessor :kind
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@items = args[:items] if args.key?(:items)
@kind = args[:kind] if args.key?(:kind)
end
end
# Database instance import context.
class ImportContext
include Google::Apis::Core::Hashable
# Import parameters specific to SQL Server .BAK files
# Corresponds to the JSON property `bakImportOptions`
# @return [Google::Apis::SqlV1beta4::ImportContext::BakImportOptions]
attr_accessor :bak_import_options
# Options for importing data as CSV.
# Corresponds to the JSON property `csvImportOptions`
# @return [Google::Apis::SqlV1beta4::ImportContext::CsvImportOptions]
attr_accessor :csv_import_options
# The target database for the import. If fileType
is
# SQL
, this field is required only if the import file does not
# specify a database, and is overridden by any database specification in the
# import file. If fileType
is CSV
, one database
# must be specified.
# Corresponds to the JSON property `database`
# @return [String]
attr_accessor :database
# The file type for the specified uri. SQL
: The file
# contains SQL statements. CSV
: The file contains CSV data.
# Corresponds to the JSON property `fileType`
# @return [String]
attr_accessor :file_type
# The PostgreSQL user for this import operation. PostgreSQL instances only.
# Corresponds to the JSON property `importUser`
# @return [String]
attr_accessor :import_user
# This is always sql#importContext
.
# Corresponds to the JSON property `kind`
# @return [String]
attr_accessor :kind
# Path to the import file in Cloud Storage, in the form
# gs:
# //bucketName/fileName
. Compressed gzip files (.gz) are supported
# // when fileType
is SQL
. The instance must have
# // write permissions to the bucket and read access to the file.
# Corresponds to the JSON property `uri`
# @return [String]
attr_accessor :uri
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@bak_import_options = args[:bak_import_options] if args.key?(:bak_import_options)
@csv_import_options = args[:csv_import_options] if args.key?(:csv_import_options)
@database = args[:database] if args.key?(:database)
@file_type = args[:file_type] if args.key?(:file_type)
@import_user = args[:import_user] if args.key?(:import_user)
@kind = args[:kind] if args.key?(:kind)
@uri = args[:uri] if args.key?(:uri)
end
# Import parameters specific to SQL Server .BAK files
class BakImportOptions
include Google::Apis::Core::Hashable
#
# Corresponds to the JSON property `encryptionOptions`
# @return [Google::Apis::SqlV1beta4::ImportContext::BakImportOptions::EncryptionOptions]
attr_accessor :encryption_options
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@encryption_options = args[:encryption_options] if args.key?(:encryption_options)
end
#
class EncryptionOptions
include Google::Apis::Core::Hashable
# Path to the Certificate (.cer) in Cloud Storage, in the form
# gs://bucketName/fileName
. The instance must have
# write permissions to the bucket and read access to the file.
# Corresponds to the JSON property `certPath`
# @return [String]
attr_accessor :cert_path
# Password that encrypts the private key
# Corresponds to the JSON property `pvkPassword`
# @return [String]
attr_accessor :pvk_password
# Path to the Certificate Private Key (.pvk) in Cloud Storage, in the
# form gs://bucketName/fileName
. The instance must have
# write permissions to the bucket and read access to the file.
# Corresponds to the JSON property `pvkPath`
# @return [String]
attr_accessor :pvk_path
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@cert_path = args[:cert_path] if args.key?(:cert_path)
@pvk_password = args[:pvk_password] if args.key?(:pvk_password)
@pvk_path = args[:pvk_path] if args.key?(:pvk_path)
end
end
end
# Options for importing data as CSV.
class CsvImportOptions
include Google::Apis::Core::Hashable
# The columns to which CSV data is imported. If not specified, all columns
# of the database table are loaded with CSV data.
# Corresponds to the JSON property `columns`
# @return [Arraysql#instancesList
.
# Corresponds to the JSON property `kind`
# @return [String]
attr_accessor :kind
# The continuation token, used to page through large result sets. Provide
# this value in a subsequent request to return the next page of results.
# Corresponds to the JSON property `nextPageToken`
# @return [String]
attr_accessor :next_page_token
# List of warnings that ocurred while handling the request.
# Corresponds to the JSON property `warnings`
# @return [Arraysql#instancesListServerCas
.
# Corresponds to the JSON property `kind`
# @return [String]
attr_accessor :kind
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@active_version = args[:active_version] if args.key?(:active_version)
@certs = args[:certs] if args.key?(:certs)
@kind = args[:kind] if args.key?(:kind)
end
end
# Database instance restore backup request.
class InstancesRestoreBackupRequest
include Google::Apis::Core::Hashable
# Database instance restore from backup context.
# Backup context contains source instance id and project id.
# Corresponds to the JSON property `restoreBackupContext`
# @return [Google::Apis::SqlV1beta4::RestoreBackupContext]
attr_accessor :restore_backup_context
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@restore_backup_context = args[:restore_backup_context] if args.key?(:restore_backup_context)
end
end
# Rotate Server CA request.
class InstancesRotateServerCaRequest
include Google::Apis::Core::Hashable
# Instance rotate server CA context.
# Corresponds to the JSON property `rotateServerCaContext`
# @return [Google::Apis::SqlV1beta4::RotateServerCaContext]
attr_accessor :rotate_server_ca_context
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@rotate_server_ca_context = args[:rotate_server_ca_context] if args.key?(:rotate_server_ca_context)
end
end
# Instance truncate log request.
class InstancesTruncateLogRequest
include Google::Apis::Core::Hashable
# Database Instance truncate log context.
# Corresponds to the JSON property `truncateLogContext`
# @return [Google::Apis::SqlV1beta4::TruncateLogContext]
attr_accessor :truncate_log_context
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@truncate_log_context = args[:truncate_log_context] if args.key?(:truncate_log_context)
end
end
# IP Management configuration.
class IpConfiguration
include Google::Apis::Core::Hashable
# The list of external networks that are allowed to connect to the instance
# using the IP. In CIDR
# notation, also known as 'slash' notation (e.g.
# 192.168.100.0/24
).
# Corresponds to the JSON property `authorizedNetworks`
# @return [Array/projects/myProject/global/networks/default
. This setting can
# be updated, but it cannot be removed after it is set.
# Corresponds to the JSON property `privateNetwork`
# @return [String]
attr_accessor :private_network
# Whether SSL connections over IP should be enforced or not.
# Corresponds to the JSON property `requireSsl`
# @return [Boolean]
attr_accessor :require_ssl
alias_method :require_ssl?, :require_ssl
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@authorized_networks = args[:authorized_networks] if args.key?(:authorized_networks)
@ipv4_enabled = args[:ipv4_enabled] if args.key?(:ipv4_enabled)
@private_network = args[:private_network] if args.key?(:private_network)
@require_ssl = args[:require_ssl] if args.key?(:require_ssl)
end
end
# Database instance IP Mapping.
class IpMapping
include Google::Apis::Core::Hashable
# The IP address assigned.
# Corresponds to the JSON property `ipAddress`
# @return [String]
attr_accessor :ip_address
# The due time for this IP to be retired in RFC 3339 format, for example
# 2012-11-15T16:19:00.094Z
. This field is only available when
# the IP is scheduled to be retired.
# Corresponds to the JSON property `timeToRetire`
# @return [String]
attr_accessor :time_to_retire
# The type of this IP address. A PRIMARY
address is a public
# address that can accept incoming connections. A PRIVATE
# address is a private address that can accept incoming connections. An
# OUTGOING
address is the source address of connections
# originating from the instance, if supported.
# Corresponds to the JSON property `type`
# @return [String]
attr_accessor :type
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@ip_address = args[:ip_address] if args.key?(:ip_address)
@time_to_retire = args[:time_to_retire] if args.key?(:time_to_retire)
@type = args[:type] if args.key?(:type)
end
end
# Preferred location. This specifies where a Cloud SQL instance should
# preferably be located, either in a specific Compute Engine zone, or
# co-located with an App Engine application. Note that if the preferred
# location is not available, the instance will be located as close as possible
# within the region. Only one location may be specified.
class LocationPreference
include Google::Apis::Core::Hashable
# The AppEngine application to follow, it must be in the same region as the
# Cloud SQL instance.
# Corresponds to the JSON property `followGaeApplication`
# @return [String]
attr_accessor :follow_gae_application
# This is always sql#locationPreference
.
# Corresponds to the JSON property `kind`
# @return [String]
attr_accessor :kind
# The preferred Compute Engine zone (e.g. us-central1-a, us-central1-b,
# etc.).
# Corresponds to the JSON property `zone`
# @return [String]
attr_accessor :zone
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@follow_gae_application = args[:follow_gae_application] if args.key?(:follow_gae_application)
@kind = args[:kind] if args.key?(:kind)
@zone = args[:zone] if args.key?(:zone)
end
end
# Maintenance window. This specifies when a v2 Cloud SQL instance should
# preferably be restarted for system maintenance purposes.
class MaintenanceWindow
include Google::Apis::Core::Hashable
# day of week (1-7), starting on Monday.
# Corresponds to the JSON property `day`
# @return [Fixnum]
attr_accessor :day
# hour of day - 0 to 23.
# Corresponds to the JSON property `hour`
# @return [Fixnum]
attr_accessor :hour
# This is always sql#maintenanceWindow
.
# Corresponds to the JSON property `kind`
# @return [String]
attr_accessor :kind
# Maintenance timing setting: canary
(Earlier) or
# stable
(Later). sql#mysqlReplicaConfiguration
.
# Corresponds to the JSON property `kind`
# @return [String]
attr_accessor :kind
# Interval in milliseconds between replication heartbeats.
# Corresponds to the JSON property `masterHeartbeatPeriod`
# @return [Fixnum]
attr_accessor :master_heartbeat_period
# The password for the replication connection.
# Corresponds to the JSON property `password`
# @return [String]
attr_accessor :password
# A list of permissible ciphers to use for SSL encryption.
# Corresponds to the JSON property `sslCipher`
# @return [String]
attr_accessor :ssl_cipher
# The username for the replication connection.
# Corresponds to the JSON property `username`
# @return [String]
attr_accessor :username
# Whether or not to check the master's Common Name value in the certificate
# that it sends during the SSL handshake.
# Corresponds to the JSON property `verifyServerCertificate`
# @return [Boolean]
attr_accessor :verify_server_certificate
alias_method :verify_server_certificate?, :verify_server_certificate
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@ca_certificate = args[:ca_certificate] if args.key?(:ca_certificate)
@client_certificate = args[:client_certificate] if args.key?(:client_certificate)
@client_key = args[:client_key] if args.key?(:client_key)
@connect_retry_interval = args[:connect_retry_interval] if args.key?(:connect_retry_interval)
@dump_file_path = args[:dump_file_path] if args.key?(:dump_file_path)
@kind = args[:kind] if args.key?(:kind)
@master_heartbeat_period = args[:master_heartbeat_period] if args.key?(:master_heartbeat_period)
@password = args[:password] if args.key?(:password)
@ssl_cipher = args[:ssl_cipher] if args.key?(:ssl_cipher)
@username = args[:username] if args.key?(:username)
@verify_server_certificate = args[:verify_server_certificate] if args.key?(:verify_server_certificate)
end
end
# On-premises instance configuration.
class OnPremisesConfiguration
include Google::Apis::Core::Hashable
# The host and port of the on-premises instance in host:port format
# Corresponds to the JSON property `hostPort`
# @return [String]
attr_accessor :host_port
# This is always sql#onPremisesConfiguration
.
# Corresponds to the JSON property `kind`
# @return [String]
attr_accessor :kind
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@host_port = args[:host_port] if args.key?(:host_port)
@kind = args[:kind] if args.key?(:kind)
end
end
# An Operation resource. For successful operations that return an
# Operation resource, only the fields relevant to the operation are populated
# in the resource.
class Operation
include Google::Apis::Core::Hashable
# The time this operation finished in UTC timezone in RFC 3339 format, for example
# 2012-11-15T16:19:00.094Z
.
# Corresponds to the JSON property `endTime`
# @return [String]
attr_accessor :end_time
# Database instance operation errors list wrapper.
# Corresponds to the JSON property `error`
# @return [Google::Apis::SqlV1beta4::OperationErrors]
attr_accessor :error
# Database instance export context.
# Corresponds to the JSON property `exportContext`
# @return [Google::Apis::SqlV1beta4::ExportContext]
attr_accessor :export_context
# Database instance import context.
# Corresponds to the JSON property `importContext`
# @return [Google::Apis::SqlV1beta4::ImportContext]
attr_accessor :import_context
# The time this operation was enqueued in UTC timezone in RFC 3339 format, for example
# 2012-11-15T16:19:00.094Z
.
# Corresponds to the JSON property `insertTime`
# @return [String]
attr_accessor :insert_time
# This is always sql#operation
.
# Corresponds to the JSON property `kind`
# @return [String]
attr_accessor :kind
# An identifier that uniquely identifies the operation. You can use this
# identifier to retrieve the Operations resource that has information about
# the operation.
# Corresponds to the JSON property `name`
# @return [String]
attr_accessor :name
# The type of the operation. Valid values are CREATE
,
# DELETE
, UPDATE
, RESTART
,
# IMPORT
, EXPORT
, BACKUP_VOLUME
,
# RESTORE_VOLUME
, CREATE_USER
,
# DELETE_USER
, CREATE_DATABASE
,
# DELETE_DATABASE
.
# Corresponds to the JSON property `operationType`
# @return [String]
attr_accessor :operation_type
# The URI of this resource.
# Corresponds to the JSON property `selfLink`
# @return [String]
attr_accessor :self_link
# The time this operation actually started in UTC timezone in RFC 3339 format, for example
# 2012-11-15T16:19:00.094Z
.
# Corresponds to the JSON property `startTime`
# @return [String]
attr_accessor :start_time
# The status of an operation. Valid values are PENDING
,
# RUNNING
, DONE
, UNKNOWN
.
# Corresponds to the JSON property `status`
# @return [String]
attr_accessor :status
# Name of the database instance related to this operation.
# Corresponds to the JSON property `targetId`
# @return [String]
attr_accessor :target_id
#
# Corresponds to the JSON property `targetLink`
# @return [String]
attr_accessor :target_link
# The project ID of the target instance related to this operation.
# Corresponds to the JSON property `targetProject`
# @return [String]
attr_accessor :target_project
# The email address of the user who initiated this operation.
# Corresponds to the JSON property `user`
# @return [String]
attr_accessor :user
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@end_time = args[:end_time] if args.key?(:end_time)
@error = args[:error] if args.key?(:error)
@export_context = args[:export_context] if args.key?(:export_context)
@import_context = args[:import_context] if args.key?(:import_context)
@insert_time = args[:insert_time] if args.key?(:insert_time)
@kind = args[:kind] if args.key?(:kind)
@name = args[:name] if args.key?(:name)
@operation_type = args[:operation_type] if args.key?(:operation_type)
@self_link = args[:self_link] if args.key?(:self_link)
@start_time = args[:start_time] if args.key?(:start_time)
@status = args[:status] if args.key?(:status)
@target_id = args[:target_id] if args.key?(:target_id)
@target_link = args[:target_link] if args.key?(:target_link)
@target_project = args[:target_project] if args.key?(:target_project)
@user = args[:user] if args.key?(:user)
end
end
# Database instance operation error.
class OperationError
include Google::Apis::Core::Hashable
# Identifies the specific error that occurred.
# Corresponds to the JSON property `code`
# @return [String]
attr_accessor :code
# This is always sql#operationError
.
# Corresponds to the JSON property `kind`
# @return [String]
attr_accessor :kind
# Additional information about the error encountered.
# Corresponds to the JSON property `message`
# @return [String]
attr_accessor :message
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@code = args[:code] if args.key?(:code)
@kind = args[:kind] if args.key?(:kind)
@message = args[:message] if args.key?(:message)
end
end
# Database instance operation errors list wrapper.
class OperationErrors
include Google::Apis::Core::Hashable
# The list of errors encountered while processing this operation.
# Corresponds to the JSON property `errors`
# @return [Arraysql#operationErrors
.
# Corresponds to the JSON property `kind`
# @return [String]
attr_accessor :kind
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@errors = args[:errors] if args.key?(:errors)
@kind = args[:kind] if args.key?(:kind)
end
end
# Database instance list operations response.
class OperationsListResponse
include Google::Apis::Core::Hashable
# List of operation resources.
# Corresponds to the JSON property `items`
# @return [Arraysql#operationsList
.
# Corresponds to the JSON property `kind`
# @return [String]
attr_accessor :kind
# The continuation token, used to page through large result sets. Provide
# this value in a subsequent request to return the next page of results.
# Corresponds to the JSON property `nextPageToken`
# @return [String]
attr_accessor :next_page_token
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@items = args[:items] if args.key?(:items)
@kind = args[:kind] if args.key?(:kind)
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
end
end
# Read-replica configuration for connecting to the master.
class ReplicaConfiguration
include Google::Apis::Core::Hashable
# Specifies if the replica is the failover target. If the field is set to
# true
the replica will be designated as a failover replica. In
# case the master instance fails, the replica instance will be promoted as
# the new master instance. Only one replica can be specified as failover
# target, and the replica has to be in different zone with the master
# instance.
# Corresponds to the JSON property `failoverTarget`
# @return [Boolean]
attr_accessor :failover_target
alias_method :failover_target?, :failover_target
# This is always sql#replicaConfiguration
.
# Corresponds to the JSON property `kind`
# @return [String]
attr_accessor :kind
# Read-replica configuration specific to MySQL databases.
# Corresponds to the JSON property `mysqlReplicaConfiguration`
# @return [Google::Apis::SqlV1beta4::MySqlReplicaConfiguration]
attr_accessor :mysql_replica_configuration
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@failover_target = args[:failover_target] if args.key?(:failover_target)
@kind = args[:kind] if args.key?(:kind)
@mysql_replica_configuration = args[:mysql_replica_configuration] if args.key?(:mysql_replica_configuration)
end
end
# Database instance restore from backup context.
# Backup context contains source instance id and project id.
class RestoreBackupContext
include Google::Apis::Core::Hashable
# The ID of the backup run to restore from.
# Corresponds to the JSON property `backupRunId`
# @return [Fixnum]
attr_accessor :backup_run_id
# The ID of the instance that the backup was taken from.
# Corresponds to the JSON property `instanceId`
# @return [String]
attr_accessor :instance_id
# This is always sql#restoreBackupContext
.
# Corresponds to the JSON property `kind`
# @return [String]
attr_accessor :kind
# The full project ID of the source instance.
# Corresponds to the JSON property `project`
# @return [String]
attr_accessor :project
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@backup_run_id = args[:backup_run_id] if args.key?(:backup_run_id)
@instance_id = args[:instance_id] if args.key?(:instance_id)
@kind = args[:kind] if args.key?(:kind)
@project = args[:project] if args.key?(:project)
end
end
# Instance rotate server CA context.
class RotateServerCaContext
include Google::Apis::Core::Hashable
# This is always sql#rotateServerCaContext
.
# Corresponds to the JSON property `kind`
# @return [String]
attr_accessor :kind
# The fingerprint of the next version to be rotated to. If left unspecified,
# will be rotated to the most recently added server CA version.
# Corresponds to the JSON property `nextVersion`
# @return [String]
attr_accessor :next_version
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@kind = args[:kind] if args.key?(:kind)
@next_version = args[:next_version] if args.key?(:next_version)
end
end
# Database instance settings.
class Settings
include Google::Apis::Core::Hashable
# The activation policy specifies when the instance is activated; it is
# applicable only when the instance state is RUNNABLE
. Valid
# values: ALWAYS
: The instance is on, and remains so even in
# the absence of connection requests. NEVER
: The instance is
# off; it is not activated, even if a connection request arrives.
# ON_DEMAND
: First Generation instances only. The instance
# responds to incoming requests, and turns itself off when not in use.
# Instances with PER_USE
pricing turn off after 15 minutes of
# inactivity. Instances with PER_PACKAGE
pricing turn off after
# 12 hours of inactivity.
# Corresponds to the JSON property `activationPolicy`
# @return [String]
attr_accessor :activation_policy
# The App Engine app IDs that can access this instance. First Generation
# instances only.
# Corresponds to the JSON property `authorizedGaeApplications`
# @return [ArrayZONAL
: The instance serves data from only one zone.
# Outages in that zone affect data accessibility. REGIONAL
:
# The instance can serve data from more than one zone in a region (it is
# highly available).
For more information, see Overview
# of the High Availability Configuration.
# Corresponds to the JSON property `availabilityType`
# @return [String]
attr_accessor :availability_type
# Database instance backup configuration.
# Corresponds to the JSON property `backupConfiguration`
# @return [Google::Apis::SqlV1beta4::BackupConfiguration]
attr_accessor :backup_configuration
# Configuration specific to read replica instances. Indicates whether
# database flags for crash-safe replication are enabled. This property is
# only applicable to First Generation instances.
# Corresponds to the JSON property `crashSafeReplicationEnabled`
# @return [Boolean]
attr_accessor :crash_safe_replication_enabled
alias_method :crash_safe_replication_enabled?, :crash_safe_replication_enabled
# The size of data disk, in GB. The data disk size minimum is 10GB. Not used
# for First Generation instances.
# Corresponds to the JSON property `dataDiskSizeGb`
# @return [Fixnum]
attr_accessor :data_disk_size_gb
# The type of data disk: PD_SSD
(default) or
# PD_HDD
. Not used for First Generation instances.
# Corresponds to the JSON property `dataDiskType`
# @return [String]
attr_accessor :data_disk_type
# The database flags passed to the instance at startup.
# Corresponds to the JSON property `databaseFlags`
# @return [Arraysql#settings
.
# Corresponds to the JSON property `kind`
# @return [String]
attr_accessor :kind
# Preferred location. This specifies where a Cloud SQL instance should
# preferably be located, either in a specific Compute Engine zone, or
# co-located with an App Engine application. Note that if the preferred
# location is not available, the instance will be located as close as possible
# within the region. Only one location may be specified.
# Corresponds to the JSON property `locationPreference`
# @return [Google::Apis::SqlV1beta4::LocationPreference]
attr_accessor :location_preference
# Maintenance window. This specifies when a v2 Cloud SQL instance should
# preferably be restarted for system maintenance purposes.
# Corresponds to the JSON property `maintenanceWindow`
# @return [Google::Apis::SqlV1beta4::MaintenanceWindow]
attr_accessor :maintenance_window
# The pricing plan for this instance. This can be either PER_USE
# or PACKAGE
. Only PER_USE
is supported for Second
# Generation instances.
# Corresponds to the JSON property `pricingPlan`
# @return [String]
attr_accessor :pricing_plan
# The type of replication this instance uses. This can be either
# ASYNCHRONOUS
or SYNCHRONOUS
. This property is
# only applicable to First Generation instances.
# Corresponds to the JSON property `replicationType`
# @return [String]
attr_accessor :replication_type
# The version of instance settings. This is a required field for update
# method to make sure concurrent updates are handled properly. During update,
# use the most recent settingsVersion value for this instance and do not try
# to update this value.
# Corresponds to the JSON property `settingsVersion`
# @return [Fixnum]
attr_accessor :settings_version
# Configuration to increase storage size automatically. The default value is
# true. Not used for First Generation instances.
# Corresponds to the JSON property `storageAutoResize`
# @return [Boolean]
attr_accessor :storage_auto_resize
alias_method :storage_auto_resize?, :storage_auto_resize
# The maximum size to which storage capacity can be automatically increased.
# The default value is 0, which specifies that there is no limit. Not used
# for First Generation instances.
# Corresponds to the JSON property `storageAutoResizeLimit`
# @return [Fixnum]
attr_accessor :storage_auto_resize_limit
# The tier (or machine type) for this instance, for example
# db-n1-standard-1
(MySQL instances) or
# db-custom-1-3840
(PostgreSQL instances). For MySQL instances,
# this property determines whether the instance is First or Second
# Generation. For more information, see Instance Settings.
# Corresponds to the JSON property `tier`
# @return [String]
attr_accessor :tier
# User-provided labels, represented as a dictionary where each label is a
# single key value pair.
# Corresponds to the JSON property `userLabels`
# @return [Hash2012-11-15T16:19:00.094Z
# Corresponds to the JSON property `createTime`
# @return [String]
attr_accessor :create_time
# The time when the certificate expires in RFC 3339 format, for example
# 2012-11-15T16:19:00.094Z
.
# Corresponds to the JSON property `expirationTime`
# @return [String]
attr_accessor :expiration_time
# Name of the database instance.
# Corresponds to the JSON property `instance`
# @return [String]
attr_accessor :instance
# This is always sql#sslCert
.
# Corresponds to the JSON property `kind`
# @return [String]
attr_accessor :kind
# The URI of this resource.
# Corresponds to the JSON property `selfLink`
# @return [String]
attr_accessor :self_link
# Sha1 Fingerprint.
# Corresponds to the JSON property `sha1Fingerprint`
# @return [String]
attr_accessor :sha1_fingerprint
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@cert = args[:cert] if args.key?(:cert)
@cert_serial_number = args[:cert_serial_number] if args.key?(:cert_serial_number)
@common_name = args[:common_name] if args.key?(:common_name)
@create_time = args[:create_time] if args.key?(:create_time)
@expiration_time = args[:expiration_time] if args.key?(:expiration_time)
@instance = args[:instance] if args.key?(:instance)
@kind = args[:kind] if args.key?(:kind)
@self_link = args[:self_link] if args.key?(:self_link)
@sha1_fingerprint = args[:sha1_fingerprint] if args.key?(:sha1_fingerprint)
end
end
# SslCertDetail.
class SslCertDetail
include Google::Apis::Core::Hashable
# SslCerts Resource
# Corresponds to the JSON property `certInfo`
# @return [Google::Apis::SqlV1beta4::SslCert]
attr_accessor :cert_info
# The private key for the client cert, in pem format. Keep private in order
# to protect your security.
# Corresponds to the JSON property `certPrivateKey`
# @return [String]
attr_accessor :cert_private_key
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@cert_info = args[:cert_info] if args.key?(:cert_info)
@cert_private_key = args[:cert_private_key] if args.key?(:cert_private_key)
end
end
# SslCerts create ephemeral certificate request.
class SslCertsCreateEphemeralRequest
include Google::Apis::Core::Hashable
# PEM encoded public key to include in the signed certificate.
# Corresponds to the JSON property `public_key`
# @return [String]
attr_accessor :public_key
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@public_key = args[:public_key] if args.key?(:public_key)
end
end
# SslCerts insert request.
class SslCertsInsertRequest
include Google::Apis::Core::Hashable
# User supplied name. Must be a distinct name from the other certificates
# for this instance.
# Corresponds to the JSON property `commonName`
# @return [String]
attr_accessor :common_name
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@common_name = args[:common_name] if args.key?(:common_name)
end
end
# SslCert insert response.
class SslCertsInsertResponse
include Google::Apis::Core::Hashable
# SslCertDetail.
# Corresponds to the JSON property `clientCert`
# @return [Google::Apis::SqlV1beta4::SslCertDetail]
attr_accessor :client_cert
# This is always sql#sslCertsInsert
.
# Corresponds to the JSON property `kind`
# @return [String]
attr_accessor :kind
# An Operation resource. For successful operations that return an
# Operation resource, only the fields relevant to the operation are populated
# in the resource.
# Corresponds to the JSON property `operation`
# @return [Google::Apis::SqlV1beta4::Operation]
attr_accessor :operation
# SslCerts Resource
# Corresponds to the JSON property `serverCaCert`
# @return [Google::Apis::SqlV1beta4::SslCert]
attr_accessor :server_ca_cert
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@client_cert = args[:client_cert] if args.key?(:client_cert)
@kind = args[:kind] if args.key?(:kind)
@operation = args[:operation] if args.key?(:operation)
@server_ca_cert = args[:server_ca_cert] if args.key?(:server_ca_cert)
end
end
# SslCerts list response.
class SslCertsListResponse
include Google::Apis::Core::Hashable
# List of client certificates for the instance.
# Corresponds to the JSON property `items`
# @return [Arraysql#sslCertsList
.
# Corresponds to the JSON property `kind`
# @return [String]
attr_accessor :kind
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@items = args[:items] if args.key?(:items)
@kind = args[:kind] if args.key?(:kind)
end
end
# A Google Cloud SQL service tier resource.
class Tier
include Google::Apis::Core::Hashable
# The maximum disk size of this tier in bytes.
# Corresponds to the JSON property `DiskQuota`
# @return [Fixnum]
attr_accessor :disk_quota
# The maximum RAM usage of this tier in bytes.
# Corresponds to the JSON property `RAM`
# @return [Fixnum]
attr_accessor :ram
# This is always sql#tier
.
# Corresponds to the JSON property `kind`
# @return [String]
attr_accessor :kind
# The applicable regions for this tier.
# Corresponds to the JSON property `region`
# @return [Arraysql#tiersList
.
# Corresponds to the JSON property `kind`
# @return [String]
attr_accessor :kind
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@items = args[:items] if args.key?(:items)
@kind = args[:kind] if args.key?(:kind)
end
end
# Database Instance truncate log context.
class TruncateLogContext
include Google::Apis::Core::Hashable
# This is always sql#truncateLogContext
.
# Corresponds to the JSON property `kind`
# @return [String]
attr_accessor :kind
# The type of log to truncate. Valid values are
# MYSQL_GENERAL_TABLE
and MYSQL_SLOW_TABLE
.
# Corresponds to the JSON property `logType`
# @return [String]
attr_accessor :log_type
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@kind = args[:kind] if args.key?(:kind)
@log_type = args[:log_type] if args.key?(:log_type)
end
end
# A Cloud SQL user resource.
class User
include Google::Apis::Core::Hashable
# This field is deprecated and will be removed from a future version of the
# API.
# Corresponds to the JSON property `etag`
# @return [String]
attr_accessor :etag
# The host name from which the user can connect. For insert
# operations, host defaults to an empty string. For update
# operations, host is specified as part of the request URL. The host name
# cannot be updated after insertion.
# Corresponds to the JSON property `host`
# @return [String]
attr_accessor :host
# The name of the Cloud SQL instance. This does not include the project ID.
# Can be omitted for update
since it is already specified on the
# URL.
# Corresponds to the JSON property `instance`
# @return [String]
attr_accessor :instance
# This is always sql#user
.
# Corresponds to the JSON property `kind`
# @return [String]
attr_accessor :kind
# The name of the user in the Cloud SQL instance. Can be omitted for
# update
since it is already specified in the URL.
# Corresponds to the JSON property `name`
# @return [String]
attr_accessor :name
# The password for the user.
# Corresponds to the JSON property `password`
# @return [String]
attr_accessor :password
# The project ID of the project containing the Cloud SQL database. The Google
# apps domain is prefixed if applicable. Can be omitted for
# update
since it is already specified on the URL.
# Corresponds to the JSON property `project`
# @return [String]
attr_accessor :project
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@etag = args[:etag] if args.key?(:etag)
@host = args[:host] if args.key?(:host)
@instance = args[:instance] if args.key?(:instance)
@kind = args[:kind] if args.key?(:kind)
@name = args[:name] if args.key?(:name)
@password = args[:password] if args.key?(:password)
@project = args[:project] if args.key?(:project)
end
end
# User list response.
class UsersListResponse
include Google::Apis::Core::Hashable
# List of user resources in the instance.
# Corresponds to the JSON property `items`
# @return [Arraysql#usersList
.
# Corresponds to the JSON property `kind`
# @return [String]
attr_accessor :kind
# An identifier that uniquely identifies the operation. You can use this
# identifier to retrieve the Operations resource that has information about
# the operation.
# Corresponds to the JSON property `nextPageToken`
# @return [String]
attr_accessor :next_page_token
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@items = args[:items] if args.key?(:items)
@kind = args[:kind] if args.key?(:kind)
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
end
end
end
end
end