- [Resource: Stream](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#Stream)
  - [JSON representation](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#Stream.SCHEMA_REPRESENTATION)
- [SourceConfig](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SourceConfig)
  - [JSON representation](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SourceConfig.SCHEMA_REPRESENTATION)
- [OracleSourceConfig](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#OracleSourceConfig)
  - [JSON representation](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#OracleSourceConfig.SCHEMA_REPRESENTATION)
- [OracleRdbms](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#OracleRdbms)
  - [JSON representation](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#OracleRdbms.SCHEMA_REPRESENTATION)
- [OracleSchema](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#OracleSchema)
  - [JSON representation](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#OracleSchema.SCHEMA_REPRESENTATION)
- [OracleTable](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#OracleTable)
  - [JSON representation](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#OracleTable.SCHEMA_REPRESENTATION)
- [OracleColumn](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#OracleColumn)
  - [JSON representation](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#OracleColumn.SCHEMA_REPRESENTATION)
- [DropLargeObjects](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#DropLargeObjects)
- [StreamLargeObjects](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#StreamLargeObjects)
- [LogMiner](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#LogMiner)
- [BinaryLogParser](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#BinaryLogParser)
  - [JSON representation](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#BinaryLogParser.SCHEMA_REPRESENTATION)
- [OracleAsmLogFileAccess](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#OracleAsmLogFileAccess)
- [LogFileDirectories](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#LogFileDirectories)
  - [JSON representation](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#LogFileDirectories.SCHEMA_REPRESENTATION)
- [MysqlSourceConfig](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#MysqlSourceConfig)
  - [JSON representation](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#MysqlSourceConfig.SCHEMA_REPRESENTATION)
- [MysqlRdbms](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#MysqlRdbms)
  - [JSON representation](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#MysqlRdbms.SCHEMA_REPRESENTATION)
- [MysqlDatabase](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#MysqlDatabase)
  - [JSON representation](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#MysqlDatabase.SCHEMA_REPRESENTATION)
- [MysqlTable](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#MysqlTable)
  - [JSON representation](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#MysqlTable.SCHEMA_REPRESENTATION)
- [MysqlColumn](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#MysqlColumn)
  - [JSON representation](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#MysqlColumn.SCHEMA_REPRESENTATION)
- [BinaryLogPosition](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#BinaryLogPosition)
- [Gtid](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#Gtid)
- [PostgresqlSourceConfig](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#PostgresqlSourceConfig)
  - [JSON representation](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#PostgresqlSourceConfig.SCHEMA_REPRESENTATION)
- [PostgresqlRdbms](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#PostgresqlRdbms)
  - [JSON representation](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#PostgresqlRdbms.SCHEMA_REPRESENTATION)
- [PostgresqlSchema](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#PostgresqlSchema)
  - [JSON representation](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#PostgresqlSchema.SCHEMA_REPRESENTATION)
- [PostgresqlTable](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#PostgresqlTable)
  - [JSON representation](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#PostgresqlTable.SCHEMA_REPRESENTATION)
- [PostgresqlColumn](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#PostgresqlColumn)
  - [JSON representation](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#PostgresqlColumn.SCHEMA_REPRESENTATION)
- [SqlServerSourceConfig](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SqlServerSourceConfig)
  - [JSON representation](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SqlServerSourceConfig.SCHEMA_REPRESENTATION)
- [SqlServerRdbms](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SqlServerRdbms)
  - [JSON representation](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SqlServerRdbms.SCHEMA_REPRESENTATION)
- [SqlServerSchema](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SqlServerSchema)
  - [JSON representation](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SqlServerSchema.SCHEMA_REPRESENTATION)
- [SqlServerTable](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SqlServerTable)
  - [JSON representation](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SqlServerTable.SCHEMA_REPRESENTATION)
- [SqlServerColumn](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SqlServerColumn)
  - [JSON representation](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SqlServerColumn.SCHEMA_REPRESENTATION)
- [SqlServerTransactionLogs](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SqlServerTransactionLogs)
- [SqlServerChangeTables](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SqlServerChangeTables)
- [SalesforceSourceConfig](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SalesforceSourceConfig)
  - [JSON representation](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SalesforceSourceConfig.SCHEMA_REPRESENTATION)
- [SalesforceOrg](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SalesforceOrg)
  - [JSON representation](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SalesforceOrg.SCHEMA_REPRESENTATION)
- [SalesforceObject](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SalesforceObject)
  - [JSON representation](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SalesforceObject.SCHEMA_REPRESENTATION)
- [SalesforceField](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SalesforceField)
  - [JSON representation](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SalesforceField.SCHEMA_REPRESENTATION)
- [MongodbSourceConfig](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#MongodbSourceConfig)
  - [JSON representation](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#MongodbSourceConfig.SCHEMA_REPRESENTATION)
- [MongodbCluster](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#MongodbCluster)
  - [JSON representation](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#MongodbCluster.SCHEMA_REPRESENTATION)
- [MongodbDatabase](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#MongodbDatabase)
  - [JSON representation](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#MongodbDatabase.SCHEMA_REPRESENTATION)
- [MongodbCollection](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#MongodbCollection)
  - [JSON representation](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#MongodbCollection.SCHEMA_REPRESENTATION)
- [MongodbField](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#MongodbField)
  - [JSON representation](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#MongodbField.SCHEMA_REPRESENTATION)
- [MongodbJsonMode](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#MongodbJsonMode)
- [SpannerSourceConfig](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SpannerSourceConfig)
  - [JSON representation](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SpannerSourceConfig.SCHEMA_REPRESENTATION)
- [SpannerRpcPriority](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SpannerRpcPriority)
- [SpannerDatabase](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SpannerDatabase)
  - [JSON representation](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SpannerDatabase.SCHEMA_REPRESENTATION)
- [SpannerSchema](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SpannerSchema)
  - [JSON representation](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SpannerSchema.SCHEMA_REPRESENTATION)
- [SpannerTable](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SpannerTable)
  - [JSON representation](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SpannerTable.SCHEMA_REPRESENTATION)
- [SpannerColumn](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SpannerColumn)
  - [JSON representation](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SpannerColumn.SCHEMA_REPRESENTATION)
- [DataverseSourceConfig](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#DataverseSourceConfig)
  - [JSON representation](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#DataverseSourceConfig.SCHEMA_REPRESENTATION)
- [SourceCatalog](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SourceCatalog)
  - [JSON representation](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SourceCatalog.SCHEMA_REPRESENTATION)
- [SourceObject](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SourceObject)
  - [JSON representation](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SourceObject.SCHEMA_REPRESENTATION)
- [SourceProperty](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SourceProperty)
  - [JSON representation](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SourceProperty.SCHEMA_REPRESENTATION)
- [SalesforceMarketingCloudSourceConfig](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SalesforceMarketingCloudSourceConfig)
  - [JSON representation](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SalesforceMarketingCloudSourceConfig.SCHEMA_REPRESENTATION)
- [ServiceNowSourceConfig](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#ServiceNowSourceConfig)
  - [JSON representation](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#ServiceNowSourceConfig.SCHEMA_REPRESENTATION)
- [DestinationConfig](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#DestinationConfig)
  - [JSON representation](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#DestinationConfig.SCHEMA_REPRESENTATION)
- [GcsDestinationConfig](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#GcsDestinationConfig)
  - [JSON representation](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#GcsDestinationConfig.SCHEMA_REPRESENTATION)
- [AvroFileFormat](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#AvroFileFormat)
- [JsonFileFormat](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#JsonFileFormat)
  - [JSON representation](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#JsonFileFormat.SCHEMA_REPRESENTATION)
- [SchemaFileFormat](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SchemaFileFormat)
- [JsonCompression](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#JsonCompression)
- [BigQueryDestinationConfig](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#BigQueryDestinationConfig)
  - [JSON representation](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#BigQueryDestinationConfig.SCHEMA_REPRESENTATION)
- [SingleTargetDataset](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SingleTargetDataset)
  - [JSON representation](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SingleTargetDataset.SCHEMA_REPRESENTATION)
- [SourceHierarchyDatasets](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SourceHierarchyDatasets)
  - [JSON representation](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SourceHierarchyDatasets.SCHEMA_REPRESENTATION)
- [DatasetTemplate](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#DatasetTemplate)
  - [JSON representation](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#DatasetTemplate.SCHEMA_REPRESENTATION)
- [BlmtConfig](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#BlmtConfig)
  - [JSON representation](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#BlmtConfig.SCHEMA_REPRESENTATION)
- [FileFormat](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#FileFormat)
- [TableFormat](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#TableFormat)
- [Merge](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#Merge)
- [AppendOnly](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#AppendOnly)
- [State](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#State)
- [BackfillAllStrategy](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#BackfillAllStrategy)
  - [JSON representation](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#BackfillAllStrategy.SCHEMA_REPRESENTATION)
- [BackfillNoneStrategy](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#BackfillNoneStrategy)
- [RuleSet](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#RuleSet)
  - [JSON representation](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#RuleSet.SCHEMA_REPRESENTATION)
- [ObjectFilter](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#ObjectFilter)
  - [JSON representation](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#ObjectFilter.SCHEMA_REPRESENTATION)
- [Methods](https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#METHODS_SUMMARY)

## Resource: Stream

A resource representing streaming data from a source to a destination.

| JSON representation |
|---|
| ``` { "name": string, "createTime": string, "updateTime": string, "labels": { string: string, ... }, "displayName": string, "sourceConfig": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SourceConfig`) }, "destinationConfig": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#DestinationConfig`) }, "state": enum (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#State`), "errors": [ { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/Error`) } ], "lastRecoveryTime": string, "ruleSets": [ { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#RuleSet`) } ], // Union field `backfill_strategy` can be only one of the following: "backfillAll": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#BackfillAllStrategy`) }, "backfillNone": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#BackfillNoneStrategy`) } // End of list of possible types for union field `backfill_strategy`. "customerManagedEncryptionKey": string, "satisfiesPzs": boolean, "satisfiesPzi": boolean } ``` |

| Fields ||
|---|---|
| `name` | `string` Output only. Identifier. The stream's name. |
| `createTime` | ``string (`https://protobuf.dev/reference/protobuf/google.protobuf#timestamp` format)`` Output only. The creation time of the stream. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: `"2014-10-02T15:01:23Z"`, `"2014-10-02T15:01:23.045123456Z"` or `"2014-10-02T15:01:23+05:30"`. |
| `updateTime` | ``string (`https://protobuf.dev/reference/protobuf/google.protobuf#timestamp` format)`` Output only. The last update time of the stream. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: `"2014-10-02T15:01:23Z"`, `"2014-10-02T15:01:23.045123456Z"` or `"2014-10-02T15:01:23+05:30"`. |
| `labels` | `map (key: string, value: string)` Labels. An object containing a list of `"key": value` pairs. Example: `{ "name": "wrench", "mass": "1.3kg", "count": "3" }`. |
| `displayName` | `string` Required. Display name. |
| `sourceConfig` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SourceConfig`)`` Required. Source connection profile configuration. |
| `destinationConfig` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#DestinationConfig`)`` Required. Destination connection profile configuration. |
| `state` | ``enum (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#State`)`` The state of the stream. |
| `errors[]` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/Error`)`` Output only. Errors on the Stream. |
| `lastRecoveryTime` | ``string (`https://protobuf.dev/reference/protobuf/google.protobuf#timestamp` format)`` Output only. If the stream was recovered, the time of the last recovery. Note: This field is currently experimental. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: `"2014-10-02T15:01:23Z"`, `"2014-10-02T15:01:23.045123456Z"` or `"2014-10-02T15:01:23+05:30"`. |
| `ruleSets[]` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#RuleSet`)`` Optional. Rule sets to apply to the stream. |
| Union field `backfill_strategy`. Stream backfill strategy. `backfill_strategy` can be only one of the following: ||
| `backfillAll` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#BackfillAllStrategy`)`` Automatically backfill objects included in the stream source configuration. Specific objects can be excluded. |
| `backfillNone` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#BackfillNoneStrategy`)`` Do not automatically backfill any objects. |
| `customerManagedEncryptionKey` | `string` 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. |
| `satisfiesPzs` | `boolean` Output only. Reserved for future use. |
| `satisfiesPzi` | `boolean` Output only. Reserved for future use. |

## SourceConfig

The configuration of the stream source.

| JSON representation |
|---|
| ``` { "sourceConnectionProfile": string, // Union field `source_stream_config` can be only one of the following: "oracleSourceConfig": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#OracleSourceConfig`) }, "mysqlSourceConfig": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#MysqlSourceConfig`) }, "postgresqlSourceConfig": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#PostgresqlSourceConfig`) }, "sqlServerSourceConfig": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SqlServerSourceConfig`) }, "salesforceSourceConfig": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SalesforceSourceConfig`) }, "mongodbSourceConfig": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#MongodbSourceConfig`) }, "spannerSourceConfig": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SpannerSourceConfig`) }, "dataverseSourceConfig": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#DataverseSourceConfig`) }, "salesforceMarketingCloudSourceConfig": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SalesforceMarketingCloudSourceConfig`) }, "serviceNowSourceConfig": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#ServiceNowSourceConfig`) } // End of list of possible types for union field `source_stream_config`. } ``` |

| Fields ||
|---|---|
| `sourceConnectionProfile` | `string` Required. Source connection profile resource. Format: `projects/{project}/locations/{location}/connectionProfiles/{name}` |
| Union field `source_stream_config`. Stream configuration that is specific to the data source type. `source_stream_config` can be only one of the following: ||
| `oracleSourceConfig` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#OracleSourceConfig`)`` Oracle data source configuration. |
| `mysqlSourceConfig` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#MysqlSourceConfig`)`` MySQL data source configuration. |
| `postgresqlSourceConfig` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#PostgresqlSourceConfig`)`` PostgreSQL data source configuration. |
| `sqlServerSourceConfig` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SqlServerSourceConfig`)`` SQLServer data source configuration. |
| `salesforceSourceConfig` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SalesforceSourceConfig`)`` Salesforce data source configuration. |
| `mongodbSourceConfig` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#MongodbSourceConfig`)`` MongoDB data source configuration. |
| `spannerSourceConfig` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SpannerSourceConfig`)`` Spanner data source configuration. |
| `dataverseSourceConfig` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#DataverseSourceConfig`)`` Dataverse data source configuration. |
| `salesforceMarketingCloudSourceConfig` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SalesforceMarketingCloudSourceConfig`)`` Salesforce Marketing Cloud data source configuration. |
| `serviceNowSourceConfig` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#ServiceNowSourceConfig`)`` ServiceNow data source configuration. |

## OracleSourceConfig

Configuration for syncing data from an Oracle source.

| JSON representation |
|---|
| ``` { "includeObjects": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#OracleRdbms`) }, "excludeObjects": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#OracleRdbms`) }, "maxConcurrentCdcTasks": integer, "maxConcurrentBackfillTasks": integer, // Union field `large_objects_handling` can be only one of the following: "dropLargeObjects": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#DropLargeObjects`) }, "streamLargeObjects": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#StreamLargeObjects`) } // End of list of possible types for union field `large_objects_handling`. // Union field `cdc_method` can be only one of the following: "logMiner": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#LogMiner`) }, "binaryLogParser": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#BinaryLogParser`) } // End of list of possible types for union field `cdc_method`. } ``` |

| Fields ||
|---|---|
| `includeObjects` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#OracleRdbms`)`` The Oracle objects to include in the stream. |
| `excludeObjects` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#OracleRdbms`)`` The Oracle objects to exclude from the stream. |
| `maxConcurrentCdcTasks` | `integer` 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` | `integer` 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. |
| Union field `large_objects_handling`. The configuration for handle Oracle large objects. `large_objects_handling` can be only one of the following: ||
| `dropLargeObjects` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#DropLargeObjects`)`` Drop large object values. |
| `streamLargeObjects` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#StreamLargeObjects`)`` Stream large object values. |
| Union field `cdc_method`. Configuration to select the CDC method. `cdc_method` can be only one of the following: ||
| `logMiner` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#LogMiner`)`` Use LogMiner. |
| `binaryLogParser` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#BinaryLogParser`)`` Use Binary Log Parser. |

## OracleRdbms

Oracle database structure.

| JSON representation |
|---|
| ``` { "oracleSchemas": [ { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#OracleSchema`) } ] } ``` |

| Fields ||
|---|---|
| `oracleSchemas[]` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#OracleSchema`)`` Oracle schemas/databases in the database server. |

## OracleSchema

Oracle schema.

| JSON representation |
|---|
| ``` { "schema": string, "oracleTables": [ { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#OracleTable`) } ] } ``` |

| Fields ||
|---|---|
| `schema` | `string` The schema name. |
| `oracleTables[]` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#OracleTable`)`` Tables in the schema. |

## OracleTable

Oracle table.

| JSON representation |
|---|
| ``` { "table": string, "oracleColumns": [ { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#OracleColumn`) } ] } ``` |

| Fields ||
|---|---|
| `table` | `string` The table name. |
| `oracleColumns[]` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#OracleColumn`)`` Oracle columns in the schema. When unspecified as part of include/exclude objects, includes/excludes everything. |

## OracleColumn

Oracle Column.

| JSON representation |
|---|
| ``` { "column": string, "dataType": string, "length": integer, "precision": integer, "scale": integer, "encoding": string, "primaryKey": boolean, "nullable": boolean, "ordinalPosition": integer } ``` |

| Fields ||
|---|---|
| `column` | `string` The column name. |
| `dataType` | `string` The Oracle data type. |
| `length` | `integer` Column length. |
| `precision` | `integer` Column precision. |
| `scale` | `integer` Column scale. |
| `encoding` | `string` Column encoding. |
| `primaryKey` | `boolean` Whether or not the column represents a primary key. |
| `nullable` | `boolean` Whether or not the column can accept a null value. |
| `ordinalPosition` | `integer` The ordinal position of the column in the table. |

## DropLargeObjects

This type has no fields.
Configuration to drop large object values.

## StreamLargeObjects

This type has no fields.
Configuration to stream large object values.

## LogMiner

This type has no fields.
Configuration to use LogMiner CDC method.

## BinaryLogParser

Configuration to use Binary Log Parser CDC technique.

| JSON representation |
|---|
| ``` { // Union field `log_file_access` can be only one of the following: "oracleAsmLogFileAccess": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#OracleAsmLogFileAccess`) }, "logFileDirectories": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#LogFileDirectories`) } // End of list of possible types for union field `log_file_access`. } ``` |

| Fields ||
|---|---|
| Union field `log_file_access`. Configuration to specify how the log file should be accessed. `log_file_access` can be only one of the following: ||
| `oracleAsmLogFileAccess` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#OracleAsmLogFileAccess`)`` Use Oracle ASM. |
| `logFileDirectories` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#LogFileDirectories`)`` Use Oracle directories. |

## OracleAsmLogFileAccess

This type has no fields.
Configuration to use Oracle ASM to access the log files.

## LogFileDirectories

Configuration to specify the Oracle directories to access the log files.

| JSON representation |
|---|
| ``` { "onlineLogDirectory": string, "archivedLogDirectory": string } ``` |

| Fields ||
|---|---|
| `onlineLogDirectory` | `string` Required. Oracle directory for online logs. |
| `archivedLogDirectory` | `string` Required. Oracle directory for archived logs. |

## MysqlSourceConfig

Configuration for syncing data from a MySQL source.

| JSON representation |
|---|
| ``` { "includeObjects": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#MysqlRdbms`) }, "excludeObjects": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#MysqlRdbms`) }, "maxConcurrentCdcTasks": integer, "maxConcurrentBackfillTasks": integer, // Union field `cdc_method` can be only one of the following: "binaryLogPosition": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#BinaryLogPosition`) }, "gtid": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#Gtid`) } // End of list of possible types for union field `cdc_method`. } ``` |

| Fields ||
|---|---|
| `includeObjects` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#MysqlRdbms`)`` The MySQL objects to retrieve from the source. |
| `excludeObjects` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#MysqlRdbms`)`` The MySQL objects to exclude from the stream. |
| `maxConcurrentCdcTasks` | `integer` 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` | `integer` 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. |
| Union field `cdc_method`. The CDC method to use for the stream. `cdc_method` can be only one of the following: ||
| `binaryLogPosition` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#BinaryLogPosition`)`` Use Binary log position based replication. |
| `gtid` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#Gtid`)`` Use GTID based replication. |

## MysqlRdbms

MySQL database structure

| JSON representation |
|---|
| ``` { "mysqlDatabases": [ { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#MysqlDatabase`) } ] } ``` |

| Fields ||
|---|---|
| `mysqlDatabases[]` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#MysqlDatabase`)`` Mysql databases on the server |

## MysqlDatabase

MySQL database.

| JSON representation |
|---|
| ``` { "database": string, "mysqlTables": [ { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#MysqlTable`) } ] } ``` |

| Fields ||
|---|---|
| `database` | `string` The database name. |
| `mysqlTables[]` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#MysqlTable`)`` Tables in the database. |

## MysqlTable

MySQL table.

| JSON representation |
|---|
| ``` { "table": string, "mysqlColumns": [ { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#MysqlColumn`) } ] } ``` |

| Fields ||
|---|---|
| `table` | `string` The table name. |
| `mysqlColumns[]` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#MysqlColumn`)`` MySQL columns in the database. When unspecified as part of include/exclude objects, includes/excludes everything. |

## MysqlColumn

MySQL Column.

| JSON representation |
|---|
| ``` { "column": string, "dataType": string, "length": integer, "collation": string, "primaryKey": boolean, "nullable": boolean, "ordinalPosition": integer, "precision": integer, "scale": integer } ``` |

| Fields ||
|---|---|
| `column` | `string` The column name. |
| `dataType` | `string` The MySQL data type. Full data types list can be found here: <https://dev.mysql.com/doc/refman/8.0/en/data-types.html> |
| `length` | `integer` Column length. |
| `collation` | `string` Column collation. |
| `primaryKey` | `boolean` Whether or not the column represents a primary key. |
| `nullable` | `boolean` Whether or not the column can accept a null value. |
| `ordinalPosition` | `integer` The ordinal position of the column in the table. |
| `precision` | `integer` Column precision. |
| `scale` | `integer` Column scale. |

## BinaryLogPosition

This type has no fields.
Use Binary log position based replication.

## Gtid

This type has no fields.
Use GTID based replication.

## PostgresqlSourceConfig

Configuration for syncing data from a PostgreSQL source.

| JSON representation |
|---|
| ``` { "includeObjects": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#PostgresqlRdbms`) }, "excludeObjects": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#PostgresqlRdbms`) }, "replicationSlot": string, "publication": string, "maxConcurrentBackfillTasks": integer } ``` |

| Fields ||
|---|---|
| `includeObjects` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#PostgresqlRdbms`)`` The PostgreSQL objects to include in the stream. |
| `excludeObjects` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#PostgresqlRdbms`)`` The PostgreSQL objects to exclude from the stream. |
| `replicationSlot` | `string` Required. Immutable. The name of the logical replication slot that's configured with the pgoutput plugin. |
| `publication` | `string` Required. The name of the publication that includes the set of all tables that are defined in the stream's includeObjects. |
| `maxConcurrentBackfillTasks` | `integer` 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. |

## PostgresqlRdbms

PostgreSQL database structure.

| JSON representation |
|---|
| ``` { "postgresqlSchemas": [ { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#PostgresqlSchema`) } ] } ``` |

| Fields ||
|---|---|
| `postgresqlSchemas[]` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#PostgresqlSchema`)`` PostgreSQL schemas in the database server. |

## PostgresqlSchema

PostgreSQL schema.

| JSON representation |
|---|
| ``` { "schema": string, "postgresqlTables": [ { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#PostgresqlTable`) } ] } ``` |

| Fields ||
|---|---|
| `schema` | `string` The schema name. |
| `postgresqlTables[]` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#PostgresqlTable`)`` Tables in the schema. |

## PostgresqlTable

PostgreSQL table.

| JSON representation |
|---|
| ``` { "table": string, "postgresqlColumns": [ { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#PostgresqlColumn`) } ] } ``` |

| Fields ||
|---|---|
| `table` | `string` The table name. |
| `postgresqlColumns[]` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#PostgresqlColumn`)`` PostgreSQL columns in the schema. When unspecified as part of include/exclude objects, includes/excludes everything. |

## PostgresqlColumn

PostgreSQL Column.

| JSON representation |
|---|
| ``` { "column": string, "dataType": string, "length": integer, "precision": integer, "scale": integer, "primaryKey": boolean, "nullable": boolean, "ordinalPosition": integer } ``` |

| Fields ||
|---|---|
| `column` | `string` The column name. |
| `dataType` | `string` The PostgreSQL data type. |
| `length` | `integer` Column length. |
| `precision` | `integer` Column precision. |
| `scale` | `integer` Column scale. |
| `primaryKey` | `boolean` Whether or not the column represents a primary key. |
| `nullable` | `boolean` Whether or not the column can accept a null value. |
| `ordinalPosition` | `integer` The ordinal position of the column in the table. |

## SqlServerSourceConfig

Configuration for syncing data from a SQLServer source.

| JSON representation |
|---|
| ``` { "includeObjects": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SqlServerRdbms`) }, "excludeObjects": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SqlServerRdbms`) }, "maxConcurrentCdcTasks": integer, "maxConcurrentBackfillTasks": integer, // Union field `cdc_method` can be only one of the following: "transactionLogs": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SqlServerTransactionLogs`) }, "changeTables": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SqlServerChangeTables`) } // End of list of possible types for union field `cdc_method`. } ``` |

| Fields ||
|---|---|
| `includeObjects` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SqlServerRdbms`)`` The SQLServer objects to include in the stream. |
| `excludeObjects` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SqlServerRdbms`)`` The SQLServer objects to exclude from the stream. |
| `maxConcurrentCdcTasks` | `integer` Max concurrent CDC tasks. |
| `maxConcurrentBackfillTasks` | `integer` Max concurrent backfill tasks. |
| Union field `cdc_method`. Configuration to select the CDC read method for the stream. `cdc_method` can be only one of the following: ||
| `transactionLogs` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SqlServerTransactionLogs`)`` CDC reader reads from transaction logs. |
| `changeTables` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SqlServerChangeTables`)`` CDC reader reads from change tables. |

## SqlServerRdbms

SQLServer database structure.

| JSON representation |
|---|
| ``` { "schemas": [ { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SqlServerSchema`) } ] } ``` |

| Fields ||
|---|---|
| `schemas[]` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SqlServerSchema`)`` SQLServer schemas in the database server. |

## SqlServerSchema

SQLServer schema.

| JSON representation |
|---|
| ``` { "schema": string, "tables": [ { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SqlServerTable`) } ] } ``` |

| Fields ||
|---|---|
| `schema` | `string` The schema name. |
| `tables[]` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SqlServerTable`)`` Tables in the schema. |

## SqlServerTable

SQLServer table.

| JSON representation |
|---|
| ``` { "table": string, "columns": [ { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SqlServerColumn`) } ] } ``` |

| Fields ||
|---|---|
| `table` | `string` The table name. |
| `columns[]` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SqlServerColumn`)`` SQLServer columns in the schema. When unspecified as part of include/exclude objects, includes/excludes everything. |

## SqlServerColumn

SQLServer Column.

| JSON representation |
|---|
| ``` { "column": string, "dataType": string, "length": integer, "precision": integer, "scale": integer, "primaryKey": boolean, "nullable": boolean, "ordinalPosition": integer } ``` |

| Fields ||
|---|---|
| `column` | `string` The column name. |
| `dataType` | `string` The SQLServer data type. |
| `length` | `integer` Column length. |
| `precision` | `integer` Column precision. |
| `scale` | `integer` Column scale. |
| `primaryKey` | `boolean` Whether or not the column represents a primary key. |
| `nullable` | `boolean` Whether or not the column can accept a null value. |
| `ordinalPosition` | `integer` The ordinal position of the column in the table. |

## SqlServerTransactionLogs

This type has no fields.
Configuration to use Transaction Logs CDC read method.

## SqlServerChangeTables

This type has no fields.
Configuration to use Change Tables CDC read method.

## SalesforceSourceConfig

Configuration for syncing data from a Salesforce source.

| JSON representation |
|---|
| ``` { "includeObjects": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SalesforceOrg`) }, "excludeObjects": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SalesforceOrg`) }, "pollingInterval": string } ``` |

