UNPKG

googleapis

Version:
1,399 lines (1,398 loc) 272 kB
import { OAuth2Client, JWT, Compute, UserRefreshClient, BaseExternalAccountClient, GaxiosResponseWithHTTP2, GoogleConfigurable, MethodOptions, StreamMethodOptions, GlobalOptions, GoogleAuth, BodyResponseCallback, APIRequestContext } from 'googleapis-common'; import { Readable } from 'stream'; export declare namespace datastream_v1 { export interface Options extends GlobalOptions { version: 'v1'; } interface StandardParameters { /** * Auth client or API Key for the request */ auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient | BaseExternalAccountClient | GoogleAuth; /** * V1 error format. */ '$.xgafv'?: string; /** * OAuth access token. */ access_token?: string; /** * Data format for response. */ alt?: string; /** * JSONP */ callback?: string; /** * Selector specifying which fields to include in a partial response. */ fields?: string; /** * API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ key?: string; /** * OAuth 2.0 token for the current user. */ oauth_token?: string; /** * Returns response with indentations and line breaks. */ prettyPrint?: boolean; /** * Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ quotaUser?: string; /** * Legacy upload protocol for media (e.g. "media", "multipart"). */ uploadType?: string; /** * Upload protocol for media (e.g. "raw", "multipart"). */ upload_protocol?: string; } /** * Datastream API * * * * @example * ```js * const {google} = require('googleapis'); * const datastream = google.datastream('v1'); * ``` */ export class Datastream { context: APIRequestContext; projects: Resource$Projects; constructor(options: GlobalOptions, google?: GoogleConfigurable); } /** * AppendOnly mode defines that all changes to a table will be written to the destination table. */ export interface Schema$AppendOnly { } /** * AVRO file format configuration. */ export interface Schema$AvroFileFormat { } /** * Backfill strategy to automatically backfill the Stream's objects. Specific objects can be excluded. */ export interface Schema$BackfillAllStrategy { /** * MongoDB data source objects to avoid backfilling */ mongodbExcludedObjects?: Schema$MongodbCluster; /** * MySQL data source objects to avoid backfilling. */ mysqlExcludedObjects?: Schema$MysqlRdbms; /** * Oracle data source objects to avoid backfilling. */ oracleExcludedObjects?: Schema$OracleRdbms; /** * PostgreSQL data source objects to avoid backfilling. */ postgresqlExcludedObjects?: Schema$PostgresqlRdbms; /** * Source catalog data source objects to avoid backfilling. This is mainly used to represent SaaS applications objects. */ saasExcludedObjects?: Schema$SourceCatalog; /** * Salesforce data source objects to avoid backfilling */ salesforceExcludedObjects?: Schema$SalesforceOrg; /** * Spanner data source objects to avoid backfilling. */ spannerExcludedObjects?: Schema$SpannerDatabase; /** * SQLServer data source objects to avoid backfilling */ sqlServerExcludedObjects?: Schema$SqlServerRdbms; } /** * Represents a backfill job on a specific stream object. */ export interface Schema$BackfillJob { /** * Output only. Errors which caused the backfill job to fail. */ errors?: Schema$Error[]; /** * Output only. The filter for performing a partial backfill. */ eventFilter?: Schema$EventFilter; /** * Output only. Backfill job's end time. */ lastEndTime?: string | null; /** * Output only. Backfill job's start time. */ lastStartTime?: string | null; /** * Output only. Backfill job state. */ state?: string | null; /** * Backfill job's triggering reason. */ trigger?: string | null; } /** * Backfill strategy to disable automatic backfill for the Stream's objects. */ export interface Schema$BackfillNoneStrategy { } /** * Describes violations in a client request. This error type focuses on the syntactic aspects of the request. */ export interface Schema$BadRequest { /** * Describes all violations in a client request. */ fieldViolations?: Schema$FieldViolation[]; } /** * Message to represent the option where Datastream will enforce encryption without authenticating server identity. Server certificates will be trusted by default. */ export interface Schema$BasicEncryption { } /** * BigQuery clustering configuration. */ export interface Schema$BigQueryClustering { /** * Required. Column names to set as clustering columns. */ columns?: string[] | null; } /** * BigQuery destination configuration */ export interface Schema$BigQueryDestinationConfig { /** * Append only mode */ appendOnly?: Schema$AppendOnly; /** * Optional. Big Lake Managed Tables (BLMT) configuration. */ blmtConfig?: Schema$BlmtConfig; /** * 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. */ dataFreshness?: string | null; /** * The standard mode */ merge?: Schema$Merge; /** * Single destination dataset. */ singleTargetDataset?: Schema$SingleTargetDataset; /** * Source hierarchy datasets. */ sourceHierarchyDatasets?: Schema$SourceHierarchyDatasets; } /** * BigQuery partitioning configuration. */ export interface Schema$BigQueryPartitioning { /** * Ingestion time partitioning. */ ingestionTimePartition?: Schema$IngestionTimePartition; /** * Integer range partitioning. */ integerRangePartition?: Schema$IntegerRangePartition; /** * Optional. If true, queries over the table require a partition filter. */ requirePartitionFilter?: boolean | null; /** * Time unit column partitioning. */ timeUnitPartition?: Schema$TimeUnitPartition; } /** * Profile for connecting to a BigQuery destination. */ export interface Schema$BigQueryProfile { } /** * Configuration to use Binary Log Parser CDC technique. */ export interface Schema$BinaryLogParser { /** * Use Oracle directories. */ logFileDirectories?: Schema$LogFileDirectories; /** * Use Oracle ASM. */ oracleAsmLogFileAccess?: Schema$OracleAsmLogFileAccess; } /** * Use Binary log position based replication. */ export interface Schema$BinaryLogPosition { } /** * The configuration for BLMT. */ export interface Schema$BlmtConfig { /** * Required. The Cloud Storage bucket name. */ bucket?: string | null; /** * Required. The bigquery connection. Format: `{project\}.{location\}.{name\}` */ connectionName?: string | null; /** * Required. The file format. */ fileFormat?: string | null; /** * The root path inside the Cloud Storage bucket. */ rootPath?: string | null; /** * Required. The table format. */ tableFormat?: string | null; } /** * The request message for Operations.CancelOperation. */ export interface Schema$CancelOperationRequest { } /** * The strategy that the stream uses for CDC replication. */ export interface Schema$CdcStrategy { /** * Optional. Start replicating from the most recent position in the source. */ mostRecentStartPosition?: Schema$MostRecentStartPosition; /** * Optional. Resume replication from the next available position in the source. */ nextAvailableStartPosition?: Schema$NextAvailableStartPosition; /** * Optional. Start replicating from a specific position in the source. */ specificStartPosition?: Schema$SpecificStartPosition; } /** * A set of reusable connection configurations to be used as a source or destination for a stream. */ export interface Schema$ConnectionProfile { /** * Profile for connecting to a BigQuery destination. */ bigqueryProfile?: Schema$BigQueryProfile; /** * Output only. The create time of the resource. */ createTime?: string | null; /** * Profile for connecting to a Dataverse source. */ dataverseProfile?: Schema$DataverseProfile; /** * Required. Display name. */ displayName?: string | null; /** * Forward SSH tunnel connectivity. */ forwardSshConnectivity?: Schema$ForwardSshTunnelConnectivity; /** * Profile for connecting to a Cloud Storage destination. */ gcsProfile?: Schema$GcsProfile; /** * Labels. */ labels?: { [key: string]: string; } | null; /** * Profile for connecting to a MongoDB source. */ mongodbProfile?: Schema$MongodbProfile; /** * Profile for connecting to a MySQL source. */ mysqlProfile?: Schema$MysqlProfile; /** * Output only. Identifier. The resource's name. */ name?: string | null; /** * Profile for connecting to an Oracle source. */ oracleProfile?: Schema$OracleProfile; /** * Profile for connecting to a PostgreSQL source. */ postgresqlProfile?: Schema$PostgresqlProfile; /** * Private connectivity. */ privateConnectivity?: Schema$PrivateConnectivity; /** * Profile for connecting to a Salesforce Marketing Cloud source. */ salesforceMarketingCloudProfile?: Schema$SalesforceMarketingCloudProfile; /** * Profile for connecting to a Salesforce source. */ salesforceProfile?: Schema$SalesforceProfile; /** * Output only. Reserved for future use. */ satisfiesPzi?: boolean | null; /** * Output only. Reserved for future use. */ satisfiesPzs?: boolean | null; /** * Profile for connecting to a ServiceNow source. */ serviceNowProfile?: Schema$ServiceNowProfile; /** * Profile for connecting to a Spanner source. */ spannerProfile?: Schema$SpannerProfile; /** * Profile for connecting to a SQLServer source. */ sqlServerProfile?: Schema$SqlServerProfile; /** * Static Service IP connectivity. */ staticServiceIpConnectivity?: Schema$StaticServiceIpConnectivity; /** * Output only. The update time of the resource. */ updateTime?: string | null; /** * Optional. Profile for connecting to a Workday source. */ workdayProfile?: Schema$WorkdayProfile; } /** * A customization rule to apply to a set of objects. */ export interface Schema$CustomizationRule { /** * BigQuery clustering rule. */ bigqueryClustering?: Schema$BigQueryClustering; /** * BigQuery partitioning rule. */ bigqueryPartitioning?: Schema$BigQueryPartitioning; } /** * Dataset template used for dynamic dataset creation. */ export interface Schema$DatasetTemplate { /** * 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. _. */ datasetIdPrefix?: string | null; /** * 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. */ kmsKeyName?: string | null; /** * Required. The geographic location where the dataset should reside. See https://cloud.google.com/bigquery/docs/locations for supported locations. */ location?: string | null; } /** * Profile for connecting to a Dataverse source. */ export interface Schema$DataverseProfile { /** * Required. Environment URL of the Microsoft Dataverse instance. Example: `.crm.dynamics.com` */ environmentUrl?: string | null; /** * Required. Credentials for authenticating with the Dataverse API. */ oauthClientCredentials?: Schema$OauthClientCredentials; /** * Required. Tenant id of the Microsoft Dataverse instance. */ tenantId?: string | null; } /** * Configuration for syncing data from a Dataverse source. */ export interface Schema$DataverseSourceConfig { /** * Optional. The objects to exclude from the stream. */ excludeObjects?: Schema$SourceCatalog; /** * Optional. The objects to retrieve from the source. */ includeObjects?: Schema$SourceCatalog; /** * 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. */ pollingInterval?: string | null; } /** * Describes additional debugging info. */ export interface Schema$DebugInfo { /** * Additional debugging information provided by the server. */ detail?: string | null; /** * The stack trace entries indicating where the error occurred. */ stackEntries?: string[] | null; } /** * The configuration of the stream destination. */ export interface Schema$DestinationConfig { /** * BigQuery destination configuration. */ bigqueryDestinationConfig?: Schema$BigQueryDestinationConfig; /** * Required. Destination connection profile resource. Format: `projects/{project\}/locations/{location\}/connectionProfiles/{name\}` */ destinationConnectionProfile?: string | null; /** * A configuration for how data should be loaded to Cloud Storage. */ gcsDestinationConfig?: Schema$GcsDestinationConfig; } /** * Request message for 'discover' ConnectionProfile request. */ export interface Schema$DiscoverConnectionProfileRequest { /** * Optional. An ad-hoc connection profile configuration. */ connectionProfile?: Schema$ConnectionProfile; /** * Optional. A reference to an existing connection profile. */ connectionProfileName?: string | null; /** * Optional. Whether to retrieve the full hierarchy of data objects (TRUE) or only the current level (FALSE). */ fullHierarchy?: boolean | null; /** * Optional. The number of hierarchy levels below the current level to be retrieved. */ hierarchyDepth?: number | null; /** * Optional. MongoDB cluster to enrich with child data objects and metadata. */ mongodbCluster?: Schema$MongodbCluster; /** * Optional. MySQL RDBMS to enrich with child data objects and metadata. */ mysqlRdbms?: Schema$MysqlRdbms; /** * Optional. Oracle RDBMS to enrich with child data objects and metadata. */ oracleRdbms?: Schema$OracleRdbms; /** * Optional. PostgreSQL RDBMS to enrich with child data objects and metadata. */ postgresqlRdbms?: Schema$PostgresqlRdbms; /** * Optional. Salesforce organization to enrich with child data objects and metadata. */ salesforceOrg?: Schema$SalesforceOrg; /** * Optional. Source catalog to enrich with child data objects and metadata. This is mainly used to represent SaaS sources databases. */ sourceCatalog?: Schema$SourceCatalog; /** * Optional. Spanner database to enrich with child data objects and metadata. */ spannerDatabase?: Schema$SpannerDatabase; /** * Optional. SQLServer RDBMS to enrich with child data objects and metadata. */ sqlServerRdbms?: Schema$SqlServerRdbms; } /** * Response from a discover request. */ export interface Schema$DiscoverConnectionProfileResponse { /** * Enriched MongoDB cluster. */ mongodbCluster?: Schema$MongodbCluster; /** * Enriched MySQL RDBMS object. */ mysqlRdbms?: Schema$MysqlRdbms; /** * Enriched Oracle RDBMS object. */ oracleRdbms?: Schema$OracleRdbms; /** * Enriched PostgreSQL RDBMS object. */ postgresqlRdbms?: Schema$PostgresqlRdbms; /** * Enriched Salesforce organization. */ salesforceOrg?: Schema$SalesforceOrg; /** * Enriched source catalog. This is mainly used to represent SaaS sources databases. */ sourceCatalog?: Schema$SourceCatalog; /** * Enriched Spanner database. */ spannerDatabase?: Schema$SpannerDatabase; /** * Enriched SQLServer RDBMS object. */ sqlServerRdbms?: Schema$SqlServerRdbms; } /** * Configuration to drop large object values. */ export interface Schema$DropLargeObjects { } /** * A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); \} */ export interface Schema$Empty { } /** * Message to represent the option where Datastream will enforce encryption and authenticate server identity. ca_certificate must be set if user selects this option. */ export interface Schema$EncryptionAndServerValidation { /** * Optional. Input only. PEM-encoded certificate of the CA that signed the source database server's certificate. */ caCertificate?: string | null; /** * 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. */ serverCertificateHostname?: string | null; } /** * Message to represent the option where encryption is not enforced. An empty message right now to allow future extensibility. */ export interface Schema$EncryptionNotEnforced { } /** * Represent a user-facing Error. */ export interface Schema$Error { /** * Additional information about the error. */ details?: { [key: string]: string; } | null; /** * The time when the error occurred. */ errorTime?: string | null; /** * A unique identifier for this specific error, allowing it to be traced throughout the system in logs and API responses. */ errorUuid?: string | null; /** * A message containing more information about the error that occurred. */ message?: string | null; /** * A title that explains the reason for the error. */ reason?: string | null; } /** * Describes the cause of the error with structured details. Example of an error when contacting the "pubsub.googleapis.com" API when it is not enabled: { "reason": "API_DISABLED" "domain": "googleapis.com" "metadata": { "resource": "projects/123", "service": "pubsub.googleapis.com" \} \} This response indicates that the pubsub.googleapis.com API is not enabled. Example of an error that is returned when attempting to create a Spanner instance in a region that is out of stock: { "reason": "STOCKOUT" "domain": "spanner.googleapis.com", "metadata": { "availableRegions": "us-central1,us-east2" \} \} */ export interface Schema$ErrorInfo { /** * The logical grouping to which the "reason" belongs. The error domain is typically the registered service name of the tool or product that generates the error. Example: "pubsub.googleapis.com". If the error is generated by some common infrastructure, the error domain must be a globally unique value that identifies the infrastructure. For Google API infrastructure, the error domain is "googleapis.com". */ domain?: string | null; /** * Additional structured details about this error. Keys must match a regular expression of `a-z+` but should ideally be lowerCamelCase. Also, they must be limited to 64 characters in length. When identifying the current value of an exceeded limit, the units should be contained in the key, not the value. For example, rather than `{"instanceLimit": "100/request"\}`, should be returned as, `{"instanceLimitPerRequest": "100"\}`, if the client exceeds the number of instances that can be created in a single (batch) request. */ metadata?: { [key: string]: string; } | null; /** * The reason for the error. This is a constant value that identifies the proximate cause of the error. Error reasons are unique within a particular domain of errors. This should be at most 63 characters and match a regular expression of `A-Z+[A-Z0-9]`, which represents UPPER_SNAKE_CASE. */ reason?: string | null; } /** * Represents a filter for included data on a stream object. */ export interface Schema$EventFilter { /** * 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'` */ sqlWhereClause?: string | null; } /** * Response message for a 'FetchStaticIps' response. */ export interface Schema$FetchStaticIpsResponse { /** * A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. */ nextPageToken?: string | null; /** * list of static ips by account */ staticIps?: string[] | null; } /** * A message type used to describe a single bad request field. */ export interface Schema$FieldViolation { /** * A description of why the request element is bad. */ description?: string | null; /** * A path that leads to a field in the request body. The value will be a sequence of dot-separated identifiers that identify a protocol buffer field. Consider the following: message CreateContactRequest { message EmailAddress { enum Type { TYPE_UNSPECIFIED = 0; HOME = 1; WORK = 2; \} optional string email = 1; repeated EmailType type = 2; \} string full_name = 1; repeated EmailAddress email_addresses = 2; \} In this example, in proto `field` could take one of the following values: * `full_name` for a violation in the `full_name` value * `email_addresses[0].email` for a violation in the `email` field of the first `email_addresses` message * `email_addresses[2].type[1]` for a violation in the second `type` value in the third `email_addresses` message. In JSON, the same values are represented as: * `fullName` for a violation in the `fullName` value * `emailAddresses[0].email` for a violation in the `email` field of the first `emailAddresses` message * `emailAddresses[2].type[1]` for a violation in the second `type` value in the third `emailAddresses` message. */ field?: string | null; /** * Provides a localized error message for field-level errors that is safe to return to the API consumer. */ localizedMessage?: Schema$LocalizedMessage; /** * The reason for the field-level error. This is a constant value that identifies the proximate cause of the field-level error. It should uniquely identify the type of the FieldViolation within the scope of the google.rpc.ErrorInfo.domain. This should be at most 63 characters and match a regular expression of `A-Z+[A-Z0-9]`, which represents UPPER_SNAKE_CASE. */ reason?: string | null; } /** * Forward SSH Tunnel connectivity. */ export interface Schema$ForwardSshTunnelConnectivity { /** * Required. Hostname for the SSH tunnel. */ hostname?: string | null; /** * Input only. SSH password. */ password?: string | null; /** * Port for the SSH tunnel, default value is 22. */ port?: number | null; /** * Input only. SSH private key. */ privateKey?: string | null; /** * Required. Username for the SSH tunnel. */ username?: string | null; } /** * Google Cloud Storage destination configuration */ export interface Schema$GcsDestinationConfig { /** * AVRO file format configuration. */ avroFileFormat?: Schema$AvroFileFormat; /** * 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. */ fileRotationInterval?: string | null; /** * The maximum file size to be saved in the bucket. */ fileRotationMb?: number | null; /** * JSON file format configuration. */ jsonFileFormat?: Schema$JsonFileFormat; /** * Path inside the Cloud Storage bucket to write data to. */ path?: string | null; } /** * Profile for connecting to a Cloud Storage destination. */ export interface Schema$GcsProfile { /** * Required. The Cloud Storage bucket name. */ bucket?: string | null; /** * Optional. The root path inside the Cloud Storage bucket. */ rootPath?: string | null; } /** * Use GTID based replication. */ export interface Schema$Gtid { } /** * Provides links to documentation or for performing an out of band action. For example, if a quota check failed with an error indicating the calling project hasn't enabled the accessed service, this can contain a URL pointing directly to the right place in the developer console to flip the bit. */ export interface Schema$Help { /** * URL(s) pointing to additional information on handling the current error. */ links?: Schema$Link[]; } /** * A HostAddress represents a transport end point, which is the combination of an IP address or hostname and a port number. */ export interface Schema$HostAddress { /** * Required. Hostname for the connection. */ hostname?: string | null; /** * Optional. Port for the connection. */ port?: number | null; } /** * Ingestion time partitioning. see https://cloud.google.com/bigquery/docs/partitioned-tables#ingestion_time */ export interface Schema$IngestionTimePartition { /** * Optional. Partition granularity */ partitioningTimeGranularity?: string | null; } /** * Integer range partitioning. see https://cloud.google.com/bigquery/docs/partitioned-tables#integer_range */ export interface Schema$IntegerRangePartition { /** * Required. The partitioning column. */ column?: string | null; /** * Required. The ending value for range partitioning (exclusive). */ end?: string | null; /** * Required. The interval of each range within the partition. */ interval?: string | null; /** * Required. The starting value for range partitioning (inclusive). */ start?: string | null; } /** * JSON file format configuration. */ export interface Schema$JsonFileFormat { /** * Compression of the loaded JSON file. */ compression?: string | null; /** * The schema file format along JSON data files. */ schemaFileFormat?: string | null; } /** * Describes a URL link. */ export interface Schema$Link { /** * Describes what the link offers. */ description?: string | null; /** * The URL of the link. */ url?: string | null; } /** * Response message for listing connection profiles. */ export interface Schema$ListConnectionProfilesResponse { /** * List of connection profiles. */ connectionProfiles?: Schema$ConnectionProfile[]; /** * A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. */ nextPageToken?: string | null; /** * Locations that could not be reached. */ unreachable?: string[] | null; } /** * The response message for Locations.ListLocations. */ export interface Schema$ListLocationsResponse { /** * A list of locations that matches the specified filter in the request. */ locations?: Schema$Location[]; /** * The standard List next-page token. */ nextPageToken?: string | null; } /** * The response message for Operations.ListOperations. */ export interface Schema$ListOperationsResponse { /** * The standard List next-page token. */ nextPageToken?: string | null; /** * A list of operations that matches the specified filter in the request. */ operations?: Schema$Operation[]; /** * Unordered list. Unreachable resources. Populated when the request sets `ListOperationsRequest.return_partial_success` and reads across collections. For example, when attempting to list all resources across all supported locations. */ unreachable?: string[] | null; } /** * Response containing a list of private connection configurations. */ export interface Schema$ListPrivateConnectionsResponse { /** * A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. */ nextPageToken?: string | null; /** * List of private connectivity configurations. */ privateConnections?: Schema$PrivateConnection[]; /** * Locations that could not be reached. */ unreachable?: string[] | null; } /** * Route list response. */ export interface Schema$ListRoutesResponse { /** * A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. */ nextPageToken?: string | null; /** * List of Routes. */ routes?: Schema$Route[]; /** * Locations that could not be reached. */ unreachable?: string[] | null; } /** * Response containing the objects for a stream. */ export interface Schema$ListStreamObjectsResponse { /** * A token, which can be sent as `page_token` to retrieve the next page. */ nextPageToken?: string | null; /** * List of stream objects. */ streamObjects?: Schema$StreamObject[]; } /** * Response message for listing streams. */ export interface Schema$ListStreamsResponse { /** * A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. */ nextPageToken?: string | null; /** * List of streams */ streams?: Schema$Stream[]; /** * Locations that could not be reached. */ unreachable?: string[] | null; } /** * Provides a localized error message that is safe to return to the user which can be attached to an RPC error. */ export interface Schema$LocalizedMessage { /** * The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: "en-US", "fr-CH", "es-MX" */ locale?: string | null; /** * The localized error message in the above locale. */ message?: string | null; } /** * A resource that represents a Google Cloud location. */ export interface Schema$Location { /** * The friendly name for this location, typically a nearby city name. For example, "Tokyo". */ displayName?: string | null; /** * Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"\} */ labels?: { [key: string]: string; } | null; /** * The canonical id for this location. For example: `"us-east1"`. */ locationId?: string | null; /** * Service-specific metadata. For example the available capacity at the given location. */ metadata?: { [key: string]: any; } | null; /** * Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` */ name?: string | null; } /** * Configuration to specify the Oracle directories to access the log files. */ export interface Schema$LogFileDirectories { /** * Required. Oracle directory for archived logs. */ archivedLogDirectory?: string | null; /** * Required. Oracle directory for online logs. */ onlineLogDirectory?: string | null; } /** * Configuration to use LogMiner CDC method. */ export interface Schema$LogMiner { } /** * Request for looking up a specific stream object by its source object identifier. */ export interface Schema$LookupStreamObjectRequest { /** * Required. The source object identifier which maps to the stream object. */ sourceObjectIdentifier?: Schema$SourceObjectIdentifier; } /** * Merge mode defines that all changes to a table will be merged at the destination table. */ export interface Schema$Merge { } /** * MongoDB change stream position */ export interface Schema$MongodbChangeStreamPosition { /** * Required. The timestamp to start change stream from. */ startTime?: string | null; } /** * MongoDB Cluster structure. */ export interface Schema$MongodbCluster { /** * MongoDB databases in the cluster. */ databases?: Schema$MongodbDatabase[]; } /** * MongoDB Collection. */ export interface Schema$MongodbCollection { /** * The collection name. */ collection?: string | null; /** * Fields in the collection. */ fields?: Schema$MongodbField[]; } /** * MongoDB Database. */ export interface Schema$MongodbDatabase { /** * Collections in the database. */ collections?: Schema$MongodbCollection[]; /** * The database name. */ database?: string | null; } /** * MongoDB Field. */ export interface Schema$MongodbField { /** * The field name. */ field?: string | null; } /** * MongoDB data source object identifier. */ export interface Schema$MongodbObjectIdentifier { /** * Required. The collection name. */ collection?: string | null; /** * Required. The database name. */ database?: string | null; } /** * Profile for connecting to a MongoDB source. */ export interface Schema$MongodbProfile { /** * 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. */ additionalOptions?: { [key: string]: string; } | null; /** * 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. */ hostAddresses?: Schema$HostAddress[]; /** * Optional. Password for the MongoDB connection. Mutually exclusive with the `secret_manager_stored_password` field. */ password?: string | null; /** * 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. */ replicaSet?: string | null; /** * Optional. A reference to a Secret Manager resource name storing the SQLServer connection password. Mutually exclusive with the `password` field. */ secretManagerStoredPassword?: string | null; /** * Srv connection format. */ srvConnectionFormat?: Schema$SrvConnectionFormat; /** * Optional. SSL configuration for the MongoDB connection. */ sslConfig?: Schema$MongodbSslConfig; /** * Standard connection format. */ standardConnectionFormat?: Schema$StandardConnectionFormat; /** * Required. Username for the MongoDB connection. */ username?: string | null; } /** * Configuration for syncing data from a MongoDB source. */ export interface Schema$MongodbSourceConfig { /** * The MongoDB collections to exclude from the stream. */ excludeObjects?: Schema$MongodbCluster; /** * The MongoDB collections to include in the stream. */ includeObjects?: Schema$MongodbCluster; /** * Optional. MongoDB JSON mode to use for the stream. */ jsonMode?: string | null; /** * 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 */ maxConcurrentBackfillTasks?: number | null; } /** * MongoDB SSL configuration information. */ export interface Schema$MongodbSslConfig { /** * Optional. Input only. PEM-encoded certificate of the CA that signed the source database server's certificate. */ caCertificate?: string | null; /** * Output only. Indicates whether the ca_certificate field is set. */ caCertificateSet?: boolean | null; /** * 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. */ clientCertificate?: string | null; /** * Output only. Indicates whether the client_certificate field is set. */ clientCertificateSet?: boolean | null; /** * 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. */ clientKey?: string | null; /** * Output only. Indicates whether the client_key field is set. */ clientKeySet?: boolean | null; /** * 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. */ secretManagerStoredClientKey?: string | null; } /** * CDC strategy to start replicating from the most recent position in the source. */ export interface Schema$MostRecentStartPosition { } /** * MySQL Column. */ export interface Schema$MysqlColumn { /** * Column collation. */ collation?: string | null; /** * The column name. */ column?: string | null; /** * The MySQL data type. Full data types list can be found here: https://dev.mysql.com/doc/refman/8.0/en/data-types.html */ dataType?: string | null; /** * Column length. */ length?: number | null; /** * Whether or not the column can accept a null value. */ nullable?: boolean | null; /** * The ordinal position of the column in the table. */ ordinalPosition?: number | null; /** * Column precision. */ precision?: number | null; /** * Whether or not the column represents a primary key. */ primaryKey?: boolean | null; /** * Column scale. */ scale?: number | null; } /** * MySQL database. */ export interface Schema$MysqlDatabase { /** * The database name. */ database?: string | null; /** * Tables in the database. */ mysqlTables?: Schema$MysqlTable[]; } /** * MySQL GTID position */ export interface Schema$MysqlGtidPosition { /** * Required. The gtid set to start replication from. */ gtidSet?: string | null; } /** * MySQL log position */ export interface Schema$MysqlLogPosition { /** * Required. The binary log file name. */ logFile?: string | null; /** * Optional. The position within the binary log file. Default is head of file. */ logPosition?: number | null; } /** * Mysql data source object identifier. */ export interface Schema$MysqlObjectIdentifier { /** * Required. The database name. */ database?: string | null; /** * Required. The table name. */ table?: string | null; } /** * Profile for connecting to a MySQL source. */ export interface Schema$MysqlProfile { /** * Required. Hostname for the MySQL connection. */ hostname?: string | null; /** * Optional. Input only. Password for the MySQL connection. Mutually exclusive with the `secret_manager_stored_password` field. */ password?: string | null; /** * Port for the MySQL connection, default value is 3306. */ port?: number | null; /** * Optional. A reference to a Secret Manager resource name storing the MySQL connection password. Mutually exclusive with the `password` field. */ secretManagerStoredPassword?: string | null; /** * SSL configuration for the MySQL connection. */ sslConfig?: Schema$MysqlSslConfig; /** * Required. Username for the MySQL connection. */ username?: string | null; } /** * MySQL database structure */ export interface Schema$MysqlRdbms { /** * Mysql databases on the server */ mysqlDatabases?: Schema$MysqlDatabase[]; } /** * Configuration for syncing data from a MySQL source. */ export interface Schema$MysqlSourceConfig { /** * Use Binary log position based replication. */ binaryLogPosition?: Schema$BinaryLogPosition; /** * The MySQL objects to exclude from the stream. */ excludeObjects?: Schema$MysqlRdbms; /** * Use GTID based replication. */ gtid?: Schema$Gtid; /** * The MySQL objects to retrieve from the source. */ includeObjects?: Schema$MysqlRdbms; /** * 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. */ maxConcurrentBackfillTasks?: number | null; /** * 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. */ maxConcurrentCdcTasks?: number | null; } /** * MySQL SSL configuration information. */ export interface Schema$MysqlSslConfig { /** * Input only. PEM-encoded certificate of the CA that signed the source database server's certificate. */ caCertificate?: string | null; /** * Output only. Indicates whether the ca_certificate field is set. */ caCertificateSet?: boolean | null; /** * 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. */ clientCertificate?: string | null; /** * Output only. Indicates whether the client_certificate field is set. */ clientCertificateSet?: boolean | null; /** * 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. */ clientKey?: string | null; /** * Output only. Indicates whether the client_key field is set. */ clientKeySet?: boolean | null; } /** * MySQL table. */ export interface Schema$MysqlTable { /** * MySQL columns in the database. When unspecified as part of include/exclude objects, includes/excludes everything. */ mysqlColumns?: Schema$MysqlColumn[]; /** * The table name. */ table?: string | null; } /** * CDC strategy to resume replication from the next available position in the source. */ export interface Schema$NextAvailableStartPosition { }