Close httplib2 connections.
create(parent, blueGreenDeploymentId=None, body=None, x__xgafv=None)
Creates a blue-green deployment under a given project and location.
delete(name, deleteOldSource=None, x__xgafv=None)
Deletes a blue-green deployment.
get(name, view=None, x__xgafv=None)
Retrieves a blue-green deployment resource under a given project and location.
list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)
Lists blue-green deployments under a given project.
list_next(previous_request, previous_response)
Retrieves the next page of results.
switchover(name, body=None, x__xgafv=None)
Switches over to green instance for a blue-green deployment.
close()
Close httplib2 connections.
create(parent, blueGreenDeploymentId=None, body=None, x__xgafv=None)
Creates a blue-green deployment under a given project and location.
Args:
parent: string, Required. The parent resource where this blue-green deployment will be created. Format: projects/{project}/locations/{location} (required)
body: object, The request body.
The object takes the form of:
{ # A `BlueGreenDeployment` resource represents a Cloud SQL blue-green deployment setup.
"createTime": "A String", # Output only. The time when the deployment was created. Example: `2024-01-01T00:00:00Z`
"deploymentMappings": [ # Output only. A list representing the pairs of source and target instances in the deployment.
{ # Represents a pairing of a source instance node and a target instance node.
"diffs": [ # Output only. Describes the list of differences for the `SourceTargetPairedNode`.
{ # Represents a specific configuration difference between blue and green instances.
"field": "A String", # Output only. The name of the field that differs in the blue and green instances, fully-qualified. Example: `settings.tier`
"sourceValue": "A String", # Output only. The value on the source instance.
"targetValue": "A String", # Output only. The value on the target instance.
},
],
"source": { # Details about an instance within the deployment. # Output only. Specifies the resource name of the source instance in this pair.
"connection": "A String", # Output only. The instance connection name.
"dns": "A String", # Output only. The unique DNS name for this instance.
"instance": "A String", # Output only. The full resource name of the instance. Format: projects/{project}/instances/{instance}
"ipMappings": [ # Output only. The list of IP addresses for this instance.
{ # Database instance IP mapping
"ipAddress": "A String", # The IP address assigned.
"timeToRetire": "A String", # The due time for this IP to be retired in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`. This field is only available when the IP is scheduled to be retired.
"type": "A String", # The type of this IP address. A `PRIMARY` address is a public address that can accept incoming connections. A `PRIVATE` address is a private address that can accept incoming connections. An `OUTGOING` address is the source address of connections originating from the instance, if supported.
},
],
},
"state": "A String", # Output only. Specifies the current state of this specific source-target pair.
"target": { # Details about an instance within the deployment. # Output only. Specifies details of the corresponding target instance in this pair.
"connection": "A String", # Output only. The instance connection name.
"dns": "A String", # Output only. The unique DNS name for this instance.
"instance": "A String", # Output only. The full resource name of the instance. Format: projects/{project}/instances/{instance}
"ipMappings": [ # Output only. The list of IP addresses for this instance.
{ # Database instance IP mapping
"ipAddress": "A String", # The IP address assigned.
"timeToRetire": "A String", # The due time for this IP to be retired in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`. This field is only available when the IP is scheduled to be retired.
"type": "A String", # The type of this IP address. A `PRIMARY` address is a public address that can accept incoming connections. A `PRIVATE` address is a private address that can accept incoming connections. An `OUTGOING` address is the source address of connections originating from the instance, if supported.
},
],
},
},
],
"deploymentTasks": { # Combined list of tasks for all paired nodes in the deployment. # Output only. Combined list of tasks for all paired nodes.
"task": [ # Output only. Tasks performed or being performed on the paired nodes of the deployment at a consolidated level.
{ # Represents a task executed as part of the deployment on a target instance.
"endTime": "A String", # Output only. Task end time (if completed).
"errorMessage": "A String", # Output only. Optional error details if the task state is `FAILED`.
"startTime": "A String", # Output only. Task start time.
"state": "A String", # Output only. The current state of the task.
"type": "A String", # Output only. The type of the task.
},
],
},
"description": "A String", # Optional. User-provided description for the deployment. The description can be up to 255 characters long.
"errorDetail": "A String", # Output only. Provides details on why switchover is not possible. This field is empty unless a switchover attempt failed or the state is `SWITCHOVER_NOT_READY`. Example: "The target database version does not match the source instance database version."
"name": "A String", # Output only. Identifier. The full resource name of the deployment. Format: projects/{project}/locations/{location}/blueGreenDeployments/{deployment_id}
"requestedConfig": { # Configuration specified by the user at creation time for the target (green) instance. # Optional. Immutable. Optional on create, and immutable. The configuration intended for the target instance(s) when the deployment was created.
"databaseVersion": "A String", # Optional. The target database major version for the upgrade. For example, `MYSQL_8_0` or `POSTGRES_15`.
},
"sourceInstance": "A String", # Required. Immutable. Required on create, and immutable. The full resource name of the source instance (the "blue" instance). Format: projects/{project}/instances/{instance}
"state": "A String", # Output only. The current state of the blue-green deployment.
"switchoverTargetInstance": "A String", # Output only. The full resource name of the primary target instance (the "green" instance) that will be promoted during switchover. This field is always populated once the deployment is created. Format: projects/{project}/instances/{instance}
}
blueGreenDeploymentId: string, Required. The ID to use for the blue-green deployment, which will become the final component of the deployment's resource name. The ID must be unique within the given project and location and between 2-63 characters.
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # An Operation resource. For successful operations that return an Operation resource, only the fields relevant to the operation are populated in the resource.
"acquireSsrsLeaseContext": { # Acquire SSRS lease context. # The context for acquire SSRS lease operation, if applicable.
"duration": "A String", # Lease duration needed for SSRS setup.
"reportDatabase": "A String", # The report database to be used for SSRS setup.
"serviceLogin": "A String", # The username to be used as the service login to connect to the report database for SSRS setup.
"setupLogin": "A String", # The username to be used as the setup login to connect to the database server for SSRS setup.
},
"apiWarning": { # An Admin API warning message. # An Admin API warning message.
"code": "A String", # Code to uniquely identify the warning type.
"message": "A String", # The warning message.
"region": "A String", # The region name for REGION_UNREACHABLE warning.
},
"backupContext": { # Backup context. # The context for backup operation, if applicable.
"backupId": "A String", # The identifier of the backup.
"kind": "A String", # This is always `sql#backupContext`.
"name": "A String", # The name of the backup. Format: projects/{project}/backups/{backup}
},
"endTime": "A String", # The time this operation finished in UTC timezone in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`.
"error": { # Database instance operation errors list wrapper. # If errors occurred during processing of this operation, this field will be populated.
"errors": [ # The list of errors encountered while processing this operation.
{ # Database instance operation error.
"code": "A String", # Identifies the specific error that occurred.
"kind": "A String", # This is always `sql#operationError`.
"message": "A String", # Additional information about the error encountered.
},
],
"kind": "A String", # This is always `sql#operationErrors`.
},
"exportContext": { # Database instance export context. # The context for export operation, if applicable.
"bakExportOptions": { # Options for exporting BAK files (SQL Server-only)
"bakType": "A String", # Type of this bak file will be export, FULL or DIFF, SQL Server only
"copyOnly": True or False, # Deprecated: copy_only is deprecated. Use differential_base instead
"differentialBase": True or False, # Whether or not the backup can be used as a differential base copy_only backup can not be served as differential base
"exportLogEndTime": "A String", # Optional. The end timestamp when transaction log will be included in the export operation. [RFC 3339](https://tools.ietf.org/html/rfc3339) format (for example, `2023-10-01T16:19:00.094`) in UTC. When omitted, all available logs until current time will be included. Only applied to Cloud SQL for SQL Server.
"exportLogStartTime": "A String", # Optional. The begin timestamp when transaction log will be included in the export operation. [RFC 3339](https://tools.ietf.org/html/rfc3339) format (for example, `2023-10-01T16:19:00.094`) in UTC. When omitted, all available logs from the beginning of retention period will be included. Only applied to Cloud SQL for SQL Server.
"stripeCount": 42, # Option for specifying how many stripes to use for the export. If blank, and the value of the striped field is true, the number of stripes is automatically chosen.
"striped": True or False, # Whether or not the export should be striped.
},
"csvExportOptions": { # Options for exporting data as CSV. `MySQL` and `PostgreSQL` instances only.
"escapeCharacter": "A String", # Specifies the character that should appear before a data character that needs to be escaped.
"fieldsTerminatedBy": "A String", # Specifies the character that separates columns within each row (line) of the file.
"linesTerminatedBy": "A String", # This is used to separate lines. If a line does not contain all fields, the rest of the columns are set to their default values.
"quoteCharacter": "A String", # Specifies the quoting character to be used when a data value is quoted.
"selectQuery": "A String", # The select query used to extract the data.
},
"databases": [ # Databases to be exported. `MySQL instances:` If `fileType` is `SQL` and no database is specified, all databases are exported, except for the `mysql` system database. If `fileType` is `CSV`, you can specify one database, either by using this property or by using the `csvExportOptions.selectQuery` property, which takes precedence over this property. `PostgreSQL instances:` If you don't specify a database by name, all user databases in the instance are exported. This excludes system databases and Cloud SQL databases used to manage internal operations. Exporting all user databases is only available for directory-formatted parallel export. If `fileType` is `CSV`, this database must match the one specified in the `csvExportOptions.selectQuery` property. `SQL Server instances:` You must specify one database to be exported, and the `fileType` must be `BAK`.
"A String",
],
"fileType": "A String", # The file type for the specified uri.
"kind": "A String", # This is always `sql#exportContext`.
"offload": True or False, # Whether to perform a serverless export.
"sqlExportOptions": { # Options for exporting data as SQL statements.
"mysqlExportOptions": { # Options for exporting from MySQL.
"masterData": 42, # Option to include SQL statement required to set up replication. If set to `1`, the dump file includes a CHANGE MASTER TO statement with the binary log coordinates, and --set-gtid-purged is set to ON. If set to `2`, the CHANGE MASTER TO statement is written as a SQL comment and has no effect. If set to any value other than `1`, --set-gtid-purged is set to OFF.
},
"parallel": True or False, # Optional. Whether or not the export should be parallel.
"postgresExportOptions": { # Options for exporting from a Cloud SQL for PostgreSQL instance.
"clean": True or False, # Optional. Use this option to include DROP <object> SQL statements. Use these statements to delete database objects before running the import operation.
"ifExists": True or False, # Optional. Option to include an IF EXISTS SQL statement with each DROP statement produced by clean.
},
"schemaOnly": True or False, # Export only schemas.
"tables": [ # 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.
"A String",
],
"threads": 42, # Optional. The number of threads to use for parallel export.
},
"tdeExportOptions": { # Optional. Export parameters specific to SQL Server TDE certificates
"certificatePath": "A String", # Required. Path to the TDE certificate public key in the form gs://bucketName/fileName. The instance must have write access to the bucket. Applicable only for SQL Server instances.
"name": "A String", # Required. Certificate name. Applicable only for SQL Server instances.
"privateKeyPassword": "A String", # Required. Password that encrypts the private key.
"privateKeyPath": "A String", # Required. Path to the TDE certificate private key in the form gs://bucketName/fileName. The instance must have write access to the location. Applicable only for SQL Server instances.
},
"uri": "A String", # The path to the file in Google Cloud Storage where the export will be stored. The URI is in the form `gs://bucketName/fileName`. If the file already exists, the request succeeds, but the operation fails. If `fileType` is `SQL` and the filename ends with .gz, the contents are compressed.
},
"importContext": { # Database instance import context. # The context for import operation, if applicable.
"bakImportOptions": { # Import parameters specific to SQL Server .BAK files
"bakType": "A String", # Type of the bak content, FULL or DIFF
"encryptionOptions": {
"certPath": "A String", # Path to the Certificate (.cer) in Cloud Storage, in the form `gs://bucketName/fileName`. The instance must have write permissions to the bucket and read access to the file.
"keepEncrypted": True or False, # Optional. Whether the imported file remains encrypted.
"pvkPassword": "A String", # Password that encrypts the private key
"pvkPath": "A String", # Path to the Certificate Private Key (.pvk) in Cloud Storage, in the form `gs://bucketName/fileName`. The instance must have write permissions to the bucket and read access to the file.
},
"noRecovery": True or False, # Whether or not the backup importing will restore database with NORECOVERY option. Applies only to Cloud SQL for SQL Server.
"recoveryOnly": True or False, # Whether or not the backup importing request will just bring database online without downloading Bak content only one of "no_recovery" and "recovery_only" can be true otherwise error will return. Applies only to Cloud SQL for SQL Server.
"stopAt": "A String", # Optional. The timestamp when the import should stop. This timestamp is in the [RFC 3339](https://tools.ietf.org/html/rfc3339) format (for example, `2023-10-01T16:19:00.094`). This field is equivalent to the STOPAT keyword and applies to Cloud SQL for SQL Server only.
"stopAtMark": "A String", # Optional. The marked transaction where the import should stop. This field is equivalent to the STOPATMARK keyword and applies to Cloud SQL for SQL Server only.
"striped": True or False, # Whether or not the backup set being restored is striped. Applies only to Cloud SQL for SQL Server.
},
"csvImportOptions": { # Options for importing data as CSV.
"columns": [ # The columns to which CSV data is imported. If not specified, all columns of the database table are loaded with CSV data.
"A String",
],
"escapeCharacter": "A String", # Specifies the character that should appear before a data character that needs to be escaped.
"fieldsTerminatedBy": "A String", # Specifies the character that separates columns within each row (line) of the file.
"linesTerminatedBy": "A String", # This is used to separate lines. If a line does not contain all fields, the rest of the columns are set to their default values.
"quoteCharacter": "A String", # Specifies the quoting character to be used when a data value is quoted.
"table": "A String", # The table to which CSV data is imported.
},
"database": "A String", # The target database for the import. If `fileType` is `SQL`, this field is required only if the import file does not specify a database, and is overridden by any database specification in the import file. For entire instance parallel import operations, the database is overridden by the database name stored in subdirectory name. If `fileType` is `CSV`, one database must be specified.
"fileType": "A String", # The file type for the specified uri.\`SQL`: The file contains SQL statements. \`CSV`: The file contains CSV data.
"importUser": "A String", # The PostgreSQL user for this import operation. PostgreSQL instances only.
"kind": "A String", # This is always `sql#importContext`.
"sqlImportOptions": { # Optional. Options for importing data from SQL statements.
"parallel": True or False, # Optional. Whether or not the import should be parallel.
"postgresImportOptions": { # Optional. Options for importing from a Cloud SQL for PostgreSQL instance.
"clean": True or False, # Optional. The --clean flag for the pg_restore utility. This flag applies only if you enabled Cloud SQL to import files in parallel.
"ifExists": True or False, # Optional. The --if-exists flag for the pg_restore utility. This flag applies only if you enabled Cloud SQL to import files in parallel.
},
"threads": 42, # Optional. The number of threads to use for parallel import.
},
"tdeImportOptions": { # Optional. Import parameters specific to SQL Server TDE certificates
"certificatePath": "A String", # Required. Path to the TDE certificate public key in the form gs://bucketName/fileName. The instance must have read access to the file. Applicable only for SQL Server instances.
"name": "A String", # Required. Certificate name. Applicable only for SQL Server instances.
"privateKeyPassword": "A String", # Required. Password that encrypts the private key.
"privateKeyPath": "A String", # Required. Path to the TDE certificate private key in the form gs://bucketName/fileName. The instance must have read access to the file. Applicable only for SQL Server instances.
},
"uri": "A String", # Path to the import file in Cloud Storage, in the form `gs://bucketName/fileName`. Compressed gzip files (.gz) are supported when `fileType` is `SQL`. The instance must have write permissions to the bucket and read access to the file.
},
"insertTime": "A String", # The time this operation was enqueued in UTC timezone in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`.
"kind": "A String", # This is always `sql#operation`.
"name": "A String", # An identifier that uniquely identifies the operation. You can use this identifier to retrieve the Operations resource that has information about the operation.
"operationType": "A String", # The type of the operation. Valid values are: * `CREATE` * `DELETE` * `UPDATE` * `RESTART` * `IMPORT` * `EXPORT` * `BACKUP_VOLUME` * `RESTORE_VOLUME` * `CREATE_USER` * `DELETE_USER` * `CREATE_DATABASE` * `DELETE_DATABASE`
"preCheckMajorVersionUpgradeContext": { # Pre-check major version upgrade context. # This field is only populated when the operation_type is PRE_CHECK_MAJOR_VERSION_UPGRADE. The PreCheckMajorVersionUpgradeContext message itself contains the details for that pre-check, such as the target database version for the upgrade and the results of the check (including any warnings or errors found).
"kind": "A String", # Optional. This is always `sql#preCheckMajorVersionUpgradeContext`.
"preCheckResponse": [ # Output only. The responses from the precheck operation.
{ # Structured PreCheckResponse containing message, type, and required actions.
"actionsRequired": [ # The actions that the user needs to take. Use repeated for multiple actions.
"A String",
],
"message": "A String", # The message to be displayed to the user.
"messageType": "A String", # The type of message whether it is an info, warning, or error.
},
],
"targetDatabaseVersion": "A String", # Required. The target database version to upgrade to.
},
"selfLink": "A String", # The URI of this resource.
"startTime": "A String", # The time this operation actually started in UTC timezone in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`.
"status": "A String", # The status of an operation.
"subOperationType": { # The sub operation type based on the operation type. # Optional. The sub operation based on the operation type.
"maintenanceType": "A String", # The type of maintenance to be performed on the instance.
},
"targetId": "A String", # Name of the resource on which this operation runs.
"targetLink": "A String",
"targetProject": "A String", # The project ID of the target instance related to this operation.
"user": "A String", # The email address of the user who initiated this operation.
}
delete(name, deleteOldSource=None, x__xgafv=None)
Deletes a blue-green deployment.
Args:
name: string, Required. The name of the blue-green deployment to delete. Format: projects/{project}/locations/{location}/blueGreenDeployments/{blue_green_deployment} (required)
deleteOldSource: boolean, Optional. If set to true, and the switchover is complete, this deletes the old source instance along with the deployment.
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # An Operation resource. For successful operations that return an Operation resource, only the fields relevant to the operation are populated in the resource.
"acquireSsrsLeaseContext": { # Acquire SSRS lease context. # The context for acquire SSRS lease operation, if applicable.
"duration": "A String", # Lease duration needed for SSRS setup.
"reportDatabase": "A String", # The report database to be used for SSRS setup.
"serviceLogin": "A String", # The username to be used as the service login to connect to the report database for SSRS setup.
"setupLogin": "A String", # The username to be used as the setup login to connect to the database server for SSRS setup.
},
"apiWarning": { # An Admin API warning message. # An Admin API warning message.
"code": "A String", # Code to uniquely identify the warning type.
"message": "A String", # The warning message.
"region": "A String", # The region name for REGION_UNREACHABLE warning.
},
"backupContext": { # Backup context. # The context for backup operation, if applicable.
"backupId": "A String", # The identifier of the backup.
"kind": "A String", # This is always `sql#backupContext`.
"name": "A String", # The name of the backup. Format: projects/{project}/backups/{backup}
},
"endTime": "A String", # The time this operation finished in UTC timezone in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`.
"error": { # Database instance operation errors list wrapper. # If errors occurred during processing of this operation, this field will be populated.
"errors": [ # The list of errors encountered while processing this operation.
{ # Database instance operation error.
"code": "A String", # Identifies the specific error that occurred.
"kind": "A String", # This is always `sql#operationError`.
"message": "A String", # Additional information about the error encountered.
},
],
"kind": "A String", # This is always `sql#operationErrors`.
},
"exportContext": { # Database instance export context. # The context for export operation, if applicable.
"bakExportOptions": { # Options for exporting BAK files (SQL Server-only)
"bakType": "A String", # Type of this bak file will be export, FULL or DIFF, SQL Server only
"copyOnly": True or False, # Deprecated: copy_only is deprecated. Use differential_base instead
"differentialBase": True or False, # Whether or not the backup can be used as a differential base copy_only backup can not be served as differential base
"exportLogEndTime": "A String", # Optional. The end timestamp when transaction log will be included in the export operation. [RFC 3339](https://tools.ietf.org/html/rfc3339) format (for example, `2023-10-01T16:19:00.094`) in UTC. When omitted, all available logs until current time will be included. Only applied to Cloud SQL for SQL Server.
"exportLogStartTime": "A String", # Optional. The begin timestamp when transaction log will be included in the export operation. [RFC 3339](https://tools.ietf.org/html/rfc3339) format (for example, `2023-10-01T16:19:00.094`) in UTC. When omitted, all available logs from the beginning of retention period will be included. Only applied to Cloud SQL for SQL Server.
"stripeCount": 42, # Option for specifying how many stripes to use for the export. If blank, and the value of the striped field is true, the number of stripes is automatically chosen.
"striped": True or False, # Whether or not the export should be striped.
},
"csvExportOptions": { # Options for exporting data as CSV. `MySQL` and `PostgreSQL` instances only.
"escapeCharacter": "A String", # Specifies the character that should appear before a data character that needs to be escaped.
"fieldsTerminatedBy": "A String", # Specifies the character that separates columns within each row (line) of the file.
"linesTerminatedBy": "A String", # This is used to separate lines. If a line does not contain all fields, the rest of the columns are set to their default values.
"quoteCharacter": "A String", # Specifies the quoting character to be used when a data value is quoted.
"selectQuery": "A String", # The select query used to extract the data.
},
"databases": [ # Databases to be exported. `MySQL instances:` If `fileType` is `SQL` and no database is specified, all databases are exported, except for the `mysql` system database. If `fileType` is `CSV`, you can specify one database, either by using this property or by using the `csvExportOptions.selectQuery` property, which takes precedence over this property. `PostgreSQL instances:` If you don't specify a database by name, all user databases in the instance are exported. This excludes system databases and Cloud SQL databases used to manage internal operations. Exporting all user databases is only available for directory-formatted parallel export. If `fileType` is `CSV`, this database must match the one specified in the `csvExportOptions.selectQuery` property. `SQL Server instances:` You must specify one database to be exported, and the `fileType` must be `BAK`.
"A String",
],
"fileType": "A String", # The file type for the specified uri.
"kind": "A String", # This is always `sql#exportContext`.
"offload": True or False, # Whether to perform a serverless export.
"sqlExportOptions": { # Options for exporting data as SQL statements.
"mysqlExportOptions": { # Options for exporting from MySQL.
"masterData": 42, # Option to include SQL statement required to set up replication. If set to `1`, the dump file includes a CHANGE MASTER TO statement with the binary log coordinates, and --set-gtid-purged is set to ON. If set to `2`, the CHANGE MASTER TO statement is written as a SQL comment and has no effect. If set to any value other than `1`, --set-gtid-purged is set to OFF.
},
"parallel": True or False, # Optional. Whether or not the export should be parallel.
"postgresExportOptions": { # Options for exporting from a Cloud SQL for PostgreSQL instance.
"clean": True or False, # Optional. Use this option to include DROP <object> SQL statements. Use these statements to delete database objects before running the import operation.
"ifExists": True or False, # Optional. Option to include an IF EXISTS SQL statement with each DROP statement produced by clean.
},
"schemaOnly": True or False, # Export only schemas.
"tables": [ # 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.
"A String",
],
"threads": 42, # Optional. The number of threads to use for parallel export.
},
"tdeExportOptions": { # Optional. Export parameters specific to SQL Server TDE certificates
"certificatePath": "A String", # Required. Path to the TDE certificate public key in the form gs://bucketName/fileName. The instance must have write access to the bucket. Applicable only for SQL Server instances.
"name": "A String", # Required. Certificate name. Applicable only for SQL Server instances.
"privateKeyPassword": "A String", # Required. Password that encrypts the private key.
"privateKeyPath": "A String", # Required. Path to the TDE certificate private key in the form gs://bucketName/fileName. The instance must have write access to the location. Applicable only for SQL Server instances.
},
"uri": "A String", # The path to the file in Google Cloud Storage where the export will be stored. The URI is in the form `gs://bucketName/fileName`. If the file already exists, the request succeeds, but the operation fails. If `fileType` is `SQL` and the filename ends with .gz, the contents are compressed.
},
"importContext": { # Database instance import context. # The context for import operation, if applicable.
"bakImportOptions": { # Import parameters specific to SQL Server .BAK files
"bakType": "A String", # Type of the bak content, FULL or DIFF
"encryptionOptions": {
"certPath": "A String", # Path to the Certificate (.cer) in Cloud Storage, in the form `gs://bucketName/fileName`. The instance must have write permissions to the bucket and read access to the file.
"keepEncrypted": True or False, # Optional. Whether the imported file remains encrypted.
"pvkPassword": "A String", # Password that encrypts the private key
"pvkPath": "A String", # Path to the Certificate Private Key (.pvk) in Cloud Storage, in the form `gs://bucketName/fileName`. The instance must have write permissions to the bucket and read access to the file.
},
"noRecovery": True or False, # Whether or not the backup importing will restore database with NORECOVERY option. Applies only to Cloud SQL for SQL Server.
"recoveryOnly": True or False, # Whether or not the backup importing request will just bring database online without downloading Bak content only one of "no_recovery" and "recovery_only" can be true otherwise error will return. Applies only to Cloud SQL for SQL Server.
"stopAt": "A String", # Optional. The timestamp when the import should stop. This timestamp is in the [RFC 3339](https://tools.ietf.org/html/rfc3339) format (for example, `2023-10-01T16:19:00.094`). This field is equivalent to the STOPAT keyword and applies to Cloud SQL for SQL Server only.
"stopAtMark": "A String", # Optional. The marked transaction where the import should stop. This field is equivalent to the STOPATMARK keyword and applies to Cloud SQL for SQL Server only.
"striped": True or False, # Whether or not the backup set being restored is striped. Applies only to Cloud SQL for SQL Server.
},
"csvImportOptions": { # Options for importing data as CSV.
"columns": [ # The columns to which CSV data is imported. If not specified, all columns of the database table are loaded with CSV data.
"A String",
],
"escapeCharacter": "A String", # Specifies the character that should appear before a data character that needs to be escaped.
"fieldsTerminatedBy": "A String", # Specifies the character that separates columns within each row (line) of the file.
"linesTerminatedBy": "A String", # This is used to separate lines. If a line does not contain all fields, the rest of the columns are set to their default values.
"quoteCharacter": "A String", # Specifies the quoting character to be used when a data value is quoted.
"table": "A String", # The table to which CSV data is imported.
},
"database": "A String", # The target database for the import. If `fileType` is `SQL`, this field is required only if the import file does not specify a database, and is overridden by any database specification in the import file. For entire instance parallel import operations, the database is overridden by the database name stored in subdirectory name. If `fileType` is `CSV`, one database must be specified.
"fileType": "A String", # The file type for the specified uri.\`SQL`: The file contains SQL statements. \`CSV`: The file contains CSV data.
"importUser": "A String", # The PostgreSQL user for this import operation. PostgreSQL instances only.
"kind": "A String", # This is always `sql#importContext`.
"sqlImportOptions": { # Optional. Options for importing data from SQL statements.
"parallel": True or False, # Optional. Whether or not the import should be parallel.
"postgresImportOptions": { # Optional. Options for importing from a Cloud SQL for PostgreSQL instance.
"clean": True or False, # Optional. The --clean flag for the pg_restore utility. This flag applies only if you enabled Cloud SQL to import files in parallel.
"ifExists": True or False, # Optional. The --if-exists flag for the pg_restore utility. This flag applies only if you enabled Cloud SQL to import files in parallel.
},
"threads": 42, # Optional. The number of threads to use for parallel import.
},
"tdeImportOptions": { # Optional. Import parameters specific to SQL Server TDE certificates
"certificatePath": "A String", # Required. Path to the TDE certificate public key in the form gs://bucketName/fileName. The instance must have read access to the file. Applicable only for SQL Server instances.
"name": "A String", # Required. Certificate name. Applicable only for SQL Server instances.
"privateKeyPassword": "A String", # Required. Password that encrypts the private key.
"privateKeyPath": "A String", # Required. Path to the TDE certificate private key in the form gs://bucketName/fileName. The instance must have read access to the file. Applicable only for SQL Server instances.
},
"uri": "A String", # Path to the import file in Cloud Storage, in the form `gs://bucketName/fileName`. Compressed gzip files (.gz) are supported when `fileType` is `SQL`. The instance must have write permissions to the bucket and read access to the file.
},
"insertTime": "A String", # The time this operation was enqueued in UTC timezone in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`.
"kind": "A String", # This is always `sql#operation`.
"name": "A String", # An identifier that uniquely identifies the operation. You can use this identifier to retrieve the Operations resource that has information about the operation.
"operationType": "A String", # The type of the operation. Valid values are: * `CREATE` * `DELETE` * `UPDATE` * `RESTART` * `IMPORT` * `EXPORT` * `BACKUP_VOLUME` * `RESTORE_VOLUME` * `CREATE_USER` * `DELETE_USER` * `CREATE_DATABASE` * `DELETE_DATABASE`
"preCheckMajorVersionUpgradeContext": { # Pre-check major version upgrade context. # This field is only populated when the operation_type is PRE_CHECK_MAJOR_VERSION_UPGRADE. The PreCheckMajorVersionUpgradeContext message itself contains the details for that pre-check, such as the target database version for the upgrade and the results of the check (including any warnings or errors found).
"kind": "A String", # Optional. This is always `sql#preCheckMajorVersionUpgradeContext`.
"preCheckResponse": [ # Output only. The responses from the precheck operation.
{ # Structured PreCheckResponse containing message, type, and required actions.
"actionsRequired": [ # The actions that the user needs to take. Use repeated for multiple actions.
"A String",
],
"message": "A String", # The message to be displayed to the user.
"messageType": "A String", # The type of message whether it is an info, warning, or error.
},
],
"targetDatabaseVersion": "A String", # Required. The target database version to upgrade to.
},
"selfLink": "A String", # The URI of this resource.
"startTime": "A String", # The time this operation actually started in UTC timezone in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`.
"status": "A String", # The status of an operation.
"subOperationType": { # The sub operation type based on the operation type. # Optional. The sub operation based on the operation type.
"maintenanceType": "A String", # The type of maintenance to be performed on the instance.
},
"targetId": "A String", # Name of the resource on which this operation runs.
"targetLink": "A String",
"targetProject": "A String", # The project ID of the target instance related to this operation.
"user": "A String", # The email address of the user who initiated this operation.
}
get(name, view=None, x__xgafv=None)
Retrieves a blue-green deployment resource under a given project and location.
Args:
name: string, Required. The name of the blue-green deployment to retrieve. Format: projects/{project}/locations/{location}/blueGreenDeployments/{blue_green_deployment} (required)
view: string, Optional. Specifies whether to return the basic or detailed view of the resource in the response.
Allowed values
BLUE_GREEN_DEPLOYMENT_VIEW_UNSPECIFIED - Blue-green deployment view enumeration. This allows the caller to specify what view they query. If unspecified (BLUE_GREEN_DEPLOYMENT_VIEW_UNSPECIFIED), the behavior is the same as BASIC.
BASIC - Includes basic metadata about the blue-green deployment. `BASIC` is the default view.
DETAILED - Includes basic metadata and configuration differences between source and target instances (`database_version`, `tier`, `edition`, `availability_type`, `data_disk_size_gb`, and `data_disk_type`).
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # A `BlueGreenDeployment` resource represents a Cloud SQL blue-green deployment setup.
"createTime": "A String", # Output only. The time when the deployment was created. Example: `2024-01-01T00:00:00Z`
"deploymentMappings": [ # Output only. A list representing the pairs of source and target instances in the deployment.
{ # Represents a pairing of a source instance node and a target instance node.
"diffs": [ # Output only. Describes the list of differences for the `SourceTargetPairedNode`.
{ # Represents a specific configuration difference between blue and green instances.
"field": "A String", # Output only. The name of the field that differs in the blue and green instances, fully-qualified. Example: `settings.tier`
"sourceValue": "A String", # Output only. The value on the source instance.
"targetValue": "A String", # Output only. The value on the target instance.
},
],
"source": { # Details about an instance within the deployment. # Output only. Specifies the resource name of the source instance in this pair.
"connection": "A String", # Output only. The instance connection name.
"dns": "A String", # Output only. The unique DNS name for this instance.
"instance": "A String", # Output only. The full resource name of the instance. Format: projects/{project}/instances/{instance}
"ipMappings": [ # Output only. The list of IP addresses for this instance.
{ # Database instance IP mapping
"ipAddress": "A String", # The IP address assigned.
"timeToRetire": "A String", # The due time for this IP to be retired in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`. This field is only available when the IP is scheduled to be retired.
"type": "A String", # The type of this IP address. A `PRIMARY` address is a public address that can accept incoming connections. A `PRIVATE` address is a private address that can accept incoming connections. An `OUTGOING` address is the source address of connections originating from the instance, if supported.
},
],
},
"state": "A String", # Output only. Specifies the current state of this specific source-target pair.
"target": { # Details about an instance within the deployment. # Output only. Specifies details of the corresponding target instance in this pair.
"connection": "A String", # Output only. The instance connection name.
"dns": "A String", # Output only. The unique DNS name for this instance.
"instance": "A String", # Output only. The full resource name of the instance. Format: projects/{project}/instances/{instance}
"ipMappings": [ # Output only. The list of IP addresses for this instance.
{ # Database instance IP mapping
"ipAddress": "A String", # The IP address assigned.
"timeToRetire": "A String", # The due time for this IP to be retired in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`. This field is only available when the IP is scheduled to be retired.
"type": "A String", # The type of this IP address. A `PRIMARY` address is a public address that can accept incoming connections. A `PRIVATE` address is a private address that can accept incoming connections. An `OUTGOING` address is the source address of connections originating from the instance, if supported.
},
],
},
},
],
"deploymentTasks": { # Combined list of tasks for all paired nodes in the deployment. # Output only. Combined list of tasks for all paired nodes.
"task": [ # Output only. Tasks performed or being performed on the paired nodes of the deployment at a consolidated level.
{ # Represents a task executed as part of the deployment on a target instance.
"endTime": "A String", # Output only. Task end time (if completed).
"errorMessage": "A String", # Output only. Optional error details if the task state is `FAILED`.
"startTime": "A String", # Output only. Task start time.
"state": "A String", # Output only. The current state of the task.
"type": "A String", # Output only. The type of the task.
},
],
},
"description": "A String", # Optional. User-provided description for the deployment. The description can be up to 255 characters long.
"errorDetail": "A String", # Output only. Provides details on why switchover is not possible. This field is empty unless a switchover attempt failed or the state is `SWITCHOVER_NOT_READY`. Example: "The target database version does not match the source instance database version."
"name": "A String", # Output only. Identifier. The full resource name of the deployment. Format: projects/{project}/locations/{location}/blueGreenDeployments/{deployment_id}
"requestedConfig": { # Configuration specified by the user at creation time for the target (green) instance. # Optional. Immutable. Optional on create, and immutable. The configuration intended for the target instance(s) when the deployment was created.
"databaseVersion": "A String", # Optional. The target database major version for the upgrade. For example, `MYSQL_8_0` or `POSTGRES_15`.
},
"sourceInstance": "A String", # Required. Immutable. Required on create, and immutable. The full resource name of the source instance (the "blue" instance). Format: projects/{project}/instances/{instance}
"state": "A String", # Output only. The current state of the blue-green deployment.
"switchoverTargetInstance": "A String", # Output only. The full resource name of the primary target instance (the "green" instance) that will be promoted during switchover. This field is always populated once the deployment is created. Format: projects/{project}/instances/{instance}
}
list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)
Lists blue-green deployments under a given project.
Args:
parent: string, Required. The parent resource whose blue-green deployments are to be listed. Format: projects/{project}/locations/{location} (required)
filter: string, Optional. A filter expression that filters the results.
orderBy: string, Optional. A comma-separated list of fields to order the results by.
pageSize: integer, Optional. The maximum number of deployments to return. The service may return fewer deployments than this value. If unspecified, at most 500 deployments are returned. The maximum value is 1000; values above 1000 are treated as 1000.
pageToken: string, Optional. A page token, received from a previous `ListBlueGreenDeployments` call. Provide this to retrieve the subsequent page.
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # The response message for listing blue-green deployment resources.
"blueGreenDeployments": [ # The list of blue-green deployment resources.
{ # A `BlueGreenDeployment` resource represents a Cloud SQL blue-green deployment setup.
"createTime": "A String", # Output only. The time when the deployment was created. Example: `2024-01-01T00:00:00Z`
"deploymentMappings": [ # Output only. A list representing the pairs of source and target instances in the deployment.
{ # Represents a pairing of a source instance node and a target instance node.
"diffs": [ # Output only. Describes the list of differences for the `SourceTargetPairedNode`.
{ # Represents a specific configuration difference between blue and green instances.
"field": "A String", # Output only. The name of the field that differs in the blue and green instances, fully-qualified. Example: `settings.tier`
"sourceValue": "A String", # Output only. The value on the source instance.
"targetValue": "A String", # Output only. The value on the target instance.
},
],
"source": { # Details about an instance within the deployment. # Output only. Specifies the resource name of the source instance in this pair.
"connection": "A String", # Output only. The instance connection name.
"dns": "A String", # Output only. The unique DNS name for this instance.
"instance": "A String", # Output only. The full resource name of the instance. Format: projects/{project}/instances/{instance}
"ipMappings": [ # Output only. The list of IP addresses for this instance.
{ # Database instance IP mapping
"ipAddress": "A String", # The IP address assigned.
"timeToRetire": "A String", # The due time for this IP to be retired in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`. This field is only available when the IP is scheduled to be retired.
"type": "A String", # The type of this IP address. A `PRIMARY` address is a public address that can accept incoming connections. A `PRIVATE` address is a private address that can accept incoming connections. An `OUTGOING` address is the source address of connections originating from the instance, if supported.
},
],
},
"state": "A String", # Output only. Specifies the current state of this specific source-target pair.
"target": { # Details about an instance within the deployment. # Output only. Specifies details of the corresponding target instance in this pair.
"connection": "A String", # Output only. The instance connection name.
"dns": "A String", # Output only. The unique DNS name for this instance.
"instance": "A String", # Output only. The full resource name of the instance. Format: projects/{project}/instances/{instance}
"ipMappings": [ # Output only. The list of IP addresses for this instance.
{ # Database instance IP mapping
"ipAddress": "A String", # The IP address assigned.
"timeToRetire": "A String", # The due time for this IP to be retired in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`. This field is only available when the IP is scheduled to be retired.
"type": "A String", # The type of this IP address. A `PRIMARY` address is a public address that can accept incoming connections. A `PRIVATE` address is a private address that can accept incoming connections. An `OUTGOING` address is the source address of connections originating from the instance, if supported.
},
],
},
},
],
"deploymentTasks": { # Combined list of tasks for all paired nodes in the deployment. # Output only. Combined list of tasks for all paired nodes.
"task": [ # Output only. Tasks performed or being performed on the paired nodes of the deployment at a consolidated level.
{ # Represents a task executed as part of the deployment on a target instance.
"endTime": "A String", # Output only. Task end time (if completed).
"errorMessage": "A String", # Output only. Optional error details if the task state is `FAILED`.
"startTime": "A String", # Output only. Task start time.
"state": "A String", # Output only. The current state of the task.
"type": "A String", # Output only. The type of the task.
},
],
},
"description": "A String", # Optional. User-provided description for the deployment. The description can be up to 255 characters long.
"errorDetail": "A String", # Output only. Provides details on why switchover is not possible. This field is empty unless a switchover attempt failed or the state is `SWITCHOVER_NOT_READY`. Example: "The target database version does not match the source instance database version."
"name": "A String", # Output only. Identifier. The full resource name of the deployment. Format: projects/{project}/locations/{location}/blueGreenDeployments/{deployment_id}
"requestedConfig": { # Configuration specified by the user at creation time for the target (green) instance. # Optional. Immutable. Optional on create, and immutable. The configuration intended for the target instance(s) when the deployment was created.
"databaseVersion": "A String", # Optional. The target database major version for the upgrade. For example, `MYSQL_8_0` or `POSTGRES_15`.
},
"sourceInstance": "A String", # Required. Immutable. Required on create, and immutable. The full resource name of the source instance (the "blue" instance). Format: projects/{project}/instances/{instance}
"state": "A String", # Output only. The current state of the blue-green deployment.
"switchoverTargetInstance": "A String", # Output only. The full resource name of the primary target instance (the "green" instance) that will be promoted during switchover. This field is always populated once the deployment is created. Format: projects/{project}/instances/{instance}
},
],
"nextPageToken": "A String", # A token to retrieve the next page of results, or empty if there are no more results.
}
list_next(previous_request, previous_response)
Retrieves the next page of results. Args: previous_request: The request for the previous page. (required) previous_response: The response from the request for the previous page. (required) Returns: A request object that you can call 'execute()' on to request the next page. Returns None if there are no more items in the collection.
switchover(name, body=None, x__xgafv=None)
Switches over to green instance for a blue-green deployment.
Args:
name: string, Required. The name of the blue-green deployment to switch over. Format: projects/{project}/locations/{location}/blueGreenDeployments/{blue_green_deployment} (required)
body: object, The request body.
The object takes the form of:
{ # Request message for switching over a `BlueGreenDeployment` resource.
}
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # An Operation resource. For successful operations that return an Operation resource, only the fields relevant to the operation are populated in the resource.
"acquireSsrsLeaseContext": { # Acquire SSRS lease context. # The context for acquire SSRS lease operation, if applicable.
"duration": "A String", # Lease duration needed for SSRS setup.
"reportDatabase": "A String", # The report database to be used for SSRS setup.
"serviceLogin": "A String", # The username to be used as the service login to connect to the report database for SSRS setup.
"setupLogin": "A String", # The username to be used as the setup login to connect to the database server for SSRS setup.
},
"apiWarning": { # An Admin API warning message. # An Admin API warning message.
"code": "A String", # Code to uniquely identify the warning type.
"message": "A String", # The warning message.
"region": "A String", # The region name for REGION_UNREACHABLE warning.
},
"backupContext": { # Backup context. # The context for backup operation, if applicable.
"backupId": "A String", # The identifier of the backup.
"kind": "A String", # This is always `sql#backupContext`.
"name": "A String", # The name of the backup. Format: projects/{project}/backups/{backup}
},
"endTime": "A String", # The time this operation finished in UTC timezone in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`.
"error": { # Database instance operation errors list wrapper. # If errors occurred during processing of this operation, this field will be populated.
"errors": [ # The list of errors encountered while processing this operation.
{ # Database instance operation error.
"code": "A String", # Identifies the specific error that occurred.
"kind": "A String", # This is always `sql#operationError`.
"message": "A String", # Additional information about the error encountered.
},
],
"kind": "A String", # This is always `sql#operationErrors`.
},
"exportContext": { # Database instance export context. # The context for export operation, if applicable.
"bakExportOptions": { # Options for exporting BAK files (SQL Server-only)
"bakType": "A String", # Type of this bak file will be export, FULL or DIFF, SQL Server only
"copyOnly": True or False, # Deprecated: copy_only is deprecated. Use differential_base instead
"differentialBase": True or False, # Whether or not the backup can be used as a differential base copy_only backup can not be served as differential base
"exportLogEndTime": "A String", # Optional. The end timestamp when transaction log will be included in the export operation. [RFC 3339](https://tools.ietf.org/html/rfc3339) format (for example, `2023-10-01T16:19:00.094`) in UTC. When omitted, all available logs until current time will be included. Only applied to Cloud SQL for SQL Server.
"exportLogStartTime": "A String", # Optional. The begin timestamp when transaction log will be included in the export operation. [RFC 3339](https://tools.ietf.org/html/rfc3339) format (for example, `2023-10-01T16:19:00.094`) in UTC. When omitted, all available logs from the beginning of retention period will be included. Only applied to Cloud SQL for SQL Server.
"stripeCount": 42, # Option for specifying how many stripes to use for the export. If blank, and the value of the striped field is true, the number of stripes is automatically chosen.
"striped": True or False, # Whether or not the export should be striped.
},
"csvExportOptions": { # Options for exporting data as CSV. `MySQL` and `PostgreSQL` instances only.
"escapeCharacter": "A String", # Specifies the character that should appear before a data character that needs to be escaped.
"fieldsTerminatedBy": "A String", # Specifies the character that separates columns within each row (line) of the file.
"linesTerminatedBy": "A String", # This is used to separate lines. If a line does not contain all fields, the rest of the columns are set to their default values.
"quoteCharacter": "A String", # Specifies the quoting character to be used when a data value is quoted.
"selectQuery": "A String", # The select query used to extract the data.
},
"databases": [ # Databases to be exported. `MySQL instances:` If `fileType` is `SQL` and no database is specified, all databases are exported, except for the `mysql` system database. If `fileType` is `CSV`, you can specify one database, either by using this property or by using the `csvExportOptions.selectQuery` property, which takes precedence over this property. `PostgreSQL instances:` If you don't specify a database by name, all user databases in the instance are exported. This excludes system databases and Cloud SQL databases used to manage internal operations. Exporting all user databases is only available for directory-formatted parallel export. If `fileType` is `CSV`, this database must match the one specified in the `csvExportOptions.selectQuery` property. `SQL Server instances:` You must specify one database to be exported, and the `fileType` must be `BAK`.
"A String",
],
"fileType": "A String", # The file type for the specified uri.
"kind": "A String", # This is always `sql#exportContext`.
"offload": True or False, # Whether to perform a serverless export.
"sqlExportOptions": { # Options for exporting data as SQL statements.
"mysqlExportOptions": { # Options for exporting from MySQL.
"masterData": 42, # Option to include SQL statement required to set up replication. If set to `1`, the dump file includes a CHANGE MASTER TO statement with the binary log coordinates, and --set-gtid-purged is set to ON. If set to `2`, the CHANGE MASTER TO statement is written as a SQL comment and has no effect. If set to any value other than `1`, --set-gtid-purged is set to OFF.
},
"parallel": True or False, # Optional. Whether or not the export should be parallel.
"postgresExportOptions": { # Options for exporting from a Cloud SQL for PostgreSQL instance.
"clean": True or False, # Optional. Use this option to include DROP <object> SQL statements. Use these statements to delete database objects before running the import operation.
"ifExists": True or False, # Optional. Option to include an IF EXISTS SQL statement with each DROP statement produced by clean.
},
"schemaOnly": True or False, # Export only schemas.
"tables": [ # 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.
"A String",
],
"threads": 42, # Optional. The number of threads to use for parallel export.
},
"tdeExportOptions": { # Optional. Export parameters specific to SQL Server TDE certificates
"certificatePath": "A String", # Required. Path to the TDE certificate public key in the form gs://bucketName/fileName. The instance must have write access to the bucket. Applicable only for SQL Server instances.
"name": "A String", # Required. Certificate name. Applicable only for SQL Server instances.
"privateKeyPassword": "A String", # Required. Password that encrypts the private key.
"privateKeyPath": "A String", # Required. Path to the TDE certificate private key in the form gs://bucketName/fileName. The instance must have write access to the location. Applicable only for SQL Server instances.
},
"uri": "A String", # The path to the file in Google Cloud Storage where the export will be stored. The URI is in the form `gs://bucketName/fileName`. If the file already exists, the request succeeds, but the operation fails. If `fileType` is `SQL` and the filename ends with .gz, the contents are compressed.
},
"importContext": { # Database instance import context. # The context for import operation, if applicable.
"bakImportOptions": { # Import parameters specific to SQL Server .BAK files
"bakType": "A String", # Type of the bak content, FULL or DIFF
"encryptionOptions": {
"certPath": "A String", # Path to the Certificate (.cer) in Cloud Storage, in the form `gs://bucketName/fileName`. The instance must have write permissions to the bucket and read access to the file.
"keepEncrypted": True or False, # Optional. Whether the imported file remains encrypted.
"pvkPassword": "A String", # Password that encrypts the private key
"pvkPath": "A String", # Path to the Certificate Private Key (.pvk) in Cloud Storage, in the form `gs://bucketName/fileName`. The instance must have write permissions to the bucket and read access to the file.
},
"noRecovery": True or False, # Whether or not the backup importing will restore database with NORECOVERY option. Applies only to Cloud SQL for SQL Server.
"recoveryOnly": True or False, # Whether or not the backup importing request will just bring database online without downloading Bak content only one of "no_recovery" and "recovery_only" can be true otherwise error will return. Applies only to Cloud SQL for SQL Server.
"stopAt": "A String", # Optional. The timestamp when the import should stop. This timestamp is in the [RFC 3339](https://tools.ietf.org/html/rfc3339) format (for example, `2023-10-01T16:19:00.094`). This field is equivalent to the STOPAT keyword and applies to Cloud SQL for SQL Server only.
"stopAtMark": "A String", # Optional. The marked transaction where the import should stop. This field is equivalent to the STOPATMARK keyword and applies to Cloud SQL for SQL Server only.
"striped": True or False, # Whether or not the backup set being restored is striped. Applies only to Cloud SQL for SQL Server.
},
"csvImportOptions": { # Options for importing data as CSV.
"columns": [ # The columns to which CSV data is imported. If not specified, all columns of the database table are loaded with CSV data.
"A String",
],
"escapeCharacter": "A String", # Specifies the character that should appear before a data character that needs to be escaped.
"fieldsTerminatedBy": "A String", # Specifies the character that separates columns within each row (line) of the file.
"linesTerminatedBy": "A String", # This is used to separate lines. If a line does not contain all fields, the rest of the columns are set to their default values.
"quoteCharacter": "A String", # Specifies the quoting character to be used when a data value is quoted.
"table": "A String", # The table to which CSV data is imported.
},
"database": "A String", # The target database for the import. If `fileType` is `SQL`, this field is required only if the import file does not specify a database, and is overridden by any database specification in the import file. For entire instance parallel import operations, the database is overridden by the database name stored in subdirectory name. If `fileType` is `CSV`, one database must be specified.
"fileType": "A String", # The file type for the specified uri.\`SQL`: The file contains SQL statements. \`CSV`: The file contains CSV data.
"importUser": "A String", # The PostgreSQL user for this import operation. PostgreSQL instances only.
"kind": "A String", # This is always `sql#importContext`.
"sqlImportOptions": { # Optional. Options for importing data from SQL statements.
"parallel": True or False, # Optional. Whether or not the import should be parallel.
"postgresImportOptions": { # Optional. Options for importing from a Cloud SQL for PostgreSQL instance.
"clean": True or False, # Optional. The --clean flag for the pg_restore utility. This flag applies only if you enabled Cloud SQL to import files in parallel.
"ifExists": True or False, # Optional. The --if-exists flag for the pg_restore utility. This flag applies only if you enabled Cloud SQL to import files in parallel.
},
"threads": 42, # Optional. The number of threads to use for parallel import.
},
"tdeImportOptions": { # Optional. Import parameters specific to SQL Server TDE certificates
"certificatePath": "A String", # Required. Path to the TDE certificate public key in the form gs://bucketName/fileName. The instance must have read access to the file. Applicable only for SQL Server instances.
"name": "A String", # Required. Certificate name. Applicable only for SQL Server instances.
"privateKeyPassword": "A String", # Required. Password that encrypts the private key.
"privateKeyPath": "A String", # Required. Path to the TDE certificate private key in the form gs://bucketName/fileName. The instance must have read access to the file. Applicable only for SQL Server instances.
},
"uri": "A String", # Path to the import file in Cloud Storage, in the form `gs://bucketName/fileName`. Compressed gzip files (.gz) are supported when `fileType` is `SQL`. The instance must have write permissions to the bucket and read access to the file.
},
"insertTime": "A String", # The time this operation was enqueued in UTC timezone in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`.
"kind": "A String", # This is always `sql#operation`.
"name": "A String", # An identifier that uniquely identifies the operation. You can use this identifier to retrieve the Operations resource that has information about the operation.
"operationType": "A String", # The type of the operation. Valid values are: * `CREATE` * `DELETE` * `UPDATE` * `RESTART` * `IMPORT` * `EXPORT` * `BACKUP_VOLUME` * `RESTORE_VOLUME` * `CREATE_USER` * `DELETE_USER` * `CREATE_DATABASE` * `DELETE_DATABASE`
"preCheckMajorVersionUpgradeContext": { # Pre-check major version upgrade context. # This field is only populated when the operation_type is PRE_CHECK_MAJOR_VERSION_UPGRADE. The PreCheckMajorVersionUpgradeContext message itself contains the details for that pre-check, such as the target database version for the upgrade and the results of the check (including any warnings or errors found).
"kind": "A String", # Optional. This is always `sql#preCheckMajorVersionUpgradeContext`.
"preCheckResponse": [ # Output only. The responses from the precheck operation.
{ # Structured PreCheckResponse containing message, type, and required actions.
"actionsRequired": [ # The actions that the user needs to take. Use repeated for multiple actions.
"A String",
],
"message": "A String", # The message to be displayed to the user.
"messageType": "A String", # The type of message whether it is an info, warning, or error.
},
],
"targetDatabaseVersion": "A String", # Required. The target database version to upgrade to.
},
"selfLink": "A String", # The URI of this resource.
"startTime": "A String", # The time this operation actually started in UTC timezone in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`.
"status": "A String", # The status of an operation.
"subOperationType": { # The sub operation type based on the operation type. # Optional. The sub operation based on the operation type.
"maintenanceType": "A String", # The type of maintenance to be performed on the instance.
},
"targetId": "A String", # Name of the resource on which this operation runs.
"targetLink": "A String",
"targetProject": "A String", # The project ID of the target instance related to this operation.
"user": "A String", # The email address of the user who initiated this operation.
}