| Fields ||
|---|---|
| `includeObjects` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SalesforceOrg`)`` The Salesforce objects to retrieve from the source. |
| `excludeObjects` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SalesforceOrg`)`` The Salesforce objects to exclude from the stream. |
| `pollingInterval` | ``string (`https://protobuf.dev/reference/protobuf/google.protobuf#duration` format)`` 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. A duration in seconds with up to nine fractional digits, ending with '`s`'. Example: `"3.5s"`. |

## SalesforceOrg

Salesforce organization structure.

| JSON representation |
|---|
| ``` { "objects": [ { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SalesforceObject`) } ] } ``` |

| Fields ||
|---|---|
| `objects[]` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SalesforceObject`)`` Salesforce objects in the database server. |

## SalesforceObject

Salesforce object.

| JSON representation |
|---|
| ``` { "objectName": string, "fields": [ { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SalesforceField`) } ] } ``` |

| Fields ||
|---|---|
| `objectName` | `string` The object name. |
| `fields[]` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SalesforceField`)`` Salesforce fields. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. |

## SalesforceField

Salesforce field.

| JSON representation |
|---|
| ``` { "name": string, "dataType": string, "nillable": boolean } ``` |

| Fields ||
|---|---|
| `name` | `string` The field name. |
| `dataType` | `string` The data type. |
| `nillable` | `boolean` Indicates whether the field can accept nil values. |

