2966 lines
114 KiB
Ruby
2966 lines
114 KiB
Ruby
# Copyright 2015 Google Inc.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
require 'date'
|
|
require 'google/apis/core/base_service'
|
|
require 'google/apis/core/json_representation'
|
|
require 'google/apis/core/hashable'
|
|
require 'google/apis/errors'
|
|
|
|
module Google
|
|
module Apis
|
|
module SqlV1beta4
|
|
|
|
# An entry for an Access Control list.
|
|
class AclEntry
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The time when this access control entry expires in <a
|
|
# href="https://tools.ietf.org/html/rfc3339">RFC 3339</a> format, for example
|
|
# <b>2012-11-15T16:19:00.094Z</b>.
|
|
# Corresponds to the JSON property `expirationTime`
|
|
# @return [String]
|
|
attr_accessor :expiration_time
|
|
|
|
# This is always <b>sql#aclEntry</b>.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# Optional. A 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
|
|
|
|
# (MySQL only) Whether binary log is enabled. If backup configuration is
|
|
# disabled, binarylog 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 <b>sql#backupConfiguration</b>.
|
|
# 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 `pointInTimeRecoveryEnabled`
|
|
# @return [Boolean]
|
|
attr_accessor :point_in_time_recovery_enabled
|
|
alias_method :point_in_time_recovery_enabled?, :point_in_time_recovery_enabled
|
|
|
|
# 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 - <b>HH:MM</b>.
|
|
# 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)
|
|
@point_in_time_recovery_enabled = args[:point_in_time_recovery_enabled] if args.key?(:point_in_time_recovery_enabled)
|
|
@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
|
|
|
|
# Specifies the kind of backup, PHYSICAL or DEFAULT_SNAPSHOT.
|
|
# Corresponds to the JSON property `backupKind`
|
|
# @return [String]
|
|
attr_accessor :backup_kind
|
|
|
|
# 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 <a
|
|
# href="https://tools.ietf.org/html/rfc3339">RFC 3339</a> format, for example
|
|
# <b>2012-11-15T16:19:00.094Z</b>.
|
|
# Corresponds to the JSON property `endTime`
|
|
# @return [String]
|
|
attr_accessor :end_time
|
|
|
|
# The time the run was enqueued in UTC timezone in <a
|
|
# href="https://tools.ietf.org/html/rfc3339">RFC 3339</a> format, for example
|
|
# <b>2012-11-15T16:19:00.094Z</b>.
|
|
# 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 <b>sql#backupRun</b>.
|
|
# 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 <a
|
|
# href="https://tools.ietf.org/html/rfc3339">RFC 3339</a> format, for example
|
|
# <b>2012-11-15T16:19:00.094Z</b>.
|
|
# 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 <a href="https://tools.ietf.org/html/rfc3339">RFC 3339</a>
|
|
# format, for example <b>2012-11-15T16:19:00.094Z</b>.
|
|
# 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)
|
|
@backup_kind = args[:backup_kind] if args.key?(:backup_kind)
|
|
@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 [Array<Google::Apis::SqlV1beta4::BackupRun>]
|
|
attr_accessor :items
|
|
|
|
# This is always <b>sql#backupRunsList</b>.
|
|
# 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 <b>sql#binLogCoordinates</b>.
|
|
# 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 <b>sql#cloneContext</b>.
|
|
# 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
|
|
|
|
# Reserved for future use.
|
|
# Corresponds to the JSON property `pointInTime`
|
|
# @return [String]
|
|
attr_accessor :point_in_time
|
|
|
|
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)
|
|
@point_in_time = args[:point_in_time] if args.key?(:point_in_time)
|
|
end
|
|
end
|
|
|
|
# Represents a SQL database on the Cloud SQL instance.
|
|
class Database
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The Cloud SQL charset value.
|
|
# Corresponds to the JSON property `charset`
|
|
# @return [String]
|
|
attr_accessor :charset
|
|
|
|
# The Cloud SQL 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 <b>sql#database</b>.
|
|
# 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
|
|
|
|
# Represents a Sql Server database on the Cloud SQL instance.
|
|
# Corresponds to the JSON property `sqlserverDatabaseDetails`
|
|
# @return [Google::Apis::SqlV1beta4::SqlServerDatabaseDetails]
|
|
attr_accessor :sqlserver_database_details
|
|
|
|
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)
|
|
@sqlserver_database_details = args[:sqlserver_database_details] if args.key?(:sqlserver_database_details)
|
|
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 <a
|
|
# href="/sql/docs/mysql/flags">Configuring Database Flags</a> 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 <b>on</b> for true
|
|
# and <b>off</b> 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.
|
|
# Next field: 34
|
|
class DatabaseInstance
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# <br><b>SECOND_GEN</b>: Cloud SQL database instance.
|
|
# <br><b>EXTERNAL</b>: A database server that is not
|
|
# managed by Google. <br>This property is read-only; use the
|
|
# <b>tier</b> property in the <b>settings</b> object to determine
|
|
# the database type.
|
|
# 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 <a
|
|
# href="https://groups.google.com/d/msg/google-cloud-sql-announce/I_7-F9EBhT0/
|
|
# BtvFtdFeAgAJ">this
|
|
# announcement</a> for details.
|
|
# Corresponds to the JSON property `currentDiskSize`
|
|
# @return [Fixnum]
|
|
attr_accessor :current_disk_size
|
|
|
|
# The database engine type and version. The <b>databaseVersion</b>
|
|
# field cannot be changed after instance creation.
|
|
# <br>MySQL instances: <b>MYSQL_5_7</b> (default), or <b>MYSQL_5_6</b>.
|
|
# <br>PostgreSQL instances: <b>POSTGRES_9_6</b> (default), or
|
|
# <b>POSTGRES_10</b>, or <b>POSTGRES_11 Beta</b>, or <b>POSTGRES_12</b>.
|
|
# <br>SQL Server instances: <b>SQLSERVER_2017_STANDARD</b> (default),
|
|
# <b>SQLSERVER_2017_ENTERPRISE</b>, <b>SQLSERVER_2017_EXPRESS</b>, or
|
|
# <b>SQLSERVER_2017_WEB</b>.
|
|
# 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 <b>settings.settingsVersion</b> 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.
|
|
# <br><b>CLOUD_SQL_INSTANCE</b>: A Cloud SQL instance that is not replicating
|
|
# from a master. <br><b>ON_PREMISES_INSTANCE</b>: An instance running on the
|
|
# customer's premises. <br><b>READ_REPLICA_INSTANCE</b>: 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 [Array<Google::Apis::SqlV1beta4::IpMapping>]
|
|
attr_accessor :ip_addresses
|
|
|
|
# The IPv6 address assigned to the instance.
|
|
# (Deprecated) This property was applicable only
|
|
# to First Generation instances.
|
|
# Corresponds to the JSON property `ipv6Address`
|
|
# @return [String]
|
|
attr_accessor :ipv6_address
|
|
|
|
# This is always <b>sql#instance</b>.
|
|
# 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
|
|
# <br><b>us-central</b> (<b>FIRST_GEN</b> instances only)
|
|
# <br><b>us-central1</b> (<b>SECOND_GEN</b> instances only)
|
|
# <br><b>asia-east1</b> or <b>europe-west1</b>.
|
|
# <br>Defaults to <b>us-central</b> or
|
|
# <b>us-central1</b> depending on the instance type.
|
|
# The region cannot 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 [Array<String>]
|
|
attr_accessor :replica_names
|
|
|
|
# Initial root password. Use only on creation.
|
|
# Corresponds to the JSON property `rootPassword`
|
|
# @return [String]
|
|
attr_accessor :root_password
|
|
|
|
# Any scheduled maintenancce for this instance.
|
|
# Corresponds to the JSON property `scheduledMaintenance`
|
|
# @return [Google::Apis::SqlV1beta4::SqlScheduledMaintenance]
|
|
attr_accessor :scheduled_maintenance
|
|
|
|
# The URI of this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# SslCerts Resource
|
|
# Corresponds to the JSON property `serverCaCert`
|
|
# @return [Google::Apis::SqlV1beta4::SslCert]
|
|
attr_accessor :server_ca_cert
|
|
|
|
# The service account email address assigned to the instance. This property
|
|
# is applicable only to Second Generation instances.
|
|
# Corresponds to the JSON property `serviceAccountEmailAddress`
|
|
# @return [String]
|
|
attr_accessor :service_account_email_address
|
|
|
|
# Database instance settings.
|
|
# Corresponds to the JSON property `settings`
|
|
# @return [Google::Apis::SqlV1beta4::Settings]
|
|
attr_accessor :settings
|
|
|
|
# The current serving state of the Cloud SQL instance. This can be one of the
|
|
# following. <br><b>RUNNABLE</b>: The instance is running, or is ready
|
|
# to run when accessed. <br><b>SUSPENDED</b>: The instance is not
|
|
# available, for example due to problems with billing.
|
|
# <br><b>PENDING_CREATE</b>: The instance is being created.
|
|
# <br><b>MAINTENANCE</b>: The instance is down for maintenance.
|
|
# <br><b>FAILED</b>: The instance creation failed.
|
|
# <br><b>UNKNOWN_STATE</b>: 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 [Array<String>]
|
|
attr_accessor :suspension_reason
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@backend_type = args[:backend_type] if args.key?(:backend_type)
|
|
@connection_name = args[:connection_name] if args.key?(:connection_name)
|
|
@current_disk_size = args[:current_disk_size] if args.key?(:current_disk_size)
|
|
@database_version = args[:database_version] if args.key?(:database_version)
|
|
@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)
|
|
@etag = args[:etag] if args.key?(:etag)
|
|
@failover_replica = args[:failover_replica] if args.key?(:failover_replica)
|
|
@gce_zone = args[:gce_zone] if args.key?(:gce_zone)
|
|
@instance_type = args[:instance_type] if args.key?(:instance_type)
|
|
@ip_addresses = args[:ip_addresses] if args.key?(:ip_addresses)
|
|
@ipv6_address = args[:ipv6_address] if args.key?(:ipv6_address)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@master_instance_name = args[:master_instance_name] if args.key?(:master_instance_name)
|
|
@max_disk_size = args[:max_disk_size] if args.key?(:max_disk_size)
|
|
@name = args[:name] if args.key?(:name)
|
|
@on_premises_configuration = args[:on_premises_configuration] if args.key?(:on_premises_configuration)
|
|
@project = args[:project] if args.key?(:project)
|
|
@region = args[:region] if args.key?(:region)
|
|
@replica_configuration = args[:replica_configuration] if args.key?(:replica_configuration)
|
|
@replica_names = args[:replica_names] if args.key?(:replica_names)
|
|
@root_password = args[:root_password] if args.key?(:root_password)
|
|
@scheduled_maintenance = args[:scheduled_maintenance] if args.key?(:scheduled_maintenance)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@server_ca_cert = args[:server_ca_cert] if args.key?(:server_ca_cert)
|
|
@service_account_email_address = args[:service_account_email_address] if args.key?(:service_account_email_address)
|
|
@settings = args[:settings] if args.key?(:settings)
|
|
@state = args[:state] if args.key?(:state)
|
|
@suspension_reason = args[:suspension_reason] if args.key?(:suspension_reason)
|
|
end
|
|
|
|
# The name and status of the failover replica. This property is applicable
|
|
# only to Second Generation instances.
|
|
class FailoverReplica
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The availability status of the failover replica. A false status indicates
|
|
# that the failover replica is out of sync. The master can only failover to
|
|
# the failover replica when the status is true.
|
|
# Corresponds to the JSON property `available`
|
|
# @return [Boolean]
|
|
attr_accessor :available
|
|
alias_method :available?, :available
|
|
|
|
# The name of the failover replica. If specified at instance creation, a
|
|
# failover replica is created for the instance. The name
|
|
# doesn't include the project ID. This property is applicable only to
|
|
# Second Generation instances.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@available = args[:available] if args.key?(:available)
|
|
@name = args[:name] if args.key?(:name)
|
|
end
|
|
end
|
|
end
|
|
|
|
# Database list response.
|
|
class DatabasesListResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# List of database resources in the instance.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::SqlV1beta4::Database>]
|
|
attr_accessor :items
|
|
|
|
# This is always <b>sql#databasesList</b>.
|
|
# 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 <b>sql#demoteMasterConfiguration</b>.
|
|
# 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 <b>sql#demoteMasterContext</b>.
|
|
# 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:
|
|
# <b>True</b>. 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 <b>sql#demoteMasterMysqlReplicaConfiguration</b>.
|
|
# 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 <b>sql#diskEncryptionConfiguration</b>.
|
|
# 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 <b>sql#diskEncryptionStatus</b>.
|
|
# 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. <br /> <b>MySQL instances:</b> If
|
|
# <b>fileType</b> is <b>SQL</b> and no database is specified, all
|
|
# databases are exported, except for the <b>mysql</b> system database.
|
|
# If <b>fileType</b> is <b>CSV</b>, you can specify one database,
|
|
# either by using this property or by using the
|
|
# <b>csvExportOptions.selectQuery</b> property, which takes precedence
|
|
# over this property. <br /> <b>PostgreSQL instances:</b> You must specify
|
|
# one database to be exported. If <b>fileType</b> is <b>CSV</b>,
|
|
# this database must match the one specified in the
|
|
# <b>csvExportOptions.selectQuery</b> property.
|
|
# Corresponds to the JSON property `databases`
|
|
# @return [Array<String>]
|
|
attr_accessor :databases
|
|
|
|
# The file type for the specified uri. <br><b>SQL</b>: The file
|
|
# contains SQL statements. <br><b>CSV</b>: The file contains CSV data.
|
|
# Corresponds to the JSON property `fileType`
|
|
# @return [String]
|
|
attr_accessor :file_type
|
|
|
|
# This is always <b>sql#exportContext</b>.
|
|
# 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 <b>gs:
|
|
# //bucketName/fileName</b>. If the file already exists, the requests
|
|
# // succeeds, but the operation fails. If <b>fileType</b> is
|
|
# // <b>SQL</b> 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 [Array<String>]
|
|
attr_accessor :tables
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@mysql_export_options = args[:mysql_export_options] if args.key?(:mysql_export_options)
|
|
@schema_only = args[:schema_only] if args.key?(:schema_only)
|
|
@tables = args[:tables] if args.key?(:tables)
|
|
end
|
|
|
|
# Options for exporting from MySQL.
|
|
class MysqlExportOptions
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Option to include SQL statement required to set up replication.
|
|
# <br>If set to <b>1</b>, the dump file includes
|
|
# a CHANGE MASTER TO statement with the binary log coordinates.
|
|
# <br>If set to <b>2</b>, 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 <b>sql#failoverContext</b>.
|
|
# 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
|
|
|
|
# Use this field if only certain integers are accepted. Can be combined
|
|
# with min_value and max_value to add additional values.
|
|
# Corresponds to the JSON property `allowedIntValues`
|
|
# @return [Array<Fixnum>]
|
|
attr_accessor :allowed_int_values
|
|
|
|
# For <b>STRING</b> flags, a list of strings that the value can be set
|
|
# to.
|
|
# Corresponds to the JSON property `allowedStringValues`
|
|
# @return [Array<String>]
|
|
attr_accessor :allowed_string_values
|
|
|
|
# The database version this flag applies to. Can be <b>MYSQL_5_5</b>,
|
|
# <b>MYSQL_5_6</b>, or <b>MYSQL_5_7</b>. <b>MYSQL_5_7</b>
|
|
# is applicable only to Second Generation instances.
|
|
# Corresponds to the JSON property `appliesTo`
|
|
# @return [Array<String>]
|
|
attr_accessor :applies_to
|
|
|
|
# Whether or not the flag is considered in beta.
|
|
# Corresponds to the JSON property `inBeta`
|
|
# @return [Boolean]
|
|
attr_accessor :in_beta
|
|
alias_method :in_beta?, :in_beta
|
|
|
|
# This is always <b>sql#flag</b>.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# For <b>INTEGER</b> flags, the maximum allowed value.
|
|
# Corresponds to the JSON property `maxValue`
|
|
# @return [Fixnum]
|
|
attr_accessor :max_value
|
|
|
|
# For <b>INTEGER</b> 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. <b>max_allowed_packet</b>
|
|
# 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 <b>BOOLEAN</b>,
|
|
# <b>STRING</b>, <b>INTEGER</b> or <b>NONE</b>.
|
|
# <b>NONE</b> is used for flags which do not take a value, such as
|
|
# <b>skip_grant_tables</b>.
|
|
# 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_int_values = args[:allowed_int_values] if args.key?(:allowed_int_values)
|
|
@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 [Array<Google::Apis::SqlV1beta4::Flag>]
|
|
attr_accessor :items
|
|
|
|
# This is always <b>sql#flagsList</b>.
|
|
# 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 <b>fileType</b> is
|
|
# <b>SQL</b>, 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 <b>fileType</b> is <b>CSV</b>, one database
|
|
# must be specified.
|
|
# Corresponds to the JSON property `database`
|
|
# @return [String]
|
|
attr_accessor :database
|
|
|
|
# The file type for the specified uri. <br><b>SQL</b>: The file
|
|
# contains SQL statements. <br><b>CSV</b>: 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 <b>sql#importContext</b>.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# Path to the import file in Cloud Storage, in the form
|
|
# <b>gs:
|
|
# //bucketName/fileName</b>. Compressed gzip files (.gz) are supported
|
|
# // when <b>fileType</b> is <b>SQL</b>. 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
|
|
# <b>gs://bucketName/fileName</b>. 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 <b>gs://bucketName/fileName</b>. 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 [Array<String>]
|
|
attr_accessor :columns
|
|
|
|
# The table to which CSV data is imported.
|
|
# Corresponds to the JSON property `table`
|
|
# @return [String]
|
|
attr_accessor :table
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@columns = args[:columns] if args.key?(:columns)
|
|
@table = args[:table] if args.key?(:table)
|
|
end
|
|
end
|
|
end
|
|
|
|
# Database instance clone request.
|
|
class InstancesCloneRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Database instance clone context.
|
|
# Corresponds to the JSON property `cloneContext`
|
|
# @return [Google::Apis::SqlV1beta4::CloneContext]
|
|
attr_accessor :clone_context
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@clone_context = args[:clone_context] if args.key?(:clone_context)
|
|
end
|
|
end
|
|
|
|
# Database demote master request.
|
|
class InstancesDemoteMasterRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Database instance demote master context.
|
|
# Corresponds to the JSON property `demoteMasterContext`
|
|
# @return [Google::Apis::SqlV1beta4::DemoteMasterContext]
|
|
attr_accessor :demote_master_context
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@demote_master_context = args[:demote_master_context] if args.key?(:demote_master_context)
|
|
end
|
|
end
|
|
|
|
# Database instance export request.
|
|
class InstancesExportRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Database instance export context.
|
|
# Corresponds to the JSON property `exportContext`
|
|
# @return [Google::Apis::SqlV1beta4::ExportContext]
|
|
attr_accessor :export_context
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@export_context = args[:export_context] if args.key?(:export_context)
|
|
end
|
|
end
|
|
|
|
# Instance failover request.
|
|
class InstancesFailoverRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Database instance failover context.
|
|
# Corresponds to the JSON property `failoverContext`
|
|
# @return [Google::Apis::SqlV1beta4::FailoverContext]
|
|
attr_accessor :failover_context
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@failover_context = args[:failover_context] if args.key?(:failover_context)
|
|
end
|
|
end
|
|
|
|
# Database instance import request.
|
|
class InstancesImportRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Database instance import context.
|
|
# Corresponds to the JSON property `importContext`
|
|
# @return [Google::Apis::SqlV1beta4::ImportContext]
|
|
attr_accessor :import_context
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@import_context = args[:import_context] if args.key?(:import_context)
|
|
end
|
|
end
|
|
|
|
# Database instances list response.
|
|
class InstancesListResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# List of database instance resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::SqlV1beta4::DatabaseInstance>]
|
|
attr_accessor :items
|
|
|
|
# This is always <b>sql#instancesList</b>.
|
|
# 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 occurred while handling the request.
|
|
# Corresponds to the JSON property `warnings`
|
|
# @return [Array<Google::Apis::SqlV1beta4::ApiWarning>]
|
|
attr_accessor :warnings
|
|
|
|
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)
|
|
@warnings = args[:warnings] if args.key?(:warnings)
|
|
end
|
|
end
|
|
|
|
# Instances ListServerCas response.
|
|
class InstancesListServerCasResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
#
|
|
# Corresponds to the JSON property `activeVersion`
|
|
# @return [String]
|
|
attr_accessor :active_version
|
|
|
|
# List of server CA certificates for the instance.
|
|
# Corresponds to the JSON property `certs`
|
|
# @return [Array<Google::Apis::SqlV1beta4::SslCert>]
|
|
attr_accessor :certs
|
|
|
|
# This is always <b>sql#instancesListServerCas</b>.
|
|
# 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.
|
|
# <b>192.168.100.0/24</b>).
|
|
# Corresponds to the JSON property `authorizedNetworks`
|
|
# @return [Array<Google::Apis::SqlV1beta4::AclEntry>]
|
|
attr_accessor :authorized_networks
|
|
|
|
# Whether the instance should be assigned an IP address or not.
|
|
# Corresponds to the JSON property `ipv4Enabled`
|
|
# @return [Boolean]
|
|
attr_accessor :ipv4_enabled
|
|
alias_method :ipv4_enabled?, :ipv4_enabled
|
|
|
|
# The resource link for the VPC network from which the Cloud SQL instance is
|
|
# accessible for private IP. For example,
|
|
# <b>/projects/myProject/global/networks/default</b>. 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 <a
|
|
# href="https://tools.ietf.org/html/rfc3339">RFC 3339</a> format, for example
|
|
# <b>2012-11-15T16:19:00.094Z</b>. 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 <b>PRIMARY</b> address is a public
|
|
# address that can accept incoming connections. A <b>PRIVATE</b>
|
|
# address is a private address that can accept incoming connections. An
|
|
# <b>OUTGOING</b> 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 App Engine 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 <b>sql#locationPreference</b>.
|
|
# 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 <b>sql#maintenanceWindow</b>.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# Maintenance timing setting: <b>canary</b> (Earlier) or
|
|
# <b>stable</b> (Later). <br /><a
|
|
# href="/sql/docs/db_path/instance-settings#maintenance-timing-2ndgen">
|
|
# Learn more</a>.
|
|
# Corresponds to the JSON property `updateTrack`
|
|
# @return [String]
|
|
attr_accessor :update_track
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@day = args[:day] if args.key?(:day)
|
|
@hour = args[:hour] if args.key?(:hour)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@update_track = args[:update_track] if args.key?(:update_track)
|
|
end
|
|
end
|
|
|
|
# Read-replica configuration specific to MySQL databases.
|
|
class MySqlReplicaConfiguration
|
|
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.
|
|
# Corresponds to the JSON property `clientKey`
|
|
# @return [String]
|
|
attr_accessor :client_key
|
|
|
|
# Seconds to wait between connect retries. MySQL's default is 60 seconds.
|
|
# Corresponds to the JSON property `connectRetryInterval`
|
|
# @return [Fixnum]
|
|
attr_accessor :connect_retry_interval
|
|
|
|
# Path to a SQL dump file in Google Cloud Storage from which the slave
|
|
# instance is to be created. The URI is in the form gs://bucketName/fileName.
|
|
# Compressed gzip files (.gz) are also supported.
|
|
# Dumps should have the binlog co-ordinates from which replication should
|
|
# begin. This can be accomplished by setting --master-data to 1 when using
|
|
# mysqldump.
|
|
# Corresponds to the JSON property `dumpFilePath`
|
|
# @return [String]
|
|
attr_accessor :dump_file_path
|
|
|
|
# This is always <b>sql#mysqlReplicaConfiguration</b>.
|
|
# 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
|
|
|
|
# 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.
|
|
# Corresponds to the JSON property `clientKey`
|
|
# @return [String]
|
|
attr_accessor :client_key
|
|
|
|
# The dump file to create the Cloud SQL replica.
|
|
# Corresponds to the JSON property `dumpFilePath`
|
|
# @return [String]
|
|
attr_accessor :dump_file_path
|
|
|
|
# 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 <b>sql#onPremisesConfiguration</b>.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# The password for connecting to on-premises instance.
|
|
# Corresponds to the JSON property `password`
|
|
# @return [String]
|
|
attr_accessor :password
|
|
|
|
# The username for connecting to on-premises instance.
|
|
# 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)
|
|
@dump_file_path = args[:dump_file_path] if args.key?(:dump_file_path)
|
|
@host_port = args[:host_port] if args.key?(:host_port)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@password = args[:password] if args.key?(:password)
|
|
@username = args[:username] if args.key?(:username)
|
|
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 <a
|
|
# href="https://tools.ietf.org/html/rfc3339">RFC 3339</a> format, for example
|
|
# <b>2012-11-15T16:19:00.094Z</b>.
|
|
# 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 <a
|
|
# href="https://tools.ietf.org/html/rfc3339">RFC 3339</a> format, for example
|
|
# <b>2012-11-15T16:19:00.094Z</b>.
|
|
# Corresponds to the JSON property `insertTime`
|
|
# @return [String]
|
|
attr_accessor :insert_time
|
|
|
|
# This is always <b>sql#operation</b>.
|
|
# 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:
|
|
# <br><b>CREATE</b>
|
|
# <br><b>DELETE</b>
|
|
# <br><b>UPDATE</b>
|
|
# <br><b>RESTART</b>
|
|
# <br><b>IMPORT</b>
|
|
# <br><b>EXPORT</b>
|
|
# <br><b>BACKUP_VOLUME</b>
|
|
# <br><b>RESTORE_VOLUME</b>
|
|
# <br><b>CREATE_USER</b>
|
|
# <br><b>DELETE_USER</b>
|
|
# <br><b>CREATE_DATABASE</b>
|
|
# <br><b>DELETE_DATABASE</b>
|
|
# 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 <a
|
|
# href="https://tools.ietf.org/html/rfc3339">RFC 3339</a> format, for example
|
|
# <b>2012-11-15T16:19:00.094Z</b>.
|
|
# Corresponds to the JSON property `startTime`
|
|
# @return [String]
|
|
attr_accessor :start_time
|
|
|
|
# The status of an operation. Valid values are:
|
|
# <br><b>PENDING</b>
|
|
# <br><b>RUNNING</b>
|
|
# <br><b>DONE</b>
|
|
# <br><b>SQL_OPERATION_STATUS_UNSPECIFIED</b>
|
|
# 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 <b>sql#operationError</b>.
|
|
# 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 [Array<Google::Apis::SqlV1beta4::OperationError>]
|
|
attr_accessor :errors
|
|
|
|
# This is always <b>sql#operationErrors</b>.
|
|
# 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 [Array<Google::Apis::SqlV1beta4::Operation>]
|
|
attr_accessor :items
|
|
|
|
# This is always <b>sql#operationsList</b>.
|
|
# 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
|
|
# <b>true</b> 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. <p>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 <b>sql#replicaConfiguration</b>.
|
|
# 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
|
|
|
|
#
|
|
class Reschedule
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Required. The type of the reschedule.
|
|
# Corresponds to the JSON property `rescheduleType`
|
|
# @return [String]
|
|
attr_accessor :reschedule_type
|
|
|
|
# Optional. Timestamp when the maintenance shall be rescheduled to if
|
|
# reschedule_type=SPECIFIC_TIME, in <a
|
|
# href="https://tools.ietf.org/html/rfc3339">RFC 3339</a> format, for
|
|
# example <b>2012-11-15T16:19:00.094Z</b>.
|
|
# Corresponds to the JSON property `scheduleTime`
|
|
# @return [String]
|
|
attr_accessor :schedule_time
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@reschedule_type = args[:reschedule_type] if args.key?(:reschedule_type)
|
|
@schedule_time = args[:schedule_time] if args.key?(:schedule_time)
|
|
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 <b>sql#restoreBackupContext</b>.
|
|
# 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 <b>sql#rotateServerCaContext</b>.
|
|
# 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:
|
|
# <br><b>ALWAYS</b>: The instance is on, and remains so even in
|
|
# the absence of connection requests.
|
|
# <br><b>NEVER</b>: The instance is off; it is not activated, even if a
|
|
# connection request arrives.
|
|
# Corresponds to the JSON property `activationPolicy`
|
|
# @return [String]
|
|
attr_accessor :activation_policy
|
|
|
|
# The App Engine app IDs that can access this instance.
|
|
# (Deprecated) Applied to First Generation instances only.
|
|
# Corresponds to the JSON property `authorizedGaeApplications`
|
|
# @return [Array<String>]
|
|
attr_accessor :authorized_gae_applications
|
|
|
|
# Availability type. Potential values:
|
|
# <br><b>ZONAL</b>: The instance serves data from only one zone.
|
|
# Outages in that zone affect data accessibility.
|
|
# <br><b>REGIONAL</b>: The instance can serve data from more than one zone
|
|
# in a region
|
|
# (it is highly available). <br>For more information, see
|
|
# <a href="/sql/docs/postgres/high-availability">
|
|
# Overview of the High Availability Configuration</a>.
|
|
# 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
|
|
|
|
# The name of server Instance collation.
|
|
# Corresponds to the JSON property `collation`
|
|
# @return [String]
|
|
attr_accessor :collation
|
|
|
|
# Configuration specific to read replica instances. Indicates whether
|
|
# database flags for crash-safe replication are enabled. This property was
|
|
# 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.
|
|
# 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 [Array<Google::Apis::SqlV1beta4::DatabaseFlags>]
|
|
attr_accessor :database_flags
|
|
|
|
# Configuration specific to read replica instances. Indicates whether
|
|
# replication is enabled or not.
|
|
# Corresponds to the JSON property `databaseReplicationEnabled`
|
|
# @return [Boolean]
|
|
attr_accessor :database_replication_enabled
|
|
alias_method :database_replication_enabled?, :database_replication_enabled
|
|
|
|
# IP Management configuration.
|
|
# Corresponds to the JSON property `ipConfiguration`
|
|
# @return [Google::Apis::SqlV1beta4::IpConfiguration]
|
|
attr_accessor :ip_configuration
|
|
|
|
# This is always <b>sql#settings</b>.
|
|
# 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 <b>PER_USE</b>
|
|
# or <b>PACKAGE</b>. Only <b>PER_USE</b> 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
|
|
# <b>ASYNCHRONOUS</b> or <b>SYNCHRONOUS</b>.
|
|
# (Deprecated_ This property was 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.
|
|
# 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.
|
|
# Corresponds to the JSON property `storageAutoResizeLimit`
|
|
# @return [Fixnum]
|
|
attr_accessor :storage_auto_resize_limit
|
|
|
|
# The tier (or machine type) for this instance, for example
|
|
# <b>db-n1-standard-1</b> (MySQL instances) or
|
|
# <b>db-custom-1-3840</b> (PostgreSQL instances).
|
|
# 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 [Hash<String,String>]
|
|
attr_accessor :user_labels
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@activation_policy = args[:activation_policy] if args.key?(:activation_policy)
|
|
@authorized_gae_applications = args[:authorized_gae_applications] if args.key?(:authorized_gae_applications)
|
|
@availability_type = args[:availability_type] if args.key?(:availability_type)
|
|
@backup_configuration = args[:backup_configuration] if args.key?(:backup_configuration)
|
|
@collation = args[:collation] if args.key?(:collation)
|
|
@crash_safe_replication_enabled = args[:crash_safe_replication_enabled] if args.key?(:crash_safe_replication_enabled)
|
|
@data_disk_size_gb = args[:data_disk_size_gb] if args.key?(:data_disk_size_gb)
|
|
@data_disk_type = args[:data_disk_type] if args.key?(:data_disk_type)
|
|
@database_flags = args[:database_flags] if args.key?(:database_flags)
|
|
@database_replication_enabled = args[:database_replication_enabled] if args.key?(:database_replication_enabled)
|
|
@ip_configuration = args[:ip_configuration] if args.key?(:ip_configuration)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@location_preference = args[:location_preference] if args.key?(:location_preference)
|
|
@maintenance_window = args[:maintenance_window] if args.key?(:maintenance_window)
|
|
@pricing_plan = args[:pricing_plan] if args.key?(:pricing_plan)
|
|
@replication_type = args[:replication_type] if args.key?(:replication_type)
|
|
@settings_version = args[:settings_version] if args.key?(:settings_version)
|
|
@storage_auto_resize = args[:storage_auto_resize] if args.key?(:storage_auto_resize)
|
|
@storage_auto_resize_limit = args[:storage_auto_resize_limit] if args.key?(:storage_auto_resize_limit)
|
|
@tier = args[:tier] if args.key?(:tier)
|
|
@user_labels = args[:user_labels] if args.key?(:user_labels)
|
|
end
|
|
end
|
|
|
|
# External master migration setting error.
|
|
class SqlExternalSyncSettingError
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Additional information about the error encountered.
|
|
# Corresponds to the JSON property `detail`
|
|
# @return [String]
|
|
attr_accessor :detail
|
|
|
|
# This is always <b>sql#migrationSettingError</b>.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# Identifies the specific error that occurred.
|
|
# 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)
|
|
@detail = args[:detail] if args.key?(:detail)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@type = args[:type] if args.key?(:type)
|
|
end
|
|
end
|
|
|
|
# Reschedule options for maintenance windows.
|
|
class SqlInstancesRescheduleMaintenanceRequestBody
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Required. The type of the reschedule the user wants.
|
|
# Corresponds to the JSON property `reschedule`
|
|
# @return [Google::Apis::SqlV1beta4::Reschedule]
|
|
attr_accessor :reschedule
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@reschedule = args[:reschedule] if args.key?(:reschedule)
|
|
end
|
|
end
|
|
|
|
# Instance verify external sync settings response.
|
|
class SqlInstancesVerifyExternalSyncSettingsResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# List of migration violations.
|
|
# Corresponds to the JSON property `errors`
|
|
# @return [Array<Google::Apis::SqlV1beta4::SqlExternalSyncSettingError>]
|
|
attr_accessor :errors
|
|
|
|
# This is always <b>sql#migrationSettingErrorList</b>.
|
|
# 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
|
|
|
|
# Any scheduled maintenancce for this instance.
|
|
class SqlScheduledMaintenance
|
|
include Google::Apis::Core::Hashable
|
|
|
|
#
|
|
# Corresponds to the JSON property `canDefer`
|
|
# @return [Boolean]
|
|
attr_accessor :can_defer
|
|
alias_method :can_defer?, :can_defer
|
|
|
|
# If the scheduled maintenance can be rescheduled.
|
|
# Corresponds to the JSON property `canReschedule`
|
|
# @return [Boolean]
|
|
attr_accessor :can_reschedule
|
|
alias_method :can_reschedule?, :can_reschedule
|
|
|
|
# The start time of any upcoming scheduled maintenance for this instance.
|
|
# 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)
|
|
@can_defer = args[:can_defer] if args.key?(:can_defer)
|
|
@can_reschedule = args[:can_reschedule] if args.key?(:can_reschedule)
|
|
@start_time = args[:start_time] if args.key?(:start_time)
|
|
end
|
|
end
|
|
|
|
# Represents a Sql Server database on the Cloud SQL instance.
|
|
class SqlServerDatabaseDetails
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The version of SQL Server with which the database is to be made compatible
|
|
# Corresponds to the JSON property `compatibilityLevel`
|
|
# @return [Fixnum]
|
|
attr_accessor :compatibility_level
|
|
|
|
# The recovery model of a SQL Server database
|
|
# Corresponds to the JSON property `recoveryModel`
|
|
# @return [String]
|
|
attr_accessor :recovery_model
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@compatibility_level = args[:compatibility_level] if args.key?(:compatibility_level)
|
|
@recovery_model = args[:recovery_model] if args.key?(:recovery_model)
|
|
end
|
|
end
|
|
|
|
# Represents a Sql Server user on the Cloud SQL instance.
|
|
class SqlServerUserDetails
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# If the user has been disabled
|
|
# Corresponds to the JSON property `disabled`
|
|
# @return [Boolean]
|
|
attr_accessor :disabled
|
|
alias_method :disabled?, :disabled
|
|
|
|
# The server roles for this user
|
|
# Corresponds to the JSON property `serverRoles`
|
|
# @return [Array<String>]
|
|
attr_accessor :server_roles
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@disabled = args[:disabled] if args.key?(:disabled)
|
|
@server_roles = args[:server_roles] if args.key?(:server_roles)
|
|
end
|
|
end
|
|
|
|
# SslCerts Resource
|
|
class SslCert
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# PEM representation.
|
|
# Corresponds to the JSON property `cert`
|
|
# @return [String]
|
|
attr_accessor :cert
|
|
|
|
# Serial number, as extracted from the certificate.
|
|
# Corresponds to the JSON property `certSerialNumber`
|
|
# @return [String]
|
|
attr_accessor :cert_serial_number
|
|
|
|
# User supplied name. Constrained to [a-zA-Z.-_ ]+.
|
|
# Corresponds to the JSON property `commonName`
|
|
# @return [String]
|
|
attr_accessor :common_name
|
|
|
|
# The time when the certificate was created in <a
|
|
# href="https://tools.ietf.org/html/rfc3339">RFC 3339</a> format, for example
|
|
# <b>2012-11-15T16:19:00.094Z</b>
|
|
# Corresponds to the JSON property `createTime`
|
|
# @return [String]
|
|
attr_accessor :create_time
|
|
|
|
# The time when the certificate expires in <a
|
|
# href="https://tools.ietf.org/html/rfc3339">RFC 3339</a> format, for example
|
|
# <b>2012-11-15T16:19:00.094Z</b>.
|
|
# 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 <b>sql#sslCert</b>.
|
|
# 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 <b>sql#sslCertsInsert</b>.
|
|
# 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 [Array<Google::Apis::SqlV1beta4::SslCert>]
|
|
attr_accessor :items
|
|
|
|
# This is always <b>sql#sslCertsList</b>.
|
|
# 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 <b>sql#tier</b>.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# The applicable regions for this tier.
|
|
# Corresponds to the JSON property `region`
|
|
# @return [Array<String>]
|
|
attr_accessor :region
|
|
|
|
# An identifier for the machine type, for example, db-n1-standard-1. For
|
|
# related information, see <a href="/sql/pricing">Pricing</a>.
|
|
# Corresponds to the JSON property `tier`
|
|
# @return [String]
|
|
attr_accessor :tier
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@disk_quota = args[:disk_quota] if args.key?(:disk_quota)
|
|
@ram = args[:ram] if args.key?(:ram)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@region = args[:region] if args.key?(:region)
|
|
@tier = args[:tier] if args.key?(:tier)
|
|
end
|
|
end
|
|
|
|
# Tiers list response.
|
|
class TiersListResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# List of tiers.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::SqlV1beta4::Tier>]
|
|
attr_accessor :items
|
|
|
|
# This is always <b>sql#tiersList</b>.
|
|
# 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 <b>sql#truncateLogContext</b>.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# The type of log to truncate. Valid values are
|
|
# <b>MYSQL_GENERAL_TABLE</b> and <b>MYSQL_SLOW_TABLE</b>.
|
|
# 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 <b>insert</b>
|
|
# operations, host defaults to an empty string. For <b>update</b>
|
|
# 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 <b>update</b> since it is already specified on the
|
|
# URL.
|
|
# Corresponds to the JSON property `instance`
|
|
# @return [String]
|
|
attr_accessor :instance
|
|
|
|
# This is always <b>sql#user</b>.
|
|
# 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
|
|
# <b>update</b> 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
|
|
# <b>update</b> since it is already specified on the URL.
|
|
# Corresponds to the JSON property `project`
|
|
# @return [String]
|
|
attr_accessor :project
|
|
|
|
# Represents a Sql Server user on the Cloud SQL instance.
|
|
# Corresponds to the JSON property `sqlserverUserDetails`
|
|
# @return [Google::Apis::SqlV1beta4::SqlServerUserDetails]
|
|
attr_accessor :sqlserver_user_details
|
|
|
|
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)
|
|
@sqlserver_user_details = args[:sqlserver_user_details] if args.key?(:sqlserver_user_details)
|
|
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 [Array<Google::Apis::SqlV1beta4::User>]
|
|
attr_accessor :items
|
|
|
|
# This is always <b>sql#usersList</b>.
|
|
# 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
|