REST Resource: projects.locations.connectionProfiles

Resource: ConnectionProfile

A connection profile definition.

JSON representation
{
  "name": string,
  "createTime": string,
  "updateTime": string,
  "labels": {
    string: string,
    ...
  },
  "state": enum (State),
  "displayName": string,
  "error": {
    object (Status)
  },
  "provider": enum (DatabaseProvider),

  // Union field connection_profile can be only one of the following:
  "mysql": {
    object (MySqlConnectionProfile)
  },
  "cloudsql": {
    object (CloudSqlConnectionProfile)
  }
  // End of list of possible types for union field connection_profile.
}
Fields
name

string

The name of this connection profile resource in the form of projects/{project}/locations/{location}/connectionProfiles/{connectionProfile}.

createTime

string (Timestamp format)

Output only. The timestamp when the resource was created. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

Output only. The timestamp when the resource was last updated. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

labels

map (key: string, value: string)

The resource labels for connection profile to use to annotate any related underlying resources such as Compute Engine VMs. An object containing a list of "key": "value" pairs.

Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

state

enum (State)

The current connection profile state (e.g. DRAFT, READY, or FAILED).

displayName

string

The connection profile display name.

error

object (Status)

Output only. The error details in case of state FAILED.

provider

enum (DatabaseProvider)

The database provider.

Union field connection_profile. The connection profile definition. connection_profile can be only one of the following:
mysql

object (MySqlConnectionProfile)

A MySQL database connection profile.

cloudsql

object (CloudSqlConnectionProfile)

A CloudSQL database connection profile.

State

The current connection profile state (e.g. DRAFT, READY, or FAILED).

Enums
STATE_UNSPECIFIED The state of the connection profile is unknown.
DRAFT The connection profile is in draft mode and fully editable.
CREATING The connection profile is being created.
READY The connection profile is ready.
UPDATING The connection profile is being updated.
DELETING The connection profile is being deleted.
DELETED The connection profile has been deleted.
FAILED The last action on the connection profile failed.

MySqlConnectionProfile

Specifies connection parameters required specifically for MySQL databases.

JSON representation
{
  "host": string,
  "port": integer,
  "username": string,
  "password": string,
  "ssl": {
    object (SslConfig)
  },
  "cloudSqlId": string,
  "hasPassword": boolean
}
Fields
host

string

Required. The IP or hostname of the source MySQL database.

port

integer

Required. The network port of the source MySQL database.

username

string

Required. The username that Database Migration Service will use to connect to the database. The value is encrypted when stored in Database Migration Service.

password

string

Required. Input only. The password for the user that Database Migration Service will be using to connect to the database. This field is not returned on request, and the value is encrypted when stored in Database Migration Service.

ssl

object (SslConfig)

SSL configuration for the destination to connect to the source database.

cloudSqlId

string

If the source is a Cloud SQL database, use this field to provide the Cloud SQL instance ID of the source.

hasPassword

boolean

Output only. Indicates If this connection profile password is stored.

SslConfig

SSL configuration information.

JSON representation
{
  "type": enum (SslType),
  "clientKey": string,
  "clientCertificate": string,
  "caCertificate": string
}
Fields
type

enum (SslType)

Output only. The ssl config type according to 'clientKey', 'clientCertificate' and 'caCertificate'.

clientKey

string

Input only. The unencrypted PKCS#1 or PKCS#8 PEM-encoded private key associated with the Client Certificate. If this field is used then the 'clientCertificate' field is mandatory.

clientCertificate

string

Input only. The x509 PEM-encoded certificate that will be used by the replica to authenticate against the source database server.If this field is used then the 'clientKey' field is mandatory.

caCertificate

string

Required. Input only. The x509 PEM-encoded certificate of the CA that signed the source database server's certificate. The replica will use this certificate to verify it's connecting to the right host.

SslType

Specifies The kind of ssl configuration used.

Enums
SSL_TYPE_UNSPECIFIED Unspecified.
SERVER_ONLY Only 'caCertificate' specified.
SERVER_CLIENT Both server ('caCertificate'), and client ('clientKey', 'clientCertificate') specified.

CloudSqlConnectionProfile

Specifies required connection parameters, and, optionally, the parameters required to create a Cloud SQL destination database instance.

JSON representation
{
  "cloudSqlId": string,
  "settings": {
    object (CloudSqlSettings)
  },
  "privateIp": string,
  "publicIp": string
}
Fields
cloudSqlId

string

Output only. The Cloud SQL instance ID that this connection profile is associated with.

settings

object (CloudSqlSettings)

Immutable. Metadata used to create the destination Cloud SQL database.

privateIp

string

Output only. The Cloud SQL database instance's private IP.

publicIp

string

Output only. The Cloud SQL database instance's public IP.

CloudSqlSettings

Settings for creating a Cloud SQL database instance.