## MongodbSourceConfig

Configuration for syncing data from a MongoDB source.

| JSON representation |
|---|
| ``` { "includeObjects": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#MongodbCluster`) }, "excludeObjects": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#MongodbCluster`) }, "maxConcurrentBackfillTasks": integer, "jsonMode": enum (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#MongodbJsonMode`) } ``` |

| Fields ||
|---|---|
| `includeObjects` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#MongodbCluster`)`` The MongoDB collections to include in the stream. |
| `excludeObjects` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#MongodbCluster`)`` The MongoDB collections to exclude from the stream. |
| `maxConcurrentBackfillTasks` | `integer` 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 |
| `jsonMode` | ``enum (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#MongodbJsonMode`)`` Optional. MongoDB JSON mode to use for the stream. |

## MongodbCluster

MongoDB Cluster structure.

| JSON representation |
|---|
| ``` { "databases": [ { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#MongodbDatabase`) } ] } ``` |

| Fields ||
|---|---|
| `databases[]` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#MongodbDatabase`)`` MongoDB databases in the cluster. |

## MongodbDatabase

MongoDB Database.

| JSON representation |
|---|
| ``` { "database": string, "collections": [ { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#MongodbCollection`) } ] } ``` |

| Fields ||
|---|---|
| `database` | `string` The database name. |
| `collections[]` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#MongodbCollection`)`` Collections in the database. |

