MCPサーバー

mcp

com.googleapis.datastream/mcp

このMCPでできること

Manages Google Cloud Datastream resources, including streams, connection profiles, stream objects, static IPs, and long-running operations.

delete_stream
Deletes a stream, specified by the provided resource 'name' parameter. * The resource 'name' parameter is in the form: 'projects/{project name}/locations/{location}/streams/{stream name}', for example: 'projects/my-project/locations/us-central1/streams/my-streams'. * This tool returns a long-running operation. Use the 'get_operation' tool with the returned operation name to poll its status until it completes. Operation may take several minutes; do not check more often than every ten seconds.
破壊的操作あり
入力スキーマ
{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': 'Required. The name of the stream resource to delete.'}, 'requestId': {'type': 'string', 'description': 'Optional. A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).'}}, 'description': 'Request message for deleting a stream.'}
出力スキーマ
{'type': 'object', '$defs': {'Status': {'type': 'object', 'properties': {'code': {'type': 'integer', 'format': 'int32', 'description': 'The status code, which should be an enum value of google.rpc.Code.'}, 'details': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': {'description': 'Properties of the object. Contains field @type with type URL.'}}, 'description': 'A list of messages that carry the error details. There is a common set of message types for APIs to use.'}, 'message': {'type': 'string', 'description': 'A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.'}}, 'description': 'The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).'}}, 'properties': {'done': {'type': 'boolean', 'description': 'If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.'}, 'name': {'type': 'string', 'description': 'The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.'}, 'error': {'$ref': '#/$defs/Status', 'description': 'The error result of the operation in case of failure or cancellation. Only one of this field or response should be set.'}, 'metadata': {'type': 'object', 'description': 'Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.', 'additionalProperties': {'description': 'Properties of the object. Contains field @type with type URL.'}}, 'response': {'type': 'object', 'description': 'The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. Only one of this field or error should be set.', 'additionalProperties': {'description': 'Properties of the object. Contains field @type with type URL.'}}}, 'description': 'This resource represents a long-running operation that is the result of a network API call.'}
get_operation
Gets the status of a long-running operation. ***Usage*** Some tools (for example, `run_stream`) return a long-running operation. You can use this tool to get the status of the operation. It can be called repeatedly until the operation is complete. **Parameters** * `name`: The name of the operation to get. * `name` should be the name returned by the tool that initiated the operation. * `name` should be in the format of: `projects/{project}/locations/{location}/operations/{operation}`. **Returns** * An `Operation` object that contains the status of the operation. * If the operation is not complete, the response will be empty. Do not check more than every ten seconds. * If the operation is complete, the response will contain either: * A `response` field that contains the result of the operation and indicates that it was successful. * A `error` field that indicates any errors that occurred during the operation.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'properties': {'name': {'type': 'string', 'description': 'The name of the operation resource.'}}, 'description': 'The request message for Operations.GetOperation.'}
出力スキーマ
{'type': 'object', '$defs': {'Status': {'type': 'object', 'properties': {'code': {'type': 'integer', 'format': 'int32', 'description': 'The status code, which should be an enum value of google.rpc.Code.'}, 'details': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': {'description': 'Properties of the object. Contains field @type with type URL.'}}, 'description': 'A list of messages that carry the error details. There is a common set of message types for APIs to use.'}, 'message': {'type': 'string', 'description': 'A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.'}}, 'description': 'The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).'}}, 'properties': {'done': {'type': 'boolean', 'description': 'If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.'}, 'name': {'type': 'string', 'description': 'The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.'}, 'error': {'$ref': '#/$defs/Status', 'description': 'The error result of the operation in case of failure or cancellation. Only one of this field or response should be set.'}, 'metadata': {'type': 'object', 'description': 'Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.', 'additionalProperties': {'description': 'Properties of the object. Contains field @type with type URL.'}}, 'response': {'type': 'object', 'description': 'The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. Only one of this field or error should be set.', 'additionalProperties': {'description': 'Properties of the object. Contains field @type with type URL.'}}}, 'description': 'This resource represents a long-running operation that is the result of a network API call.'}
get_stream
Get details of the stream specified by the provided resource 'name' parameter. * The resource 'name' parameter is in the form: 'projects/{project name}/locations/{location}/streams/{stream name}', for example: 'projects/my-project/locations/us-central1/streams/my-streams'.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': 'Required. The name of the stream resource to get.'}}, 'description': 'Request message for getting a stream.'}
出力スキーマ
{'type': 'object', '$defs': {'Gtid': {'type': 'object', 'properties': {}, 'description': 'Use GTID based replication.'}, 'Error': {'type': 'object', 'properties': {'reason': {'type': 'string', 'description': 'A title that explains the reason for the error.'}, 'details': {'type': 'object', 'description': 'Additional information about the error.', 'additionalProperties': {'type': 'string'}}, 'message': {'type': 'string', 'description': 'A message containing more information about the error that occurred.'}, 'errorTime': {'type': 'string', 'format': 'date-time', 'description': 'The time when the error occurred.'}, 'errorUuid': {'type': 'string', 'description': 'A unique identifier for this specific error, allowing it to be traced throughout the system in logs and API responses.'}}, 'description': 'Represent a user-facing Error.'}, 'Merge': {'type': 'object', 'properties': {}, 'description': 'Merge mode defines that all changes to a table will be merged at the destination table.'}, 'RuleSet': {'type': 'object', 'properties': {'objectFilter': {'$ref': '#/$defs/ObjectFilter', 'description': 'Required. Object filter to apply the customization rules to.'}, 'customizationRules': {'type': 'array', 'items': {'$ref': '#/$defs/CustomizationRule'}, 'description': 'Required. List of customization rules to apply.'}}, 'description': 'A set of rules to apply to a set of objects.'}, 'LogMiner': {'type': 'object', 'properties': {}, 'description': 'Configuration to use LogMiner CDC method.'}, 'AppendOnly': {'type': 'object', 'properties': {}, 'description': 'AppendOnly mode defines that all changes to a table will be written to the destination table.'}, 'BlmtConfig': {'type': 'object', 'properties': {'bucket': {'type': 'string', 'description': 'Required. The Cloud Storage bucket name.'}, 'rootPath': {'type': 'string', 'description': 'The root path inside the Cloud Storage bucket.'}, 'fileFormat': {'enum': ['FILE_FORMAT_UNSPECIFIED', 'PARQUET'], 'type': 'string', 'description': 'Required. The file format.', 'x-google-enum-descriptions': ['Default value.', 'Parquet file format.']}, 'tableFormat': {'enum': ['TABLE_FORMAT_UNSPECIFIED', 'ICEBERG'], 'type': 'string', 'description': 'Required. The table format.', 'x-google-enum-descriptions': ['Default value.', 'Iceberg table format.']}, 'connectionName': {'type': 'string', 'description': 'Required. The bigquery connection. Format: `{project}.{location}.{name}`'}}, 'description': 'The configuration for BLMT.'}, 'MysqlRdbms': {'type': 'object', 'properties': {'mysqlDatabases': {'type': 'array', 'items': {'$ref': '#/$defs/MysqlDatabase'}, 'description': 'Mysql databases on the server'}}, 'description': 'MySQL database structure'}, 'MysqlTable': {'type': 'object', 'properties': {'table': {'type': 'string', 'description': 'The table name.'}, 'mysqlColumns': {'type': 'array', 'items': {'$ref': '#/$defs/MysqlColumn'}, 'description': 'MySQL columns in the database. When unspecified as part of include/exclude objects, includes/excludes everything.'}}, 'description': 'MySQL table.'}, 'MysqlColumn': {'type': 'object', 'properties': {'scale': {'type': 'integer', 'format': 'int32', 'description': 'Column scale.'}, 'column': {'type': 'string', 'description': 'The column name.'}, 'length': {'type': 'integer', 'format': 'int32', 'description': 'Column length.'}, 'dataType': {'type': 'string', 'description': 'The MySQL data type. Full data types list can be found here: https://dev.mysql.com/doc/refman/8.0/en/data-types.html'}, 'nullable': {'type': 'boolean', 'description': 'Whether or not the column can accept a null value.'}, 'collation': {'type': 'string', 'description': 'Column collation.'}, 'precision': {'type': 'integer', 'format': 'int32', 'description': 'Column precision.'}, 'primaryKey': {'type': 'boolean', 'description': 'Whether or not the column represents a primary key.'}, 'ordinalPosition': {'type': 'integer', 'format': 'int32', 'description': 'The ordinal position of the column in the table.'}}, 'description': 'MySQL Column.'}, 'OracleRdbms': {'type': 'object', 'properties': {'oracleSchemas': {'type': 'array', 'items': {'$ref': '#/$defs/OracleSchema'}, 'description': 'Oracle schemas/databases in the database server.'}}, 'description': 'Oracle database structure.'}, 'OracleTable': {'type': 'object', 'properties': {'table': {'type': 'string', 'description': 'The table name.'}, 'oracleColumns': {'type': 'array', 'items': {'$ref': '#/$defs/OracleColumn'}, 'description': 'Oracle columns in the schema. When unspecified as part of include/exclude objects, includes/excludes everything.'}}, 'description': 'Oracle table.'}, 'MongodbField': {'type': 'object', 'properties': {'field': {'type': 'string', 'description': 'The field name.'}}, 'description': 'MongoDB Field.'}, 'ObjectFilter': {'type': 'object', 'properties': {'sourceObjectIdentifier': {'$ref': '#/$defs/SourceObjectIdentifier', 'description': 'Specific source object identifier.'}}, 'description': 'Object filter to apply the rules to.'}, 'OracleColumn': {'type': 'object', 'properties': {'scale': {'type': 'integer', 'format': 'int32', 'description': 'Column scale.'}, 'column': {'type': 'string', 'description': 'The column name.'}, 'length': {'type': 'integer', 'format': 'int32', 'description': 'Column length.'}, 'dataType': {'type': 'string', 'description': 'The Oracle data type.'}, 'encoding': {'type': 'string', 'description': 'Column encoding.'}, 'nullable': {'type': 'boolean', 'description': 'Whether or not the column can accept a null value.'}, 'precision': {'type': 'integer', 'format': 'int32', 'description': 'Column precision.'}, 'primaryKey': {'type': 'boolean', 'description': 'Whether or not the column represents a primary key.'}, 'ordinalPosition': {'type': 'integer', 'format': 'int32', 'description': 'The ordinal position of the column in the table.'}}, 'description': 'Oracle Column.'}, 'OracleSchema': {'type': 'object', 'properties': {'schema': {'type': 'string', 'description': 'The schema name.'}, 'oracleTables': {'type': 'array', 'items': {'$ref': '#/$defs/OracleTable'}, 'description': 'Tables in the schema.'}}, 'description': 'Oracle schema.'}, 'SourceConfig': {'type': 'object', 'properties': {'mysqlSourceConfig': {'$ref': '#/$defs/MysqlSourceConfig', 'description': 'MySQL data source configuration. Only one of the following fields should be set: this field, oracleSourceConfig, postgresqlSourceConfig, sqlServerSourceConfig, salesforceSourceConfig, mongodbSourceConfig, spannerSourceConfig, dataverseSourceConfig, salesforceMarketingCloudSourceConfig, serviceNowSourceConfig, workdaySourceConfig.'}, 'oracleSourceConfig': {'$ref': '#/$defs/OracleSourceConfig', 'description': 'Oracle data source configuration. Only one of the following fields should be set: this field, mysqlSourceConfig, postgresqlSourceConfig, sqlServerSourceConfig, salesforceSourceConfig, mongodbSourceConfig, spannerSourceConfig, dataverseSourceConfig, salesforceMarketingCloudSourceConfig, serviceNowSourceConfig, workdaySourceConfig.'}, 'mongodbSourceConfig': {'$ref': '#/$defs/MongodbSourceConfig', 'description': 'MongoDB data source configuration. Only one of the following fields should be set: this field, oracleSourceConfig, mysqlSourceConfig, postgresqlSourceConfig, sqlServerSourceConfig, salesforceSourceConfig, spannerSourceConfig, dataverseSourceConfig, salesforceMarketingCloudSourceConfig, serviceNowSourceConfig, workdaySourceConfig.'}, 'spannerSourceConfig': {'$ref': '#/$defs/SpannerSourceConfig', 'description': 'Spanner data source configuration. Only one of the following fields should be set: this field, oracleSourceConfig, mysqlSourceConfig, postgresqlSourceConfig, sqlServerSourceConfig, salesforceSourceConfig, mongodbSourceConfig, dataverseSourceConfig, salesforceMarketingCloudSourceConfig, serviceNowSourceConfig, workdaySourceConfig.'}, 'workdaySourceConfig': {'$ref': '#/$defs/WorkdaySourceConfig', 'description': 'Optional. Workday data source configuration. Only one of the following fields should be set: this field, oracleSourceConfig, mysqlSourceConfig, postgresqlSourceConfig, sqlServerSourceConfig, salesforceSourceConfig, mongodbSourceConfig, spannerSourceConfig, dataverseSourceConfig, salesforceMarketingCloudSourceConfig, serviceNowSourceConfig.'}, 'dataverseSourceConfig': {'$ref': '#/$defs/DataverseSourceConfig', 'description': 'Dataverse data source configuration. Only one of the following fields should be set: this field, oracleSourceConfig, mysqlSourceConfig, postgresqlSourceConfig, sqlServerSourceConfig, salesforceSourceConfig, mongodbSourceConfig, spannerSourceConfig, salesforceMarketingCloudSourceConfig, serviceNowSourceConfig, workdaySourceConfig.'}, 'sqlServerSourceConfig': {'$ref': '#/$defs/SqlServerSourceConfig', 'description': 'SQLServer data source configuration. Only one of the following fields should be set: this field, oracleSourceConfig, mysqlSourceConfig, postgresqlSourceConfig, salesforceSourceConfig, mongodbSourceConfig, spannerSourceConfig, dataverseSourceConfig, salesforceMarketingCloudSourceConfig, serviceNowSourceConfig, workdaySourceConfig.'}, 'postgresqlSourceConfig': {'$ref': '#/$defs/PostgresqlSourceConfig', 'description': 'PostgreSQL data source configuration. Only one of the following fields should be set: this field, oracleSourceConfig, mysqlSourceConfig, sqlServerSourceConfig, salesforceSourceConfig, mongodbSourceConfig, spannerSourceConfig, dataverseSourceConfig, salesforceMarketingCloudSourceConfig, serviceNowSourceConfig, workdaySourceConfig.'}, 'salesforceSourceConfig': {'$ref': '#/$defs/SalesforceSourceConfig', 'description': 'Salesforce data source configuration. Only one of the following fields should be set: this field, oracleSourceConfig, mysqlSourceConfig, postgresqlSourceConfig, sqlServerSourceConfig, mongodbSourceConfig, spannerSourceConfig, dataverseSourceConfig, salesforceMarketingCloudSourceConfig, serviceNowSourceConfig, workdaySourceConfig.'}, 'serviceNowSourceConfig': {'$ref': '#/$defs/ServiceNowSourceConfig', 'description': 'ServiceNow data source configuration. Only one of the following fields should be set: this field, oracleSourceConfig, mysqlSourceConfig, postgresqlSourceConfig, sqlServerSourceConfig, salesforceSourceConfig, mongodbSourceConfig, spannerSourceConfig, dataverseSourceConfig, salesforceMarketingCloudSourceConfig, workdaySourceConfig.'}, 'sourceConnectionProfile': {'type': 'string', 'description': 'Required. Source connection profile resource. Format: `projects/{project}/locations/{location}/connectionProfiles/{name}`'}, 'salesforceMarketingCloudSourceConfig': {'$ref': '#/$defs/SalesforceMarketingCloudSourceConfig', 'description': 'Salesforce Marketing Cloud data source configuration. Only one of the following fields should be set: this field, oracleSourceConfig, mysqlSourceConfig, postgresqlSourceConfig, sqlServerSourceConfig, salesforceSourceConfig, mongodbSourceConfig, spannerSourceConfig, dataverseSourceConfig, serviceNowSourceConfig, workdaySourceConfig.'}}, 'description': 'The configuration of the stream source.'}, 'SourceObject': {'type': 'object', 'properties': {'objectName': {'type': 'string', 'description': 'Required. The object name.'}, 'properties': {'type': 'array', 'items': {'$ref': '#/$defs/SourceProperty'}, 'description': 'Optional. Source properties. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing.'}}, 'description': 'Source object.'}, 'SpannerTable': {'type': 'object', 'properties': {'table': {'type': 'string', 'description': 'Required. The table name.'}, 'columns': {'type': 'array', 'items': {'$ref': '#/$defs/SpannerColumn'}, 'description': 'Optional. Spanner columns in the table.'}}, 'description': 'Spanner table.'}, 'MysqlDatabase': {'type': 'object', 'properties': {'database': {'type': 'string', 'description': 'The database name.'}, 'mysqlTables': {'type': 'array', 'items': {'$ref': '#/$defs/MysqlTable'}, 'description': 'Tables in the database.'}}, 'description': 'MySQL database.'}, 'SalesforceOrg': {'type': 'object', 'properties': {'objects': {'type': 'array', 'items': {'$ref': '#/$defs/SalesforceObject'}, 'description': 'Salesforce objects in the database server.'}}, 'description': 'Salesforce organization structure.'}, 'SourceCatalog': {'type': 'object', 'properties': {'objects': {'type': 'array', 'items': {'$ref': '#/$defs/SourceObject'}, 'description': 'Optional. Source objects in the catalog.'}}, 'description': 'Source catalog.'}, 'SpannerColumn': {'type': 'object', 'properties': {'column': {'type': 'string', 'description': 'Required. The column name.'}, 'dataType': {'type': 'string', 'description': 'Optional. Spanner data type.'}, 'isPrimaryKey': {'type': 'boolean', 'description': 'Optional. Whether or not the column is a primary key.'}, 'ordinalPosition': {'type': 'string', 'format': 'int64', 'description': 'Optional. The ordinal position of the column in the table.'}}, 'description': 'Spanner column.'}, 'SpannerSchema': {'type': 'object', 'properties': {'schema': {'type': 'string', 'description': 'Required. The schema name.'}, 'tables': {'type': 'array', 'items': {'$ref': '#/$defs/SpannerTable'}, 'description': 'Optional. Spanner tables in the schema.'}}, 'description': 'Spanner schema.'}, 'AvroFileFormat': {'type': 'object', 'properties': {}, 'description': 'AVRO file format configuration.'}, 'JsonFileFormat': {'type': 'object', 'properties': {'compression': {'enum': ['JSON_COMPRESSION_UNSPECIFIED', 'NO_COMPRESSION', 'GZIP'], 'type': 'string', 'description': 'Compression of the loaded JSON file.', 'x-google-enum-descriptions': ['Unspecified json file compression.', 'Do not compress JSON file.', 'Gzip compression.']}, 'schemaFileFormat': {'enum': ['SCHEMA_FILE_FORMAT_UNSPECIFIED', 'NO_SCHEMA_FILE', 'AVRO_SCHEMA_FILE'], 'type': 'string', 'description': 'The schema file format along JSON data files.', 'x-google-enum-descriptions': ['Unspecified schema file format.', 'Do not attach schema file.', 'Avro schema format.']}}, 'description': 'JSON file format configuration.'}, 'MongodbCluster': {'type': 'object', 'properties': {'databases': {'type': 'array', 'items': {'$ref': '#/$defs/MongodbDatabase'}, 'description': 'MongoDB databases in the cluster.'}}, 'description': 'MongoDB Cluster structure.'}, 'SourceProperty': {'type': 'object', 'properties': {'primaryKey': {'type': 'boolean', 'description': 'Optional. Whether or not the property is a primary key.'}, 'properties': {'type': 'array', 'items': {'$ref': '#/$defs/SourceProperty'}, 'description': 'Optional. Source properties. When specified, it means that the current property contains nested properties of its own. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing.'}, 'propertyName': {'type': 'string', 'description': 'Required. The property name.'}}, 'description': 'Source property.'}, 'SqlServerRdbms': {'type': 'object', 'properties': {'schemas': {'type': 'array', 'items': {'$ref': '#/$defs/SqlServerSchema'}, 'description': 'SQLServer schemas in the database server.'}}, 'description': 'SQLServer database structure.'}, 'SqlServerTable': {'type': 'object', 'properties': {'table': {'type': 'string', 'description': 'The table name.'}, 'columns': {'type': 'array', 'items': {'$ref': '#/$defs/SqlServerColumn'}, 'description': 'SQLServer columns in the schema. When unspecified as part of include/exclude objects, includes/excludes everything.'}}, 'description': 'SQLServer table.'}, 'BinaryLogParser': {'type': 'object', 'properties': {'logFileDirectories': {'$ref': '#/$defs/LogFileDirectories', 'description': 'Use Oracle directories. Only one of this field or oracleAsmLogFileAccess should be set.'}, 'oracleAsmLogFileAccess': {'$ref': '#/$defs/OracleAsmLogFileAccess', 'description': 'Use Oracle ASM. Only one of this field or logFileDirectories should be set.'}}, 'description': 'Configuration to use Binary Log Parser CDC technique.'}, 'DatasetTemplate': {'type': 'object', 'properties': {'location': {'type': 'string', 'description': 'Required. The geographic location where the dataset should reside. See https://cloud.google.com/bigquery/docs/locations for supported locations.'}, 'kmsKeyName': {'type': 'string', 'description': 'Describes the Cloud KMS encryption key that will be used to protect destination BigQuery table. The BigQuery Service Account associated with your project requires access to this encryption key. i.e. projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{cryptoKey}. See https://cloud.google.com/bigquery/docs/customer-managed-encryption for more information.'}, 'datasetIdPrefix': {'type': 'string', 'description': 'If supplied, every created dataset will have its name prefixed by the provided value. The prefix and name will be separated by an underscore. i.e. _.'}}, 'description': 'Dataset template used for dynamic dataset creation.'}, 'MongodbDatabase': {'type': 'object', 'properties': {'database': {'type': 'string', 'description': 'The database name.'}, 'collections': {'type': 'array', 'items': {'$ref': '#/$defs/MongodbCollection'}, 'description': 'Collections in the database.'}}, 'description': 'MongoDB Database.'}, 'PostgresqlRdbms': {'type': 'object', 'properties': {'postgresqlSchemas': {'type': 'array', 'items': {'$ref': '#/$defs/PostgresqlSchema'}, 'description': 'PostgreSQL schemas in the database server.'}}, 'description': 'PostgreSQL database structure.'}, 'PostgresqlTable': {'type': 'object', 'properties': {'table': {'type': 'string', 'description': 'The table name.'}, 'postgresqlColumns': {'type': 'array', 'items': {'$ref': '#/$defs/PostgresqlColumn'}, 'description': 'PostgreSQL columns in the schema. When unspecified as part of include/exclude objects, includes/excludes everything.'}}, 'description': 'PostgreSQL table.'}, 'SalesforceField': {'type': 'object', 'properties': {'name': {'type': 'string', 'description': 'The field name.'}, 'dataType': {'type': 'string', 'description': 'The data type.'}, 'nillable': {'type': 'boolean', 'description': 'Indicates whether the field can accept nil values.'}}, 'description': 'Salesforce field.'}, 'SpannerDatabase': {'type': 'object', 'properties': {'schemas': {'type': 'array', 'items': {'$ref': '#/$defs/SpannerSchema'}, 'description': 'Optional. Spanner schemas in the database.'}}, 'description': 'Spanner database structure.'}, 'SqlServerColumn': {'type': 'object', 'properties': {'scale': {'type': 'integer', 'format': 'int32', 'description': 'Column scale.'}, 'column': {'type': 'string', 'description': 'The column name.'}, 'length': {'type': 'integer', 'format': 'int32', 'description': 'Column length.'}, 'dataType': {'type': 'string', 'description': 'The SQLServer data type.'}, 'nullable': {'type': 'boolean', 'description': 'Whether or not the column can accept a null value.'}, 'precision': {'type': 'integer', 'format': 'int32', 'description': 'Column precision.'}, 'primaryKey': {'type': 'boolean', 'description': 'Whether or not the column represents a primary key.'}, 'ordinalPosition': {'type': 'integer', 'format': 'int32', 'description': 'The ordinal position of the column in the table.'}}, 'description': 'SQLServer Column.'}, 'SqlServerSchema': {'type': 'object', 'properties': {'schema': {'type': 'string', 'description': 'The schema name.'}, 'tables': {'type': 'array', 'items': {'$ref': '#/$defs/SqlServerTable'}, 'description': 'Tables in the schema.'}}, 'description': 'SQLServer schema.'}, 'DropLargeObjects': {'type': 'object', 'properties': {}, 'description': 'Configuration to drop large object values.'}, 'PostgresqlColumn': {'type': 'object', 'properties': {'scale': {'type': 'integer', 'format': 'int32', 'description': 'Column scale.'}, 'column': {'type': 'string', 'description': 'The column name.'}, 'length': {'type': 'integer', 'format': 'int32', 'description': 'Column length.'}, 'dataType': {'type': 'string', 'description': 'The PostgreSQL data type.'}, 'nullable': {'type': 'boolean', 'description': 'Whether or not the column can accept a null value.'}, 'precision': {'type': 'integer', 'format': 'int32', 'description': 'Column precision.'}, 'primaryKey': {'type': 'boolean', 'description': 'Whether or not the column represents a primary key.'}, 'ordinalPosition': {'type': 'integer', 'format': 'int32', 'description': 'The ordinal position of the column in the table.'}}, 'description': 'PostgreSQL Column.'}, 'PostgresqlSchema': {'type': 'object', 'properties': {'schema': {'type': 'string', 'description': 'The schema name.'}, 'postgresqlTables': {'type': 'array', 'items': {'$ref': '#/$defs/PostgresqlTable'}, 'description': 'Tables in the schema.'}}, 'description': 'PostgreSQL schema.'}, 'SalesforceObject': {'type': 'object', 'properties': {'fields': {'type': 'array', 'items': {'$ref': '#/$defs/SalesforceField'}, 'description': 'Salesforce fields. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing.'}, 'objectName': {'type': 'string', 'description': 'The object name.'}}, 'description': 'Salesforce object.'}, 'BinaryLogPosition': {'type': 'object', 'properties': {}, 'description': 'Use Binary log position based replication.'}, 'CustomizationRule': {'type': 'object', 'properties': {'bigqueryClustering': {'$ref': '#/$defs/BigQueryClustering', 'description': 'BigQuery clustering rule. Only one of this field or bigqueryPartitioning should be set.'}, 'bigqueryPartitioning': {'$ref': '#/$defs/BigQueryPartitioning', 'description': 'BigQuery partitioning rule. Only one of this field or bigqueryClustering should be set.'}}, 'description': 'A customization rule to apply to a set of objects.'}, 'DestinationConfig': {'type': 'object', 'properties': {'gcsDestinationConfig': {'$ref': '#/$defs/GcsDestinationConfig', 'description': 'A configuration for how data should be loaded to Cloud Storage. Only one of this field or bigqueryDestinationConfig should be set.'}, 'bigqueryDestinationConfig': {'$ref': '#/$defs/BigQueryDestinationConfig', 'description': 'BigQuery destination configuration. Only one of this field or gcsDestinationConfig should be set.'}, 'destinationConnectionProfile': {'type': 'string', 'description': 'Required. Destination connection profile resource. Format: `projects/{project}/locations/{location}/connectionProfiles/{name}`'}}, 'description': 'The configuration of the stream destination.'}, 'MongodbCollection': {'type': 'object', 'properties': {'fields': {'type': 'array', 'items': {'$ref': '#/$defs/MongodbField'}, 'description': 'Fields in the collection.'}, 'collection': {'type': 'string', 'description': 'The collection name.'}}, 'description': 'MongoDB Collection.'}, 'MysqlSourceConfig': {'type': 'object', 'properties': {'gtid': {'$ref': '#/$defs/Gtid', 'description': 'Use GTID based replication. Only one of this field or binaryLogPosition should be set.'}, 'excludeObjects': {'$ref': '#/$defs/MysqlRdbms', 'description': 'The MySQL objects to exclude from the stream.'}, 'includeObjects': {'$ref': '#/$defs/MysqlRdbms', 'description': 'The MySQL objects to retrieve from the source.'}, 'binaryLogPosition': {'$ref': '#/$defs/BinaryLogPosition', 'description': 'Use Binary log position based replication. Only one of this field or gtid should be set.'}, 'maxConcurrentCdcTasks': {'type': 'integer', 'format': 'int32', 'description': "Maximum number of concurrent CDC tasks. The number should be non negative. If not set (or set to 0), the system's default value will be used."}, 'maxConcurrentBackfillTasks': {'type': 'integer', 'format': 'int32', 'description': "Maximum number of concurrent backfill tasks. The number should be non negative. If not set (or set to 0), the system's default value will be used."}}, 'description': 'Configuration for syncing data from a MySQL source.'}, 'TimeUnitPartition': {'type': 'object', 'properties': {'column': {'type': 'string', 'description': 'Required. The partitioning column.'}, 'partitioningTimeGranularity': {'enum': ['PARTITIONING_TIME_GRANULARITY_UNSPECIFIED', 'PARTITIONING_TIME_GRANULARITY_HOUR', 'PARTITIONING_TIME_GRANULARITY_DAY', 'PARTITIONING_TIME_GRANULARITY_MONTH', 'PARTITIONING_TIME_GRANULARITY_YEAR'], 'type': 'string', 'description': 'Optional. Partition granularity.', 'x-google-enum-descriptions': ['Unspecified partitioing interval.', 'Hourly partitioning.', 'Daily partitioning.', 'Monthly partitioning.', 'Yearly partitioning.']}}, 'description': 'Time unit column partitioning. see https://cloud.google.com/bigquery/docs/partitioned-tables#date_timestamp_partitioned_tables'}, 'BigQueryClustering': {'type': 'object', 'properties': {'columns': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Required. Column names to set as clustering columns.'}}, 'description': 'BigQuery clustering configuration.'}, 'LogFileDirectories': {'type': 'object', 'properties': {'onlineLogDirectory': {'type': 'string', 'description': 'Required. Oracle directory for online logs.'}, 'archivedLogDirectory': {'type': 'string', 'description': 'Required. Oracle directory for archived logs.'}}, 'description': 'Configuration to specify the Oracle directories to access the log files.'}, 'OracleSourceConfig': {'type': 'object', 'properties': {'logMiner': {'$ref': '#/$defs/LogMiner', 'description': 'Use LogMiner. Only one of this field or binaryLogParser should be set.'}, 'excludeObjects': {'$ref': '#/$defs/OracleRdbms', 'description': 'The Oracle objects to exclude from the stream.'}, 'includeObjects': {'$ref': '#/$defs/OracleRdbms', 'description': 'The Oracle objects to include in the stream.'}, 'binaryLogParser': {'$ref': '#/$defs/BinaryLogParser', 'description': 'Use Binary Log Parser. Only one of this field or logMiner should be set.'}, 'dropLargeObjects': {'$ref': '#/$defs/DropLargeObjects', 'description': 'Drop large object values. Only one of this field or streamLargeObjects should be set.'}, 'streamLargeObjects': {'$ref': '#/$defs/StreamLargeObjects', 'description': 'Stream large object values. Only one of this field or dropLargeObjects should be set.'}, 'maxConcurrentCdcTasks': {'type': 'integer', 'format': 'int32', 'description': "Maximum number of concurrent CDC tasks. The number should be non-negative. If not set (or set to 0), the system's default value is used."}, 'maxConcurrentBackfillTasks': {'type': 'integer', 'format': 'int32', 'description': "Maximum number of concurrent backfill tasks. The number should be non-negative. If not set (or set to 0), the system's default value is used."}}, 'description': 'Configuration for syncing data from an Oracle source.'}, 'StreamLargeObjects': {'type': 'object', 'properties': {}, 'description': 'Configuration to stream large object values.'}, 'BackfillAllStrategy': {'type': 'object', 'properties': {'saasExcludedObjects': {'$ref': '#/$defs/SourceCatalog', 'description': 'Source catalog data source objects to avoid backfilling. This is mainly used to represent SaaS applications objects. Only one of the following fields should be set: this field, oracleExcludedObjects, mysqlExcludedObjects, postgresqlExcludedObjects, sqlServerExcludedObjects, salesforceExcludedObjects, mongodbExcludedObjects, spannerExcludedObjects.'}, 'mysqlExcludedObjects': {'$ref': '#/$defs/MysqlRdbms', 'description': 'MySQL data source objects to avoid backfilling. Only one of the following fields should be set: this field, oracleExcludedObjects, postgresqlExcludedObjects, sqlServerExcludedObjects, salesforceExcludedObjects, mongodbExcludedObjects, spannerExcludedObjects, saasExcludedObjects.'}, 'oracleExcludedObjects': {'$ref': '#/$defs/OracleRdbms', 'description': 'Oracle data source objects to avoid backfilling. Only one of the following fields should be set: this field, mysqlExcludedObjects, postgresqlExcludedObjects, sqlServerExcludedObjects, salesforceExcludedObjects, mongodbExcludedObjects, spannerExcludedObjects, saasExcludedObjects.'}, 'mongodbExcludedObjects': {'$ref': '#/$defs/MongodbCluster', 'description': 'MongoDB data source objects to avoid backfilling. Only one of the following fields should be set: this field, oracleExcludedObjects, mysqlExcludedObjects, postgresqlExcludedObjects, sqlServerExcludedObjects, salesforceExcludedObjects, spannerExcludedObjects, saasExcludedObjects.'}, 'spannerExcludedObjects': {'$ref': '#/$defs/SpannerDatabase', 'description': 'Spanner data source objects to avoid backfilling. Only one of the following fields should be set: this field, oracleExcludedObjects, mysqlExcludedObjects, postgresqlExcludedObjects, sqlServerExcludedObjects, salesforceExcludedObjects, mongodbExcludedObjects, saasExcludedObjects.'}, 'sqlServerExcludedObjects': {'$ref': '#/$defs/SqlServerRdbms', 'description': 'SQLServer data source objects to avoid backfilling. Only one of the following fields should be set: this field, oracleExcludedObjects, mysqlExcludedObjects, postgresqlExcludedObjects, salesforceExcludedObjects, mongodbExcludedObjects, spannerExcludedObjects, saasExcludedObjects.'}, 'postgresqlExcludedObjects': {'$ref': '#/$defs/PostgresqlRdbms', 'description': 'PostgreSQL data source objects to avoid backfilling. Only one of the following fields should be set: this field, oracleExcludedObjects, mysqlExcludedObjects, sqlServerExcludedObjects, salesforceExcludedObjects, mongodbExcludedObjects, spannerExcludedObjects, saasExcludedObjects.'}, 'salesforceExcludedObjects': {'$ref': '#/$defs/SalesforceOrg', 'description': 'Salesforce data source objects to avoid backfilling. Only one of the following fields should be set: this field, oracleExcludedObjects, mysqlExcludedObjects, postgresqlExcludedObjects, sqlServerExcludedObjects, mongodbExcludedObjects, spannerExcludedObjects, saasExcludedObjects.'}}, 'description': "Backfill strategy to automatically backfill the Stream's objects. Specific objects can be excluded."}, 'MongodbSourceConfig': {'type': 'object', 'properties': {'jsonMode': {'enum': ['MONGODB_JSON_MODE_UNSPECIFIED', 'STRICT', 'CANONICAL'], 'type': 'string', 'description': 'Optional. MongoDB JSON mode to use for the stream.', 'x-google-enum-descriptions': ['Unspecified JSON mode.', 'Strict JSON mode.', 'Canonical JSON mode.']}, 'excludeObjects': {'$ref': '#/$defs/MongodbCluster', 'description': 'The MongoDB collections to exclude from the stream.'}, 'includeObjects': {'$ref': '#/$defs/MongodbCluster', 'description': 'The MongoDB collections to include in the stream.'}, 'maxConcurrentBackfillTasks': {'type': 'integer', 'format': 'int32', 'description': "Optional. Maximum number of concurrent backfill tasks. The number should be non-negative and less than or equal to 50. If not set (or set to 0), the system's default value is used"}}, 'description': 'Configuration for syncing data from a MongoDB source.'}, 'SingleTargetDataset': {'type': 'object', 'properties': {'datasetId': {'type': 'string', 'description': 'The dataset ID of the target dataset. DatasetIds allowed characters: https://cloud.google.com/bigquery/docs/reference/rest/v2/datasets#datasetreference.'}}, 'description': 'A single target dataset to which all data will be streamed.'}, 'SpannerSourceConfig': {'type': 'object', 'properties': {'fgacRole': {'type': 'string', 'description': 'Optional. The FGAC role to use for the stream.'}, 'excludeObjects': {'$ref': '#/$defs/SpannerDatabase', 'description': 'Optional. The Spanner objects to avoid retrieving. If some objects are both included and excluded, an error will be thrown.'}, 'includeObjects': {'$ref': '#/$defs/SpannerDatabase', 'description': 'Optional. The Spanner objects to retrieve from the data source. If some objects are both included and excluded, an error will be thrown.'}, 'changeStreamName': {'type': 'string', 'description': 'Required. Immutable. The change stream name to use for the stream.', 'x-google-immutable': True}, 'spannerRpcPriority': {'enum': ['SPANNER_RPC_PRIORITY_UNSPECIFIED', 'LOW', 'MEDIUM', 'HIGH'], 'type': 'string', 'description': 'Optional. The RPC priority to use for the stream.', 'x-google-enum-descriptions': ['Unspecified RPC priority.', 'Low RPC priority.', 'Medium RPC priority.', 'High RPC priority.']}, 'maxConcurrentCdcTasks': {'type': 'integer', 'format': 'int32', 'description': 'Optional. Maximum number of concurrent CDC tasks.'}, 'backfillDataBoostEnabled': {'type': 'boolean', 'description': 'Optional. Whether to use Data Boost for Spanner backfills. Defaults to false if not set.'}, 'maxConcurrentBackfillTasks': {'type': 'integer', 'format': 'int32', 'description': 'Optional. Maximum number of concurrent backfill tasks.'}}, 'description': 'Configuration for syncing data from a Spanner source.'}, 'WorkdaySourceConfig': {'type': 'object', 'properties': {'excludeObjects': {'$ref': '#/$defs/SourceCatalog', 'description': 'Optional. The objects to exclude from the stream.'}, 'includeObjects': {'$ref': '#/$defs/SourceCatalog', 'description': 'Optional. The objects to retrieve from the source.'}, 'pollingInterval': {'type': 'string', 'format': 'google-duration', 'description': 'Required. Incremental sync polling interval for all objects. If not set, a default value of `5 minutes` is used. The duration must be from `5 minutes` to `24 hours`, inclusive.'}}, 'description': 'Configuration for syncing data from a Workday source.'}, 'BackfillNoneStrategy': {'type': 'object', 'properties': {}, 'description': "Backfill strategy to disable automatic backfill for the Stream's objects."}, 'BigQueryPartitioning': {'type': 'object', 'properties': {'timeUnitPartition': {'$ref': '#/$defs/TimeUnitPartition', 'description': 'Time unit column partitioning. Only one of the following fields should be set: this field, integerRangePartition, ingestionTimePartition.'}, 'integerRangePartition': {'$ref': '#/$defs/IntegerRangePartition', 'description': 'Integer range partitioning. Only one of the following fields should be set: this field, timeUnitPartition, ingestionTimePartition.'}, 'ingestionTimePartition': {'$ref': '#/$defs/IngestionTimePartition', 'description': 'Ingestion time partitioning. Only one of the following fields should be set: this field, integerRangePartition, timeUnitPartition.'}, 'requirePartitionFilter': {'type': 'boolean', 'description': 'Optional. If true, queries over the table require a partition filter.'}}, 'description': 'BigQuery partitioning configuration.'}, 'GcsDestinationConfig': {'type': 'object', 'properties': {'path': {'type': 'string', 'description': 'Path inside the Cloud Storage bucket to write data to.'}, 'avroFileFormat': {'$ref': '#/$defs/AvroFileFormat', 'description': 'AVRO file format configuration. Only one of this field or jsonFileFormat should be set.'}, 'fileRotationMb': {'type': 'integer', 'format': 'int32', 'description': 'The maximum file size to be saved in the bucket.'}, 'jsonFileFormat': {'$ref': '#/$defs/JsonFileFormat', 'description': 'JSON file format configuration. Only one of this field or avroFileFormat should be set.'}, 'fileRotationInterval': {'type': 'string', 'format': 'google-duration', 'description': 'The maximum duration for which new events are added before a file is closed and a new file is created. Values within the range of 15-60 seconds are allowed.'}}, 'description': 'Google Cloud Storage destination configuration'}, 'DataverseSourceConfig': {'type': 'object', 'properties': {'excludeObjects': {'$ref': '#/$defs/SourceCatalog', 'description': 'Optional. The objects to exclude from the stream.'}, 'includeObjects': {'$ref': '#/$defs/SourceCatalog', 'description': 'Optional. The objects to retrieve from the source.'}, 'pollingInterval': {'type': 'string', 'format': 'google-duration', 'description': 'Required. Incremental sync polling interval for all objects. If not set, a default value of `5 minutes` is used. The duration must be from `5 minutes` to `24 hours`, inclusive.'}}, 'description': 'Configuration for syncing data from a Dataverse source.'}, 'IntegerRangePartition': {'type': 'object', 'properties': {'end': {'type': 'string', 'format': 'int64', 'description': 'Required. The ending value for range partitioning (exclusive).'}, 'start': {'type': 'string', 'format': 'int64', 'description': 'Required. The starting value for range partitioning (inclusive).'}, 'column': {'type': 'string', 'description': 'Required. The partitioning column.'}, 'interval': {'type': 'string', 'format': 'int64', 'description': 'Required. The interval of each range within the partition.'}}, 'description': 'Integer range partitioning. see https://cloud.google.com/bigquery/docs/partitioned-tables#integer_range'}, 'MysqlObjectIdentifier': {'type': 'object', 'properties': {'table': {'type': 'string', 'description': 'Required. The table name.'}, 'database': {'type': 'string', 'description': 'Required. The database name.'}}, 'description': 'Mysql data source object identifier.'}, 'SqlServerChangeTables': {'type': 'object', 'properties': {}, 'description': 'Configuration to use Change Tables CDC read method.'}, 'SqlServerSourceConfig': {'type': 'object', 'properties': {'changeTables': {'$ref': '#/$defs/SqlServerChangeTables', 'description': 'CDC reader reads from change tables. Only one of this field or transactionLogs should be set.'}, 'excludeObjects': {'$ref': '#/$defs/SqlServerRdbms', 'description': 'The SQLServer objects to exclude from the stream.'}, 'includeObjects': {'$ref': '#/$defs/SqlServerRdbms', 'description': 'The SQLServer objects to include in the stream.'}, 'transactionLogs': {'$ref': '#/$defs/SqlServerTransactionLogs', 'description': 'CDC reader reads from transaction logs. Only one of this field or changeTables should be set.'}, 'maxConcurrentCdcTasks': {'type': 'integer', 'format': 'int32', 'description': 'Max concurrent CDC tasks.'}, 'maxConcurrentBackfillTasks': {'type': 'integer', 'format': 'int32', 'description': 'Max concurrent backfill tasks.'}}, 'description': 'Configuration for syncing data from a SQLServer source.'}, 'IngestionTimePartition': {'type': 'object', 'properties': {'partitioningTimeGranularity': {'enum': ['PARTITIONING_TIME_GRANULARITY_UNSPECIFIED', 'PARTITIONING_TIME_GRANULARITY_HOUR', 'PARTITIONING_TIME_GRANULARITY_DAY', 'PARTITIONING_TIME_GRANULARITY_MONTH', 'PARTITIONING_TIME_GRANULARITY_YEAR'], 'type': 'string', 'description': 'Optional. Partition granularity', 'x-google-enum-descriptions': ['Unspecified partitioing interval.', 'Hourly partitioning.', 'Daily partitioning.', 'Monthly partitioning.', 'Yearly partitioning.']}}, 'description': 'Ingestion time partitioning. see https://cloud.google.com/bigquery/docs/partitioned-tables#ingestion_time'}, 'OracleAsmLogFileAccess': {'type': 'object', 'properties': {}, 'description': 'Configuration to use Oracle ASM to access the log files.'}, 'OracleObjectIdentifier': {'type': 'object', 'properties': {'table': {'type': 'string', 'description': 'Required. The table name.'}, 'schema': {'type': 'string', 'description': 'Required. The schema name.'}}, 'description': 'Oracle data source object identifier.'}, 'PostgresqlSourceConfig': {'type': 'object', 'properties': {'publication': {'type': 'string', 'description': "Required. The name of the publication that includes the set of all tables that are defined in the stream's include_objects."}, 'excludeObjects': {'$ref': '#/$defs/PostgresqlRdbms', 'description': 'The PostgreSQL objects to exclude from the stream.'}, 'includeObjects': {'$ref': '#/$defs/PostgresqlRdbms', 'description': 'The PostgreSQL objects to include in the stream.'}, 'replicationSlot': {'type': 'string', 'description': "Required. Immutable. The name of the logical replication slot that's configured with the pgoutput plugin.", 'x-google-immutable': True}, 'maxConcurrentBackfillTasks': {'type': 'integer', 'format': 'int32', 'description': "Maximum number of concurrent backfill tasks. The number should be non negative. If not set (or set to 0), the system's default value will be used."}}, 'description': 'Configuration for syncing data from a PostgreSQL source.'}, 'SalesforceSourceConfig': {'type': 'object', 'properties': {'excludeObjects': {'$ref': '#/$defs/SalesforceOrg', 'description': 'The Salesforce objects to exclude from the stream.'}, 'includeObjects': {'$ref': '#/$defs/SalesforceOrg', 'description': 'The Salesforce objects to retrieve from the source.'}, 'pollingInterval': {'type': 'string', 'format': 'google-duration', 'description': 'Required. Salesforce objects polling interval. The interval at which new changes will be polled for each object. The duration must be from `5 minutes` to `24 hours`, inclusive.'}}, 'description': 'Configuration for syncing data from a Salesforce source.'}, 'ServiceNowSourceConfig': {'type': 'object', 'properties': {'excludeObjects': {'$ref': '#/$defs/SourceCatalog', 'description': 'Optional. The objects to exclude from the stream.'}, 'includeObjects': {'$ref': '#/$defs/SourceCatalog', 'description': 'Optional. The objects to retrieve from the source.'}, 'pollingInterval': {'type': 'string', 'format': 'google-duration', 'description': 'Required. Incremental sync polling interval for all objects. If not set, a default value of `5 minutes` is used. The duration must be from `5 minutes` to `24 hours`, inclusive.'}}, 'description': 'Configuration for syncing data from a ServiceNow source.'}, 'SourceObjectIdentifier': {'type': 'object', 'properties': {'mysqlIdentifier': {'$ref': '#/$defs/MysqlObjectIdentifier', 'description': 'Mysql data source object identifier. Only one of the following fields should be set: this field, oracleIdentifier, postgresqlIdentifier, sqlServerIdentifier, salesforceIdentifier, mongodbIdentifier, spannerIdentifier.'}, 'oracleIdentifier': {'$ref': '#/$defs/OracleObjectIdentifier', 'description': 'Oracle data source object identifier. Only one of the following fields should be set: this field, mysqlIdentifier, postgresqlIdentifier, sqlServerIdentifier, salesforceIdentifier, mongodbIdentifier, spannerIdentifier.'}, 'mongodbIdentifier': {'$ref': '#/$defs/MongodbObjectIdentifier', 'description': 'MongoDB data source object identifier. Only one of the following fields should be set: this field, oracleIdentifier, mysqlIdentifier, postgresqlIdentifier, sqlServerIdentifier, salesforceIdentifier, spannerIdentifier.'}, 'spannerIdentifier': {'$ref': '#/$defs/SpannerObjectIdentifier', 'description': 'Spanner data source object identifier. Only one of the following fields should be set: this field, oracleIdentifier, mysqlIdentifier, postgresqlIdentifier, sqlServerIdentifier, salesforceIdentifier, mongodbIdentifier.'}, 'sqlServerIdentifier': {'$ref': '#/$defs/SqlServerObjectIdentifier', 'description': 'SQLServer data source object identifier. Only one of the following fields should be set: this field, oracleIdentifier, mysqlIdentifier, postgresqlIdentifier, salesforceIdentifier, mongodbIdentifier, spannerIdentifier.'}, 'postgresqlIdentifier': {'$ref': '#/$defs/PostgresqlObjectIdentifier', 'description': 'PostgreSQL data source object identifier. Only one of the following fields should be set: this field, oracleIdentifier, mysqlIdentifier, sqlServerIdentifier, salesforceIdentifier, mongodbIdentifier, spannerIdentifier.'}, 'salesforceIdentifier': {'$ref': '#/$defs/SalesforceObjectIdentifier', 'description': 'Salesforce data source object identifier. Only one of the following fields should be set: this field, oracleIdentifier, mysqlIdentifier, postgresqlIdentifier, sqlServerIdentifier, mongodbIdentifier, spannerIdentifier.'}}, 'description': 'Represents an identifier of an object in the data source.'}, 'MongodbObjectIdentifier': {'type': 'object', 'properties': {'database': {'type': 'string', 'description': 'Required. The database name.'}, 'collection': {'type': 'string', 'description': 'Required. The collection name.'}}, 'description': 'MongoDB data source object identifier.'}, 'SourceHierarchyDatasets': {'type': 'object', 'properties': {'projectId': {'type': 'string', 'description': 'Optional. The project id of the BigQuery dataset. If not specified, the project will be inferred from the stream resource.'}, 'datasetTemplate': {'$ref': '#/$defs/DatasetTemplate', 'description': 'The dataset template to use for dynamic dataset creation.'}}, 'description': 'Destination datasets are created so that hierarchy of the destination data objects matches the source hierarchy.'}, 'SpannerObjectIdentifier': {'type': 'object', 'properties': {'table': {'type': 'string', 'description': 'Required. The table name.'}, 'schema': {'type': 'string', 'description': 'Optional. The schema name.'}}, 'description': 'Spanner data source object identifier.'}, 'SqlServerTransactionLogs': {'type': 'object', 'properties': {}, 'description': 'Configuration to use Transaction Logs CDC read method.'}, 'BigQueryDestinationConfig': {'type': 'object', 'properties': {'merge': {'$ref': '#/$defs/Merge', 'description': 'The standard mode. Only one of this field or appendOnly should be set.'}, 'appendOnly': {'$ref': '#/$defs/AppendOnly', 'description': 'Append only mode. Only one of this field or merge should be set.'}, 'blmtConfig': {'$ref': '#/$defs/BlmtConfig', 'description': 'Optional. Big Lake Managed Tables (BLMT) configuration.'}, 'dataFreshness': {'type': 'string', 'format': 'google-duration', 'description': 'The guaranteed data freshness (in seconds) when querying tables created by the stream. Editing this field will only affect new tables created in the future, but existing tables will not be impacted. Lower values mean that queries will return fresher data, but may result in higher cost.'}, 'singleTargetDataset': {'$ref': '#/$defs/SingleTargetDataset', 'description': 'Single destination dataset. Only one of this field or sourceHierarchyDatasets should be set.'}, 'sourceHierarchyDatasets': {'$ref': '#/$defs/SourceHierarchyDatasets', 'description': 'Source hierarchy datasets. Only one of this field or singleTargetDataset should be set.'}}, 'description': 'BigQuery destination configuration'}, 'SqlServerObjectIdentifier': {'type': 'object', 'properties': {'table': {'type': 'string', 'description': 'Required. The table name.'}, 'schema': {'type': 'string', 'description': 'Required. The schema name.'}}, 'description': 'SQLServer data source object identifier.'}, 'PostgresqlObjectIdentifier': {'type': 'object', 'properties': {'table': {'type': 'string', 'description': 'Required. The table name.'}, 'schema': {'type': 'string', 'description': 'Required. The schema name.'}}, 'description': 'PostgreSQL data source object identifier.'}, 'SalesforceObjectIdentifier': {'type': 'object', 'properties': {'objectName': {'type': 'string', 'description': 'Required. The object name.'}}, 'description': 'Salesforce data source object identifier.'}, 'SalesforceMarketingCloudSourceConfig': {'type': 'object', 'properties': {'excludeObjects': {'$ref': '#/$defs/SourceCatalog', 'description': 'Optional. The objects to exclude from the stream.'}, 'includeObjects': {'$ref': '#/$defs/SourceCatalog', 'description': 'Optional. The objects to retrieve from the source.'}, 'pollingInterval': {'type': 'string', 'format': 'google-duration', 'description': 'Required. Incremental sync polling interval for all objects. If not set, a default value of `5 minutes` is used. The duration must be from `5 minutes` to `24 hours`, inclusive.'}, 'fullRefreshPollingInterval': {'type': 'string', 'format': 'google-duration', 'description': 'Required. Specifies the polling interval for a full refresh of objects that do not support incremental sync. If not set, a default value of 24 hours is used. The duration must be between 1 and 24 hours, inclusive.'}}, 'description': 'Configuration for syncing data from a Salesforce Marketing Cloud source.'}}, 'properties': {'name': {'type': 'string', 'readOnly': True, 'description': "Output only. Identifier. The stream's name.", 'x-google-identifier': True}, 'state': {'enum': ['STATE_UNSPECIFIED', 'NOT_STARTED', 'RUNNING', 'PAUSED', 'MAINTENANCE', 'FAILED', 'FAILED_PERMANENTLY', 'STARTING', 'DRAINING'], 'type': 'string', 'description': 'The state of the stream.', 'x-google-enum-descriptions': ['Unspecified stream state.', 'The stream has been created but has not yet started streaming data.', 'The stream is running.', 'The stream is paused.', 'The stream is in maintenance mode. Updates are rejected on the resource in this state.', 'The stream is experiencing an error that is preventing data from being streamed.', 'The stream has experienced a terminal failure.', 'The stream is starting, but not yet running.', 'The Stream is no longer reading new events, but still writing events in the buffer.']}, 'errors': {'type': 'array', 'items': {'$ref': '#/$defs/Error'}, 'readOnly': True, 'description': 'Output only. Errors on the Stream.'}, 'labels': {'type': 'object', 'description': 'Labels.', 'additionalProperties': {'type': 'string'}}, 'ruleSets': {'type': 'array', 'items': {'$ref': '#/$defs/RuleSet'}, 'description': 'Optional. Rule sets to apply to the stream.'}, 'createTime': {'type': 'string', 'format': 'date-time', 'readOnly': True, 'description': 'Output only. The creation time of the stream.'}, 'updateTime': {'type': 'string', 'format': 'date-time', 'readOnly': True, 'description': 'Output only. The last update time of the stream.'}, 'backfillAll': {'$ref': '#/$defs/BackfillAllStrategy', 'description': 'Automatically backfill objects included in the stream source configuration. Specific objects can be excluded. Only one of this field or backfillNone should be set.'}, 'displayName': {'type': 'string', 'description': 'Required. Display name.'}, 'backfillNone': {'$ref': '#/$defs/BackfillNoneStrategy', 'description': 'Do not automatically backfill any objects. Only one of this field or backfillAll should be set.'}, 'satisfiesPzi': {'type': 'boolean', 'readOnly': True, 'description': 'Output only. Reserved for future use.'}, 'satisfiesPzs': {'type': 'boolean', 'readOnly': True, 'description': 'Output only. Reserved for future use.'}, 'sourceConfig': {'$ref': '#/$defs/SourceConfig', 'description': 'Required. Source connection profile configuration.'}, 'lastRecoveryTime': {'type': 'string', 'format': 'date-time', 'readOnly': True, 'description': 'Output only. If the stream was recovered, the time of the last recovery. Note: This field is currently experimental.'}, 'destinationConfig': {'$ref': '#/$defs/DestinationConfig', 'description': 'Required. Destination connection profile configuration.'}, 'customerManagedEncryptionKey': {'type': 'string', 'description': 'Immutable. A reference to a KMS encryption key. If provided, it will be used to encrypt the data. If left blank, data will be encrypted using an internal Stream-specific encryption key provisioned through KMS.', 'x-google-immutable': True}}, 'description': 'A resource representing streaming data from a source to a destination.'}
get_stream_object
Get details of the stream object specified by the provided resource 'name' parameter. * The resource 'name' parameter is in the form: 'projects/{project name}/locations/{location}/streams/{stream name}/objects/{stream object name}', for example: 'projects/my-project/locations/us-central1/streams/my-stream/objects/my-stream-object'.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': 'Required. The name of the stream object resource to get.'}}, 'description': 'Request for fetching a specific stream object.'}
出力スキーマ
{'type': 'object', '$defs': {'Error': {'type': 'object', 'properties': {'reason': {'type': 'string', 'description': 'A title that explains the reason for the error.'}, 'details': {'type': 'object', 'description': 'Additional information about the error.', 'additionalProperties': {'type': 'string'}}, 'message': {'type': 'string', 'description': 'A message containing more information about the error that occurred.'}, 'errorTime': {'type': 'string', 'format': 'date-time', 'description': 'The time when the error occurred.'}, 'errorUuid': {'type': 'string', 'description': 'A unique identifier for this specific error, allowing it to be traced throughout the system in logs and API responses.'}}, 'description': 'Represent a user-facing Error.'}, 'BackfillJob': {'type': 'object', 'properties': {'state': {'enum': ['STATE_UNSPECIFIED', 'NOT_STARTED', 'PENDING', 'ACTIVE', 'STOPPED', 'FAILED', 'COMPLETED', 'UNSUPPORTED'], 'type': 'string', 'readOnly': True, 'description': 'Output only. Backfill job state.', 'x-google-enum-descriptions': ['Default value.', 'Backfill job was never started for the stream object (stream has backfill strategy defined as manual or object was explicitly excluded from automatic backfill).', 'Backfill job will start pending available resources.', 'Backfill job is running.', 'Backfill job stopped (next job run will start from beginning).', 'Backfill job failed (due to an error).', 'Backfill completed successfully.', 'Backfill job failed since the table structure is currently unsupported for backfill.']}, 'errors': {'type': 'array', 'items': {'$ref': '#/$defs/Error'}, 'readOnly': True, 'description': 'Output only. Errors which caused the backfill job to fail.'}, 'trigger': {'enum': ['TRIGGER_UNSPECIFIED', 'AUTOMATIC', 'MANUAL'], 'type': 'string', 'description': "Backfill job's triggering reason.", 'x-google-enum-descriptions': ['Default value.', "Object backfill job was triggered automatically according to the stream's backfill strategy.", 'Object backfill job was triggered manually using the dedicated API.']}, 'eventFilter': {'$ref': '#/$defs/EventFilter', 'readOnly': True, 'description': 'Output only. The filter for performing a partial backfill.'}, 'lastEndTime': {'type': 'string', 'format': 'date-time', 'readOnly': True, 'description': "Output only. Backfill job's end time."}, 'lastStartTime': {'type': 'string', 'format': 'date-time', 'readOnly': True, 'description': "Output only. Backfill job's start time."}}, 'description': 'Represents a backfill job on a specific stream object.'}, 'EventFilter': {'type': 'object', 'properties': {'sqlWhereClause': {'type': 'string', 'description': 'An SQL-query Where clause selecting which data should be included, not including the "WHERE" keyword. e.g., `t.key1 = \'value1\' AND t.key2 = \'value2\'`'}}, 'description': 'Represents a filter for included data on a stream object.'}, 'CustomizationRule': {'type': 'object', 'properties': {'bigqueryClustering': {'$ref': '#/$defs/BigQueryClustering', 'description': 'BigQuery clustering rule. Only one of this field or bigqueryPartitioning should be set.'}, 'bigqueryPartitioning': {'$ref': '#/$defs/BigQueryPartitioning', 'description': 'BigQuery partitioning rule. Only one of this field or bigqueryClustering should be set.'}}, 'description': 'A customization rule to apply to a set of objects.'}, 'TimeUnitPartition': {'type': 'object', 'properties': {'column': {'type': 'string', 'description': 'Required. The partitioning column.'}, 'partitioningTimeGranularity': {'enum': ['PARTITIONING_TIME_GRANULARITY_UNSPECIFIED', 'PARTITIONING_TIME_GRANULARITY_HOUR', 'PARTITIONING_TIME_GRANULARITY_DAY', 'PARTITIONING_TIME_GRANULARITY_MONTH', 'PARTITIONING_TIME_GRANULARITY_YEAR'], 'type': 'string', 'description': 'Optional. Partition granularity.', 'x-google-enum-descriptions': ['Unspecified partitioing interval.', 'Hourly partitioning.', 'Daily partitioning.', 'Monthly partitioning.', 'Yearly partitioning.']}}, 'description': 'Time unit column partitioning. see https://cloud.google.com/bigquery/docs/partitioned-tables#date_timestamp_partitioned_tables'}, 'BigQueryClustering': {'type': 'object', 'properties': {'columns': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Required. Column names to set as clustering columns.'}}, 'description': 'BigQuery clustering configuration.'}, 'BigQueryPartitioning': {'type': 'object', 'properties': {'timeUnitPartition': {'$ref': '#/$defs/TimeUnitPartition', 'description': 'Time unit column partitioning. Only one of the following fields should be set: this field, integerRangePartition, ingestionTimePartition.'}, 'integerRangePartition': {'$ref': '#/$defs/IntegerRangePartition', 'description': 'Integer range partitioning. Only one of the following fields should be set: this field, timeUnitPartition, ingestionTimePartition.'}, 'ingestionTimePartition': {'$ref': '#/$defs/IngestionTimePartition', 'description': 'Ingestion time partitioning. Only one of the following fields should be set: this field, integerRangePartition, timeUnitPartition.'}, 'requirePartitionFilter': {'type': 'boolean', 'description': 'Optional. If true, queries over the table require a partition filter.'}}, 'description': 'BigQuery partitioning configuration.'}, 'IntegerRangePartition': {'type': 'object', 'properties': {'end': {'type': 'string', 'format': 'int64', 'description': 'Required. The ending value for range partitioning (exclusive).'}, 'start': {'type': 'string', 'format': 'int64', 'description': 'Required. The starting value for range partitioning (inclusive).'}, 'column': {'type': 'string', 'description': 'Required. The partitioning column.'}, 'interval': {'type': 'string', 'format': 'int64', 'description': 'Required. The interval of each range within the partition.'}}, 'description': 'Integer range partitioning. see https://cloud.google.com/bigquery/docs/partitioned-tables#integer_range'}, 'MysqlObjectIdentifier': {'type': 'object', 'properties': {'table': {'type': 'string', 'description': 'Required. The table name.'}, 'database': {'type': 'string', 'description': 'Required. The database name.'}}, 'description': 'Mysql data source object identifier.'}, 'IngestionTimePartition': {'type': 'object', 'properties': {'partitioningTimeGranularity': {'enum': ['PARTITIONING_TIME_GRANULARITY_UNSPECIFIED', 'PARTITIONING_TIME_GRANULARITY_HOUR', 'PARTITIONING_TIME_GRANULARITY_DAY', 'PARTITIONING_TIME_GRANULARITY_MONTH', 'PARTITIONING_TIME_GRANULARITY_YEAR'], 'type': 'string', 'description': 'Optional. Partition granularity', 'x-google-enum-descriptions': ['Unspecified partitioing interval.', 'Hourly partitioning.', 'Daily partitioning.', 'Monthly partitioning.', 'Yearly partitioning.']}}, 'description': 'Ingestion time partitioning. see https://cloud.google.com/bigquery/docs/partitioned-tables#ingestion_time'}, 'OracleObjectIdentifier': {'type': 'object', 'properties': {'table': {'type': 'string', 'description': 'Required. The table name.'}, 'schema': {'type': 'string', 'description': 'Required. The schema name.'}}, 'description': 'Oracle data source object identifier.'}, 'SourceObjectIdentifier': {'type': 'object', 'properties': {'mysqlIdentifier': {'$ref': '#/$defs/MysqlObjectIdentifier', 'description': 'Mysql data source object identifier. Only one of the following fields should be set: this field, oracleIdentifier, postgresqlIdentifier, sqlServerIdentifier, salesforceIdentifier, mongodbIdentifier, spannerIdentifier.'}, 'oracleIdentifier': {'$ref': '#/$defs/OracleObjectIdentifier', 'description': 'Oracle data source object identifier. Only one of the following fields should be set: this field, mysqlIdentifier, postgresqlIdentifier, sqlServerIdentifier, salesforceIdentifier, mongodbIdentifier, spannerIdentifier.'}, 'mongodbIdentifier': {'$ref': '#/$defs/MongodbObjectIdentifier', 'description': 'MongoDB data source object identifier. Only one of the following fields should be set: this field, oracleIdentifier, mysqlIdentifier, postgresqlIdentifier, sqlServerIdentifier, salesforceIdentifier, spannerIdentifier.'}, 'spannerIdentifier': {'$ref': '#/$defs/SpannerObjectIdentifier', 'description': 'Spanner data source object identifier. Only one of the following fields should be set: this field, oracleIdentifier, mysqlIdentifier, postgresqlIdentifier, sqlServerIdentifier, salesforceIdentifier, mongodbIdentifier.'}, 'sqlServerIdentifier': {'$ref': '#/$defs/SqlServerObjectIdentifier', 'description': 'SQLServer data source object identifier. Only one of the following fields should be set: this field, oracleIdentifier, mysqlIdentifier, postgresqlIdentifier, salesforceIdentifier, mongodbIdentifier, spannerIdentifier.'}, 'postgresqlIdentifier': {'$ref': '#/$defs/PostgresqlObjectIdentifier', 'description': 'PostgreSQL data source object identifier. Only one of the following fields should be set: this field, oracleIdentifier, mysqlIdentifier, sqlServerIdentifier, salesforceIdentifier, mongodbIdentifier, spannerIdentifier.'}, 'salesforceIdentifier': {'$ref': '#/$defs/SalesforceObjectIdentifier', 'description': 'Salesforce data source object identifier. Only one of the following fields should be set: this field, oracleIdentifier, mysqlIdentifier, postgresqlIdentifier, sqlServerIdentifier, mongodbIdentifier, spannerIdentifier.'}}, 'description': 'Represents an identifier of an object in the data source.'}, 'MongodbObjectIdentifier': {'type': 'object', 'properties': {'database': {'type': 'string', 'description': 'Required. The database name.'}, 'collection': {'type': 'string', 'description': 'Required. The collection name.'}}, 'description': 'MongoDB data source object identifier.'}, 'SpannerObjectIdentifier': {'type': 'object', 'properties': {'table': {'type': 'string', 'description': 'Required. The table name.'}, 'schema': {'type': 'string', 'description': 'Optional. The schema name.'}}, 'description': 'Spanner data source object identifier.'}, 'SqlServerObjectIdentifier': {'type': 'object', 'properties': {'table': {'type': 'string', 'description': 'Required. The table name.'}, 'schema': {'type': 'string', 'description': 'Required. The schema name.'}}, 'description': 'SQLServer data source object identifier.'}, 'PostgresqlObjectIdentifier': {'type': 'object', 'properties': {'table': {'type': 'string', 'description': 'Required. The table name.'}, 'schema': {'type': 'string', 'description': 'Required. The schema name.'}}, 'description': 'PostgreSQL data source object identifier.'}, 'SalesforceObjectIdentifier': {'type': 'object', 'properties': {'objectName': {'type': 'string', 'description': 'Required. The object name.'}}, 'description': 'Salesforce data source object identifier.'}}, 'properties': {'name': {'type': 'string', 'readOnly': True, 'description': "Output only. Identifier. The object resource's name.", 'x-google-identifier': True}, 'errors': {'type': 'array', 'items': {'$ref': '#/$defs/Error'}, 'readOnly': True, 'description': 'Output only. Active errors on the object.'}, 'createTime': {'type': 'string', 'format': 'date-time', 'readOnly': True, 'description': 'Output only. The creation time of the object.'}, 'updateTime': {'type': 'string', 'format': 'date-time', 'readOnly': True, 'description': 'Output only. The last update time of the object.'}, 'backfillJob': {'$ref': '#/$defs/BackfillJob', 'description': 'The latest backfill job that was initiated for the stream object.'}, 'displayName': {'type': 'string', 'description': 'Required. Display name.'}, 'sourceObject': {'$ref': '#/$defs/SourceObjectIdentifier', 'description': 'The object identifier in the data source.'}, 'customizationRules': {'type': 'array', 'items': {'$ref': '#/$defs/CustomizationRule'}, 'readOnly': True, 'description': "Output only. The customization rules for the object. These rules are derived from the parent Stream's `rule_sets` and represent the intended configuration for the object."}}, 'description': 'A specific stream object (e.g a specific DB table).'}
list_connection_profiles
Lists connection profiles in a given project and location. For example: { parent: "projects/my-project/locations/us-central1" create_time_after: 2025-10-02T10:15:33Z create_time_before: 2025-10-03T00:00:00Z display_name: bookstore page_size: 100 } will return up to 100 connection profiles in `projects/my-project/locations/us-central1` that were created on or after 2025-10-02T10:15:33 UTC and before 2025-10-03T00:00:00 UTC, and have "bookstore" in their display name.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'required': ['parent'], 'properties': {'parent': {'type': 'string', 'description': "Required. The parent that owns the collection of connection profiles. Must be in the format `projects/*/locations/*`. For example: 'projects/my-project/locations/us-central1'"}, 'pageSize': {'type': 'integer', 'format': 'int32', 'description': 'Optional. Use to limit the number of connection profiles returned. Valid values are between 1 and 1000 inclusive. Defaults to 1000 if not provided or outside of the valid range. Note that due to filtering, it is possible to get no results (but a next_page_token) so you should keep calling this method until you get a response with an empty next_page_token.'}, 'pageToken': {'type': 'string', 'description': 'Optional. A page token, received from a previous `list_connection_profiles` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `list_connection_profiles` must match the call that provided the page token.'}, 'displayName': {'type': 'string', 'description': 'Optional. Use to get connection profiles whose display name contains the provided name.'}, 'createTimeAfter': {'type': 'string', 'description': 'Optional. Use to get connection profiles that were created on or after the provided date/time, formatted as RFC-3339. Common Examples: 2023-09-24T15:30:00Z or 2023-09-24T15:30:00.000+09:00.'}, 'createTimeBefore': {'type': 'string', 'description': 'Optional. Use to get connection profiles that were created before the provided date/time, formatted as RFC-3339. Common Examples: 2023-09-24T15:30:00Z or 2023-09-24T15:30:00.000+09:00.'}}, 'description': "Request message for 'ListConnectionProfiles' request."}
出力スキーマ
{'type': 'object', '$defs': {'Secret': {'type': 'object', 'properties': {'rawValue': {'type': 'string', 'writeOnly': True, 'description': 'Optional. Input only. The actual raw value of the secret as plain text. Only one of this field or secretVersion should be set.'}, 'secretVersion': {'type': 'string', 'description': 'Optional. A Secret Manager resource name storing the actual value of the secret. Supported formats: * projects/{project}/locations/{location}/secrets/{secret}/versions/{version} * projects/{project}/secrets/{secret}/versions/{version}. Only one of this field or rawValue should be set.'}}, 'description': 'A confidential piece of information where the actual value is either directly specified in the message as a raw string or stored in GCP secret manager.'}, 'GcsProfile': {'type': 'object', 'properties': {'bucket': {'type': 'string', 'description': 'Required. The Cloud Storage bucket name.'}, 'rootPath': {'type': 'string', 'description': 'Optional. The root path inside the Cloud Storage bucket.'}}, 'description': 'Profile for connecting to a Cloud Storage destination.'}, 'HostAddress': {'type': 'object', 'properties': {'port': {'type': 'integer', 'format': 'int32', 'description': 'Optional. Port for the connection.'}, 'hostname': {'type': 'string', 'description': 'Required. Hostname for the connection.'}}, 'description': 'A HostAddress represents a transport end point, which is the combination of an IP address or hostname and a port number.'}, 'MysqlProfile': {'type': 'object', 'properties': {'port': {'type': 'integer', 'format': 'int32', 'description': 'Port for the MySQL connection, default value is 3306.'}, 'hostname': {'type': 'string', 'description': 'Required. Hostname for the MySQL connection.'}, 'password': {'type': 'string', 'writeOnly': True, 'description': 'Optional. Input only. Password for the MySQL connection. Mutually exclusive with the `secret_manager_stored_password` field.'}, 'username': {'type': 'string', 'description': 'Required. Username for the MySQL connection.'}, 'sslConfig': {'$ref': '#/$defs/MysqlSslConfig', 'description': 'SSL configuration for the MySQL connection.'}, 'secretManagerStoredPassword': {'type': 'string', 'description': 'Optional. A reference to a Secret Manager resource name storing the MySQL connection password. Mutually exclusive with the `password` field.'}}, 'description': 'Profile for connecting to a MySQL source.'}, 'OracleProfile': {'type': 'object', 'properties': {'port': {'type': 'integer', 'format': 'int32', 'description': 'Port for the Oracle connection, default value is 1521.'}, 'hostname': {'type': 'string', 'description': 'Required. Hostname for the Oracle connection.'}, 'password': {'type': 'string', 'description': 'Optional. Password for the Oracle connection. Mutually exclusive with the `secret_manager_stored_password` field.'}, 'username': {'type': 'string', 'description': 'Required. Username for the Oracle connection.'}, 'databaseService': {'type': 'string', 'description': 'Required. Database for the Oracle connection.'}, 'oracleAsmConfig': {'$ref': '#/$defs/OracleAsmConfig', 'description': 'Optional. Configuration for Oracle ASM connection.'}, 'oracleSslConfig': {'$ref': '#/$defs/OracleSslConfig', 'description': 'Optional. SSL configuration for the Oracle connection.'}, 'connectionAttributes': {'type': 'object', 'description': 'Connection string attributes', 'additionalProperties': {'type': 'string'}}, 'secretManagerStoredPassword': {'type': 'string', 'description': 'Optional. A reference to a Secret Manager resource name storing the Oracle connection password. Mutually exclusive with the `password` field.'}}, 'description': 'Profile for connecting to an Oracle source.'}, 'MongodbProfile': {'type': 'object', 'properties': {'password': {'type': 'string', 'description': 'Optional. Password for the MongoDB connection. Mutually exclusive with the `secret_manager_stored_password` field.'}, 'username': {'type': 'string', 'description': 'Required. Username for the MongoDB connection.'}, 'sslConfig': {'$ref': '#/$defs/MongodbSslConfig', 'description': 'Optional. SSL configuration for the MongoDB connection.'}, 'replicaSet': {'type': 'string', 'description': 'Optional. Name of the replica set. Only needed for self hosted replica set type MongoDB cluster. For SRV connection format, this field must be empty. For Standard connection format, this field must be specified.'}, 'hostAddresses': {'type': 'array', 'items': {'$ref': '#/$defs/HostAddress'}, 'description': 'Required. List of host addresses for a MongoDB cluster. For SRV connection format, this list must contain exactly one DNS host without a port. For Standard connection format, this list must contain all the required hosts in the cluster with their respective ports.'}, 'additionalOptions': {'type': 'object', 'description': 'Optional. Specifies additional options for the MongoDB connection. The options should be sent as key-value pairs, for example: `additional_options = {"serverSelectionTimeoutMS": "10000", "directConnection": "true"}`. Keys are case-sensitive and should match the official MongoDB connection string options: https://www.mongodb.com/docs/manual/reference/connection-string-options/ The server will not modify the values provided by the user.', 'additionalProperties': {'type': 'string'}}, 'srvConnectionFormat': {'$ref': '#/$defs/SrvConnectionFormat', 'description': 'Srv connection format. Only one of this field or standardConnectionFormat should be set.'}, 'standardConnectionFormat': {'$ref': '#/$defs/StandardConnectionFormat', 'description': 'Standard connection format. Only one of this field or srvConnectionFormat should be set.'}, 'secretManagerStoredPassword': {'type': 'string', 'description': 'Optional. A reference to a Secret Manager resource name storing the SQLServer connection password. Mutually exclusive with the `password` field.'}}, 'description': 'Profile for connecting to a MongoDB source.'}, 'MysqlSslConfig': {'type': 'object', 'properties': {'clientKey': {'type': 'string', 'writeOnly': True, 'description': "Optional. Input only. PEM-encoded private key associated with the Client Certificate. If this field is used then the 'client_certificate' and the 'ca_certificate' fields are mandatory."}, 'clientKeySet': {'type': 'boolean', 'readOnly': True, 'description': 'Output only. Indicates whether the client_key field is set.'}, 'caCertificate': {'type': 'string', 'writeOnly': True, 'description': "Input only. PEM-encoded certificate of the CA that signed the source database server's certificate."}, 'caCertificateSet': {'type': 'boolean', 'readOnly': True, 'description': 'Output only. Indicates whether the ca_certificate field is set.'}, 'clientCertificate': {'type': 'string', 'writeOnly': True, 'description': "Optional. Input only. PEM-encoded certificate that will be used by the replica to authenticate against the source database server. If this field is used then the 'client_key' and the 'ca_certificate' fields are mandatory."}, 'clientCertificateSet': {'type': 'boolean', 'readOnly': True, 'description': 'Output only. Indicates whether the client_certificate field is set.'}}, 'description': 'MySQL SSL configuration information.'}, 'SpannerProfile': {'type': 'object', 'properties': {'host': {'type': 'string', 'description': 'Optional. The Spanner endpoint to connect to. Defaults to the global endpoint (https://spanner.googleapis.com). Must be in the format: https://spanner.{region}.rep.googleapis.com.'}, 'database': {'type': 'string', 'description': 'Required. Immutable. Cloud Spanner database resource. This field is immutable. Must be in the format: projects/{project}/instances/{instance}/databases/{database_id}.', 'x-google-immutable': True}}, 'description': 'Profile for connecting to a Spanner source.'}, 'WorkdayProfile': {'type': 'object', 'properties': {'host': {'type': 'string', 'description': 'Required. Host for the Workday connection. Must be a valid hostname (e.g., `wd3-impl-services1.workday.com`).'}, 'tenant': {'type': 'string', 'description': 'Required. Tenant for the Workday connection (e.g., `google12`).'}, 'oauthRefreshTokenCredentials': {'$ref': '#/$defs/OauthRefreshTokenCredentials', 'description': 'Required. Credentials for authenticating with the Workday API. OAuth Refresh Token credentials for authenticating with the Workday API.'}}, 'description': 'Profile for connecting to a Workday source.'}, 'BasicEncryption': {'type': 'object', 'properties': {}, 'description': 'Message to represent the option where Datastream will enforce encryption without authenticating server identity. Server certificates will be trusted by default.'}, 'BigQueryProfile': {'type': 'object', 'properties': {}, 'description': 'Profile for connecting to a BigQuery destination.'}, 'OracleAsmConfig': {'type': 'object', 'properties': {'port': {'type': 'integer', 'format': 'int32', 'description': 'Required. Port for the Oracle ASM connection.'}, 'hostname': {'type': 'string', 'description': 'Required. Hostname for the Oracle ASM connection.'}, 'password': {'type': 'string', 'description': 'Optional. Password for the Oracle ASM connection. Mutually exclusive with the `secret_manager_stored_password` field.'}, 'username': {'type': 'string', 'description': 'Required. Username for the Oracle ASM connection.'}, 'asmService': {'type': 'string', 'description': 'Required. ASM service name for the Oracle ASM connection.'}, 'oracleSslConfig': {'$ref': '#/$defs/OracleSslConfig', 'description': 'Optional. SSL configuration for the Oracle connection.'}, 'connectionAttributes': {'type': 'object', 'description': 'Optional. Connection string attributes', 'additionalProperties': {'type': 'string'}}, 'secretManagerStoredPassword': {'type': 'string', 'description': 'Optional. A reference to a Secret Manager resource name storing the Oracle ASM connection password. Mutually exclusive with the `password` field.'}}, 'description': 'Configuration for Oracle Automatic Storage Management (ASM) connection.'}, 'OracleSslConfig': {'type': 'object', 'properties': {'caCertificate': {'type': 'string', 'writeOnly': True, 'description': "Input only. PEM-encoded certificate of the CA that signed the source database server's certificate."}, 'caCertificateSet': {'type': 'boolean', 'readOnly': True, 'description': 'Output only. Indicates whether the ca_certificate field has been set for this Connection-Profile.'}, 'serverCertificateDistinguishedName': {'type': 'string', 'description': 'Optional. The distinguished name (DN) mentioned in the server certificate. This corresponds to SSL_SERVER_CERT_DN sqlnet parameter. Refer https://docs.oracle.com/en/database/oracle/oracle-database/19/netrf/local-naming-parameters-in-tns-ora-file.html#GUID-70AB0695-A9AA-4A94-B141-4C605236EEB7 If this field is not provided, the DN matching is not enforced.'}}, 'description': 'Oracle SSL configuration information.'}, 'UserCredentials': {'type': 'object', 'properties': {'password': {'type': 'string', 'description': 'Optional. Password for the Salesforce connection. Mutually exclusive with the `secret_manager_stored_password` field.'}, 'username': {'type': 'string', 'description': 'Required. Username for the Salesforce connection.'}, 'securityToken': {'type': 'string', 'description': 'Optional. Security token for the Salesforce connection. Mutually exclusive with the `secret_manager_stored_security_token` field.'}, 'secretManagerStoredPassword': {'type': 'string', 'description': "Optional. A reference to a Secret Manager resource name storing the Salesforce connection's password. Mutually exclusive with the `password` field."}, 'secretManagerStoredSecurityToken': {'type': 'string', 'description': "Optional. A reference to a Secret Manager resource name storing the Salesforce connection's security token. Mutually exclusive with the `security_token` field."}}, 'description': 'Deprecated: Salesforce is retiring Username-Password authentication. Use `Oauth2ClientCredentials` instead.'}, 'DataverseProfile': {'type': 'object', 'properties': {'tenantId': {'type': 'string', 'description': 'Required. Tenant id of the Microsoft Dataverse instance.'}, 'environmentUrl': {'type': 'string', 'description': 'Required. Environment URL of the Microsoft Dataverse instance. Example: `.crm.dynamics.com`'}, 'oauthClientCredentials': {'$ref': '#/$defs/OauthClientCredentials', 'description': 'Required. Credentials for authenticating with the Dataverse API.'}}, 'description': 'Profile for connecting to a Dataverse source.'}, 'MongodbSslConfig': {'type': 'object', 'properties': {'clientKey': {'type': 'string', 'writeOnly': True, 'description': "Optional. Input only. PEM-encoded private key associated with the Client Certificate. If this field is used then the 'client_certificate' and the 'ca_certificate' fields are mandatory."}, 'clientKeySet': {'type': 'boolean', 'readOnly': True, 'description': 'Output only. Indicates whether the client_key field is set.'}, 'caCertificate': {'type': 'string', 'writeOnly': True, 'description': "Optional. Input only. PEM-encoded certificate of the CA that signed the source database server's certificate."}, 'caCertificateSet': {'type': 'boolean', 'readOnly': True, 'description': 'Output only. Indicates whether the ca_certificate field is set.'}, 'clientCertificate': {'type': 'string', 'writeOnly': True, 'description': "Optional. Input only. PEM-encoded certificate that will be used by the replica to authenticate against the source database server. If this field is used then the 'client_key' and the 'ca_certificate' fields are mandatory."}, 'clientCertificateSet': {'type': 'boolean', 'readOnly': True, 'description': 'Output only. Indicates whether the client_certificate field is set.'}, 'secretManagerStoredClientKey': {'type': 'string', 'writeOnly': True, 'description': "Optional. Input only. A reference to a Secret Manager resource name storing the PEM-encoded private key associated with the Client Certificate. If this field is used then the 'client_certificate' and the 'ca_certificate' fields are mandatory. Mutually exclusive with the `client_key` field."}}, 'description': 'MongoDB SSL configuration information.'}, 'SqlServerProfile': {'type': 'object', 'properties': {'port': {'type': 'integer', 'format': 'int32', 'description': 'Port for the SQLServer connection, default value is 1433.'}, 'database': {'type': 'string', 'description': 'Required. Database for the SQLServer connection.'}, 'hostname': {'type': 'string', 'description': 'Required. Hostname for the SQLServer connection.'}, 'password': {'type': 'string', 'description': 'Optional. Password for the SQLServer connection. Mutually exclusive with the `secret_manager_stored_password` field.'}, 'username': {'type': 'string', 'description': 'Required. Username for the SQLServer connection.'}, 'sslConfig': {'$ref': '#/$defs/SqlServerSslConfig', 'description': 'Optional. SSL configuration for the SQLServer connection.'}, 'secretManagerStoredPassword': {'type': 'string', 'description': 'Optional. A reference to a Secret Manager resource name storing the SQLServer connection password. Mutually exclusive with the `password` field.'}}, 'description': 'Profile for connecting to a SQLServer source.'}, 'ConnectionProfile': {'type': 'object', 'properties': {'name': {'type': 'string', 'readOnly': True, 'description': "Output only. Identifier. The resource's name.", 'x-google-identifier': True}, 'labels': {'type': 'object', 'description': 'Labels.', 'additionalProperties': {'type': 'string'}}, 'createTime': {'type': 'string', 'format': 'date-time', 'readOnly': True, 'description': 'Output only. The create time of the resource.'}, 'gcsProfile': {'$ref': '#/$defs/GcsProfile', 'description': 'Profile for connecting to a Cloud Storage destination. Only one of the following fields should be set: this field, oracleProfile, mysqlProfile, bigqueryProfile, postgresqlProfile, sqlServerProfile, salesforceProfile, mongodbProfile, spannerProfile, dataverseProfile, salesforceMarketingCloudProfile, serviceNowProfile, workdayProfile.'}, 'updateTime': {'type': 'string', 'format': 'date-time', 'readOnly': True, 'description': 'Output only. The update time of the resource.'}, 'displayName': {'type': 'string', 'description': 'Required. Display name.'}, 'mysqlProfile': {'$ref': '#/$defs/MysqlProfile', 'description': 'Profile for connecting to a MySQL source. Only one of the following fields should be set: this field, oracleProfile, gcsProfile, bigqueryProfile, postgresqlProfile, sqlServerProfile, salesforceProfile, mongodbProfile, spannerProfile, dataverseProfile, salesforceMarketingCloudProfile, serviceNowProfile, workdayProfile.'}, 'satisfiesPzi': {'type': 'boolean', 'readOnly': True, 'description': 'Output only. Reserved for future use.'}, 'satisfiesPzs': {'type': 'boolean', 'readOnly': True, 'description': 'Output only. Reserved for future use.'}, 'oracleProfile': {'$ref': '#/$defs/OracleProfile', 'description': 'Profile for connecting to an Oracle source. Only one of the following fields should be set: this field, gcsProfile, mysqlProfile, bigqueryProfile, postgresqlProfile, sqlServerProfile, salesforceProfile, mongodbProfile, spannerProfile, dataverseProfile, salesforceMarketingCloudProfile, serviceNowProfile, workdayProfile.'}, 'mongodbProfile': {'$ref': '#/$defs/MongodbProfile', 'description': 'Profile for connecting to a MongoDB source. Only one of the following fields should be set: this field, oracleProfile, gcsProfile, mysqlProfile, bigqueryProfile, postgresqlProfile, sqlServerProfile, salesforceProfile, spannerProfile, dataverseProfile, salesforceMarketingCloudProfile, serviceNowProfile, workdayProfile.'}, 'spannerProfile': {'$ref': '#/$defs/SpannerProfile', 'description': 'Profile for connecting to a Spanner source. Only one of the following fields should be set: this field, oracleProfile, gcsProfile, mysqlProfile, bigqueryProfile, postgresqlProfile, sqlServerProfile, salesforceProfile, mongodbProfile, dataverseProfile, salesforceMarketingCloudProfile, serviceNowProfile, workdayProfile.'}, 'workdayProfile': {'$ref': '#/$defs/WorkdayProfile', 'description': 'Optional. Profile for connecting to a Workday source. Only one of the following fields should be set: this field, oracleProfile, gcsProfile, mysqlProfile, bigqueryProfile, postgresqlProfile, sqlServerProfile, salesforceProfile, mongodbProfile, spannerProfile, dataverseProfile, salesforceMarketingCloudProfile, serviceNowProfile.'}, 'bigqueryProfile': {'$ref': '#/$defs/BigQueryProfile', 'description': 'Profile for connecting to a BigQuery destination. Only one of the following fields should be set: this field, oracleProfile, gcsProfile, mysqlProfile, postgresqlProfile, sqlServerProfile, salesforceProfile, mongodbProfile, spannerProfile, dataverseProfile, salesforceMarketingCloudProfile, serviceNowProfile, workdayProfile.'}, 'dataverseProfile': {'$ref': '#/$defs/DataverseProfile', 'description': 'Profile for connecting to a Dataverse source. Only one of the following fields should be set: this field, oracleProfile, gcsProfile, mysqlProfile, bigqueryProfile, postgresqlProfile, sqlServerProfile, salesforceProfile, mongodbProfile, spannerProfile, salesforceMarketingCloudProfile, serviceNowProfile, workdayProfile.'}, 'sqlServerProfile': {'$ref': '#/$defs/SqlServerProfile', 'description': 'Profile for connecting to a SQLServer source. Only one of the following fields should be set: this field, oracleProfile, gcsProfile, mysqlProfile, bigqueryProfile, postgresqlProfile, salesforceProfile, mongodbProfile, spannerProfile, dataverseProfile, salesforceMarketingCloudProfile, serviceNowProfile, workdayProfile.'}, 'postgresqlProfile': {'$ref': '#/$defs/PostgresqlProfile', 'description': 'Profile for connecting to a PostgreSQL source. Only one of the following fields should be set: this field, oracleProfile, gcsProfile, mysqlProfile, bigqueryProfile, sqlServerProfile, salesforceProfile, mongodbProfile, spannerProfile, dataverseProfile, salesforceMarketingCloudProfile, serviceNowProfile, workdayProfile.'}, 'salesforceProfile': {'$ref': '#/$defs/SalesforceProfile', 'description': 'Profile for connecting to a Salesforce source. Only one of the following fields should be set: this field, oracleProfile, gcsProfile, mysqlProfile, bigqueryProfile, postgresqlProfile, sqlServerProfile, mongodbProfile, spannerProfile, dataverseProfile, salesforceMarketingCloudProfile, serviceNowProfile, workdayProfile.'}, 'serviceNowProfile': {'$ref': '#/$defs/ServiceNowProfile', 'description': 'Profile for connecting to a ServiceNow source. Only one of the following fields should be set: this field, oracleProfile, gcsProfile, mysqlProfile, bigqueryProfile, postgresqlProfile, sqlServerProfile, salesforceProfile, mongodbProfile, spannerProfile, dataverseProfile, salesforceMarketingCloudProfile, workdayProfile.'}, 'privateConnectivity': {'$ref': '#/$defs/PrivateConnectivity', 'description': 'Private connectivity. Only one of the following fields should be set: this field, staticServiceIpConnectivity, forwardSshConnectivity.'}, 'forwardSshConnectivity': {'$ref': '#/$defs/ForwardSshTunnelConnectivity', 'description': 'Forward SSH tunnel connectivity. Only one of the following fields should be set: this field, staticServiceIpConnectivity, privateConnectivity.'}, 'staticServiceIpConnectivity': {'$ref': '#/$defs/StaticServiceIpConnectivity', 'description': 'Static Service IP connectivity. Only one of the following fields should be set: this field, forwardSshConnectivity, privateConnectivity.'}, 'salesforceMarketingCloudProfile': {'$ref': '#/$defs/SalesforceMarketingCloudProfile', 'description': 'Profile for connecting to a Salesforce Marketing Cloud source. Only one of the following fields should be set: this field, oracleProfile, gcsProfile, mysqlProfile, bigqueryProfile, postgresqlProfile, sqlServerProfile, salesforceProfile, mongodbProfile, spannerProfile, dataverseProfile, serviceNowProfile, workdayProfile.'}}, 'description': 'A set of reusable connection configurations to be used as a source or destination for a stream.'}, 'PostgresqlProfile': {'type': 'object', 'properties': {'port': {'type': 'integer', 'format': 'int32', 'description': 'Port for the PostgreSQL connection, default value is 5432.'}, 'database': {'type': 'string', 'description': 'Required. Database for the PostgreSQL connection.'}, 'hostname': {'type': 'string', 'description': 'Required. Hostname for the PostgreSQL connection.'}, 'password': {'type': 'string', 'description': 'Optional. Password for the PostgreSQL connection. Mutually exclusive with the `secret_manager_stored_password` field.'}, 'username': {'type': 'string', 'description': 'Required. Username for the PostgreSQL connection.'}, 'sslConfig': {'$ref': '#/$defs/PostgresqlSslConfig', 'description': 'Optional. SSL configuration for the PostgreSQL connection. In case PostgresqlSslConfig is not set, the connection will use the default SSL mode, which is `prefer` (i.e. this mode will only use encryption if enabled from database side, otherwise will use unencrypted communication)'}, 'secretManagerStoredPassword': {'type': 'string', 'description': 'Optional. A reference to a Secret Manager resource name storing the PostgreSQL connection password. Mutually exclusive with the `password` field.'}}, 'description': 'Profile for connecting to a PostgreSQL source.'}, 'SalesforceProfile': {'type': 'object', 'properties': {'domain': {'type': 'string', 'description': 'Required. Domain endpoint for the Salesforce connection.'}, 'userCredentials': {'$ref': '#/$defs/UserCredentials', 'deprecated': True, 'description': 'Deprecated: Salesforce is retiring Username-Password authentication. Use `oauth2_client_credentials` instead. Only one of this field or oauth2ClientCredentials should be set.'}, 'oauth2ClientCredentials': {'$ref': '#/$defs/Oauth2ClientCredentials', 'description': 'Connected app authentication. Only one of this field or userCredentials should be set.'}}, 'description': 'Profile for connecting to a Salesforce source.'}, 'ServiceNowProfile': {'type': 'object', 'properties': {'instance': {'type': 'string', 'description': 'Required. The instance of the ServiceNow account. This is the `` part of the URL `https://.service-now.com`.'}, 'oauthClientCredentials': {'$ref': '#/$defs/OauthClientCredentials', 'description': 'Credentials for authenticating with the ServiceNow API. Only one of this field or userPasswordCredentials should be set.'}, 'userPasswordCredentials': {'$ref': '#/$defs/UserPasswordCredentials', 'description': 'User-password authentication. Only one of this field or oauthClientCredentials should be set.'}}, 'description': 'Profile for connecting to a ServiceNow source.'}, 'ServerVerification': {'type': 'object', 'properties': {'caCertificate': {'type': 'string', 'writeOnly': True, 'description': 'Required. Input only. PEM-encoded server root CA certificate.'}, 'serverCertificateHostname': {'type': 'string', 'description': 'Optional. The hostname mentioned in the Subject or SAN extension of the server certificate. If this field is not provided, the hostname in the server certificate is not validated.'}}, 'description': 'Message represents the option where Datastream will enforce the encryption and authenticate the server identity. ca_certificate must be set if user selects this option.'}, 'SqlServerSslConfig': {'type': 'object', 'properties': {'basicEncryption': {'$ref': '#/$defs/BasicEncryption', 'description': 'If set, Datastream will enforce encryption without authenticating server identity. Server certificates will be trusted by default. Only one of the following fields should be set: this field, encryptionNotEnforced, encryptionAndServerValidation.'}, 'encryptionNotEnforced': {'$ref': '#/$defs/EncryptionNotEnforced', 'description': 'If set, Datastream will not enforce encryption. If the DB server mandates encryption, then connection will be encrypted but server identity will not be authenticated. Only one of the following fields should be set: this field, basicEncryption, encryptionAndServerValidation.'}, 'encryptionAndServerValidation': {'$ref': '#/$defs/EncryptionAndServerValidation', 'description': 'If set, Datastream will enforce encryption and authenticate server identity. Only one of the following fields should be set: this field, encryptionNotEnforced, basicEncryption.'}}, 'description': 'SQL Server SSL configuration information.'}, 'PostgresqlSslConfig': {'type': 'object', 'properties': {'serverVerification': {'$ref': '#/$defs/ServerVerification', 'description': 'If this field is set, the communication will be encrypted with TLS encryption and the server identity will be authenticated. Only one of this field or serverAndClientVerification should be set.'}, 'serverAndClientVerification': {'$ref': '#/$defs/ServerAndClientVerification', 'description': 'If this field is set, the communication will be encrypted with TLS encryption and both the server identity and the client identity will be authenticated. Only one of this field or serverVerification should be set.'}}, 'description': 'PostgreSQL SSL configuration information.'}, 'PrivateConnectivity': {'type': 'object', 'properties': {'privateConnection': {'type': 'string', 'description': 'Required. A reference to a private connection resource. Format: `projects/{project}/locations/{location}/privateConnections/{name}`'}}, 'description': 'Private Connectivity'}, 'SrvConnectionFormat': {'type': 'object', 'properties': {}, 'description': 'Srv connection format.'}, 'EncryptionNotEnforced': {'type': 'object', 'properties': {}, 'description': 'Message to represent the option where encryption is not enforced. An empty message right now to allow future extensibility.'}, 'OauthClientCredentials': {'type': 'object', 'properties': {'clientId': {'type': 'string', 'description': 'Required. Client ID for OAuth Client Credentials.'}, 'clientSecret': {'$ref': '#/$defs/Secret', 'description': 'Required. Client secret for OAuth Client Credentials.'}}, 'description': 'OAuth Client Credentials.'}, 'Oauth2ClientCredentials': {'type': 'object', 'properties': {'clientId': {'type': 'string', 'description': 'Required. Client ID for Salesforce OAuth2 Client Credentials.'}, 'clientSecret': {'type': 'string', 'description': 'Optional. Client secret for Salesforce OAuth2 Client Credentials. Mutually exclusive with the `secret_manager_stored_client_secret` field.'}, 'secretManagerStoredClientSecret': {'type': 'string', 'description': 'Optional. A reference to a Secret Manager resource name storing the Salesforce OAuth2 client_secret. Mutually exclusive with the `client_secret` field.'}}, 'description': 'OAuth2 Client Credentials.'}, 'UserPasswordCredentials': {'type': 'object', 'properties': {'password': {'$ref': '#/$defs/Secret', 'description': 'Required. Password for the connection.'}, 'username': {'type': 'string', 'description': 'Required. Username for the connection.'}}, 'description': 'User-password credentials.'}, 'StandardConnectionFormat': {'type': 'object', 'properties': {'directConnection': {'type': 'boolean', 'deprecated': True, 'description': 'Optional. Deprecated: Use the `additional_options` map to specify the `directConnection` parameter instead. For example: `additional_options = {"directConnection": "true"}`. Specifies whether the client connects directly to the host[:port] in the connection URI.'}}, 'description': 'Standard connection format.'}, 'ServerAndClientVerification': {'type': 'object', 'properties': {'clientKey': {'type': 'string', 'writeOnly': True, 'description': "Optional. Input only. PEM-encoded private key associated with the client certificate. This value will be used during the SSL/TLS handshake, allowing the PostgreSQL server to authenticate the client's identity, i.e. identity of the Datastream."}, 'caCertificate': {'type': 'string', 'writeOnly': True, 'description': 'Required. Input only. PEM-encoded server root CA certificate.'}, 'clientCertificate': {'type': 'string', 'writeOnly': True, 'description': "Required. Input only. PEM-encoded certificate used by the source database to authenticate the client identity (i.e., the Datastream's identity). This certificate is signed by either a root certificate trusted by the server or one or more intermediate certificates (which is stored with the leaf certificate) to link the this certificate to the trusted root certificate."}, 'serverCertificateHostname': {'type': 'string', 'description': 'Optional. The hostname mentioned in the Subject or SAN extension of the server certificate. If this field is not provided, the hostname in the server certificate is not validated.'}}, 'description': 'Message represents the option where Datastream will enforce the encryption and authenticate the server identity as well as the client identity. ca_certificate, client_certificate and client_key must be set if user selects this option.'}, 'StaticServiceIpConnectivity': {'type': 'object', 'properties': {}, 'description': 'Static IP address connectivity. Used when the source database is configured to allow incoming connections from the Datastream public IP addresses for the region specified in the connection profile.'}, 'ForwardSshTunnelConnectivity': {'type': 'object', 'properties': {'port': {'type': 'integer', 'format': 'int32', 'description': 'Port for the SSH tunnel, default value is 22.'}, 'hostname': {'type': 'string', 'description': 'Required. Hostname for the SSH tunnel.'}, 'password': {'type': 'string', 'writeOnly': True, 'description': 'Input only. SSH password. Only one of this field or privateKey should be set.'}, 'username': {'type': 'string', 'description': 'Required. Username for the SSH tunnel.'}, 'privateKey': {'type': 'string', 'writeOnly': True, 'description': 'Input only. SSH private key. Only one of this field or password should be set.'}}, 'description': 'Forward SSH Tunnel connectivity.'}, 'OauthRefreshTokenCredentials': {'type': 'object', 'properties': {'refreshToken': {'$ref': '#/$defs/Secret', 'description': 'Required. Specifies the OAuth Refresh Token.'}, 'oauthClientCredentials': {'$ref': '#/$defs/OauthClientCredentials', 'description': 'Required. Specifies the OAuth Client Credentials.'}}, 'description': 'OAuth Refresh Token Credentials.'}, 'EncryptionAndServerValidation': {'type': 'object', 'properties': {'caCertificate': {'type': 'string', 'writeOnly': True, 'description': "Optional. Input only. PEM-encoded certificate of the CA that signed the source database server's certificate."}, 'serverCertificateHostname': {'type': 'string', 'description': "Optional. The hostname mentioned in the Subject or SAN extension of the server certificate. This field is used for bypassing the hostname validation while verifying server certificate. This is required for scenarios where the host name that datastream connects to is different from the certificate's subject. This specifically happens for private connectivity. It could also happen when the customer provides a public IP in connection profile but the same is not present in the server certificate."}}, 'description': 'Message to represent the option where Datastream will enforce encryption and authenticate server identity. ca_certificate must be set if user selects this option.'}, 'SalesforceMarketingCloudProfile': {'type': 'object', 'properties': {'subdomain': {'type': 'string', 'description': 'Required. Subdomain for the Salesforce Marketing Cloud connection. Example: if your specific endpoint is `https://{your-specific-subdomain}.rest.marketingcloudapis.com/`, the subdomain is `{your-specific-subdomain}`. Must be 1-63 characters, start and end with an alphanumeric character, and contain only lowercase letters, numbers, and hyphens (-).'}, 'oauthClientCredentials': {'$ref': '#/$defs/OauthClientCredentials', 'writeOnly': True, 'description': 'Required. Input only. Credentials for authenticating with the Salesforce Marketing Cloud API.'}}, 'description': 'Profile for connecting to a Salesforce Marketing Cloud source.'}}, 'properties': {'unreachable': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Locations that could not be reached.'}, 'nextPageToken': {'type': 'string', 'description': 'A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.'}, 'connectionProfiles': {'type': 'array', 'items': {'$ref': '#/$defs/ConnectionProfile'}, 'description': 'List of connection profiles.'}}, 'description': 'Response message for listing connection profiles.'}
list_static_ips
Lists static IP addresses of the provided resource name that need to be allowlisted by the customer when using the static-IP connectivity method. Returns up to 100 IP addresses. * The resource 'name' parameter is in the form 'projects/{project name}/locations/{location}', for example: 'projects/my-project/locations/us-central1'.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': "Required. The resource name for the location for which static IPs should be returned. Must be in the format `projects/*/locations/*`. For example: 'projects/my-project/locations/us-central1'"}}, 'description': "Request message for 'ListStaticIps' request."}
出力スキーマ
{'type': 'object', 'properties': {'staticIps': {'type': 'array', 'items': {'type': 'string'}, 'description': 'list of static ips by account'}, 'nextPageToken': {'type': 'string', 'description': 'A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.'}}, 'description': "Response message for a 'FetchStaticIps' response."}
list_stream_objects
Lists stream objects in a given stream. * Parent parameter is in the form 'projects/{project name}/locations/{location}/streams/{stream name}', for example: 'projects/my-project/locations/us-central1/streams/my-stream'. * Not all the details of the stream objects are returned. * To get the full details of a specific stream object, use the 'get_stream_object' tool.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'required': ['parent'], 'properties': {'parent': {'type': 'string', 'description': 'Required. The parent stream that owns the collection of objects.'}, 'pageSize': {'type': 'integer', 'format': 'int32', 'description': 'Optional. Maximum number of objects to return. Default is 50. The maximum value is 1000; values above 1000 will be coerced to 1000.'}, 'pageToken': {'type': 'string', 'description': 'Optional. Page token received from a previous `ListStreamObjectsRequest` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListStreamObjectsRequest` must match the call that provided the page token.'}}, 'description': 'Request for listing all objects for a specific stream.'}
出力スキーマ
{'type': 'object', '$defs': {'Error': {'type': 'object', 'properties': {'reason': {'type': 'string', 'description': 'A title that explains the reason for the error.'}, 'details': {'type': 'object', 'description': 'Additional information about the error.', 'additionalProperties': {'type': 'string'}}, 'message': {'type': 'string', 'description': 'A message containing more information about the error that occurred.'}, 'errorTime': {'type': 'string', 'format': 'date-time', 'description': 'The time when the error occurred.'}, 'errorUuid': {'type': 'string', 'description': 'A unique identifier for this specific error, allowing it to be traced throughout the system in logs and API responses.'}}, 'description': 'Represent a user-facing Error.'}, 'BackfillJob': {'type': 'object', 'properties': {'state': {'enum': ['STATE_UNSPECIFIED', 'NOT_STARTED', 'PENDING', 'ACTIVE', 'STOPPED', 'FAILED', 'COMPLETED', 'UNSUPPORTED'], 'type': 'string', 'readOnly': True, 'description': 'Output only. Backfill job state.', 'x-google-enum-descriptions': ['Default value.', 'Backfill job was never started for the stream object (stream has backfill strategy defined as manual or object was explicitly excluded from automatic backfill).', 'Backfill job will start pending available resources.', 'Backfill job is running.', 'Backfill job stopped (next job run will start from beginning).', 'Backfill job failed (due to an error).', 'Backfill completed successfully.', 'Backfill job failed since the table structure is currently unsupported for backfill.']}, 'errors': {'type': 'array', 'items': {'$ref': '#/$defs/Error'}, 'readOnly': True, 'description': 'Output only. Errors which caused the backfill job to fail.'}, 'trigger': {'enum': ['TRIGGER_UNSPECIFIED', 'AUTOMATIC', 'MANUAL'], 'type': 'string', 'description': "Backfill job's triggering reason.", 'x-google-enum-descriptions': ['Default value.', "Object backfill job was triggered automatically according to the stream's backfill strategy.", 'Object backfill job was triggered manually using the dedicated API.']}, 'eventFilter': {'$ref': '#/$defs/EventFilter', 'readOnly': True, 'description': 'Output only. The filter for performing a partial backfill.'}, 'lastEndTime': {'type': 'string', 'format': 'date-time', 'readOnly': True, 'description': "Output only. Backfill job's end time."}, 'lastStartTime': {'type': 'string', 'format': 'date-time', 'readOnly': True, 'description': "Output only. Backfill job's start time."}}, 'description': 'Represents a backfill job on a specific stream object.'}, 'EventFilter': {'type': 'object', 'properties': {'sqlWhereClause': {'type': 'string', 'description': 'An SQL-query Where clause selecting which data should be included, not including the "WHERE" keyword. e.g., `t.key1 = \'value1\' AND t.key2 = \'value2\'`'}}, 'description': 'Represents a filter for included data on a stream object.'}, 'StreamObject': {'type': 'object', 'properties': {'name': {'type': 'string', 'readOnly': True, 'description': "Output only. Identifier. The object resource's name.", 'x-google-identifier': True}, 'errors': {'type': 'array', 'items': {'$ref': '#/$defs/Error'}, 'readOnly': True, 'description': 'Output only. Active errors on the object.'}, 'createTime': {'type': 'string', 'format': 'date-time', 'readOnly': True, 'description': 'Output only. The creation time of the object.'}, 'updateTime': {'type': 'string', 'format': 'date-time', 'readOnly': True, 'description': 'Output only. The last update time of the object.'}, 'backfillJob': {'$ref': '#/$defs/BackfillJob', 'description': 'The latest backfill job that was initiated for the stream object.'}, 'displayName': {'type': 'string', 'description': 'Required. Display name.'}, 'sourceObject': {'$ref': '#/$defs/SourceObjectIdentifier', 'description': 'The object identifier in the data source.'}, 'customizationRules': {'type': 'array', 'items': {'$ref': '#/$defs/CustomizationRule'}, 'readOnly': True, 'description': "Output only. The customization rules for the object. These rules are derived from the parent Stream's `rule_sets` and represent the intended configuration for the object."}}, 'description': 'A specific stream object (e.g a specific DB table).'}, 'CustomizationRule': {'type': 'object', 'properties': {'bigqueryClustering': {'$ref': '#/$defs/BigQueryClustering', 'description': 'BigQuery clustering rule. Only one of this field or bigqueryPartitioning should be set.'}, 'bigqueryPartitioning': {'$ref': '#/$defs/BigQueryPartitioning', 'description': 'BigQuery partitioning rule. Only one of this field or bigqueryClustering should be set.'}}, 'description': 'A customization rule to apply to a set of objects.'}, 'TimeUnitPartition': {'type': 'object', 'properties': {'column': {'type': 'string', 'description': 'Required. The partitioning column.'}, 'partitioningTimeGranularity': {'enum': ['PARTITIONING_TIME_GRANULARITY_UNSPECIFIED', 'PARTITIONING_TIME_GRANULARITY_HOUR', 'PARTITIONING_TIME_GRANULARITY_DAY', 'PARTITIONING_TIME_GRANULARITY_MONTH', 'PARTITIONING_TIME_GRANULARITY_YEAR'], 'type': 'string', 'description': 'Optional. Partition granularity.', 'x-google-enum-descriptions': ['Unspecified partitioing interval.', 'Hourly partitioning.', 'Daily partitioning.', 'Monthly partitioning.', 'Yearly partitioning.']}}, 'description': 'Time unit column partitioning. see https://cloud.google.com/bigquery/docs/partitioned-tables#date_timestamp_partitioned_tables'}, 'BigQueryClustering': {'type': 'object', 'properties': {'columns': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Required. Column names to set as clustering columns.'}}, 'description': 'BigQuery clustering configuration.'}, 'BigQueryPartitioning': {'type': 'object', 'properties': {'timeUnitPartition': {'$ref': '#/$defs/TimeUnitPartition', 'description': 'Time unit column partitioning. Only one of the following fields should be set: this field, integerRangePartition, ingestionTimePartition.'}, 'integerRangePartition': {'$ref': '#/$defs/IntegerRangePartition', 'description': 'Integer range partitioning. Only one of the following fields should be set: this field, timeUnitPartition, ingestionTimePartition.'}, 'ingestionTimePartition': {'$ref': '#/$defs/IngestionTimePartition', 'description': 'Ingestion time partitioning. Only one of the following fields should be set: this field, integerRangePartition, timeUnitPartition.'}, 'requirePartitionFilter': {'type': 'boolean', 'description': 'Optional. If true, queries over the table require a partition filter.'}}, 'description': 'BigQuery partitioning configuration.'}, 'IntegerRangePartition': {'type': 'object', 'properties': {'end': {'type': 'string', 'format': 'int64', 'description': 'Required. The ending value for range partitioning (exclusive).'}, 'start': {'type': 'string', 'format': 'int64', 'description': 'Required. The starting value for range partitioning (inclusive).'}, 'column': {'type': 'string', 'description': 'Required. The partitioning column.'}, 'interval': {'type': 'string', 'format': 'int64', 'description': 'Required. The interval of each range within the partition.'}}, 'description': 'Integer range partitioning. see https://cloud.google.com/bigquery/docs/partitioned-tables#integer_range'}, 'MysqlObjectIdentifier': {'type': 'object', 'properties': {'table': {'type': 'string', 'description': 'Required. The table name.'}, 'database': {'type': 'string', 'description': 'Required. The database name.'}}, 'description': 'Mysql data source object identifier.'}, 'IngestionTimePartition': {'type': 'object', 'properties': {'partitioningTimeGranularity': {'enum': ['PARTITIONING_TIME_GRANULARITY_UNSPECIFIED', 'PARTITIONING_TIME_GRANULARITY_HOUR', 'PARTITIONING_TIME_GRANULARITY_DAY', 'PARTITIONING_TIME_GRANULARITY_MONTH', 'PARTITIONING_TIME_GRANULARITY_YEAR'], 'type': 'string', 'description': 'Optional. Partition granularity', 'x-google-enum-descriptions': ['Unspecified partitioing interval.', 'Hourly partitioning.', 'Daily partitioning.', 'Monthly partitioning.', 'Yearly partitioning.']}}, 'description': 'Ingestion time partitioning. see https://cloud.google.com/bigquery/docs/partitioned-tables#ingestion_time'}, 'OracleObjectIdentifier': {'type': 'object', 'properties': {'table': {'type': 'string', 'description': 'Required. The table name.'}, 'schema': {'type': 'string', 'description': 'Required. The schema name.'}}, 'description': 'Oracle data source object identifier.'}, 'SourceObjectIdentifier': {'type': 'object', 'properties': {'mysqlIdentifier': {'$ref': '#/$defs/MysqlObjectIdentifier', 'description': 'Mysql data source object identifier. Only one of the following fields should be set: this field, oracleIdentifier, postgresqlIdentifier, sqlServerIdentifier, salesforceIdentifier, mongodbIdentifier, spannerIdentifier.'}, 'oracleIdentifier': {'$ref': '#/$defs/OracleObjectIdentifier', 'description': 'Oracle data source object identifier. Only one of the following fields should be set: this field, mysqlIdentifier, postgresqlIdentifier, sqlServerIdentifier, salesforceIdentifier, mongodbIdentifier, spannerIdentifier.'}, 'mongodbIdentifier': {'$ref': '#/$defs/MongodbObjectIdentifier', 'description': 'MongoDB data source object identifier. Only one of the following fields should be set: this field, oracleIdentifier, mysqlIdentifier, postgresqlIdentifier, sqlServerIdentifier, salesforceIdentifier, spannerIdentifier.'}, 'spannerIdentifier': {'$ref': '#/$defs/SpannerObjectIdentifier', 'description': 'Spanner data source object identifier. Only one of the following fields should be set: this field, oracleIdentifier, mysqlIdentifier, postgresqlIdentifier, sqlServerIdentifier, salesforceIdentifier, mongodbIdentifier.'}, 'sqlServerIdentifier': {'$ref': '#/$defs/SqlServerObjectIdentifier', 'description': 'SQLServer data source object identifier. Only one of the following fields should be set: this field, oracleIdentifier, mysqlIdentifier, postgresqlIdentifier, salesforceIdentifier, mongodbIdentifier, spannerIdentifier.'}, 'postgresqlIdentifier': {'$ref': '#/$defs/PostgresqlObjectIdentifier', 'description': 'PostgreSQL data source object identifier. Only one of the following fields should be set: this field, oracleIdentifier, mysqlIdentifier, sqlServerIdentifier, salesforceIdentifier, mongodbIdentifier, spannerIdentifier.'}, 'salesforceIdentifier': {'$ref': '#/$defs/SalesforceObjectIdentifier', 'description': 'Salesforce data source object identifier. Only one of the following fields should be set: this field, oracleIdentifier, mysqlIdentifier, postgresqlIdentifier, sqlServerIdentifier, mongodbIdentifier, spannerIdentifier.'}}, 'description': 'Represents an identifier of an object in the data source.'}, 'MongodbObjectIdentifier': {'type': 'object', 'properties': {'database': {'type': 'string', 'description': 'Required. The database name.'}, 'collection': {'type': 'string', 'description': 'Required. The collection name.'}}, 'description': 'MongoDB data source object identifier.'}, 'SpannerObjectIdentifier': {'type': 'object', 'properties': {'table': {'type': 'string', 'description': 'Required. The table name.'}, 'schema': {'type': 'string', 'description': 'Optional. The schema name.'}}, 'description': 'Spanner data source object identifier.'}, 'SqlServerObjectIdentifier': {'type': 'object', 'properties': {'table': {'type': 'string', 'description': 'Required. The table name.'}, 'schema': {'type': 'string', 'description': 'Required. The schema name.'}}, 'description': 'SQLServer data source object identifier.'}, 'PostgresqlObjectIdentifier': {'type': 'object', 'properties': {'table': {'type': 'string', 'description': 'Required. The table name.'}, 'schema': {'type': 'string', 'description': 'Required. The schema name.'}}, 'description': 'PostgreSQL data source object identifier.'}, 'SalesforceObjectIdentifier': {'type': 'object', 'properties': {'objectName': {'type': 'string', 'description': 'Required. The object name.'}}, 'description': 'Salesforce data source object identifier.'}}, 'properties': {'nextPageToken': {'type': 'string', 'description': 'A token, which can be sent as `page_token` to retrieve the next page.'}, 'streamObjects': {'type': 'array', 'items': {'$ref': '#/$defs/StreamObject'}, 'description': 'List of stream objects.'}}, 'description': 'Response containing the objects for a stream.'}
list_streams
Lists streams in a given project and location. For example: { parent: "projects/my-project/locations/us-central1" create_time_after: 2025-10-02T10:15:33Z create_time_before: 2025-10-03T00:00:00Z display_name: bookstore page_size: 100 running: true } will return up to 100 running streams in `projects/my-project/locations/us-central1` that were created on or after 2025-10-02T10:15:33 UTC and before 2025-10-03T00:00:00 UTC, and have "bookstore" in their display name.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'required': ['parent'], 'properties': {'failed': {'type': 'boolean', 'description': 'Optional. Use to get streams that are currently in state FAILED or FAILED_PERMANENTLY.'}, 'parent': {'type': 'string', 'description': "Required. The parent that owns the collection of streams. Must be in the format `projects/*/locations/*`. For example: 'projects/my-project/locations/us-central1'"}, 'running': {'type': 'boolean', 'description': 'Optional. Use to get streams that are currently in state RUNNING.'}, 'pageSize': {'type': 'integer', 'format': 'int32', 'description': 'Optional. Use to limit the number of streams returned. Valid values are between 1 and 1000 inclusive. Defaults to 1000 if not provided or outside of the valid range. Note that due to filtering, it is possible to get no results (but a next_page_token) so you should keep calling this method until you get a response with an empty next_page_token.'}, 'pageToken': {'type': 'string', 'description': 'Optional. A page token, received from a previous `list_streams` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `list_streams` must match the call that provided the page token.'}, 'displayName': {'type': 'string', 'description': 'Optional. Use to get streams whose display name contains the provided name.'}, 'createTimeAfter': {'type': 'string', 'description': 'Optional. Use to get streams that were created on or after the provided date/time, formatted as RFC-3339. Common Examples: 2023-09-24T15:30:00Z or 2023-09-24T15:30:00.000+09:00.'}, 'createTimeBefore': {'type': 'string', 'description': 'Optional. Use to get streams that were created before the provided date/time, formatted as RFC-3339. Common Examples: 2023-09-24T15:30:00Z or 2023-09-24T15:30:00.000+09:00.'}}, 'description': "Request message for 'ListStreams' request."}
出力スキーマ
{'type': 'object', '$defs': {'Gtid': {'type': 'object', 'properties': {}, 'description': 'Use GTID based replication.'}, 'Error': {'type': 'object', 'properties': {'reason': {'type': 'string', 'description': 'A title that explains the reason for the error.'}, 'details': {'type': 'object', 'description': 'Additional information about the error.', 'additionalProperties': {'type': 'string'}}, 'message': {'type': 'string', 'description': 'A message containing more information about the error that occurred.'}, 'errorTime': {'type': 'string', 'format': 'date-time', 'description': 'The time when the error occurred.'}, 'errorUuid': {'type': 'string', 'description': 'A unique identifier for this specific error, allowing it to be traced throughout the system in logs and API responses.'}}, 'description': 'Represent a user-facing Error.'}, 'Merge': {'type': 'object', 'properties': {}, 'description': 'Merge mode defines that all changes to a table will be merged at the destination table.'}, 'Stream': {'type': 'object', 'properties': {'name': {'type': 'string', 'readOnly': True, 'description': "Output only. Identifier. The stream's name.", 'x-google-identifier': True}, 'state': {'enum': ['STATE_UNSPECIFIED', 'NOT_STARTED', 'RUNNING', 'PAUSED', 'MAINTENANCE', 'FAILED', 'FAILED_PERMANENTLY', 'STARTING', 'DRAINING'], 'type': 'string', 'description': 'The state of the stream.', 'x-google-enum-descriptions': ['Unspecified stream state.', 'The stream has been created but has not yet started streaming data.', 'The stream is running.', 'The stream is paused.', 'The stream is in maintenance mode. Updates are rejected on the resource in this state.', 'The stream is experiencing an error that is preventing data from being streamed.', 'The stream has experienced a terminal failure.', 'The stream is starting, but not yet running.', 'The Stream is no longer reading new events, but still writing events in the buffer.']}, 'errors': {'type': 'array', 'items': {'$ref': '#/$defs/Error'}, 'readOnly': True, 'description': 'Output only. Errors on the Stream.'}, 'labels': {'type': 'object', 'description': 'Labels.', 'additionalProperties': {'type': 'string'}}, 'ruleSets': {'type': 'array', 'items': {'$ref': '#/$defs/RuleSet'}, 'description': 'Optional. Rule sets to apply to the stream.'}, 'createTime': {'type': 'string', 'format': 'date-time', 'readOnly': True, 'description': 'Output only. The creation time of the stream.'}, 'updateTime': {'type': 'string', 'format': 'date-time', 'readOnly': True, 'description': 'Output only. The last update time of the stream.'}, 'backfillAll': {'$ref': '#/$defs/BackfillAllStrategy', 'description': 'Automatically backfill objects included in the stream source configuration. Specific objects can be excluded. Only one of this field or backfillNone should be set.'}, 'displayName': {'type': 'string', 'description': 'Required. Display name.'}, 'backfillNone': {'$ref': '#/$defs/BackfillNoneStrategy', 'description': 'Do not automatically backfill any objects. Only one of this field or backfillAll should be set.'}, 'satisfiesPzi': {'type': 'boolean', 'readOnly': True, 'description': 'Output only. Reserved for future use.'}, 'satisfiesPzs': {'type': 'boolean', 'readOnly': True, 'description': 'Output only. Reserved for future use.'}, 'sourceConfig': {'$ref': '#/$defs/SourceConfig', 'description': 'Required. Source connection profile configuration.'}, 'lastRecoveryTime': {'type': 'string', 'format': 'date-time', 'readOnly': True, 'description': 'Output only. If the stream was recovered, the time of the last recovery. Note: This field is currently experimental.'}, 'destinationConfig': {'$ref': '#/$defs/DestinationConfig', 'description': 'Required. Destination connection profile configuration.'}, 'customerManagedEncryptionKey': {'type': 'string', 'description': 'Immutable. A reference to a KMS encryption key. If provided, it will be used to encrypt the data. If left blank, data will be encrypted using an internal Stream-specific encryption key provisioned through KMS.', 'x-google-immutable': True}}, 'description': 'A resource representing streaming data from a source to a destination.'}, 'RuleSet': {'type': 'object', 'properties': {'objectFilter': {'$ref': '#/$defs/ObjectFilter', 'description': 'Required. Object filter to apply the customization rules to.'}, 'customizationRules': {'type': 'array', 'items': {'$ref': '#/$defs/CustomizationRule'}, 'description': 'Required. List of customization rules to apply.'}}, 'description': 'A set of rules to apply to a set of objects.'}, 'LogMiner': {'type': 'object', 'properties': {}, 'description': 'Configuration to use LogMiner CDC method.'}, 'AppendOnly': {'type': 'object', 'properties': {}, 'description': 'AppendOnly mode defines that all changes to a table will be written to the destination table.'}, 'BlmtConfig': {'type': 'object', 'properties': {'bucket': {'type': 'string', 'description': 'Required. The Cloud Storage bucket name.'}, 'rootPath': {'type': 'string', 'description': 'The root path inside the Cloud Storage bucket.'}, 'fileFormat': {'enum': ['FILE_FORMAT_UNSPECIFIED', 'PARQUET'], 'type': 'string', 'description': 'Required. The file format.', 'x-google-enum-descriptions': ['Default value.', 'Parquet file format.']}, 'tableFormat': {'enum': ['TABLE_FORMAT_UNSPECIFIED', 'ICEBERG'], 'type': 'string', 'description': 'Required. The table format.', 'x-google-enum-descriptions': ['Default value.', 'Iceberg table format.']}, 'connectionName': {'type': 'string', 'description': 'Required. The bigquery connection. Format: `{project}.{location}.{name}`'}}, 'description': 'The configuration for BLMT.'}, 'MysqlRdbms': {'type': 'object', 'properties': {'mysqlDatabases': {'type': 'array', 'items': {'$ref': '#/$defs/MysqlDatabase'}, 'description': 'Mysql databases on the server'}}, 'description': 'MySQL database structure'}, 'MysqlTable': {'type': 'object', 'properties': {'table': {'type': 'string', 'description': 'The table name.'}, 'mysqlColumns': {'type': 'array', 'items': {'$ref': '#/$defs/MysqlColumn'}, 'description': 'MySQL columns in the database. When unspecified as part of include/exclude objects, includes/excludes everything.'}}, 'description': 'MySQL table.'}, 'MysqlColumn': {'type': 'object', 'properties': {'scale': {'type': 'integer', 'format': 'int32', 'description': 'Column scale.'}, 'column': {'type': 'string', 'description': 'The column name.'}, 'length': {'type': 'integer', 'format': 'int32', 'description': 'Column length.'}, 'dataType': {'type': 'string', 'description': 'The MySQL data type. Full data types list can be found here: https://dev.mysql.com/doc/refman/8.0/en/data-types.html'}, 'nullable': {'type': 'boolean', 'description': 'Whether or not the column can accept a null value.'}, 'collation': {'type': 'string', 'description': 'Column collation.'}, 'precision': {'type': 'integer', 'format': 'int32', 'description': 'Column precision.'}, 'primaryKey': {'type': 'boolean', 'description': 'Whether or not the column represents a primary key.'}, 'ordinalPosition': {'type': 'integer', 'format': 'int32', 'description': 'The ordinal position of the column in the table.'}}, 'description': 'MySQL Column.'}, 'OracleRdbms': {'type': 'object', 'properties': {'oracleSchemas': {'type': 'array', 'items': {'$ref': '#/$defs/OracleSchema'}, 'description': 'Oracle schemas/databases in the database server.'}}, 'description': 'Oracle database structure.'}, 'OracleTable': {'type': 'object', 'properties': {'table': {'type': 'string', 'description': 'The table name.'}, 'oracleColumns': {'type': 'array', 'items': {'$ref': '#/$defs/OracleColumn'}, 'description': 'Oracle columns in the schema. When unspecified as part of include/exclude objects, includes/excludes everything.'}}, 'description': 'Oracle table.'}, 'MongodbField': {'type': 'object', 'properties': {'field': {'type': 'string', 'description': 'The field name.'}}, 'description': 'MongoDB Field.'}, 'ObjectFilter': {'type': 'object', 'properties': {'sourceObjectIdentifier': {'$ref': '#/$defs/SourceObjectIdentifier', 'description': 'Specific source object identifier.'}}, 'description': 'Object filter to apply the rules to.'}, 'OracleColumn': {'type': 'object', 'properties': {'scale': {'type': 'integer', 'format': 'int32', 'description': 'Column scale.'}, 'column': {'type': 'string', 'description': 'The column name.'}, 'length': {'type': 'integer', 'format': 'int32', 'description': 'Column length.'}, 'dataType': {'type': 'string', 'description': 'The Oracle data type.'}, 'encoding': {'type': 'string', 'description': 'Column encoding.'}, 'nullable': {'type': 'boolean', 'description': 'Whether or not the column can accept a null value.'}, 'precision': {'type': 'integer', 'format': 'int32', 'description': 'Column precision.'}, 'primaryKey': {'type': 'boolean', 'description': 'Whether or not the column represents a primary key.'}, 'ordinalPosition': {'type': 'integer', 'format': 'int32', 'description': 'The ordinal position of the column in the table.'}}, 'description': 'Oracle Column.'}, 'OracleSchema': {'type': 'object', 'properties': {'schema': {'type': 'string', 'description': 'The schema name.'}, 'oracleTables': {'type': 'array', 'items': {'$ref': '#/$defs/OracleTable'}, 'description': 'Tables in the schema.'}}, 'description': 'Oracle schema.'}, 'SourceConfig': {'type': 'object', 'properties': {'mysqlSourceConfig': {'$ref': '#/$defs/MysqlSourceConfig', 'description': 'MySQL data source configuration. Only one of the following fields should be set: this field, oracleSourceConfig, postgresqlSourceConfig, sqlServerSourceConfig, salesforceSourceConfig, mongodbSourceConfig, spannerSourceConfig, dataverseSourceConfig, salesforceMarketingCloudSourceConfig, serviceNowSourceConfig, workdaySourceConfig.'}, 'oracleSourceConfig': {'$ref': '#/$defs/OracleSourceConfig', 'description': 'Oracle data source configuration. Only one of the following fields should be set: this field, mysqlSourceConfig, postgresqlSourceConfig, sqlServerSourceConfig, salesforceSourceConfig, mongodbSourceConfig, spannerSourceConfig, dataverseSourceConfig, salesforceMarketingCloudSourceConfig, serviceNowSourceConfig, workdaySourceConfig.'}, 'mongodbSourceConfig': {'$ref': '#/$defs/MongodbSourceConfig', 'description': 'MongoDB data source configuration. Only one of the following fields should be set: this field, oracleSourceConfig, mysqlSourceConfig, postgresqlSourceConfig, sqlServerSourceConfig, salesforceSourceConfig, spannerSourceConfig, dataverseSourceConfig, salesforceMarketingCloudSourceConfig, serviceNowSourceConfig, workdaySourceConfig.'}, 'spannerSourceConfig': {'$ref': '#/$defs/SpannerSourceConfig', 'description': 'Spanner data source configuration. Only one of the following fields should be set: this field, oracleSourceConfig, mysqlSourceConfig, postgresqlSourceConfig, sqlServerSourceConfig, salesforceSourceConfig, mongodbSourceConfig, dataverseSourceConfig, salesforceMarketingCloudSourceConfig, serviceNowSourceConfig, workdaySourceConfig.'}, 'workdaySourceConfig': {'$ref': '#/$defs/WorkdaySourceConfig', 'description': 'Optional. Workday data source configuration. Only one of the following fields should be set: this field, oracleSourceConfig, mysqlSourceConfig, postgresqlSourceConfig, sqlServerSourceConfig, salesforceSourceConfig, mongodbSourceConfig, spannerSourceConfig, dataverseSourceConfig, salesforceMarketingCloudSourceConfig, serviceNowSourceConfig.'}, 'dataverseSourceConfig': {'$ref': '#/$defs/DataverseSourceConfig', 'description': 'Dataverse data source configuration. Only one of the following fields should be set: this field, oracleSourceConfig, mysqlSourceConfig, postgresqlSourceConfig, sqlServerSourceConfig, salesforceSourceConfig, mongodbSourceConfig, spannerSourceConfig, salesforceMarketingCloudSourceConfig, serviceNowSourceConfig, workdaySourceConfig.'}, 'sqlServerSourceConfig': {'$ref': '#/$defs/SqlServerSourceConfig', 'description': 'SQLServer data source configuration. Only one of the following fields should be set: this field, oracleSourceConfig, mysqlSourceConfig, postgresqlSourceConfig, salesforceSourceConfig, mongodbSourceConfig, spannerSourceConfig, dataverseSourceConfig, salesforceMarketingCloudSourceConfig, serviceNowSourceConfig, workdaySourceConfig.'}, 'postgresqlSourceConfig': {'$ref': '#/$defs/PostgresqlSourceConfig', 'description': 'PostgreSQL data source configuration. Only one of the following fields should be set: this field, oracleSourceConfig, mysqlSourceConfig, sqlServerSourceConfig, salesforceSourceConfig, mongodbSourceConfig, spannerSourceConfig, dataverseSourceConfig, salesforceMarketingCloudSourceConfig, serviceNowSourceConfig, workdaySourceConfig.'}, 'salesforceSourceConfig': {'$ref': '#/$defs/SalesforceSourceConfig', 'description': 'Salesforce data source configuration. Only one of the following fields should be set: this field, oracleSourceConfig, mysqlSourceConfig, postgresqlSourceConfig, sqlServerSourceConfig, mongodbSourceConfig, spannerSourceConfig, dataverseSourceConfig, salesforceMarketingCloudSourceConfig, serviceNowSourceConfig, workdaySourceConfig.'}, 'serviceNowSourceConfig': {'$ref': '#/$defs/ServiceNowSourceConfig', 'description': 'ServiceNow data source configuration. Only one of the following fields should be set: this field, oracleSourceConfig, mysqlSourceConfig, postgresqlSourceConfig, sqlServerSourceConfig, salesforceSourceConfig, mongodbSourceConfig, spannerSourceConfig, dataverseSourceConfig, salesforceMarketingCloudSourceConfig, workdaySourceConfig.'}, 'sourceConnectionProfile': {'type': 'string', 'description': 'Required. Source connection profile resource. Format: `projects/{project}/locations/{location}/connectionProfiles/{name}`'}, 'salesforceMarketingCloudSourceConfig': {'$ref': '#/$defs/SalesforceMarketingCloudSourceConfig', 'description': 'Salesforce Marketing Cloud data source configuration. Only one of the following fields should be set: this field, oracleSourceConfig, mysqlSourceConfig, postgresqlSourceConfig, sqlServerSourceConfig, salesforceSourceConfig, mongodbSourceConfig, spannerSourceConfig, dataverseSourceConfig, serviceNowSourceConfig, workdaySourceConfig.'}}, 'description': 'The configuration of the stream source.'}, 'SourceObject': {'type': 'object', 'properties': {'objectName': {'type': 'string', 'description': 'Required. The object name.'}, 'properties': {'type': 'array', 'items': {'$ref': '#/$defs/SourceProperty'}, 'description': 'Optional. Source properties. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing.'}}, 'description': 'Source object.'}, 'SpannerTable': {'type': 'object', 'properties': {'table': {'type': 'string', 'description': 'Required. The table name.'}, 'columns': {'type': 'array', 'items': {'$ref': '#/$defs/SpannerColumn'}, 'description': 'Optional. Spanner columns in the table.'}}, 'description': 'Spanner table.'}, 'MysqlDatabase': {'type': 'object', 'properties': {'database': {'type': 'string', 'description': 'The database name.'}, 'mysqlTables': {'type': 'array', 'items': {'$ref': '#/$defs/MysqlTable'}, 'description': 'Tables in the database.'}}, 'description': 'MySQL database.'}, 'SalesforceOrg': {'type': 'object', 'properties': {'objects': {'type': 'array', 'items': {'$ref': '#/$defs/SalesforceObject'}, 'description': 'Salesforce objects in the database server.'}}, 'description': 'Salesforce organization structure.'}, 'SourceCatalog': {'type': 'object', 'properties': {'objects': {'type': 'array', 'items': {'$ref': '#/$defs/SourceObject'}, 'description': 'Optional. Source objects in the catalog.'}}, 'description': 'Source catalog.'}, 'SpannerColumn': {'type': 'object', 'properties': {'column': {'type': 'string', 'description': 'Required. The column name.'}, 'dataType': {'type': 'string', 'description': 'Optional. Spanner data type.'}, 'isPrimaryKey': {'type': 'boolean', 'description': 'Optional. Whether or not the column is a primary key.'}, 'ordinalPosition': {'type': 'string', 'format': 'int64', 'description': 'Optional. The ordinal position of the column in the table.'}}, 'description': 'Spanner column.'}, 'SpannerSchema': {'type': 'object', 'properties': {'schema': {'type': 'string', 'description': 'Required. The schema name.'}, 'tables': {'type': 'array', 'items': {'$ref': '#/$defs/SpannerTable'}, 'description': 'Optional. Spanner tables in the schema.'}}, 'description': 'Spanner schema.'}, 'AvroFileFormat': {'type': 'object', 'properties': {}, 'description': 'AVRO file format configuration.'}, 'JsonFileFormat': {'type': 'object', 'properties': {'compression': {'enum': ['JSON_COMPRESSION_UNSPECIFIED', 'NO_COMPRESSION', 'GZIP'], 'type': 'string', 'description': 'Compression of the loaded JSON file.', 'x-google-enum-descriptions': ['Unspecified json file compression.', 'Do not compress JSON file.', 'Gzip compression.']}, 'schemaFileFormat': {'enum': ['SCHEMA_FILE_FORMAT_UNSPECIFIED', 'NO_SCHEMA_FILE', 'AVRO_SCHEMA_FILE'], 'type': 'string', 'description': 'The schema file format along JSON data files.', 'x-google-enum-descriptions': ['Unspecified schema file format.', 'Do not attach schema file.', 'Avro schema format.']}}, 'description': 'JSON file format configuration.'}, 'MongodbCluster': {'type': 'object', 'properties': {'databases': {'type': 'array', 'items': {'$ref': '#/$defs/MongodbDatabase'}, 'description': 'MongoDB databases in the cluster.'}}, 'description': 'MongoDB Cluster structure.'}, 'SourceProperty': {'type': 'object', 'properties': {'primaryKey': {'type': 'boolean', 'description': 'Optional. Whether or not the property is a primary key.'}, 'properties': {'type': 'array', 'items': {'$ref': '#/$defs/SourceProperty'}, 'description': 'Optional. Source properties. When specified, it means that the current property contains nested properties of its own. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing.'}, 'propertyName': {'type': 'string', 'description': 'Required. The property name.'}}, 'description': 'Source property.'}, 'SqlServerRdbms': {'type': 'object', 'properties': {'schemas': {'type': 'array', 'items': {'$ref': '#/$defs/SqlServerSchema'}, 'description': 'SQLServer schemas in the database server.'}}, 'description': 'SQLServer database structure.'}, 'SqlServerTable': {'type': 'object', 'properties': {'table': {'type': 'string', 'description': 'The table name.'}, 'columns': {'type': 'array', 'items': {'$ref': '#/$defs/SqlServerColumn'}, 'description': 'SQLServer columns in the schema. When unspecified as part of include/exclude objects, includes/excludes everything.'}}, 'description': 'SQLServer table.'}, 'BinaryLogParser': {'type': 'object', 'properties': {'logFileDirectories': {'$ref': '#/$defs/LogFileDirectories', 'description': 'Use Oracle directories. Only one of this field or oracleAsmLogFileAccess should be set.'}, 'oracleAsmLogFileAccess': {'$ref': '#/$defs/OracleAsmLogFileAccess', 'description': 'Use Oracle ASM. Only one of this field or logFileDirectories should be set.'}}, 'description': 'Configuration to use Binary Log Parser CDC technique.'}, 'DatasetTemplate': {'type': 'object', 'properties': {'location': {'type': 'string', 'description': 'Required. The geographic location where the dataset should reside. See https://cloud.google.com/bigquery/docs/locations for supported locations.'}, 'kmsKeyName': {'type': 'string', 'description': 'Describes the Cloud KMS encryption key that will be used to protect destination BigQuery table. The BigQuery Service Account associated with your project requires access to this encryption key. i.e. projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{cryptoKey}. See https://cloud.google.com/bigquery/docs/customer-managed-encryption for more information.'}, 'datasetIdPrefix': {'type': 'string', 'description': 'If supplied, every created dataset will have its name prefixed by the provided value. The prefix and name will be separated by an underscore. i.e. _.'}}, 'description': 'Dataset template used for dynamic dataset creation.'}, 'MongodbDatabase': {'type': 'object', 'properties': {'database': {'type': 'string', 'description': 'The database name.'}, 'collections': {'type': 'array', 'items': {'$ref': '#/$defs/MongodbCollection'}, 'description': 'Collections in the database.'}}, 'description': 'MongoDB Database.'}, 'PostgresqlRdbms': {'type': 'object', 'properties': {'postgresqlSchemas': {'type': 'array', 'items': {'$ref': '#/$defs/PostgresqlSchema'}, 'description': 'PostgreSQL schemas in the database server.'}}, 'description': 'PostgreSQL database structure.'}, 'PostgresqlTable': {'type': 'object', 'properties': {'table': {'type': 'string', 'description': 'The table name.'}, 'postgresqlColumns': {'type': 'array', 'items': {'$ref': '#/$defs/PostgresqlColumn'}, 'description': 'PostgreSQL columns in the schema. When unspecified as part of include/exclude objects, includes/excludes everything.'}}, 'description': 'PostgreSQL table.'}, 'SalesforceField': {'type': 'object', 'properties': {'name': {'type': 'string', 'description': 'The field name.'}, 'dataType': {'type': 'string', 'description': 'The data type.'}, 'nillable': {'type': 'boolean', 'description': 'Indicates whether the field can accept nil values.'}}, 'description': 'Salesforce field.'}, 'SpannerDatabase': {'type': 'object', 'properties': {'schemas': {'type': 'array', 'items': {'$ref': '#/$defs/SpannerSchema'}, 'description': 'Optional. Spanner schemas in the database.'}}, 'description': 'Spanner database structure.'}, 'SqlServerColumn': {'type': 'object', 'properties': {'scale': {'type': 'integer', 'format': 'int32', 'description': 'Column scale.'}, 'column': {'type': 'string', 'description': 'The column name.'}, 'length': {'type': 'integer', 'format': 'int32', 'description': 'Column length.'}, 'dataType': {'type': 'string', 'description': 'The SQLServer data type.'}, 'nullable': {'type': 'boolean', 'description': 'Whether or not the column can accept a null value.'}, 'precision': {'type': 'integer', 'format': 'int32', 'description': 'Column precision.'}, 'primaryKey': {'type': 'boolean', 'description': 'Whether or not the column represents a primary key.'}, 'ordinalPosition': {'type': 'integer', 'format': 'int32', 'description': 'The ordinal position of the column in the table.'}}, 'description': 'SQLServer Column.'}, 'SqlServerSchema': {'type': 'object', 'properties': {'schema': {'type': 'string', 'description': 'The schema name.'}, 'tables': {'type': 'array', 'items': {'$ref': '#/$defs/SqlServerTable'}, 'description': 'Tables in the schema.'}}, 'description': 'SQLServer schema.'}, 'DropLargeObjects': {'type': 'object', 'properties': {}, 'description': 'Configuration to drop large object values.'}, 'PostgresqlColumn': {'type': 'object', 'properties': {'scale': {'type': 'integer', 'format': 'int32', 'description': 'Column scale.'}, 'column': {'type': 'string', 'description': 'The column name.'}, 'length': {'type': 'integer', 'format': 'int32', 'description': 'Column length.'}, 'dataType': {'type': 'string', 'description': 'The PostgreSQL data type.'}, 'nullable': {'type': 'boolean', 'description': 'Whether or not the column can accept a null value.'}, 'precision': {'type': 'integer', 'format': 'int32', 'description': 'Column precision.'}, 'primaryKey': {'type': 'boolean', 'description': 'Whether or not the column represents a primary key.'}, 'ordinalPosition': {'type': 'integer', 'format': 'int32', 'description': 'The ordinal position of the column in the table.'}}, 'description': 'PostgreSQL Column.'}, 'PostgresqlSchema': {'type': 'object', 'properties': {'schema': {'type': 'string', 'description': 'The schema name.'}, 'postgresqlTables': {'type': 'array', 'items': {'$ref': '#/$defs/PostgresqlTable'}, 'description': 'Tables in the schema.'}}, 'description': 'PostgreSQL schema.'}, 'SalesforceObject': {'type': 'object', 'properties': {'fields': {'type': 'array', 'items': {'$ref': '#/$defs/SalesforceField'}, 'description': 'Salesforce fields. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing.'}, 'objectName': {'type': 'string', 'description': 'The object name.'}}, 'description': 'Salesforce object.'}, 'BinaryLogPosition': {'type': 'object', 'properties': {}, 'description': 'Use Binary log position based replication.'}, 'CustomizationRule': {'type': 'object', 'properties': {'bigqueryClustering': {'$ref': '#/$defs/BigQueryClustering', 'description': 'BigQuery clustering rule. Only one of this field or bigqueryPartitioning should be set.'}, 'bigqueryPartitioning': {'$ref': '#/$defs/BigQueryPartitioning', 'description': 'BigQuery partitioning rule. Only one of this field or bigqueryClustering should be set.'}}, 'description': 'A customization rule to apply to a set of objects.'}, 'DestinationConfig': {'type': 'object', 'properties': {'gcsDestinationConfig': {'$ref': '#/$defs/GcsDestinationConfig', 'description': 'A configuration for how data should be loaded to Cloud Storage. Only one of this field or bigqueryDestinationConfig should be set.'}, 'bigqueryDestinationConfig': {'$ref': '#/$defs/BigQueryDestinationConfig', 'description': 'BigQuery destination configuration. Only one of this field or gcsDestinationConfig should be set.'}, 'destinationConnectionProfile': {'type': 'string', 'description': 'Required. Destination connection profile resource. Format: `projects/{project}/locations/{location}/connectionProfiles/{name}`'}}, 'description': 'The configuration of the stream destination.'}, 'MongodbCollection': {'type': 'object', 'properties': {'fields': {'type': 'array', 'items': {'$ref': '#/$defs/MongodbField'}, 'description': 'Fields in the collection.'}, 'collection': {'type': 'string', 'description': 'The collection name.'}}, 'description': 'MongoDB Collection.'}, 'MysqlSourceConfig': {'type': 'object', 'properties': {'gtid': {'$ref': '#/$defs/Gtid', 'description': 'Use GTID based replication. Only one of this field or binaryLogPosition should be set.'}, 'excludeObjects': {'$ref': '#/$defs/MysqlRdbms', 'description': 'The MySQL objects to exclude from the stream.'}, 'includeObjects': {'$ref': '#/$defs/MysqlRdbms', 'description': 'The MySQL objects to retrieve from the source.'}, 'binaryLogPosition': {'$ref': '#/$defs/BinaryLogPosition', 'description': 'Use Binary log position based replication. Only one of this field or gtid should be set.'}, 'maxConcurrentCdcTasks': {'type': 'integer', 'format': 'int32', 'description': "Maximum number of concurrent CDC tasks. The number should be non negative. If not set (or set to 0), the system's default value will be used."}, 'maxConcurrentBackfillTasks': {'type': 'integer', 'format': 'int32', 'description': "Maximum number of concurrent backfill tasks. The number should be non negative. If not set (or set to 0), the system's default value will be used."}}, 'description': 'Configuration for syncing data from a MySQL source.'}, 'TimeUnitPartition': {'type': 'object', 'properties': {'column': {'type': 'string', 'description': 'Required. The partitioning column.'}, 'partitioningTimeGranularity': {'enum': ['PARTITIONING_TIME_GRANULARITY_UNSPECIFIED', 'PARTITIONING_TIME_GRANULARITY_HOUR', 'PARTITIONING_TIME_GRANULARITY_DAY', 'PARTITIONING_TIME_GRANULARITY_MONTH', 'PARTITIONING_TIME_GRANULARITY_YEAR'], 'type': 'string', 'description': 'Optional. Partition granularity.', 'x-google-enum-descriptions': ['Unspecified partitioing interval.', 'Hourly partitioning.', 'Daily partitioning.', 'Monthly partitioning.', 'Yearly partitioning.']}}, 'description': 'Time unit column partitioning. see https://cloud.google.com/bigquery/docs/partitioned-tables#date_timestamp_partitioned_tables'}, 'BigQueryClustering': {'type': 'object', 'properties': {'columns': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Required. Column names to set as clustering columns.'}}, 'description': 'BigQuery clustering configuration.'}, 'LogFileDirectories': {'type': 'object', 'properties': {'onlineLogDirectory': {'type': 'string', 'description': 'Required. Oracle directory for online logs.'}, 'archivedLogDirectory': {'type': 'string', 'description': 'Required. Oracle directory for archived logs.'}}, 'description': 'Configuration to specify the Oracle directories to access the log files.'}, 'OracleSourceConfig': {'type': 'object', 'properties': {'logMiner': {'$ref': '#/$defs/LogMiner', 'description': 'Use LogMiner. Only one of this field or binaryLogParser should be set.'}, 'excludeObjects': {'$ref': '#/$defs/OracleRdbms', 'description': 'The Oracle objects to exclude from the stream.'}, 'includeObjects': {'$ref': '#/$defs/OracleRdbms', 'description': 'The Oracle objects to include in the stream.'}, 'binaryLogParser': {'$ref': '#/$defs/BinaryLogParser', 'description': 'Use Binary Log Parser. Only one of this field or logMiner should be set.'}, 'dropLargeObjects': {'$ref': '#/$defs/DropLargeObjects', 'description': 'Drop large object values. Only one of this field or streamLargeObjects should be set.'}, 'streamLargeObjects': {'$ref': '#/$defs/StreamLargeObjects', 'description': 'Stream large object values. Only one of this field or dropLargeObjects should be set.'}, 'maxConcurrentCdcTasks': {'type': 'integer', 'format': 'int32', 'description': "Maximum number of concurrent CDC tasks. The number should be non-negative. If not set (or set to 0), the system's default value is used."}, 'maxConcurrentBackfillTasks': {'type': 'integer', 'format': 'int32', 'description': "Maximum number of concurrent backfill tasks. The number should be non-negative. If not set (or set to 0), the system's default value is used."}}, 'description': 'Configuration for syncing data from an Oracle source.'}, 'StreamLargeObjects': {'type': 'object', 'properties': {}, 'description': 'Configuration to stream large object values.'}, 'BackfillAllStrategy': {'type': 'object', 'properties': {'saasExcludedObjects': {'$ref': '#/$defs/SourceCatalog', 'description': 'Source catalog data source objects to avoid backfilling. This is mainly used to represent SaaS applications objects. Only one of the following fields should be set: this field, oracleExcludedObjects, mysqlExcludedObjects, postgresqlExcludedObjects, sqlServerExcludedObjects, salesforceExcludedObjects, mongodbExcludedObjects, spannerExcludedObjects.'}, 'mysqlExcludedObjects': {'$ref': '#/$defs/MysqlRdbms', 'description': 'MySQL data source objects to avoid backfilling. Only one of the following fields should be set: this field, oracleExcludedObjects, postgresqlExcludedObjects, sqlServerExcludedObjects, salesforceExcludedObjects, mongodbExcludedObjects, spannerExcludedObjects, saasExcludedObjects.'}, 'oracleExcludedObjects': {'$ref': '#/$defs/OracleRdbms', 'description': 'Oracle data source objects to avoid backfilling. Only one of the following fields should be set: this field, mysqlExcludedObjects, postgresqlExcludedObjects, sqlServerExcludedObjects, salesforceExcludedObjects, mongodbExcludedObjects, spannerExcludedObjects, saasExcludedObjects.'}, 'mongodbExcludedObjects': {'$ref': '#/$defs/MongodbCluster', 'description': 'MongoDB data source objects to avoid backfilling. Only one of the following fields should be set: this field, oracleExcludedObjects, mysqlExcludedObjects, postgresqlExcludedObjects, sqlServerExcludedObjects, salesforceExcludedObjects, spannerExcludedObjects, saasExcludedObjects.'}, 'spannerExcludedObjects': {'$ref': '#/$defs/SpannerDatabase', 'description': 'Spanner data source objects to avoid backfilling. Only one of the following fields should be set: this field, oracleExcludedObjects, mysqlExcludedObjects, postgresqlExcludedObjects, sqlServerExcludedObjects, salesforceExcludedObjects, mongodbExcludedObjects, saasExcludedObjects.'}, 'sqlServerExcludedObjects': {'$ref': '#/$defs/SqlServerRdbms', 'description': 'SQLServer data source objects to avoid backfilling. Only one of the following fields should be set: this field, oracleExcludedObjects, mysqlExcludedObjects, postgresqlExcludedObjects, salesforceExcludedObjects, mongodbExcludedObjects, spannerExcludedObjects, saasExcludedObjects.'}, 'postgresqlExcludedObjects': {'$ref': '#/$defs/PostgresqlRdbms', 'description': 'PostgreSQL data source objects to avoid backfilling. Only one of the following fields should be set: this field, oracleExcludedObjects, mysqlExcludedObjects, sqlServerExcludedObjects, salesforceExcludedObjects, mongodbExcludedObjects, spannerExcludedObjects, saasExcludedObjects.'}, 'salesforceExcludedObjects': {'$ref': '#/$defs/SalesforceOrg', 'description': 'Salesforce data source objects to avoid backfilling. Only one of the following fields should be set: this field, oracleExcludedObjects, mysqlExcludedObjects, postgresqlExcludedObjects, sqlServerExcludedObjects, mongodbExcludedObjects, spannerExcludedObjects, saasExcludedObjects.'}}, 'description': "Backfill strategy to automatically backfill the Stream's objects. Specific objects can be excluded."}, 'MongodbSourceConfig': {'type': 'object', 'properties': {'jsonMode': {'enum': ['MONGODB_JSON_MODE_UNSPECIFIED', 'STRICT', 'CANONICAL'], 'type': 'string', 'description': 'Optional. MongoDB JSON mode to use for the stream.', 'x-google-enum-descriptions': ['Unspecified JSON mode.', 'Strict JSON mode.', 'Canonical JSON mode.']}, 'excludeObjects': {'$ref': '#/$defs/MongodbCluster', 'description': 'The MongoDB collections to exclude from the stream.'}, 'includeObjects': {'$ref': '#/$defs/MongodbCluster', 'description': 'The MongoDB collections to include in the stream.'}, 'maxConcurrentBackfillTasks': {'type': 'integer', 'format': 'int32', 'description': "Optional. Maximum number of concurrent backfill tasks. The number should be non-negative and less than or equal to 50. If not set (or set to 0), the system's default value is used"}}, 'description': 'Configuration for syncing data from a MongoDB source.'}, 'SingleTargetDataset': {'type': 'object', 'properties': {'datasetId': {'type': 'string', 'description': 'The dataset ID of the target dataset. DatasetIds allowed characters: https://cloud.google.com/bigquery/docs/reference/rest/v2/datasets#datasetreference.'}}, 'description': 'A single target dataset to which all data will be streamed.'}, 'SpannerSourceConfig': {'type': 'object', 'properties': {'fgacRole': {'type': 'string', 'description': 'Optional. The FGAC role to use for the stream.'}, 'excludeObjects': {'$ref': '#/$defs/SpannerDatabase', 'description': 'Optional. The Spanner objects to avoid retrieving. If some objects are both included and excluded, an error will be thrown.'}, 'includeObjects': {'$ref': '#/$defs/SpannerDatabase', 'description': 'Optional. The Spanner objects to retrieve from the data source. If some objects are both included and excluded, an error will be thrown.'}, 'changeStreamName': {'type': 'string', 'description': 'Required. Immutable. The change stream name to use for the stream.', 'x-google-immutable': True}, 'spannerRpcPriority': {'enum': ['SPANNER_RPC_PRIORITY_UNSPECIFIED', 'LOW', 'MEDIUM', 'HIGH'], 'type': 'string', 'description': 'Optional. The RPC priority to use for the stream.', 'x-google-enum-descriptions': ['Unspecified RPC priority.', 'Low RPC priority.', 'Medium RPC priority.', 'High RPC priority.']}, 'maxConcurrentCdcTasks': {'type': 'integer', 'format': 'int32', 'description': 'Optional. Maximum number of concurrent CDC tasks.'}, 'backfillDataBoostEnabled': {'type': 'boolean', 'description': 'Optional. Whether to use Data Boost for Spanner backfills. Defaults to false if not set.'}, 'maxConcurrentBackfillTasks': {'type': 'integer', 'format': 'int32', 'description': 'Optional. Maximum number of concurrent backfill tasks.'}}, 'description': 'Configuration for syncing data from a Spanner source.'}, 'WorkdaySourceConfig': {'type': 'object', 'properties': {'excludeObjects': {'$ref': '#/$defs/SourceCatalog', 'description': 'Optional. The objects to exclude from the stream.'}, 'includeObjects': {'$ref': '#/$defs/SourceCatalog', 'description': 'Optional. The objects to retrieve from the source.'}, 'pollingInterval': {'type': 'string', 'format': 'google-duration', 'description': 'Required. Incremental sync polling interval for all objects. If not set, a default value of `5 minutes` is used. The duration must be from `5 minutes` to `24 hours`, inclusive.'}}, 'description': 'Configuration for syncing data from a Workday source.'}, 'BackfillNoneStrategy': {'type': 'object', 'properties': {}, 'description': "Backfill strategy to disable automatic backfill for the Stream's objects."}, 'BigQueryPartitioning': {'type': 'object', 'properties': {'timeUnitPartition': {'$ref': '#/$defs/TimeUnitPartition', 'description': 'Time unit column partitioning. Only one of the following fields should be set: this field, integerRangePartition, ingestionTimePartition.'}, 'integerRangePartition': {'$ref': '#/$defs/IntegerRangePartition', 'description': 'Integer range partitioning. Only one of the following fields should be set: this field, timeUnitPartition, ingestionTimePartition.'}, 'ingestionTimePartition': {'$ref': '#/$defs/IngestionTimePartition', 'description': 'Ingestion time partitioning. Only one of the following fields should be set: this field, integerRangePartition, timeUnitPartition.'}, 'requirePartitionFilter': {'type': 'boolean', 'description': 'Optional. If true, queries over the table require a partition filter.'}}, 'description': 'BigQuery partitioning configuration.'}, 'GcsDestinationConfig': {'type': 'object', 'properties': {'path': {'type': 'string', 'description': 'Path inside the Cloud Storage bucket to write data to.'}, 'avroFileFormat': {'$ref': '#/$defs/AvroFileFormat', 'description': 'AVRO file format configuration. Only one of this field or jsonFileFormat should be set.'}, 'fileRotationMb': {'type': 'integer', 'format': 'int32', 'description': 'The maximum file size to be saved in the bucket.'}, 'jsonFileFormat': {'$ref': '#/$defs/JsonFileFormat', 'description': 'JSON file format configuration. Only one of this field or avroFileFormat should be set.'}, 'fileRotationInterval': {'type': 'string', 'format': 'google-duration', 'description': 'The maximum duration for which new events are added before a file is closed and a new file is created. Values within the range of 15-60 seconds are allowed.'}}, 'description': 'Google Cloud Storage destination configuration'}, 'DataverseSourceConfig': {'type': 'object', 'properties': {'excludeObjects': {'$ref': '#/$defs/SourceCatalog', 'description': 'Optional. The objects to exclude from the stream.'}, 'includeObjects': {'$ref': '#/$defs/SourceCatalog', 'description': 'Optional. The objects to retrieve from the source.'}, 'pollingInterval': {'type': 'string', 'format': 'google-duration', 'description': 'Required. Incremental sync polling interval for all objects. If not set, a default value of `5 minutes` is used. The duration must be from `5 minutes` to `24 hours`, inclusive.'}}, 'description': 'Configuration for syncing data from a Dataverse source.'}, 'IntegerRangePartition': {'type': 'object', 'properties': {'end': {'type': 'string', 'format': 'int64', 'description': 'Required. The ending value for range partitioning (exclusive).'}, 'start': {'type': 'string', 'format': 'int64', 'description': 'Required. The starting value for range partitioning (inclusive).'}, 'column': {'type': 'string', 'description': 'Required. The partitioning column.'}, 'interval': {'type': 'string', 'format': 'int64', 'description': 'Required. The interval of each range within the partition.'}}, 'description': 'Integer range partitioning. see https://cloud.google.com/bigquery/docs/partitioned-tables#integer_range'}, 'MysqlObjectIdentifier': {'type': 'object', 'properties': {'table': {'type': 'string', 'description': 'Required. The table name.'}, 'database': {'type': 'string', 'description': 'Required. The database name.'}}, 'description': 'Mysql data source object identifier.'}, 'SqlServerChangeTables': {'type': 'object', 'properties': {}, 'description': 'Configuration to use Change Tables CDC read method.'}, 'SqlServerSourceConfig': {'type': 'object', 'properties': {'changeTables': {'$ref': '#/$defs/SqlServerChangeTables', 'description': 'CDC reader reads from change tables. Only one of this field or transactionLogs should be set.'}, 'excludeObjects': {'$ref': '#/$defs/SqlServerRdbms', 'description': 'The SQLServer objects to exclude from the stream.'}, 'includeObjects': {'$ref': '#/$defs/SqlServerRdbms', 'description': 'The SQLServer objects to include in the stream.'}, 'transactionLogs': {'$ref': '#/$defs/SqlServerTransactionLogs', 'description': 'CDC reader reads from transaction logs. Only one of this field or changeTables should be set.'}, 'maxConcurrentCdcTasks': {'type': 'integer', 'format': 'int32', 'description': 'Max concurrent CDC tasks.'}, 'maxConcurrentBackfillTasks': {'type': 'integer', 'format': 'int32', 'description': 'Max concurrent backfill tasks.'}}, 'description': 'Configuration for syncing data from a SQLServer source.'}, 'IngestionTimePartition': {'type': 'object', 'properties': {'partitioningTimeGranularity': {'enum': ['PARTITIONING_TIME_GRANULARITY_UNSPECIFIED', 'PARTITIONING_TIME_GRANULARITY_HOUR', 'PARTITIONING_TIME_GRANULARITY_DAY', 'PARTITIONING_TIME_GRANULARITY_MONTH', 'PARTITIONING_TIME_GRANULARITY_YEAR'], 'type': 'string', 'description': 'Optional. Partition granularity', 'x-google-enum-descriptions': ['Unspecified partitioing interval.', 'Hourly partitioning.', 'Daily partitioning.', 'Monthly partitioning.', 'Yearly partitioning.']}}, 'description': 'Ingestion time partitioning. see https://cloud.google.com/bigquery/docs/partitioned-tables#ingestion_time'}, 'OracleAsmLogFileAccess': {'type': 'object', 'properties': {}, 'description': 'Configuration to use Oracle ASM to access the log files.'}, 'OracleObjectIdentifier': {'type': 'object', 'properties': {'table': {'type': 'string', 'description': 'Required. The table name.'}, 'schema': {'type': 'string', 'description': 'Required. The schema name.'}}, 'description': 'Oracle data source object identifier.'}, 'PostgresqlSourceConfig': {'type': 'object', 'properties': {'publication': {'type': 'string', 'description': "Required. The name of the publication that includes the set of all tables that are defined in the stream's include_objects."}, 'excludeObjects': {'$ref': '#/$defs/PostgresqlRdbms', 'description': 'The PostgreSQL objects to exclude from the stream.'}, 'includeObjects': {'$ref': '#/$defs/PostgresqlRdbms', 'description': 'The PostgreSQL objects to include in the stream.'}, 'replicationSlot': {'type': 'string', 'description': "Required. Immutable. The name of the logical replication slot that's configured with the pgoutput plugin.", 'x-google-immutable': True}, 'maxConcurrentBackfillTasks': {'type': 'integer', 'format': 'int32', 'description': "Maximum number of concurrent backfill tasks. The number should be non negative. If not set (or set to 0), the system's default value will be used."}}, 'description': 'Configuration for syncing data from a PostgreSQL source.'}, 'SalesforceSourceConfig': {'type': 'object', 'properties': {'excludeObjects': {'$ref': '#/$defs/SalesforceOrg', 'description': 'The Salesforce objects to exclude from the stream.'}, 'includeObjects': {'$ref': '#/$defs/SalesforceOrg', 'description': 'The Salesforce objects to retrieve from the source.'}, 'pollingInterval': {'type': 'string', 'format': 'google-duration', 'description': 'Required. Salesforce objects polling interval. The interval at which new changes will be polled for each object. The duration must be from `5 minutes` to `24 hours`, inclusive.'}}, 'description': 'Configuration for syncing data from a Salesforce source.'}, 'ServiceNowSourceConfig': {'type': 'object', 'properties': {'excludeObjects': {'$ref': '#/$defs/SourceCatalog', 'description': 'Optional. The objects to exclude from the stream.'}, 'includeObjects': {'$ref': '#/$defs/SourceCatalog', 'description': 'Optional. The objects to retrieve from the source.'}, 'pollingInterval': {'type': 'string', 'format': 'google-duration', 'description': 'Required. Incremental sync polling interval for all objects. If not set, a default value of `5 minutes` is used. The duration must be from `5 minutes` to `24 hours`, inclusive.'}}, 'description': 'Configuration for syncing data from a ServiceNow source.'}, 'SourceObjectIdentifier': {'type': 'object', 'properties': {'mysqlIdentifier': {'$ref': '#/$defs/MysqlObjectIdentifier', 'description': 'Mysql data source object identifier. Only one of the following fields should be set: this field, oracleIdentifier, postgresqlIdentifier, sqlServerIdentifier, salesforceIdentifier, mongodbIdentifier, spannerIdentifier.'}, 'oracleIdentifier': {'$ref': '#/$defs/OracleObjectIdentifier', 'description': 'Oracle data source object identifier. Only one of the following fields should be set: this field, mysqlIdentifier, postgresqlIdentifier, sqlServerIdentifier, salesforceIdentifier, mongodbIdentifier, spannerIdentifier.'}, 'mongodbIdentifier': {'$ref': '#/$defs/MongodbObjectIdentifier', 'description': 'MongoDB data source object identifier. Only one of the following fields should be set: this field, oracleIdentifier, mysqlIdentifier, postgresqlIdentifier, sqlServerIdentifier, salesforceIdentifier, spannerIdentifier.'}, 'spannerIdentifier': {'$ref': '#/$defs/SpannerObjectIdentifier', 'description': 'Spanner data source object identifier. Only one of the following fields should be set: this field, oracleIdentifier, mysqlIdentifier, postgresqlIdentifier, sqlServerIdentifier, salesforceIdentifier, mongodbIdentifier.'}, 'sqlServerIdentifier': {'$ref': '#/$defs/SqlServerObjectIdentifier', 'description': 'SQLServer data source object identifier. Only one of the following fields should be set: this field, oracleIdentifier, mysqlIdentifier, postgresqlIdentifier, salesforceIdentifier, mongodbIdentifier, spannerIdentifier.'}, 'postgresqlIdentifier': {'$ref': '#/$defs/PostgresqlObjectIdentifier', 'description': 'PostgreSQL data source object identifier. Only one of the following fields should be set: this field, oracleIdentifier, mysqlIdentifier, sqlServerIdentifier, salesforceIdentifier, mongodbIdentifier, spannerIdentifier.'}, 'salesforceIdentifier': {'$ref': '#/$defs/SalesforceObjectIdentifier', 'description': 'Salesforce data source object identifier. Only one of the following fields should be set: this field, oracleIdentifier, mysqlIdentifier, postgresqlIdentifier, sqlServerIdentifier, mongodbIdentifier, spannerIdentifier.'}}, 'description': 'Represents an identifier of an object in the data source.'}, 'MongodbObjectIdentifier': {'type': 'object', 'properties': {'database': {'type': 'string', 'description': 'Required. The database name.'}, 'collection': {'type': 'string', 'description': 'Required. The collection name.'}}, 'description': 'MongoDB data source object identifier.'}, 'SourceHierarchyDatasets': {'type': 'object', 'properties': {'projectId': {'type': 'string', 'description': 'Optional. The project id of the BigQuery dataset. If not specified, the project will be inferred from the stream resource.'}, 'datasetTemplate': {'$ref': '#/$defs/DatasetTemplate', 'description': 'The dataset template to use for dynamic dataset creation.'}}, 'description': 'Destination datasets are created so that hierarchy of the destination data objects matches the source hierarchy.'}, 'SpannerObjectIdentifier': {'type': 'object', 'properties': {'table': {'type': 'string', 'description': 'Required. The table name.'}, 'schema': {'type': 'string', 'description': 'Optional. The schema name.'}}, 'description': 'Spanner data source object identifier.'}, 'SqlServerTransactionLogs': {'type': 'object', 'properties': {}, 'description': 'Configuration to use Transaction Logs CDC read method.'}, 'BigQueryDestinationConfig': {'type': 'object', 'properties': {'merge': {'$ref': '#/$defs/Merge', 'description': 'The standard mode. Only one of this field or appendOnly should be set.'}, 'appendOnly': {'$ref': '#/$defs/AppendOnly', 'description': 'Append only mode. Only one of this field or merge should be set.'}, 'blmtConfig': {'$ref': '#/$defs/BlmtConfig', 'description': 'Optional. Big Lake Managed Tables (BLMT) configuration.'}, 'dataFreshness': {'type': 'string', 'format': 'google-duration', 'description': 'The guaranteed data freshness (in seconds) when querying tables created by the stream. Editing this field will only affect new tables created in the future, but existing tables will not be impacted. Lower values mean that queries will return fresher data, but may result in higher cost.'}, 'singleTargetDataset': {'$ref': '#/$defs/SingleTargetDataset', 'description': 'Single destination dataset. Only one of this field or sourceHierarchyDatasets should be set.'}, 'sourceHierarchyDatasets': {'$ref': '#/$defs/SourceHierarchyDatasets', 'description': 'Source hierarchy datasets. Only one of this field or singleTargetDataset should be set.'}}, 'description': 'BigQuery destination configuration'}, 'SqlServerObjectIdentifier': {'type': 'object', 'properties': {'table': {'type': 'string', 'description': 'Required. The table name.'}, 'schema': {'type': 'string', 'description': 'Required. The schema name.'}}, 'description': 'SQLServer data source object identifier.'}, 'PostgresqlObjectIdentifier': {'type': 'object', 'properties': {'table': {'type': 'string', 'description': 'Required. The table name.'}, 'schema': {'type': 'string', 'description': 'Required. The schema name.'}}, 'description': 'PostgreSQL data source object identifier.'}, 'SalesforceObjectIdentifier': {'type': 'object', 'properties': {'objectName': {'type': 'string', 'description': 'Required. The object name.'}}, 'description': 'Salesforce data source object identifier.'}, 'SalesforceMarketingCloudSourceConfig': {'type': 'object', 'properties': {'excludeObjects': {'$ref': '#/$defs/SourceCatalog', 'description': 'Optional. The objects to exclude from the stream.'}, 'includeObjects': {'$ref': '#/$defs/SourceCatalog', 'description': 'Optional. The objects to retrieve from the source.'}, 'pollingInterval': {'type': 'string', 'format': 'google-duration', 'description': 'Required. Incremental sync polling interval for all objects. If not set, a default value of `5 minutes` is used. The duration must be from `5 minutes` to `24 hours`, inclusive.'}, 'fullRefreshPollingInterval': {'type': 'string', 'format': 'google-duration', 'description': 'Required. Specifies the polling interval for a full refresh of objects that do not support incremental sync. If not set, a default value of 24 hours is used. The duration must be between 1 and 24 hours, inclusive.'}}, 'description': 'Configuration for syncing data from a Salesforce Marketing Cloud source.'}}, 'properties': {'streams': {'type': 'array', 'items': {'$ref': '#/$defs/Stream'}, 'description': 'List of streams'}, 'unreachable': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Locations that could not be reached.'}, 'nextPageToken': {'type': 'string', 'description': 'A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.'}}, 'description': 'Response message for listing streams.'}
lookup_stream_object
Lookup a stream object by its source object identifier. **Parameters:** * The 'parent' parameter is the name of the stream in the form: 'projects/{project name}/locations/{location}/streams/{stream name}', for example: 'projects/my-project/locations/us-central1/streams/my-stream'. * The 'source_object_identifier' parameter is the source database object identifier. Different source databases have different identifier formats. Examples: * Oracle, PostgreSQL, SQL Server and Spanner databases the identifier is 'schema' and 'table'. * MySQL databases the identifier is 'database' and 'table'.
読み取り専用 冪等
入力スキーマ
{'type': 'object', '$defs': {'MysqlObjectIdentifier': {'type': 'object', 'required': ['database', 'table'], 'properties': {'table': {'type': 'string', 'description': 'Required. The table name.'}, 'database': {'type': 'string', 'description': 'Required. The database name.'}}, 'description': 'Mysql data source object identifier.'}, 'OracleObjectIdentifier': {'type': 'object', 'required': ['schema', 'table'], 'properties': {'table': {'type': 'string', 'description': 'Required. The table name.'}, 'schema': {'type': 'string', 'description': 'Required. The schema name.'}}, 'description': 'Oracle data source object identifier.'}, 'SourceObjectIdentifier': {'type': 'object', 'properties': {'mysqlIdentifier': {'$ref': '#/$defs/MysqlObjectIdentifier', 'description': 'Mysql data source object identifier. Only one of the following fields should be set: this field, oracleIdentifier, postgresqlIdentifier, sqlServerIdentifier, salesforceIdentifier, mongodbIdentifier, spannerIdentifier.'}, 'oracleIdentifier': {'$ref': '#/$defs/OracleObjectIdentifier', 'description': 'Oracle data source object identifier. Only one of the following fields should be set: this field, mysqlIdentifier, postgresqlIdentifier, sqlServerIdentifier, salesforceIdentifier, mongodbIdentifier, spannerIdentifier.'}, 'mongodbIdentifier': {'$ref': '#/$defs/MongodbObjectIdentifier', 'description': 'MongoDB data source object identifier. Only one of the following fields should be set: this field, oracleIdentifier, mysqlIdentifier, postgresqlIdentifier, sqlServerIdentifier, salesforceIdentifier, spannerIdentifier.'}, 'spannerIdentifier': {'$ref': '#/$defs/SpannerObjectIdentifier', 'description': 'Spanner data source object identifier. Only one of the following fields should be set: this field, oracleIdentifier, mysqlIdentifier, postgresqlIdentifier, sqlServerIdentifier, salesforceIdentifier, mongodbIdentifier.'}, 'sqlServerIdentifier': {'$ref': '#/$defs/SqlServerObjectIdentifier', 'description': 'SQLServer data source object identifier. Only one of the following fields should be set: this field, oracleIdentifier, mysqlIdentifier, postgresqlIdentifier, salesforceIdentifier, mongodbIdentifier, spannerIdentifier.'}, 'postgresqlIdentifier': {'$ref': '#/$defs/PostgresqlObjectIdentifier', 'description': 'PostgreSQL data source object identifier. Only one of the following fields should be set: this field, oracleIdentifier, mysqlIdentifier, sqlServerIdentifier, salesforceIdentifier, mongodbIdentifier, spannerIdentifier.'}, 'salesforceIdentifier': {'$ref': '#/$defs/SalesforceObjectIdentifier', 'description': 'Salesforce data source object identifier. Only one of the following fields should be set: this field, oracleIdentifier, mysqlIdentifier, postgresqlIdentifier, sqlServerIdentifier, mongodbIdentifier, spannerIdentifier.'}}, 'description': 'Represents an identifier of an object in the data source.'}, 'MongodbObjectIdentifier': {'type': 'object', 'required': ['database', 'collection'], 'properties': {'database': {'type': 'string', 'description': 'Required. The database name.'}, 'collection': {'type': 'string', 'description': 'Required. The collection name.'}}, 'description': 'MongoDB data source object identifier.'}, 'SpannerObjectIdentifier': {'type': 'object', 'required': ['table'], 'properties': {'table': {'type': 'string', 'description': 'Required. The table name.'}, 'schema': {'type': 'string', 'description': 'Optional. The schema name.'}}, 'description': 'Spanner data source object identifier.'}, 'SqlServerObjectIdentifier': {'type': 'object', 'required': ['schema', 'table'], 'properties': {'table': {'type': 'string', 'description': 'Required. The table name.'}, 'schema': {'type': 'string', 'description': 'Required. The schema name.'}}, 'description': 'SQLServer data source object identifier.'}, 'PostgresqlObjectIdentifier': {'type': 'object', 'required': ['schema', 'table'], 'properties': {'table': {'type': 'string', 'description': 'Required. The table name.'}, 'schema': {'type': 'string', 'description': 'Required. The schema name.'}}, 'description': 'PostgreSQL data source object identifier.'}, 'SalesforceObjectIdentifier': {'type': 'object', 'required': ['objectName'], 'properties': {'objectName': {'type': 'string', 'description': 'Required. The object name.'}}, 'description': 'Salesforce data source object identifier.'}}, 'required': ['parent', 'sourceObjectIdentifier'], 'properties': {'parent': {'type': 'string', 'description': 'Required. The parent stream that owns the collection of objects.'}, 'sourceObjectIdentifier': {'$ref': '#/$defs/SourceObjectIdentifier', 'description': 'Required. The source object identifier which maps to the stream object.'}}, 'description': 'Request for looking up a specific stream object by its source object identifier.'}
出力スキーマ
{'type': 'object', '$defs': {'Error': {'type': 'object', 'properties': {'reason': {'type': 'string', 'description': 'A title that explains the reason for the error.'}, 'details': {'type': 'object', 'description': 'Additional information about the error.', 'additionalProperties': {'type': 'string'}}, 'message': {'type': 'string', 'description': 'A message containing more information about the error that occurred.'}, 'errorTime': {'type': 'string', 'format': 'date-time', 'description': 'The time when the error occurred.'}, 'errorUuid': {'type': 'string', 'description': 'A unique identifier for this specific error, allowing it to be traced throughout the system in logs and API responses.'}}, 'description': 'Represent a user-facing Error.'}, 'BackfillJob': {'type': 'object', 'properties': {'state': {'enum': ['STATE_UNSPECIFIED', 'NOT_STARTED', 'PENDING', 'ACTIVE', 'STOPPED', 'FAILED', 'COMPLETED', 'UNSUPPORTED'], 'type': 'string', 'readOnly': True, 'description': 'Output only. Backfill job state.', 'x-google-enum-descriptions': ['Default value.', 'Backfill job was never started for the stream object (stream has backfill strategy defined as manual or object was explicitly excluded from automatic backfill).', 'Backfill job will start pending available resources.', 'Backfill job is running.', 'Backfill job stopped (next job run will start from beginning).', 'Backfill job failed (due to an error).', 'Backfill completed successfully.', 'Backfill job failed since the table structure is currently unsupported for backfill.']}, 'errors': {'type': 'array', 'items': {'$ref': '#/$defs/Error'}, 'readOnly': True, 'description': 'Output only. Errors which caused the backfill job to fail.'}, 'trigger': {'enum': ['TRIGGER_UNSPECIFIED', 'AUTOMATIC', 'MANUAL'], 'type': 'string', 'description': "Backfill job's triggering reason.", 'x-google-enum-descriptions': ['Default value.', "Object backfill job was triggered automatically according to the stream's backfill strategy.", 'Object backfill job was triggered manually using the dedicated API.']}, 'eventFilter': {'$ref': '#/$defs/EventFilter', 'readOnly': True, 'description': 'Output only. The filter for performing a partial backfill.'}, 'lastEndTime': {'type': 'string', 'format': 'date-time', 'readOnly': True, 'description': "Output only. Backfill job's end time."}, 'lastStartTime': {'type': 'string', 'format': 'date-time', 'readOnly': True, 'description': "Output only. Backfill job's start time."}}, 'description': 'Represents a backfill job on a specific stream object.'}, 'EventFilter': {'type': 'object', 'properties': {'sqlWhereClause': {'type': 'string', 'description': 'An SQL-query Where clause selecting which data should be included, not including the "WHERE" keyword. e.g., `t.key1 = \'value1\' AND t.key2 = \'value2\'`'}}, 'description': 'Represents a filter for included data on a stream object.'}, 'CustomizationRule': {'type': 'object', 'properties': {'bigqueryClustering': {'$ref': '#/$defs/BigQueryClustering', 'description': 'BigQuery clustering rule. Only one of this field or bigqueryPartitioning should be set.'}, 'bigqueryPartitioning': {'$ref': '#/$defs/BigQueryPartitioning', 'description': 'BigQuery partitioning rule. Only one of this field or bigqueryClustering should be set.'}}, 'description': 'A customization rule to apply to a set of objects.'}, 'TimeUnitPartition': {'type': 'object', 'properties': {'column': {'type': 'string', 'description': 'Required. The partitioning column.'}, 'partitioningTimeGranularity': {'enum': ['PARTITIONING_TIME_GRANULARITY_UNSPECIFIED', 'PARTITIONING_TIME_GRANULARITY_HOUR', 'PARTITIONING_TIME_GRANULARITY_DAY', 'PARTITIONING_TIME_GRANULARITY_MONTH', 'PARTITIONING_TIME_GRANULARITY_YEAR'], 'type': 'string', 'description': 'Optional. Partition granularity.', 'x-google-enum-descriptions': ['Unspecified partitioing interval.', 'Hourly partitioning.', 'Daily partitioning.', 'Monthly partitioning.', 'Yearly partitioning.']}}, 'description': 'Time unit column partitioning. see https://cloud.google.com/bigquery/docs/partitioned-tables#date_timestamp_partitioned_tables'}, 'BigQueryClustering': {'type': 'object', 'properties': {'columns': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Required. Column names to set as clustering columns.'}}, 'description': 'BigQuery clustering configuration.'}, 'BigQueryPartitioning': {'type': 'object', 'properties': {'timeUnitPartition': {'$ref': '#/$defs/TimeUnitPartition', 'description': 'Time unit column partitioning. Only one of the following fields should be set: this field, integerRangePartition, ingestionTimePartition.'}, 'integerRangePartition': {'$ref': '#/$defs/IntegerRangePartition', 'description': 'Integer range partitioning. Only one of the following fields should be set: this field, timeUnitPartition, ingestionTimePartition.'}, 'ingestionTimePartition': {'$ref': '#/$defs/IngestionTimePartition', 'description': 'Ingestion time partitioning. Only one of the following fields should be set: this field, integerRangePartition, timeUnitPartition.'}, 'requirePartitionFilter': {'type': 'boolean', 'description': 'Optional. If true, queries over the table require a partition filter.'}}, 'description': 'BigQuery partitioning configuration.'}, 'IntegerRangePartition': {'type': 'object', 'properties': {'end': {'type': 'string', 'format': 'int64', 'description': 'Required. The ending value for range partitioning (exclusive).'}, 'start': {'type': 'string', 'format': 'int64', 'description': 'Required. The starting value for range partitioning (inclusive).'}, 'column': {'type': 'string', 'description': 'Required. The partitioning column.'}, 'interval': {'type': 'string', 'format': 'int64', 'description': 'Required. The interval of each range within the partition.'}}, 'description': 'Integer range partitioning. see https://cloud.google.com/bigquery/docs/partitioned-tables#integer_range'}, 'MysqlObjectIdentifier': {'type': 'object', 'properties': {'table': {'type': 'string', 'description': 'Required. The table name.'}, 'database': {'type': 'string', 'description': 'Required. The database name.'}}, 'description': 'Mysql data source object identifier.'}, 'IngestionTimePartition': {'type': 'object', 'properties': {'partitioningTimeGranularity': {'enum': ['PARTITIONING_TIME_GRANULARITY_UNSPECIFIED', 'PARTITIONING_TIME_GRANULARITY_HOUR', 'PARTITIONING_TIME_GRANULARITY_DAY', 'PARTITIONING_TIME_GRANULARITY_MONTH', 'PARTITIONING_TIME_GRANULARITY_YEAR'], 'type': 'string', 'description': 'Optional. Partition granularity', 'x-google-enum-descriptions': ['Unspecified partitioing interval.', 'Hourly partitioning.', 'Daily partitioning.', 'Monthly partitioning.', 'Yearly partitioning.']}}, 'description': 'Ingestion time partitioning. see https://cloud.google.com/bigquery/docs/partitioned-tables#ingestion_time'}, 'OracleObjectIdentifier': {'type': 'object', 'properties': {'table': {'type': 'string', 'description': 'Required. The table name.'}, 'schema': {'type': 'string', 'description': 'Required. The schema name.'}}, 'description': 'Oracle data source object identifier.'}, 'SourceObjectIdentifier': {'type': 'object', 'properties': {'mysqlIdentifier': {'$ref': '#/$defs/MysqlObjectIdentifier', 'description': 'Mysql data source object identifier. Only one of the following fields should be set: this field, oracleIdentifier, postgresqlIdentifier, sqlServerIdentifier, salesforceIdentifier, mongodbIdentifier, spannerIdentifier.'}, 'oracleIdentifier': {'$ref': '#/$defs/OracleObjectIdentifier', 'description': 'Oracle data source object identifier. Only one of the following fields should be set: this field, mysqlIdentifier, postgresqlIdentifier, sqlServerIdentifier, salesforceIdentifier, mongodbIdentifier, spannerIdentifier.'}, 'mongodbIdentifier': {'$ref': '#/$defs/MongodbObjectIdentifier', 'description': 'MongoDB data source object identifier. Only one of the following fields should be set: this field, oracleIdentifier, mysqlIdentifier, postgresqlIdentifier, sqlServerIdentifier, salesforceIdentifier, spannerIdentifier.'}, 'spannerIdentifier': {'$ref': '#/$defs/SpannerObjectIdentifier', 'description': 'Spanner data source object identifier. Only one of the following fields should be set: this field, oracleIdentifier, mysqlIdentifier, postgresqlIdentifier, sqlServerIdentifier, salesforceIdentifier, mongodbIdentifier.'}, 'sqlServerIdentifier': {'$ref': '#/$defs/SqlServerObjectIdentifier', 'description': 'SQLServer data source object identifier. Only one of the following fields should be set: this field, oracleIdentifier, mysqlIdentifier, postgresqlIdentifier, salesforceIdentifier, mongodbIdentifier, spannerIdentifier.'}, 'postgresqlIdentifier': {'$ref': '#/$defs/PostgresqlObjectIdentifier', 'description': 'PostgreSQL data source object identifier. Only one of the following fields should be set: this field, oracleIdentifier, mysqlIdentifier, sqlServerIdentifier, salesforceIdentifier, mongodbIdentifier, spannerIdentifier.'}, 'salesforceIdentifier': {'$ref': '#/$defs/SalesforceObjectIdentifier', 'description': 'Salesforce data source object identifier. Only one of the following fields should be set: this field, oracleIdentifier, mysqlIdentifier, postgresqlIdentifier, sqlServerIdentifier, mongodbIdentifier, spannerIdentifier.'}}, 'description': 'Represents an identifier of an object in the data source.'}, 'MongodbObjectIdentifier': {'type': 'object', 'properties': {'database': {'type': 'string', 'description': 'Required. The database name.'}, 'collection': {'type': 'string', 'description': 'Required. The collection name.'}}, 'description': 'MongoDB data source object identifier.'}, 'SpannerObjectIdentifier': {'type': 'object', 'properties': {'table': {'type': 'string', 'description': 'Required. The table name.'}, 'schema': {'type': 'string', 'description': 'Optional. The schema name.'}}, 'description': 'Spanner data source object identifier.'}, 'SqlServerObjectIdentifier': {'type': 'object', 'properties': {'table': {'type': 'string', 'description': 'Required. The table name.'}, 'schema': {'type': 'string', 'description': 'Required. The schema name.'}}, 'description': 'SQLServer data source object identifier.'}, 'PostgresqlObjectIdentifier': {'type': 'object', 'properties': {'table': {'type': 'string', 'description': 'Required. The table name.'}, 'schema': {'type': 'string', 'description': 'Required. The schema name.'}}, 'description': 'PostgreSQL data source object identifier.'}, 'SalesforceObjectIdentifier': {'type': 'object', 'properties': {'objectName': {'type': 'string', 'description': 'Required. The object name.'}}, 'description': 'Salesforce data source object identifier.'}}, 'properties': {'name': {'type': 'string', 'readOnly': True, 'description': "Output only. Identifier. The object resource's name.", 'x-google-identifier': True}, 'errors': {'type': 'array', 'items': {'$ref': '#/$defs/Error'}, 'readOnly': True, 'description': 'Output only. Active errors on the object.'}, 'createTime': {'type': 'string', 'format': 'date-time', 'readOnly': True, 'description': 'Output only. The creation time of the object.'}, 'updateTime': {'type': 'string', 'format': 'date-time', 'readOnly': True, 'description': 'Output only. The last update time of the object.'}, 'backfillJob': {'$ref': '#/$defs/BackfillJob', 'description': 'The latest backfill job that was initiated for the stream object.'}, 'displayName': {'type': 'string', 'description': 'Required. Display name.'}, 'sourceObject': {'$ref': '#/$defs/SourceObjectIdentifier', 'description': 'The object identifier in the data source.'}, 'customizationRules': {'type': 'array', 'items': {'$ref': '#/$defs/CustomizationRule'}, 'readOnly': True, 'description': "Output only. The customization rules for the object. These rules are derived from the parent Stream's `rule_sets` and represent the intended configuration for the object."}}, 'description': 'A specific stream object (e.g a specific DB table).'}
run_stream
Starts an already created stream, specified by the provided resource 'name' parameter. **Parameters** * 'name': The resource name of the stream to start. * 'name' should be in the format of: 'projects/{project name}/locations/{location}/streams/{stream name}', for example: 'projects/my-project/locations/us-central1/streams/my-streams'. * 'force': Whether to run the stream without running prior configuration verification. The default is 'false'. **Returns** * This tool returns a long-running operation. Use the 'get_operation' tool with the returned operation name to poll its status until it completes. Operation may take several minutes; do not check more often than every ten seconds.
入力スキーマ
{'type': 'object', '$defs': {'CdcStrategy': {'type': 'object', 'properties': {'specificStartPosition': {'$ref': '#/$defs/SpecificStartPosition', 'description': 'Optional. Start replicating from a specific position in the source. Only one of the following fields should be set: this field, mostRecentStartPosition, nextAvailableStartPosition.'}, 'mostRecentStartPosition': {'$ref': '#/$defs/MostRecentStartPosition', 'description': 'Optional. Start replicating from the most recent position in the source. Only one of the following fields should be set: this field, nextAvailableStartPosition, specificStartPosition.'}, 'nextAvailableStartPosition': {'$ref': '#/$defs/NextAvailableStartPosition', 'description': 'Optional. Resume replication from the next available position in the source. Only one of the following fields should be set: this field, mostRecentStartPosition, specificStartPosition.'}}, 'description': 'The strategy that the stream uses for CDC replication.'}, 'MysqlLogPosition': {'type': 'object', 'required': ['logFile'], 'properties': {'logFile': {'type': 'string', 'description': 'Required. The binary log file name.'}, 'logPosition': {'type': 'integer', 'format': 'int32', 'description': 'Optional. The position within the binary log file. Default is head of file.'}}, 'description': 'MySQL log position'}, 'MysqlGtidPosition': {'type': 'object', 'required': ['gtidSet'], 'properties': {'gtidSet': {'type': 'string', 'description': 'Required. The gtid set to start replication from.'}}, 'description': 'MySQL GTID position'}, 'OracleScnPosition': {'type': 'object', 'required': ['scn'], 'properties': {'scn': {'type': 'string', 'format': 'int64', 'description': 'Required. SCN number from where Logs will be read'}}, 'description': 'Oracle SCN position'}, 'SqlServerLsnPosition': {'type': 'object', 'required': ['lsn'], 'properties': {'lsn': {'type': 'string', 'description': 'Required. Log sequence number (LSN) from where Logs will be read'}}, 'description': 'SQL Server LSN position'}, 'SpecificStartPosition': {'type': 'object', 'properties': {'mysqlLogPosition': {'$ref': '#/$defs/MysqlLogPosition', 'description': 'MySQL specific log position to start replicating from. Only one of the following fields should be set: this field, oracleScnPosition, sqlServerLsnPosition, mysqlGtidPosition, mongodbChangeStreamPosition, spannerChangeStreamPosition.'}, 'mysqlGtidPosition': {'$ref': '#/$defs/MysqlGtidPosition', 'description': 'MySQL GTID set to start replicating from. Only one of the following fields should be set: this field, mysqlLogPosition, oracleScnPosition, sqlServerLsnPosition, mongodbChangeStreamPosition, spannerChangeStreamPosition.'}, 'oracleScnPosition': {'$ref': '#/$defs/OracleScnPosition', 'description': 'Oracle SCN to start replicating from. Only one of the following fields should be set: this field, mysqlLogPosition, sqlServerLsnPosition, mysqlGtidPosition, mongodbChangeStreamPosition, spannerChangeStreamPosition.'}, 'sqlServerLsnPosition': {'$ref': '#/$defs/SqlServerLsnPosition', 'description': 'SqlServer LSN to start replicating from. Only one of the following fields should be set: this field, mysqlLogPosition, oracleScnPosition, mysqlGtidPosition, mongodbChangeStreamPosition, spannerChangeStreamPosition.'}, 'mongodbChangeStreamPosition': {'$ref': '#/$defs/MongodbChangeStreamPosition', 'description': 'MongoDB change stream position to start replicating from. Only one of the following fields should be set: this field, mysqlLogPosition, oracleScnPosition, sqlServerLsnPosition, mysqlGtidPosition, spannerChangeStreamPosition.'}, 'spannerChangeStreamPosition': {'$ref': '#/$defs/SpannerChangeStreamPosition', 'description': 'Optional. Spanner change stream position to start replicating from. Only one of the following fields should be set: this field, mysqlLogPosition, oracleScnPosition, sqlServerLsnPosition, mysqlGtidPosition, mongodbChangeStreamPosition.'}}, 'description': 'CDC strategy to start replicating from a specific position in the source.'}, 'MostRecentStartPosition': {'type': 'object', 'properties': {}, 'description': 'CDC strategy to start replicating from the most recent position in the source.'}, 'NextAvailableStartPosition': {'type': 'object', 'properties': {}, 'description': 'CDC strategy to resume replication from the next available position in the source.'}, 'MongodbChangeStreamPosition': {'type': 'object', 'required': ['startTime'], 'properties': {'startTime': {'type': 'string', 'format': 'date-time', 'description': 'Required. The timestamp to start change stream from.'}}, 'description': 'MongoDB change stream position'}, 'SpannerChangeStreamPosition': {'type': 'object', 'required': ['startTime'], 'properties': {'startTime': {'type': 'string', 'format': 'date-time', 'description': 'Required. The timestamp to start change stream queries from. The timestamp must be a positive value.'}}, 'description': 'Represents a position in a Spanner change stream from which to start replicating.'}}, 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': 'Required. Name of the stream resource to start, in the format: projects/{project_id}/locations/{location}/streams/{stream_name}'}, 'force': {'type': 'boolean', 'description': 'Optional. Update the stream without validating it.'}, 'cdcStrategy': {'$ref': '#/$defs/CdcStrategy', 'description': "Optional. The CDC strategy of the stream. If not set, the system's default value will be used."}}, 'description': 'Request message for running a stream.'}
出力スキーマ
{'type': 'object', '$defs': {'Status': {'type': 'object', 'properties': {'code': {'type': 'integer', 'format': 'int32', 'description': 'The status code, which should be an enum value of google.rpc.Code.'}, 'details': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': {'description': 'Properties of the object. Contains field @type with type URL.'}}, 'description': 'A list of messages that carry the error details. There is a common set of message types for APIs to use.'}, 'message': {'type': 'string', 'description': 'A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.'}}, 'description': 'The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).'}}, 'properties': {'done': {'type': 'boolean', 'description': 'If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.'}, 'name': {'type': 'string', 'description': 'The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.'}, 'error': {'$ref': '#/$defs/Status', 'description': 'The error result of the operation in case of failure or cancellation. Only one of this field or response should be set.'}, 'metadata': {'type': 'object', 'description': 'Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.', 'additionalProperties': {'description': 'Properties of the object. Contains field @type with type URL.'}}, 'response': {'type': 'object', 'description': 'The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. Only one of this field or error should be set.', 'additionalProperties': {'description': 'Properties of the object. Contains field @type with type URL.'}}}, 'description': 'This resource represents a long-running operation that is the result of a network API call.'}
変更
lookup_stream_object
2026年9月27日2:52
変更
get_stream_object
2026年9月27日2:52
変更
list_stream_objects
2026年9月27日2:52
変更
delete_stream
2026年9月27日2:52
変更
run_stream
2026年9月27日2:52
変更
get_stream
2026年9月27日2:52
変更
list_streams
2026年9月27日2:52
変更
list_connection_profiles
2026年9月27日2:52
変更
get_operation
2026年9月27日2:52
追加
list_static_ips
2026年9月17日12:35
追加
lookup_stream_object
2026年9月17日12:35
追加
get_stream_object
2026年9月17日12:35
追加
list_stream_objects
2026年9月17日12:35
追加
delete_stream
2026年9月17日12:35
追加
run_stream
2026年9月17日12:35
追加
get_stream
2026年9月17日12:35
追加
list_streams
2026年9月17日12:35
追加
list_connection_profiles
2026年9月17日12:35
追加
get_operation
2026年9月17日12:35