Creates a new Cloud SQL instance.

Scopes

You will need authorization for at least one of the following scopes to make a valid call:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/sqlservice.admin

If unset, the scope for this method defaults to https://www.googleapis.com/auth/cloud-platform. You can set the scope for this method like this: sqladmin1 --scope <scope> instances insert ...

Required Scalar Argument

  • <project> (string)
    • Project ID of the project to which the newly created Cloud SQL instances should belong.

Required Request Value

The request value is a data-structure with various fields. Each field may be a simple scalar or another data-structure. In the latter case it is advised to set the field-cursor to the data-structure's field to specify values more concisely.

For example, a structure like this:

DatabaseInstance:
  available-maintenance-versions: [string]
  backend-type: string
  connection-name: string
  create-time: string
  current-disk-size: string
  database-installed-version: string
  database-version: string
  disk-encryption-configuration:
    kind: string
    kms-key-name: string
  disk-encryption-status:
    kind: string
    kms-key-version-name: string
  dns-name: string
  etag: string
  failover-replica:
    available: boolean
    name: string
  gce-zone: string
  instance-type: string
  ipv6-address: string
  kind: string
  maintenance-version: string
  master-instance-name: string
  max-disk-size: string
  name: string
  on-premises-configuration:
    ca-certificate: string
    client-certificate: string
    client-key: string
    dump-file-path: string
    host-port: string
    kind: string
    password: string
    source-instance:
      name: string
      project: string
      region: string
    username: string
  out-of-disk-report:
    sql-min-recommended-increase-size-gb: integer
    sql-out-of-disk-state: string
  primary-dns-name: string
  project: string
  psc-service-attachment-link: string
  region: string
  replica-configuration:
    cascadable-replica: boolean
    failover-target: boolean
    kind: string
    mysql-replica-configuration:
      ca-certificate: string
      client-certificate: string
      client-key: string
      connect-retry-interval: integer
      dump-file-path: string
      kind: string
      master-heartbeat-period: string
      password: string
      ssl-cipher: string
      username: string
      verify-server-certificate: boolean
  replica-names: [string]
  root-password: string
  satisfies-pzs: boolean
  scheduled-maintenance:
    can-defer: boolean
    can-reschedule: boolean
    schedule-deadline-time: string
    start-time: string
  secondary-gce-zone: string
  self-link: string
  server-ca-cert:
    cert: string
    cert-serial-number: string
    common-name: string
    create-time: string
    expiration-time: string
    instance: string
    kind: string
    self-link: string
    sha1-fingerprint: string
  service-account-email-address: string
  settings:
    activation-policy: string
    active-directory-config:
      domain: string
      kind: string
    advanced-machine-features:
      threads-per-core: integer
    authorized-gae-applications: [string]
    availability-type: string
    backup-configuration:
      backup-retention-settings:
        retained-backups: integer
        retention-unit: string
      binary-log-enabled: boolean
      enabled: boolean
      kind: string
      location: string
      point-in-time-recovery-enabled: boolean
      replication-log-archiving-enabled: boolean
      start-time: string
      transaction-log-retention-days: integer
    collation: string
    connector-enforcement: string
    crash-safe-replication-enabled: boolean
    data-cache-config:
      data-cache-enabled: boolean
    data-disk-size-gb: string
    data-disk-type: string
    database-replication-enabled: boolean
    deletion-protection-enabled: boolean
    edition: string
    insights-config:
      query-insights-enabled: boolean
      query-plans-per-minute: integer
      query-string-length: integer
      record-application-tags: boolean
      record-client-address: boolean
    ip-configuration:
      allocated-ip-range: string
      enable-private-path-for-google-cloud-services: boolean
      ipv4-enabled: boolean
      private-network: string
      psc-config:
        allowed-consumer-projects: [string]
        psc-enabled: boolean
      require-ssl: boolean
      ssl-mode: string
    kind: string
    location-preference:
      follow-gae-application: string
      kind: string
      secondary-zone: string
      zone: string
    maintenance-window:
      day: integer
      hour: integer
      kind: string
      update-track: string
    password-validation-policy:
      complexity: string
      disallow-compromised-credentials: boolean
      disallow-username-substring: boolean
      enable-password-policy: boolean
      min-length: integer
      password-change-interval: string
      reuse-interval: integer
    pricing-plan: string
    replication-type: string
    settings-version: string
    sql-server-audit-config:
      bucket: string
      kind: string
      retention-interval: string
      upload-interval: string
    storage-auto-resize: boolean
    storage-auto-resize-limit: string
    tier: string
    time-zone: string
    user-labels: { string: string }
  sql-network-architecture: string
  state: string
  suspension-reason: [string]
  write-endpoint: string