## MongodbCollection

MongoDB Collection.

| JSON representation |
|---|
| ``` { "collection": string, "fields": [ { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#MongodbField`) } ] } ``` |

| Fields ||
|---|---|
| `collection` | `string` The collection name. |
| `fields[]` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#MongodbField`)`` Fields in the collection. |

## MongodbField

MongoDB Field.

| JSON representation |
|---|
| ``` { "field": string } ``` |

| Fields ||
|---|---|
| `field` | `string` The field name. |

## MongodbJsonMode

MongoDB JSON mode.

| Enums ||
|---|---|
| `MONGODB_JSON_MODE_UNSPECIFIED` | Unspecified JSON mode. |
| `STRICT` | Strict JSON mode. |
| `CANONICAL` | Canonical JSON mode. |

## SpannerSourceConfig

Configuration for syncing data from a Spanner source.

| JSON representation |
|---|
| ``` { "changeStreamName": string, "spannerRpcPriority": enum (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SpannerRpcPriority`), "fgacRole": string, "maxConcurrentCdcTasks": integer, "maxConcurrentBackfillTasks": integer, "includeObjects": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SpannerDatabase`) }, "excludeObjects": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SpannerDatabase`) }, "backfillDataBoostEnabled": boolean } ``` |

| Fields ||
|---|---|
| `changeStreamName` | `string` Required. Immutable. The change stream name to use for the stream. |
| `spannerRpcPriority` | ``enum (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SpannerRpcPriority`)`` Optional. The RPC priority to use for the stream. |
| `fgacRole` | `string` Optional. The FGAC role to use for the stream. |
| `maxConcurrentCdcTasks` | `integer` Optional. Maximum number of concurrent CDC tasks. |
| `maxConcurrentBackfillTasks` | `integer` Optional. Maximum number of concurrent backfill tasks. |
| `includeObjects` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SpannerDatabase`)`` Optional. The Spanner objects to retrieve from the data source. If some objects are both included and excluded, an error will be thrown. |
| `excludeObjects` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SpannerDatabase`)`` Optional. The Spanner objects to avoid retrieving. If some objects are both included and excluded, an error will be thrown. |
| `backfillDataBoostEnabled` | `boolean` Optional. Whether to use Data Boost for Spanner backfills. Defaults to false if not set. |

