Class: Google::Apis::CloudassetV1p7beta1::GoogleCloudAssetV1p7beta1BigQueryDestination

Inherits:
Object
  • Object
show all
Includes:
Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
Defined in:
lib/google/apis/cloudasset_v1p7beta1/classes.rb,
lib/google/apis/cloudasset_v1p7beta1/representations.rb,
lib/google/apis/cloudasset_v1p7beta1/representations.rb

Overview

A BigQuery destination for exporting assets to.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ GoogleCloudAssetV1p7beta1BigQueryDestination

Returns a new instance of GoogleCloudAssetV1p7beta1BigQueryDestination.



452
453
454
# File 'lib/google/apis/cloudasset_v1p7beta1/classes.rb', line 452

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#datasetString

Required. The BigQuery dataset in format "projects/projectId/datasets/ datasetId", to which the snapshot result should be exported. If this dataset does not exist, the export call returns an INVALID_ARGUMENT error. Corresponds to the JSON property dataset

Returns:

  • (String)


404
405
406
# File 'lib/google/apis/cloudasset_v1p7beta1/classes.rb', line 404

def dataset
  @dataset
end

#forceBoolean Also known as: force?

If the destination table already exists and this flag is TRUE, the table will be overwritten by the contents of assets snapshot. If the flag is FALSE or unset and the destination table already exists, the export call returns an INVALID_ARGUMEMT error. Corresponds to the JSON property force

Returns:

  • (Boolean)


412
413
414
# File 'lib/google/apis/cloudasset_v1p7beta1/classes.rb', line 412

def force
  @force
end

#partition_specGoogle::Apis::CloudassetV1p7beta1::GoogleCloudAssetV1p7beta1PartitionSpec

Specifications of BigQuery partitioned table as export destination. Corresponds to the JSON property partitionSpec



418
419
420
# File 'lib/google/apis/cloudasset_v1p7beta1/classes.rb', line 418

def partition_spec
  @partition_spec
end

#separate_tables_per_asset_typeBoolean Also known as: separate_tables_per_asset_type?

If this flag is TRUE, the snapshot results will be written to one or multiple tables, each of which contains results of one asset type. The [force] and [partition_spec] fields will apply to each of them. Field [table] will be concatenated with "" and the asset type names (see https://cloud.google.com/ asset-inventory/docs/supported-asset-types for supported asset types) to construct per-asset-type table names, in which all non-alphanumeric characters like "." and "/" will be substituted by "". Example: if field [table] is " mytable" and snapshot results contain "storage.googleapis.com/Bucket" assets, the corresponding table name will be "mytable_storage_googleapis_com_Bucket". If any of these tables does not exist, a new table with the concatenated name will be created. When [content_type] in the ExportAssetsRequest is RESOURCE, the schema of each table will include RECORD-type columns mapped to the nested fields in the Asset.resource.data field of that asset type (up to the 15 nested level BigQuery supports (https://cloud.google.com/bigquery/docs/nested- repeated#limitations)). The fields in >15 nested levels will be stored in JSON format string as a child column of its parent RECORD column. If error occurs when exporting to any table, the whole export call will return an error but the export results that already succeed will persist. Example: if exporting to table_type_A succeeds when exporting to table_type_B fails during one export call, the results in table_type_A will persist and there will not be partial results persisting in a table. Corresponds to the JSON property separateTablesPerAssetType

Returns:

  • (Boolean)


443
444
445
# File 'lib/google/apis/cloudasset_v1p7beta1/classes.rb', line 443

def separate_tables_per_asset_type
  @separate_tables_per_asset_type
end

#tableString

Required. The BigQuery table to which the snapshot result should be written. If this table does not exist, a new table with the given name will be created. Corresponds to the JSON property table

Returns:

  • (String)


450
451
452
# File 'lib/google/apis/cloudasset_v1p7beta1/classes.rb', line 450

def table
  @table
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



457
458
459
460
461
462
463
# File 'lib/google/apis/cloudasset_v1p7beta1/classes.rb', line 457

def update!(**args)
  @dataset = args[:dataset] if args.key?(:dataset)
  @force = args[:force] if args.key?(:force)
  @partition_spec = args[:partition_spec] if args.key?(:partition_spec)
  @separate_tables_per_asset_type = args[:separate_tables_per_asset_type] if args.key?(:separate_tables_per_asset_type)
  @table = args[:table] if args.key?(:table)
end