can be set completely with the following arguments which are assumed to be executed in the given order. Note how the cursor position is adjusted to the respective structures, allowing simple field names to be used most of the time.

  • -r . available-maintenance-versions=amet
    • Output only. List all maintenance versions applicable on the instance
    • Each invocation of this argument appends the given value to the array.
  • backend-type=est
    • The backend type. SECOND_GEN: Cloud SQL database instance. EXTERNAL: A database server that is not managed by Google. This property is read-only; use the tier property in the settings object to determine the database type.
  • connection-name=et
    • Connection name of the Cloud SQL instance used in connection strings.
  • create-time=sea
    • Output only. The time when the instance was created in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
  • current-disk-size=consetetur
    • The current disk usage of the instance in bytes. This property has been deprecated. Use the "cloudsql.googleapis.com/database/disk/bytes_used" metric in Cloud Monitoring API instead. Please see this announcement for details.
  • database-installed-version=consetetur
    • Output only. Stores the current database version running on the instance including minor version such as MYSQL_8_0_18.
  • database-version=stet
    • The database engine type and version. The databaseVersion field cannot be changed after instance creation.
  • disk-encryption-configuration kind=est
    • This is always sql#diskEncryptionConfiguration.
  • kms-key-name=aliquyam

    • Resource name of KMS key for disk encryption
  • ..disk-encryption-status kind=elitr

    • This is always sql#diskEncryptionStatus.
  • kms-key-version-name=duo

    • KMS key version used to encrypt the Cloud SQL instance resource
  • .. dns-name=diam

    • Output only. The dns name of the instance.
  • etag=est
    • This field is deprecated and will be removed from a future version of the API. Use the settings.settingsVersion field instead.
  • failover-replica available=true
    • The availability status of the failover replica. A false status indicates that the failover replica is out of sync. The primary instance can only failover to the failover replica when the status is true.
  • name=sed

    • 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.
  • .. gce-zone=eos

    • 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. WARNING: Changing this might restart the instance.
  • instance-type=lorem
    • The instance type.
  • ipv6-address=ea
    • The IPv6 address assigned to the instance. (Deprecated) This property was applicable only to First Generation instances.
  • kind=stet
    • This is always sql#instance.
  • maintenance-version=dolores
    • The current software version on the instance.
  • master-instance-name=eos
    • The name of the instance which will act as primary in the replication setup.
  • max-disk-size=et
    • The maximum disk size of the instance in bytes.
  • name=sea
    • Name of the Cloud SQL instance. This does not include the project ID.
  • on-premises-configuration ca-certificate=et
    • PEM representation of the trusted CA's x509 certificate.
  • client-certificate=at
    • PEM representation of the replica's x509 certificate.
  • client-key=dolore
    • PEM representation of the replica's private key. The corresponsing public key is encoded in the client's certificate.
  • dump-file-path=eirmod
    • The dump file to create the Cloud SQL replica.
  • host-port=lorem
    • The host and port of the on-premises instance in host:port format
  • kind=accusam
    • This is always sql#onPremisesConfiguration.
  • password=amet
    • The password for connecting to on-premises instance.
  • source-instance name=erat
    • The name of the Cloud SQL instance being referenced. This does not include the project ID.
  • project=dolores
    • The project ID of the Cloud SQL instance being referenced. The default is the same project ID as the instance references it.
  • region=erat

    • The region of the Cloud SQL instance being referenced.
  • .. username=accusam

    • The username for connecting to on-premises instance.
  • ..out-of-disk-report sql-min-recommended-increase-size-gb=91

    • The minimum recommended increase size in GigaBytes This field is consumed by the frontend * Writers: * the proactive database wellness job for OOD. * Readers:
  • sql-out-of-disk-state=takimata

    • This field represents the state generated by the proactive database wellness job for OutOfDisk issues. * Writers: * the proactive database wellness job for OOD. * Readers: * the proactive database wellness job
  • .. primary-dns-name=lorem

    • Output only. DEPRECATED: please use write_endpoint instead.
  • project=et
    • The project ID of the project containing the Cloud SQL instance. The Google apps domain is prefixed if applicable.
  • psc-service-attachment-link=at
    • Output only. The link to service attachment of PSC instance.
  • region=dolor
    • The geographical region of the Cloud SQL instance. It can be one of the regions where Cloud SQL operates: For example, asia-east1, europe-west1, and us-central1. The default value is us-central1.
  • replica-configuration cascadable-replica=true
    • Optional. Specifies if a SQL Server replica is a cascadable replica. A cascadable replica is a SQL Server cross region replica that supports replica(s) under it.
  • failover-target=false
    • Specifies if the replica is the failover target. If the field is set to true, the replica will be designated as a failover replica. In case the primary instance fails, the replica instance will be promoted as the new primary instance. Only one replica can be specified as failover target, and the replica has to be in different zone with the primary instance.
  • kind=sea
    • This is always sql#replicaConfiguration.
  • mysql-replica-configuration ca-certificate=nonumy
    • PEM representation of the trusted CA's x509 certificate.
  • client-certificate=et
    • PEM representation of the replica's x509 certificate.
  • client-key=gubergren
    • PEM representation of the replica's private key. The corresponsing public key is encoded in the client's certificate.
  • connect-retry-interval=80
    • Seconds to wait between connect retries. MySQL's default is 60 seconds.
  • dump-file-path=sea
    • Path to a SQL dump file in Google Cloud Storage from which the replica instance is to be created. The URI is in the form gs://bucketName/fileName. Compressed gzip files (.gz) are also supported. Dumps have the binlog co-ordinates from which replication begins. This can be accomplished by setting --master-data to 1 when using mysqldump.
  • kind=consetetur
    • This is always sql#mysqlReplicaConfiguration.
  • master-heartbeat-period=sit
    • Interval in milliseconds between replication heartbeats.
  • password=aliquyam
    • The password for the replication connection.
  • ssl-cipher=eos
    • A list of permissible ciphers to use for SSL encryption.
  • username=at
    • The username for the replication connection.
  • verify-server-certificate=true

    • Whether or not to check the primary instance's Common Name value in the certificate that it sends during the SSL handshake.
  • ... replica-names=gubergren

    • The replicas of the instance.
    • Each invocation of this argument appends the given value to the array.
  • root-password=dolor
    • Initial root password. Use only on creation. You must set root passwords before you can connect to PostgreSQL instances.
  • satisfies-pzs=true
    • The status indicating if instance satisfiesPzs. Reserved for future use.
  • scheduled-maintenance can-defer=true
    • No description provided.
  • can-reschedule=true
    • If the scheduled maintenance can be rescheduled.
  • schedule-deadline-time=accusam
    • Maintenance cannot be rescheduled to start beyond this deadline.
  • start-time=gubergren

    • The start time of any upcoming scheduled maintenance for this instance.
  • .. secondary-gce-zone=sadipscing

    • The Compute Engine zone that the failover instance is currently serving from for a regional instance. 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/failover zone.
  • self-link=at
    • The URI of this resource.
  • server-ca-cert cert=sit
    • PEM representation.
  • cert-serial-number=duo
    • Serial number, as extracted from the certificate.
  • common-name=sit
    • User supplied name. Constrained to [a-zA-Z.-_ ]+.
  • create-time=magna
    • The time when the certificate was created in RFC 3339 format, for example 2012-11-15T16:19:00.094Z
  • expiration-time=et
    • The time when the certificate expires in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
  • instance=rebum.
    • Name of the database instance.
  • kind=dolor
    • This is always sql#sslCert.
  • self-link=lorem
    • The URI of this resource.
  • sha1-fingerprint=justo

    • Sha1 Fingerprint.
  • .. service-account-email-address=amet.

    • The service account email address assigned to the instance.\This property is read-only.
  • settings activation-policy=no
    • The activation policy specifies when the instance is activated; it is applicable only when the instance state is RUNNABLE. Valid values: * ALWAYS: The instance is on, and remains so even in the absence of connection requests. * NEVER: The instance is off; it is not activated, even if a connection request arrives.
  • active-directory-config domain=nonumy
    • The name of the domain (e.g., mydomain.com).
  • kind=sed

    • This is always sql#activeDirectoryConfig.
  • ..advanced-machine-features threads-per-core=88

    • The number of threads per physical core.
  • .. authorized-gae-applications=lorem

    • The App Engine app IDs that can access this instance. (Deprecated) Applied to First Generation instances only.
    • Each invocation of this argument appends the given value to the array.
  • availability-type=sanctus
    • Availability type. Potential values: * ZONAL: The instance serves data from only one zone. Outages in that zone affect data accessibility. * REGIONAL: The instance can serve data from more than one zone in a region (it is highly available)./ For more information, see Overview of the High Availability Configuration.
  • backup-configuration.backup-retention-settings retained-backups=10
    • Depending on the value of retention_unit, this is used to determine if a backup needs to be deleted. If retention_unit is 'COUNT', we will retain this many backups.
  • retention-unit=rebum.

    • The unit that 'retained_backups' represents.
  • .. binary-log-enabled=true

    • (MySQL only) Whether binary log is enabled. If backup configuration is disabled, binarylog must be disabled as well.
  • enabled=true
    • Whether this configuration is enabled.
  • kind=dolore
    • This is always sql#backupConfiguration.
  • location=amet
    • Location of the backup
  • point-in-time-recovery-enabled=true
    • Whether point in time recovery is enabled.
  • replication-log-archiving-enabled=false
    • Reserved for future use.
  • start-time=duo
    • Start time for the daily backup configuration in UTC timezone in the 24 hour format - HH:MM.
  • transaction-log-retention-days=56

    • The number of days of transaction logs we retain for point in time restore, from 1-7.
  • .. collation=ut

    • The name of server Instance collation.
  • connector-enforcement=rebum.
    • Specifies if connections must use Cloud SQL connectors. Option values include the following: NOT_REQUIRED (Cloud SQL instances can be connected without Cloud SQL Connectors) and REQUIRED (Only allow connections that use Cloud SQL Connectors). Note that using REQUIRED disables all existing authorized networks. If this field is not specified when creating a new instance, NOT_REQUIRED is used. If this field is not specified when patching or updating an existing instance, it is left unchanged in the instance.
  • crash-safe-replication-enabled=false
    • 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.
  • data-cache-config data-cache-enabled=true

    • Whether data cache is enabled for the instance.
  • .. data-disk-size-gb=sadipscing

    • The size of data disk, in GB. The data disk size minimum is 10GB.
  • data-disk-type=tempor
    • The type of data disk: PD_SSD (default) or PD_HDD. Not used for First Generation instances.
  • database-replication-enabled=false
    • Configuration specific to read replica instances. Indicates whether replication is enabled or not. WARNING: Changing this restarts the instance.
  • deletion-protection-enabled=true
    • Configuration to protect against accidental instance deletion.
  • edition=magna
    • Optional. The edition of the instance.
  • insights-config query-insights-enabled=true
    • Whether Query Insights feature is enabled.
  • query-plans-per-minute=35
    • Number of query execution plans captured by Insights per minute for all queries combined. Default is 5.
  • query-string-length=74
    • Maximum query length stored in bytes. Default value: 1024 bytes. Range: 256-4500 bytes. Query length more than this field value will be truncated to this value. When unset, query length will be the default value. Changing query length will restart the database.
  • record-application-tags=false
    • Whether Query Insights will record application tags from query when enabled.
  • record-client-address=false

    • Whether Query Insights will record client address when enabled.
  • ..ip-configuration allocated-ip-range=ut

    • The name of the allocated ip range for the private ip Cloud SQL instance. For example: "google-managed-services-default". If set, the instance ip will be created in the allocated range. The range name must comply with RFC 1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])?.
  • enable-private-path-for-google-cloud-services=false
    • Controls connectivity to private IP instances from Google services, such as BigQuery.
  • ipv4-enabled=true
    • Whether the instance is assigned a public IP address or not.
  • private-network=clita
    • The resource link for the VPC network from which the Cloud SQL instance is accessible for private IP. For example, /projects/myProject/global/networks/default. This setting can be updated, but it cannot be removed after it is set.
  • psc-config allowed-consumer-projects=dolor
    • Optional. The list of consumer projects that are allow-listed for PSC connections to this instance. This instance can be connected to with PSC from any network in these projects. Each consumer project in this list may be represented by a project number (numeric) or by a project id (alphanumeric).
    • Each invocation of this argument appends the given value to the array.
  • psc-enabled=false

    • Whether PSC connectivity is enabled for this instance.
  • .. require-ssl=false

    • Use ssl_mode instead for MySQL and PostgreSQL. SQL Server uses this flag. Whether SSL/TLS connections over IP are enforced. If set to false, then allow both non-SSL/non-TLS and SSL/TLS connections. For SSL/TLS connections, the client certificate won't be verified. If set to true, then only allow connections encrypted with SSL/TLS and with valid client certificates. If you want to enforce SSL/TLS without enforcing the requirement for valid client certificates, then use the ssl_mode flag instead of the require_ssl flag.
  • ssl-mode=diam

    • Specify how SSL/TLS is enforced in database connections. MySQL and PostgreSQL use the ssl_mode flag. If you must use the require_ssl flag for backward compatibility, then only the following value pairs are valid: * ssl_mode=ALLOW_UNENCRYPTED_AND_ENCRYPTED and require_ssl=false * ssl_mode=ENCRYPTED_ONLY and require_ssl=false * ssl_mode=TRUSTED_CLIENT_CERTIFICATE_REQUIRED and require_ssl=true The value of ssl_mode gets priority over the value of require_ssl. For example, for the pair ssl_mode=ENCRYPTED_ONLY and require_ssl=false, the ssl_mode=ENCRYPTED_ONLY means only accept SSL connections, while the require_ssl=false means accept both non-SSL and SSL connections. MySQL and PostgreSQL databases respect ssl_mode in this case and accept only SSL connections. SQL Server uses the require_ssl flag. You can set the value for this flag to true or false.
  • .. kind=nonumy

    • This is always sql#settings.
  • location-preference follow-gae-application=et
    • The App Engine application to follow, it must be in the same region as the Cloud SQL instance. WARNING: Changing this might restart the instance.
  • kind=sanctus
    • This is always sql#locationPreference.
  • secondary-zone=accusam
    • The preferred Compute Engine zone for the secondary/failover (for example: us-central1-a, us-central1-b, etc.). To disable this field, set it to 'no_secondary_zone'.
  • zone=tempor

    • The preferred Compute Engine zone (for example: us-central1-a, us-central1-b, etc.). WARNING: Changing this might restart the instance.
  • ..maintenance-window day=58

    • day of week (1-7), starting on Monday.
  • hour=94
    • hour of day - 0 to 23.
  • kind=takimata
    • This is always sql#maintenanceWindow.
  • update-track=dolor

    • Maintenance timing setting: canary (Earlier) or stable (Later). Learn more.
  • ..password-validation-policy complexity=diam

    • The complexity of the password.
  • disallow-compromised-credentials=false
    • This field is deprecated and will be removed in a future version of the API.
  • disallow-username-substring=false
    • Disallow username as a part of the password.
  • enable-password-policy=false
    • Whether the password policy is enabled or not.
  • min-length=96
    • Minimum number of characters allowed.
  • password-change-interval=accusam
    • Minimum interval after which the password can be changed. This flag is only supported for PostgreSQL.
  • reuse-interval=82

    • Number of previous passwords that cannot be reused.
  • .. pricing-plan=consetetur

    • The pricing plan for this instance. This can be either PER_USE or PACKAGE. Only PER_USE is supported for Second Generation instances.
  • replication-type=no
    • The type of replication this instance uses. This can be either ASYNCHRONOUS or SYNCHRONOUS. (Deprecated) This property was only applicable to First Generation instances.
  • settings-version=justo
    • 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.
  • sql-server-audit-config bucket=sadipscing
    • The name of the destination bucket (e.g., gs://mybucket).
  • kind=diam
    • This is always sql#sqlServerAuditConfig
  • retention-interval=sea
    • How long to keep generated audit files.
  • upload-interval=ipsum

    • How often to upload generated audit files.
  • .. storage-auto-resize=true

    • Configuration to increase storage size automatically. The default value is true.
  • storage-auto-resize-limit=ipsum
    • The maximum size to which storage capacity can be automatically increased. The default value is 0, which specifies that there is no limit.
  • tier=no
    • The tier (or machine type) for this instance, for example db-custom-1-3840. WARNING: Changing this restarts the instance.
  • time-zone=sit
    • Server timezone, relevant only for Cloud SQL for SQL Server.
  • user-labels=key=kasd

    • User-provided labels, represented as a dictionary where each label is a single key value pair.
    • the value will be associated with the given key
  • .. sql-network-architecture=amet

    • No description provided.
  • state=lorem
    • The current serving state of the Cloud SQL instance.
  • suspension-reason=justo
    • If the instance state is SUSPENDED, the reason for the suspension.
    • Each invocation of this argument appends the given value to the array.
  • write-endpoint=invidunt
    • Output only. The dns name of the primary instance in a replication group.

About Cursors

The cursor position is key to comfortably set complex nested structures. The following rules apply:

  • The cursor position is always set relative to the current one, unless the field name starts with the . character. Fields can be nested such as in -r f.s.o .
  • The cursor position is set relative to the top-level structure if it starts with ., e.g. -r .s.s
  • You can also set nested fields without setting the cursor explicitly. For example, to set a value relative to the current cursor position, you would specify -r struct.sub_struct=bar.
  • You can move the cursor one level up by using ... Each additional . moves it up one additional level. E.g. ... would go three levels up.

Optional Output Flags

The method's return value a JSON encoded structure, which will be written to standard output by default.

  • -o out
    • out specifies the destination to which to write the server's result to. It will be a JSON-encoded structure. The destination may be - to indicate standard output, or a filepath that is to contain the received bytes. If unset, it defaults to standard output.

Optional General Properties

The following properties can configure any call, and are not specific to this method.

  • -p $-xgafv=string

    • V1 error format.
  • -p access-token=string

    • OAuth access token.
  • -p alt=string

    • Data format for response.
  • -p callback=string

    • JSONP
  • -p fields=string

    • Selector specifying which fields to include in a partial response.
  • -p key=string

    • API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
  • -p oauth-token=string

    • OAuth 2.0 token for the current user.
  • -p pretty-print=boolean

    • Returns response with indentations and line breaks.
  • -p quota-user=string

    • Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
  • -p upload-type=string

    • Legacy upload protocol for media (e.g. "media", "multipart").
  • -p upload-protocol=string

    • Upload protocol for media (e.g. "raw", "multipart").