## SpannerRpcPriority

The RPC priority to use for the stream.

| Enums ||
|---|---|
| `SPANNER_RPC_PRIORITY_UNSPECIFIED` | Unspecified RPC priority. |
| `LOW` | Low RPC priority. |
| `MEDIUM` | Medium RPC priority. |
| `HIGH` | High RPC priority. |

## SpannerDatabase

Spanner database structure.

| JSON representation |
|---|
| ``` { "schemas": [ { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SpannerSchema`) } ] } ``` |

| Fields ||
|---|---|
| `schemas[]` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SpannerSchema`)`` Optional. Spanner schemas in the database. |

## SpannerSchema

Spanner schema.

| JSON representation |
|---|
| ``` { "schema": string, "tables": [ { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SpannerTable`) } ] } ``` |

| Fields ||
|---|---|
| `schema` | `string` Required. The schema name. |
| `tables[]` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SpannerTable`)`` Optional. Spanner tables in the schema. |

## SpannerTable

Spanner table.

| JSON representation |
|---|
| ``` { "table": string, "columns": [ { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SpannerColumn`) } ] } ``` |

| Fields ||
|---|---|
| `table` | `string` Required. The table name. |
| `columns[]` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SpannerColumn`)`` Optional. Spanner columns in the table. |

## SpannerColumn