JSON representation
{
  "databaseVersion": enum (SqlDatabaseVersion),
  "userLabels": {
    string: string,
    ...
  },
  "tier": string,
  "storageAutoResizeLimit": string,
  "activationPolicy": enum (SqlActivationPolicy),
  "ipConfig": {
    object (SqlIpConfig)
  },
  "autoStorageIncrease": boolean,
  "databaseFlags": {
    string: string,
    ...
  },
  "dataDiskType": enum (SqlDataDiskType),
  "dataDiskSizeGb": string,
  "zone": string,
  "sourceId": string,
  "rootPassword": string,
  "hasRootPassword": boolean
}
Fields
databaseVersion

enum (SqlDatabaseVersion)

The database engine type and version.

userLabels

map (key: string, value: string)

The resource labels for a Cloud SQL instance to use to annotate any related underlying resources such as Compute Engine VMs. An object containing a list of "key": "value" pairs.

Example: { "name": "wrench", "mass": "18kg", "count": "3" }.

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

tier

string

The tier (or machine type) for this instance, for example: db-n1-standard-1 (MySQL instances). For more information, see Cloud SQL Instance Settings.

storageAutoResizeLimit

string (Int64Value format)

The maximum size to which storage capacity can be automatically increased. The default value is 0, which specifies that there is no limit.

activationPolicy

enum (SqlActivationPolicy)

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.

ipConfig

object (SqlIpConfig)

The settings for IP Management. This allows to enable or disable the instance IP and manage which external networks can connect to the instance. The IPv4 address cannot be disabled.

autoStorageIncrease

boolean

[default: ON] If you enable this setting, Cloud SQL checks your available storage every 30 seconds. If the available storage falls below a threshold size, Cloud SQL automatically adds additional storage capacity. If the available storage repeatedly falls below the threshold size, Cloud SQL continues to add storage until it reaches the maximum of 30 TB.

databaseFlags

map (key: string, value: string)

The database flags passed to the Cloud SQL instance at startup. An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

dataDiskType

enum (SqlDataDiskType)

The type of storage: PD_SSD (default) or PD_HDD.

dataDiskSizeGb

string (Int64Value format)

The storage capacity available to the database, in GB. The minimum (and default) size is 10GB.

zone

string

The Google Cloud Platform zone where your Cloud SQL database instance is located.

sourceId

string

The Database Migration Service source connection profile ID, in the format: projects/my_project_name/locations/us-central1/connectionProfiles/connection_profile_ID

rootPassword

string

Input only. Initial root password.

hasRootPassword

boolean

Output only. Indicates If this connection profile root password is stored.

SqlDatabaseVersion

The database engine type and version.

Enums
SQL_DATABASE_VERSION_UNSPECIFIED Unspecified version.
MYSQL_5_6 MySQL 5.6.
MYSQL_5_7 MySQL 5.7.
MYSQL_8_0 MySQL 8.0.

SqlActivationPolicy

Specifies when the instance should be activated.

Enums
SQL_ACTIVATION_POLICY_UNSPECIFIED unspecified policy.
ALWAYS The instance is always up and running.
NEVER The instance should never spin up.

SqlIpConfig

IP Management configuration.

JSON representation
{
  "enableIpv4": boolean,
  "privateNetwork": string,
  "requireSsl": boolean,
  "authorizedNetworks": [
    {
      object (SqlAclEntry)
    }
  ]
}
Fields
enableIpv4

boolean

Whether the instance is assigned a public IP address or not.

privateNetwork

string

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.

requireSsl

boolean

Whether SSL connections over IP should be enforced or not.

authorizedNetworks[]

object (SqlAclEntry)

The list of external networks that are allowed to connect to the instance using the IP. See https://en.wikipedia.org/wiki/CIDR_notation#CIDR_notation, also known as 'slash' notation (e.g. 192.168.100.0/24).

SqlAclEntry

An entry for an Access Control list.

JSON representation
{
  "value": string,
  "expireTime": string,
  "label": string
}
Fields
value

string

The allowlisted value for the access control list.

expireTime

string (Timestamp format)

The time when this access control entry expires in RFC 3339 format, for example: 2012-11-15T16:19:00.094Z.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

label

string

A label to identify this entry.

SqlDataDiskType

The storage options for Cloud SQL databases.

Enums
SQL_DATA_DISK_TYPE_UNSPECIFIED Unspecified.
PD_SSD SSD disk.
PD_HDD HDD disk.

Methods

create

Creates a new connection profile in a given project and location.

delete

Deletes a single Database Migration Service connection profile.

get

Gets details of a single connection profile.

getIamPolicy

Gets the access control policy for a resource.

list

Retrieve a list of all connection profiles in a given project and location.

patch

Update the configuration of a single connection profile.

setIamPolicy

Sets the access control policy on the specified resource.

testIamPermissions

Returns permissions that a caller has on the specified resource.