lib/google/apis/datastream_v1/classes.rb in google-apis-datastream_v1-0.13.0 vs lib/google/apis/datastream_v1/classes.rb in google-apis-datastream_v1-0.14.0

- old
+ new

@@ -48,18 +48,24 @@ # Oracle database structure. # Corresponds to the JSON property `oracleExcludedObjects` # @return [Google::Apis::DatastreamV1::OracleRdbms] attr_accessor :oracle_excluded_objects + # PostgreSQL database structure. + # Corresponds to the JSON property `postgresqlExcludedObjects` + # @return [Google::Apis::DatastreamV1::PostgresqlRdbms] + attr_accessor :postgresql_excluded_objects + def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @mysql_excluded_objects = args[:mysql_excluded_objects] if args.key?(:mysql_excluded_objects) @oracle_excluded_objects = args[:oracle_excluded_objects] if args.key?(:oracle_excluded_objects) + @postgresql_excluded_objects = args[:postgresql_excluded_objects] if args.key?(:postgresql_excluded_objects) end end # Represents a backfill job on a specific stream object. class BackfillJob @@ -115,10 +121,58 @@ # Update properties of this object def update!(**args) end end + # + class BigQueryDestinationConfig + include Google::Apis::Core::Hashable + + # 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. + # Corresponds to the JSON property `dataFreshness` + # @return [String] + attr_accessor :data_freshness + + # A single target dataset to which all data will be streamed. + # Corresponds to the JSON property `singleTargetDataset` + # @return [Google::Apis::DatastreamV1::SingleTargetDataset] + attr_accessor :single_target_dataset + + # Destination datasets are created so that hierarchy of the destination data + # objects matches the source hierarchy. + # Corresponds to the JSON property `sourceHierarchyDatasets` + # @return [Google::Apis::DatastreamV1::SourceHierarchyDatasets] + attr_accessor :source_hierarchy_datasets + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @data_freshness = args[:data_freshness] if args.key?(:data_freshness) + @single_target_dataset = args[:single_target_dataset] if args.key?(:single_target_dataset) + @source_hierarchy_datasets = args[:source_hierarchy_datasets] if args.key?(:source_hierarchy_datasets) + end + end + + # BigQuery warehouse profile. + class BigQueryProfile + include Google::Apis::Core::Hashable + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + end + end + # The request message for Operations.CancelOperation. class CancelOperationRequest include Google::Apis::Core::Hashable def initialize(**args) @@ -133,10 +187,15 @@ # A set of reusable connection configurations to be used as a source or # destination for a stream. class ConnectionProfile include Google::Apis::Core::Hashable + # BigQuery warehouse profile. + # Corresponds to the JSON property `bigqueryProfile` + # @return [Google::Apis::DatastreamV1::BigQueryProfile] + attr_accessor :bigquery_profile + # Output only. The create time of the resource. # Corresponds to the JSON property `createTime` # @return [String] attr_accessor :create_time @@ -173,10 +232,15 @@ # Oracle database profile. # Corresponds to the JSON property `oracleProfile` # @return [Google::Apis::DatastreamV1::OracleProfile] attr_accessor :oracle_profile + # PostgreSQL database profile. + # Corresponds to the JSON property `postgresqlProfile` + # @return [Google::Apis::DatastreamV1::PostgresqlProfile] + attr_accessor :postgresql_profile + # Private Connectivity # Corresponds to the JSON property `privateConnectivity` # @return [Google::Apis::DatastreamV1::PrivateConnectivity] attr_accessor :private_connectivity @@ -194,28 +258,73 @@ update!(**args) end # Update properties of this object def update!(**args) + @bigquery_profile = args[:bigquery_profile] if args.key?(:bigquery_profile) @create_time = args[:create_time] if args.key?(:create_time) @display_name = args[:display_name] if args.key?(:display_name) @forward_ssh_connectivity = args[:forward_ssh_connectivity] if args.key?(:forward_ssh_connectivity) @gcs_profile = args[:gcs_profile] if args.key?(:gcs_profile) @labels = args[:labels] if args.key?(:labels) @mysql_profile = args[:mysql_profile] if args.key?(:mysql_profile) @name = args[:name] if args.key?(:name) @oracle_profile = args[:oracle_profile] if args.key?(:oracle_profile) + @postgresql_profile = args[:postgresql_profile] if args.key?(:postgresql_profile) @private_connectivity = args[:private_connectivity] if args.key?(:private_connectivity) @static_service_ip_connectivity = args[:static_service_ip_connectivity] if args.key?(:static_service_ip_connectivity) @update_time = args[:update_time] if args.key?(:update_time) end end + # Dataset template used for dynamic dataset creation. + class DatasetTemplate + include Google::Apis::Core::Hashable + + # 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. _. + # Corresponds to the JSON property `datasetIdPrefix` + # @return [String] + attr_accessor :dataset_id_prefix + + # 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. + # Corresponds to the JSON property `kmsKeyName` + # @return [String] + attr_accessor :kms_key_name + + # Required. The geographic location where the dataset should reside. See https:// + # cloud.google.com/bigquery/docs/locations for supported locations. + # Corresponds to the JSON property `location` + # @return [String] + attr_accessor :location + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @dataset_id_prefix = args[:dataset_id_prefix] if args.key?(:dataset_id_prefix) + @kms_key_name = args[:kms_key_name] if args.key?(:kms_key_name) + @location = args[:location] if args.key?(:location) + end + end + # The configuration of the stream destination. class DestinationConfig include Google::Apis::Core::Hashable + # BigQuery destination configuration. + # Corresponds to the JSON property `bigqueryDestinationConfig` + # @return [Google::Apis::DatastreamV1::BigQueryDestinationConfig] + attr_accessor :bigquery_destination_config + # Required. Destination connection profile resource. Format: `projects/`project`/ # locations/`location`/connectionProfiles/`name`` # Corresponds to the JSON property `destinationConnectionProfile` # @return [String] attr_accessor :destination_connection_profile @@ -229,10 +338,11 @@ update!(**args) end # Update properties of this object def update!(**args) + @bigquery_destination_config = args[:bigquery_destination_config] if args.key?(:bigquery_destination_config) @destination_connection_profile = args[:destination_connection_profile] if args.key?(:destination_connection_profile) @gcs_destination_config = args[:gcs_destination_config] if args.key?(:gcs_destination_config) end end @@ -271,10 +381,15 @@ # Oracle database structure. # Corresponds to the JSON property `oracleRdbms` # @return [Google::Apis::DatastreamV1::OracleRdbms] attr_accessor :oracle_rdbms + # PostgreSQL database structure. + # Corresponds to the JSON property `postgresqlRdbms` + # @return [Google::Apis::DatastreamV1::PostgresqlRdbms] + attr_accessor :postgresql_rdbms + def initialize(**args) update!(**args) end # Update properties of this object @@ -283,10 +398,11 @@ @connection_profile_name = args[:connection_profile_name] if args.key?(:connection_profile_name) @full_hierarchy = args[:full_hierarchy] if args.key?(:full_hierarchy) @hierarchy_depth = args[:hierarchy_depth] if args.key?(:hierarchy_depth) @mysql_rdbms = args[:mysql_rdbms] if args.key?(:mysql_rdbms) @oracle_rdbms = args[:oracle_rdbms] if args.key?(:oracle_rdbms) + @postgresql_rdbms = args[:postgresql_rdbms] if args.key?(:postgresql_rdbms) end end # Response from a discover request. class DiscoverConnectionProfileResponse @@ -300,18 +416,24 @@ # Oracle database structure. # Corresponds to the JSON property `oracleRdbms` # @return [Google::Apis::DatastreamV1::OracleRdbms] attr_accessor :oracle_rdbms + # PostgreSQL database structure. + # Corresponds to the JSON property `postgresqlRdbms` + # @return [Google::Apis::DatastreamV1::PostgresqlRdbms] + attr_accessor :postgresql_rdbms + def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @mysql_rdbms = args[:mysql_rdbms] if args.key?(:mysql_rdbms) @oracle_rdbms = args[:oracle_rdbms] if args.key?(:oracle_rdbms) + @postgresql_rdbms = args[:postgresql_rdbms] if args.key?(:postgresql_rdbms) end end # Configuration to drop large object values. class DropLargeObjects @@ -1486,10 +1608,250 @@ @oracle_columns = args[:oracle_columns] if args.key?(:oracle_columns) @table = args[:table] if args.key?(:table) end end + # PostgreSQL Column. + class PostgresqlColumn + include Google::Apis::Core::Hashable + + # Column name. + # Corresponds to the JSON property `column` + # @return [String] + attr_accessor :column + + # The PostgreSQL data type. + # Corresponds to the JSON property `dataType` + # @return [String] + attr_accessor :data_type + + # Column length. + # Corresponds to the JSON property `length` + # @return [Fixnum] + attr_accessor :length + + # Whether or not the column can accept a null value. + # Corresponds to the JSON property `nullable` + # @return [Boolean] + attr_accessor :nullable + alias_method :nullable?, :nullable + + # The ordinal position of the column in the table. + # Corresponds to the JSON property `ordinalPosition` + # @return [Fixnum] + attr_accessor :ordinal_position + + # Column precision. + # Corresponds to the JSON property `precision` + # @return [Fixnum] + attr_accessor :precision + + # Whether or not the column represents a primary key. + # Corresponds to the JSON property `primaryKey` + # @return [Boolean] + attr_accessor :primary_key + alias_method :primary_key?, :primary_key + + # Column scale. + # Corresponds to the JSON property `scale` + # @return [Fixnum] + attr_accessor :scale + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @column = args[:column] if args.key?(:column) + @data_type = args[:data_type] if args.key?(:data_type) + @length = args[:length] if args.key?(:length) + @nullable = args[:nullable] if args.key?(:nullable) + @ordinal_position = args[:ordinal_position] if args.key?(:ordinal_position) + @precision = args[:precision] if args.key?(:precision) + @primary_key = args[:primary_key] if args.key?(:primary_key) + @scale = args[:scale] if args.key?(:scale) + end + end + + # PostgreSQL data source object identifier. + class PostgresqlObjectIdentifier + include Google::Apis::Core::Hashable + + # Required. The schema name. + # Corresponds to the JSON property `schema` + # @return [String] + attr_accessor :schema + + # Required. The table name. + # Corresponds to the JSON property `table` + # @return [String] + attr_accessor :table + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @schema = args[:schema] if args.key?(:schema) + @table = args[:table] if args.key?(:table) + end + end + + # PostgreSQL database profile. + class PostgresqlProfile + include Google::Apis::Core::Hashable + + # Required. Database for the PostgreSQL connection. + # Corresponds to the JSON property `database` + # @return [String] + attr_accessor :database + + # Required. Hostname for the PostgreSQL connection. + # Corresponds to the JSON property `hostname` + # @return [String] + attr_accessor :hostname + + # Required. Password for the PostgreSQL connection. + # Corresponds to the JSON property `password` + # @return [String] + attr_accessor :password + + # Port for the PostgreSQL connection, default value is 5432. + # Corresponds to the JSON property `port` + # @return [Fixnum] + attr_accessor :port + + # Required. Username for the PostgreSQL connection. + # Corresponds to the JSON property `username` + # @return [String] + attr_accessor :username + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @database = args[:database] if args.key?(:database) + @hostname = args[:hostname] if args.key?(:hostname) + @password = args[:password] if args.key?(:password) + @port = args[:port] if args.key?(:port) + @username = args[:username] if args.key?(:username) + end + end + + # PostgreSQL database structure. + class PostgresqlRdbms + include Google::Apis::Core::Hashable + + # PostgreSQL schemas in the database server. + # Corresponds to the JSON property `postgresqlSchemas` + # @return [Array<Google::Apis::DatastreamV1::PostgresqlSchema>] + attr_accessor :postgresql_schemas + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @postgresql_schemas = args[:postgresql_schemas] if args.key?(:postgresql_schemas) + end + end + + # PostgreSQL schema. + class PostgresqlSchema + include Google::Apis::Core::Hashable + + # Tables in the schema. + # Corresponds to the JSON property `postgresqlTables` + # @return [Array<Google::Apis::DatastreamV1::PostgresqlTable>] + attr_accessor :postgresql_tables + + # Schema name. + # Corresponds to the JSON property `schema` + # @return [String] + attr_accessor :schema + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @postgresql_tables = args[:postgresql_tables] if args.key?(:postgresql_tables) + @schema = args[:schema] if args.key?(:schema) + end + end + + # PostgreSQL data source configuration + class PostgresqlSourceConfig + include Google::Apis::Core::Hashable + + # PostgreSQL database structure. + # Corresponds to the JSON property `excludeObjects` + # @return [Google::Apis::DatastreamV1::PostgresqlRdbms] + attr_accessor :exclude_objects + + # PostgreSQL database structure. + # Corresponds to the JSON property `includeObjects` + # @return [Google::Apis::DatastreamV1::PostgresqlRdbms] + attr_accessor :include_objects + + # Required. The name of the publication that includes the set of all tables that + # are defined in the stream's include_objects. + # Corresponds to the JSON property `publication` + # @return [String] + attr_accessor :publication + + # Required. The name of the logical replication slot that's configured with the + # pgoutput plugin. + # Corresponds to the JSON property `replicationSlot` + # @return [String] + attr_accessor :replication_slot + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @exclude_objects = args[:exclude_objects] if args.key?(:exclude_objects) + @include_objects = args[:include_objects] if args.key?(:include_objects) + @publication = args[:publication] if args.key?(:publication) + @replication_slot = args[:replication_slot] if args.key?(:replication_slot) + end + end + + # PostgreSQL table. + class PostgresqlTable + include Google::Apis::Core::Hashable + + # PostgreSQL columns in the schema. When unspecified as part of include/exclude + # objects, includes/excludes everything. + # Corresponds to the JSON property `postgresqlColumns` + # @return [Array<Google::Apis::DatastreamV1::PostgresqlColumn>] + attr_accessor :postgresql_columns + + # Table name. + # Corresponds to the JSON property `table` + # @return [String] + attr_accessor :table + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @postgresql_columns = args[:postgresql_columns] if args.key?(:postgresql_columns) + @table = args[:table] if args.key?(:table) + end + end + # The PrivateConnection resource is used to establish private connectivity # between Datastream and a customer's network. class PrivateConnection include Google::Apis::Core::Hashable @@ -1625,10 +1987,29 @@ @name = args[:name] if args.key?(:name) @update_time = args[:update_time] if args.key?(:update_time) end end + # A single target dataset to which all data will be streamed. + class SingleTargetDataset + include Google::Apis::Core::Hashable + + # + # Corresponds to the JSON property `datasetId` + # @return [String] + attr_accessor :dataset_id + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @dataset_id = args[:dataset_id] if args.key?(:dataset_id) + end + end + # The configuration of the stream source. class SourceConfig include Google::Apis::Core::Hashable # MySQL source configuration @@ -1639,10 +2020,15 @@ # Oracle data source configuration # Corresponds to the JSON property `oracleSourceConfig` # @return [Google::Apis::DatastreamV1::OracleSourceConfig] attr_accessor :oracle_source_config + # PostgreSQL data source configuration + # Corresponds to the JSON property `postgresqlSourceConfig` + # @return [Google::Apis::DatastreamV1::PostgresqlSourceConfig] + attr_accessor :postgresql_source_config + # Required. Source connection profile resoource. Format: `projects/`project`/ # locations/`location`/connectionProfiles/`name`` # Corresponds to the JSON property `sourceConnectionProfile` # @return [String] attr_accessor :source_connection_profile @@ -1653,14 +2039,35 @@ # Update properties of this object def update!(**args) @mysql_source_config = args[:mysql_source_config] if args.key?(:mysql_source_config) @oracle_source_config = args[:oracle_source_config] if args.key?(:oracle_source_config) + @postgresql_source_config = args[:postgresql_source_config] if args.key?(:postgresql_source_config) @source_connection_profile = args[:source_connection_profile] if args.key?(:source_connection_profile) end end + # Destination datasets are created so that hierarchy of the destination data + # objects matches the source hierarchy. + class SourceHierarchyDatasets + include Google::Apis::Core::Hashable + + # Dataset template used for dynamic dataset creation. + # Corresponds to the JSON property `datasetTemplate` + # @return [Google::Apis::DatastreamV1::DatasetTemplate] + attr_accessor :dataset_template + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @dataset_template = args[:dataset_template] if args.key?(:dataset_template) + end + end + # Represents an identifier of an object in the data source. class SourceObjectIdentifier include Google::Apis::Core::Hashable # Mysql data source object identifier. @@ -1671,17 +2078,23 @@ # Oracle data source object identifier. # Corresponds to the JSON property `oracleIdentifier` # @return [Google::Apis::DatastreamV1::OracleObjectIdentifier] attr_accessor :oracle_identifier + # PostgreSQL data source object identifier. + # Corresponds to the JSON property `postgresqlIdentifier` + # @return [Google::Apis::DatastreamV1::PostgresqlObjectIdentifier] + attr_accessor :postgresql_identifier + def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @mysql_identifier = args[:mysql_identifier] if args.key?(:mysql_identifier) @oracle_identifier = args[:oracle_identifier] if args.key?(:oracle_identifier) + @postgresql_identifier = args[:postgresql_identifier] if args.key?(:postgresql_identifier) end end # Request for manually initiating a backfill job for a specific stream object. class StartBackfillJobRequest