Spanner column.

| JSON representation |
|---|
| ``` { "column": string, "dataType": string, "isPrimaryKey": boolean, "ordinalPosition": string } ``` |

| Fields ||
|---|---|
| `column` | `string` Required. The column name. |
| `dataType` | `string` Optional. Spanner data type. |
| `isPrimaryKey` | `boolean` Optional. Whether or not the column is a primary key. |
| `ordinalPosition` | `string (https://developers.google.com/discovery/v1/type-format format)` Optional. The ordinal position of the column in the table. |

## DataverseSourceConfig

Configuration for syncing data from a Dataverse source.

| JSON representation |
|---|
| ``` { "includeObjects": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SourceCatalog`) }, "excludeObjects": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SourceCatalog`) }, "pollingInterval": string } ``` |

| Fields ||
|---|---|
| `includeObjects` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SourceCatalog`)`` Optional. The objects to retrieve from the source. |
| `excludeObjects` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SourceCatalog`)`` Optional. The objects to exclude from the stream. |
| `pollingInterval` | ``string (`https://protobuf.dev/reference/protobuf/google.protobuf#duration` format)`` 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. A duration in seconds with up to nine fractional digits, ending with '`s`'. Example: `"3.5s"`. |

## SourceCatalog

Source catalog.

| JSON representation |
|---|
| ``` { "objects": [ { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SourceObject`) } ] } ``` |

| Fields ||
|---|---|
| `objects[]` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SourceObject`)`` Optional. Source objects in the catalog. |

## SourceObject

Source object.

| JSON representation |
|---|
| ``` { "objectName": string, "properties": [ { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SourceProperty`) } ] } ``` |

| Fields ||
|---|---|
| `objectName` | `string` Required. The object name. |
| `properties[]` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SourceProperty`)`` Optional. Source properties. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. |

## SourceProperty

Source property.

| JSON representation |
|---|
| ``` { "propertyName": string, "properties": [ { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SourceProperty`) } ], "primaryKey": boolean } ``` |

| Fields ||
|---|---|
| `propertyName` | `string` Required. The property name. |
| `properties[]` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SourceProperty`)`` 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. |
| `primaryKey` | `boolean` Optional. Whether or not the property is a primary key. |

## SalesforceMarketingCloudSourceConfig

Configuration for syncing data from a Salesforce Marketing Cloud source.

| JSON representation |
|---|
| ``` { "includeObjects": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SourceCatalog`) }, "excludeObjects": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SourceCatalog`) }, "pollingInterval": string, "fullRefreshPollingInterval": string } ``` |

| Fields ||
|---|---|
| `includeObjects` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SourceCatalog`)`` Optional. The objects to retrieve from the source. |
| `excludeObjects` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SourceCatalog`)`` Optional. The objects to exclude from the stream. |
| `pollingInterval` | ``string (`https://protobuf.dev/reference/protobuf/google.protobuf#duration` format)`` 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. A duration in seconds with up to nine fractional digits, ending with '`s`'. Example: `"3.5s"`. |
| `fullRefreshPollingInterval` | ``string (`https://protobuf.dev/reference/protobuf/google.protobuf#duration` format)`` 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. A duration in seconds with up to nine fractional digits, ending with '`s`'. Example: `"3.5s"`. |

## ServiceNowSourceConfig

Configuration for syncing data from a ServiceNow source.

| JSON representation |
|---|
| ``` { "includeObjects": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SourceCatalog`) }, "excludeObjects": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SourceCatalog`) }, "pollingInterval": string } ``` |

| Fields ||
|---|---|
| `includeObjects` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SourceCatalog`)`` Optional. The objects to retrieve from the source. |
| `excludeObjects` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SourceCatalog`)`` Optional. The objects to exclude from the stream. |
| `pollingInterval` | ``string (`https://protobuf.dev/reference/protobuf/google.protobuf#duration` format)`` 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. A duration in seconds with up to nine fractional digits, ending with '`s`'. Example: `"3.5s"`. |

## DestinationConfig

The configuration of the stream destination.

| JSON representation |
|---|
| ``` { "destinationConnectionProfile": string, // Union field `destination_stream_config` can be only one of the following: "gcsDestinationConfig": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#GcsDestinationConfig`) }, "bigqueryDestinationConfig": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#BigQueryDestinationConfig`) } // End of list of possible types for union field `destination_stream_config`. } ``` |

| Fields ||
|---|---|
| `destinationConnectionProfile` | `string` Required. Destination connection profile resource. Format: `projects/{project}/locations/{location}/connectionProfiles/{name}` |
| Union field `destination_stream_config`. Stream configuration that is specific to the data destination type. `destination_stream_config` can be only one of the following: ||
| `gcsDestinationConfig` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#GcsDestinationConfig`)`` A configuration for how data should be loaded to Cloud Storage. |
| `bigqueryDestinationConfig` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#BigQueryDestinationConfig`)`` BigQuery destination configuration. |

## GcsDestinationConfig

Google Cloud Storage destination configuration

| JSON representation |
|---|
| ``` { "path": string, "fileRotationMb": integer, "fileRotationInterval": string, // Union field `file_format` can be only one of the following: "avroFileFormat": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#AvroFileFormat`) }, "jsonFileFormat": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#JsonFileFormat`) } // End of list of possible types for union field `file_format`. } ``` |

| Fields ||
|---|---|
| `path` | `string` Path inside the Cloud Storage bucket to write data to. |
| `fileRotationMb` | `integer` The maximum file size to be saved in the bucket. |
| `fileRotationInterval` | ``string (`https://protobuf.dev/reference/protobuf/google.protobuf#duration` format)`` 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. A duration in seconds with up to nine fractional digits, ending with '`s`'. Example: `"3.5s"`. |
| Union field `file_format`. File Format that the data should be written in. `file_format` can be only one of the following: ||
| `avroFileFormat` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#AvroFileFormat`)`` AVRO file format configuration. |
| `jsonFileFormat` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#JsonFileFormat`)`` JSON file format configuration. |

## AvroFileFormat

This type has no fields.
AVRO file format configuration.

## JsonFileFormat

JSON file format configuration.

| JSON representation |
|---|
| ``` { "schemaFileFormat": enum (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SchemaFileFormat`), "compression": enum (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#JsonCompression`) } ``` |

| Fields ||
|---|---|
| `schemaFileFormat` | ``enum (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SchemaFileFormat`)`` The schema file format along JSON data files. |
| `compression` | ``enum (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#JsonCompression`)`` Compression of the loaded JSON file. |

## SchemaFileFormat

Schema file format.

| Enums ||
|---|---|
| `SCHEMA_FILE_FORMAT_UNSPECIFIED` | Unspecified schema file format. |
| `NO_SCHEMA_FILE` | Do not attach schema file. |
| `AVRO_SCHEMA_FILE` | Avro schema format. |

## JsonCompression

Json file compression.

| Enums ||
|---|---|
| `JSON_COMPRESSION_UNSPECIFIED` | Unspecified json file compression. |
| `NO_COMPRESSION` | Do not compress JSON file. |
| `GZIP` | Gzip compression. |

## BigQueryDestinationConfig

BigQuery destination configuration

| JSON representation |
|---|
| ``` { "dataFreshness": string, "blmtConfig": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#BlmtConfig`) }, // Union field `dataset_config` can be only one of the following: "singleTargetDataset": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SingleTargetDataset`) }, "sourceHierarchyDatasets": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SourceHierarchyDatasets`) } // End of list of possible types for union field `dataset_config`. // Union field `write_mode` can be only one of the following: "merge": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#Merge`) }, "appendOnly": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#AppendOnly`) } // End of list of possible types for union field `write_mode`. } ``` |

| Fields ||
|---|---|
| `dataFreshness` | ``string (`https://protobuf.dev/reference/protobuf/google.protobuf#duration` format)`` 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. A duration in seconds with up to nine fractional digits, ending with '`s`'. Example: `"3.5s"`. |
| `blmtConfig` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#BlmtConfig`)`` Optional. Big Lake Managed Tables (BLMT) configuration. |
| Union field `dataset_config`. Target dataset(s) configuration. `dataset_config` can be only one of the following: ||
| `singleTargetDataset` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SingleTargetDataset`)`` Single destination dataset. |
| `sourceHierarchyDatasets` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SourceHierarchyDatasets`)`` Source hierarchy datasets. |
| Union field `write_mode`. `write_mode` can be only one of the following: ||
| `merge` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#Merge`)`` The standard mode |
| `appendOnly` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#AppendOnly`)`` Append only mode |

## SingleTargetDataset

A single target dataset to which all data will be streamed.

| JSON representation |
|---|
| ``` { "datasetId": string } ``` |

| Fields ||
|---|---|
| `datasetId` | `string` The dataset ID of the target dataset. DatasetIds allowed characters: <https://cloud.google.com/bigquery/docs/reference/rest/v2/datasets#datasetreference>. |

## SourceHierarchyDatasets

Destination datasets are created so that hierarchy of the destination data objects matches the source hierarchy.

| JSON representation |
|---|
| ``` { "datasetTemplate": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#DatasetTemplate`) }, "projectId": string } ``` |

| Fields ||
|---|---|
| `datasetTemplate` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#DatasetTemplate`)`` The dataset template to use for dynamic dataset creation. |
| `projectId` | `string` Optional. The project id of the BigQuery dataset. If not specified, the project will be inferred from the stream resource. |

## DatasetTemplate

Dataset template used for dynamic dataset creation.

| JSON representation |
|---|
| ``` { "location": string, "datasetIdPrefix": string, "kmsKeyName": string } ``` |

| Fields ||
|---|---|
| `location` | `string` Required. The geographic location where the dataset should reside. See <https://cloud.google.com/bigquery/docs/locations> for supported locations. |
| `datasetIdPrefix` | `string` 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. _. <br /> |
| `kmsKeyName` | `string` 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. |

## BlmtConfig

The configuration for BLMT.

| JSON representation |
|---|
| ``` { "bucket": string, "rootPath": string, "connectionName": string, "fileFormat": enum (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#FileFormat`), "tableFormat": enum (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#TableFormat`) } ``` |

| Fields ||
|---|---|
| `bucket` | `string` Required. The Cloud Storage bucket name. |
| `rootPath` | `string` The root path inside the Cloud Storage bucket. |
| `connectionName` | `string` Required. The bigquery connection. Format: `{project}.{location}.{name}` |
| `fileFormat` | ``enum (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#FileFormat`)`` Required. The file format. |
| `tableFormat` | ``enum (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#TableFormat`)`` Required. The table format. |

## FileFormat

Supported file formats for BigLake managed tables.

| Enums ||
|---|---|
| `FILE_FORMAT_UNSPECIFIED` | Default value. |
| `PARQUET` | Parquet file format. |

## TableFormat

Supported table formats for BigLake managed tables.

| Enums ||
|---|---|
| `TABLE_FORMAT_UNSPECIFIED` | Default value. |
| `ICEBERG` | Iceberg table format. |

## Merge

This type has no fields.
Merge mode defines that all changes to a table will be merged at the destination table.

## AppendOnly

This type has no fields.
AppendOnly mode defines that all changes to a table will be written to the destination table.

## State

Stream state.

| Enums ||
|---|---|
| `STATE_UNSPECIFIED` | Unspecified stream state. |
| `NOT_STARTED` | The stream has been created but has not yet started streaming data. |
| `RUNNING` | The stream is running. |
| `PAUSED` | The stream is paused. |
| `MAINTENANCE` | The stream is in maintenance mode. Updates are rejected on the resource in this state. |
| `FAILED` | The stream is experiencing an error that is preventing data from being streamed. |
| `FAILED_PERMANENTLY` | The stream has experienced a terminal failure. |
| `STARTING` | The stream is starting, but not yet running. |
| `DRAINING` | The Stream is no longer reading new events, but still writing events in the buffer. |

## BackfillAllStrategy

Backfill strategy to automatically backfill the Stream's objects. Specific objects can be excluded.

| JSON representation |
|---|
| ``` { // Union field `excluded_objects` can be only one of the following: "oracleExcludedObjects": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#OracleRdbms`) }, "mysqlExcludedObjects": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#MysqlRdbms`) }, "postgresqlExcludedObjects": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#PostgresqlRdbms`) }, "sqlServerExcludedObjects": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SqlServerRdbms`) }, "salesforceExcludedObjects": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SalesforceOrg`) }, "mongodbExcludedObjects": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#MongodbCluster`) }, "spannerExcludedObjects": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SpannerDatabase`) }, "saasExcludedObjects": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SourceCatalog`) } // End of list of possible types for union field `excluded_objects`. } ``` |

| Fields ||
|---|---|
| Union field `excluded_objects`. List of objects to exclude. `excluded_objects` can be only one of the following: ||
| `oracleExcludedObjects` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#OracleRdbms`)`` Oracle data source objects to avoid backfilling. |
| `mysqlExcludedObjects` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#MysqlRdbms`)`` MySQL data source objects to avoid backfilling. |
| `postgresqlExcludedObjects` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#PostgresqlRdbms`)`` PostgreSQL data source objects to avoid backfilling. |
| `sqlServerExcludedObjects` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SqlServerRdbms`)`` SQLServer data source objects to avoid backfilling |
| `salesforceExcludedObjects` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SalesforceOrg`)`` Salesforce data source objects to avoid backfilling |
| `mongodbExcludedObjects` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#MongodbCluster`)`` MongoDB data source objects to avoid backfilling |
| `spannerExcludedObjects` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SpannerDatabase`)`` Spanner data source objects to avoid backfilling. |
| `saasExcludedObjects` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#SourceCatalog`)`` Source catalog data source objects to avoid backfilling. This is mainly used to represent SaaS applications objects. |

## BackfillNoneStrategy

This type has no fields.
Backfill strategy to disable automatic backfill for the Stream's objects.

## RuleSet

A set of rules to apply to a set of objects.

| JSON representation |
|---|
| ``` { "customizationRules": [ { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/CustomizationRule`) } ], "objectFilter": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#ObjectFilter`) } } ``` |

| Fields ||
|---|---|
| `customizationRules[]` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/CustomizationRule`)`` Required. List of customization rules to apply. |
| `objectFilter` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams#ObjectFilter`)`` Required. Object filter to apply the customization rules to. |

## ObjectFilter

Object filter to apply the rules to.

| JSON representation |
|---|
| ``` { // Union field `filter_type` can be only one of the following: "sourceObjectIdentifier": { object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/SourceObjectIdentifier`) } // End of list of possible types for union field `filter_type`. } ``` |

| Fields ||
|---|---|
| Union field `filter_type`. The filter to apply. `filter_type` can be only one of the following: ||
| `sourceObjectIdentifier` | ``object (`https://docs.cloud.google.com/datastream/docs/reference/rest/v1/SourceObjectIdentifier`)`` Specific source object identifier. |

| ## Methods ||
|---|---|
| ### `https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams/create` | Use this method to create a stream. |
| ### `https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams/delete` | Use this method to delete a stream. |
| ### `https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams/get` | Use this method to get details about a stream. |
| ### `https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams/list` | Use this method to list streams in a project and location. |
| ### `https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams/patch` | Use this method to update the configuration of a stream. |
| ### `https://docs.cloud.google.com/datastream/docs/reference/rest/v1/projects.locations.streams/run` | Use this method to start, resume or recover a stream with a non default CDC strategy. |