# Copyright 2020 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. require 'date' require 'google/apis/core/base_service' require 'google/apis/core/json_representation' require 'google/apis/core/hashable' require 'google/apis/errors' module Google module Apis module DataplexV1 # 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); ` The JSON representation for # Empty is empty JSON object ``. class Empty include Google::Apis::Core::Hashable def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) end end # Action represents an issue requiring administrator action for resolution. class GoogleCloudDataplexV1Action include Google::Apis::Core::Hashable # Output only. The relative resource name of the asset, of the form: projects/` # project_number`/locations/`location_id`/lakes/`lake_id`/zones/`zone_id`/assets/ # `asset_id`. # Corresponds to the JSON property `asset` # @return [String] attr_accessor :asset # The category of issue associated with the action. # Corresponds to the JSON property `category` # @return [String] attr_accessor :category # The list of data locations associated with this action. Cloud Storage # locations are represented as URI paths(E.g. gs://bucket/table1/year=2020/month= # Jan/). BigQuery locations refer to resource names(E.g. bigquery.googleapis.com/ # projects/project-id/datasets/dataset-id). # Corresponds to the JSON property `dataLocations` # @return [Array] attr_accessor :data_locations # The time that the issue was detected. # Corresponds to the JSON property `detectTime` # @return [String] attr_accessor :detect_time # Failed to apply security policy to the managed resource(s) under a lake, zone # or an asset. For a lake or zone resource, one or more underlying assets has a # failure applying security policy to the associated managed resource. # Corresponds to the JSON property `failedSecurityPolicyApply` # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1ActionFailedSecurityPolicyApply] attr_accessor :failed_security_policy_apply # Action details for incompatible schemas detected by discovery. # Corresponds to the JSON property `incompatibleDataSchema` # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1ActionIncompatibleDataSchema] attr_accessor :incompatible_data_schema # Action details for invalid or unsupported data files detected by discovery. # Corresponds to the JSON property `invalidDataFormat` # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1ActionInvalidDataFormat] attr_accessor :invalid_data_format # Action details for invalid data arrangement. # Corresponds to the JSON property `invalidDataOrganization` # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1ActionInvalidDataOrganization] attr_accessor :invalid_data_organization # Action details for invalid or unsupported partitions detected by discovery. # Corresponds to the JSON property `invalidDataPartition` # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1ActionInvalidDataPartition] attr_accessor :invalid_data_partition # Detailed description of the issue requiring action. # Corresponds to the JSON property `issue` # @return [String] attr_accessor :issue # Output only. The relative resource name of the lake, of the form: projects/` # project_number`/locations/`location_id`/lakes/`lake_id`. # Corresponds to the JSON property `lake` # @return [String] attr_accessor :lake # Action details for absence of data detected by discovery. # Corresponds to the JSON property `missingData` # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1ActionMissingData] attr_accessor :missing_data # Action details for resource references in assets that cannot be located. # Corresponds to the JSON property `missingResource` # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1ActionMissingResource] attr_accessor :missing_resource # Output only. The relative resource name of the action, of the form: projects/` # project`/locations/`location`/lakes/`lake`/actions/`action` projects/`project`/ # locations/`location`/lakes/`lake`/zones/`zone`/actions/`action` projects/` # project`/locations/`location`/lakes/`lake`/zones/`zone`/assets/`asset`/actions/ # `action`. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Action details for unauthorized resource issues raised to indicate that the # service account associated with the lake instance is not authorized to access # or manage the resource associated with an asset. # Corresponds to the JSON property `unauthorizedResource` # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1ActionUnauthorizedResource] attr_accessor :unauthorized_resource # Output only. The relative resource name of the zone, of the form: projects/` # project_number`/locations/`location_id`/lakes/`lake_id`/zones/`zone_id`. # Corresponds to the JSON property `zone` # @return [String] attr_accessor :zone def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @asset = args[:asset] if args.key?(:asset) @category = args[:category] if args.key?(:category) @data_locations = args[:data_locations] if args.key?(:data_locations) @detect_time = args[:detect_time] if args.key?(:detect_time) @failed_security_policy_apply = args[:failed_security_policy_apply] if args.key?(:failed_security_policy_apply) @incompatible_data_schema = args[:incompatible_data_schema] if args.key?(:incompatible_data_schema) @invalid_data_format = args[:invalid_data_format] if args.key?(:invalid_data_format) @invalid_data_organization = args[:invalid_data_organization] if args.key?(:invalid_data_organization) @invalid_data_partition = args[:invalid_data_partition] if args.key?(:invalid_data_partition) @issue = args[:issue] if args.key?(:issue) @lake = args[:lake] if args.key?(:lake) @missing_data = args[:missing_data] if args.key?(:missing_data) @missing_resource = args[:missing_resource] if args.key?(:missing_resource) @name = args[:name] if args.key?(:name) @unauthorized_resource = args[:unauthorized_resource] if args.key?(:unauthorized_resource) @zone = args[:zone] if args.key?(:zone) end end # Failed to apply security policy to the managed resource(s) under a lake, zone # or an asset. For a lake or zone resource, one or more underlying assets has a # failure applying security policy to the associated managed resource. class GoogleCloudDataplexV1ActionFailedSecurityPolicyApply include Google::Apis::Core::Hashable # Resource name of one of the assets with failing security policy application. # Populated for a lake or zone resource only. # Corresponds to the JSON property `asset` # @return [String] attr_accessor :asset def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @asset = args[:asset] if args.key?(:asset) end end # Action details for incompatible schemas detected by discovery. class GoogleCloudDataplexV1ActionIncompatibleDataSchema include Google::Apis::Core::Hashable # The existing and expected schema of the table. The schema is provided as a # JSON formatted structure listing columns and data types. # Corresponds to the JSON property `existingSchema` # @return [String] attr_accessor :existing_schema # The new and incompatible schema within the table. The schema is provided as a # JSON formatted structured listing columns and data types. # Corresponds to the JSON property `newSchema` # @return [String] attr_accessor :new_schema # The list of data locations sampled and used for format/schema inference. # Corresponds to the JSON property `sampledDataLocations` # @return [Array] attr_accessor :sampled_data_locations # Whether the action relates to a schema that is incompatible or modified. # Corresponds to the JSON property `schemaChange` # @return [String] attr_accessor :schema_change # The name of the table containing invalid data. # 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) @existing_schema = args[:existing_schema] if args.key?(:existing_schema) @new_schema = args[:new_schema] if args.key?(:new_schema) @sampled_data_locations = args[:sampled_data_locations] if args.key?(:sampled_data_locations) @schema_change = args[:schema_change] if args.key?(:schema_change) @table = args[:table] if args.key?(:table) end end # Action details for invalid or unsupported data files detected by discovery. class GoogleCloudDataplexV1ActionInvalidDataFormat include Google::Apis::Core::Hashable # The expected data format of the entity. # Corresponds to the JSON property `expectedFormat` # @return [String] attr_accessor :expected_format # The new unexpected data format within the entity. # Corresponds to the JSON property `newFormat` # @return [String] attr_accessor :new_format # The list of data locations sampled and used for format/schema inference. # Corresponds to the JSON property `sampledDataLocations` # @return [Array] attr_accessor :sampled_data_locations def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @expected_format = args[:expected_format] if args.key?(:expected_format) @new_format = args[:new_format] if args.key?(:new_format) @sampled_data_locations = args[:sampled_data_locations] if args.key?(:sampled_data_locations) end end # Action details for invalid data arrangement. class GoogleCloudDataplexV1ActionInvalidDataOrganization include Google::Apis::Core::Hashable def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) end end # Action details for invalid or unsupported partitions detected by discovery. class GoogleCloudDataplexV1ActionInvalidDataPartition include Google::Apis::Core::Hashable # The issue type of InvalidDataPartition. # Corresponds to the JSON property `expectedStructure` # @return [String] attr_accessor :expected_structure def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @expected_structure = args[:expected_structure] if args.key?(:expected_structure) end end # Action details for absence of data detected by discovery. class GoogleCloudDataplexV1ActionMissingData include Google::Apis::Core::Hashable def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) end end # Action details for resource references in assets that cannot be located. class GoogleCloudDataplexV1ActionMissingResource include Google::Apis::Core::Hashable def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) end end # Action details for unauthorized resource issues raised to indicate that the # service account associated with the lake instance is not authorized to access # or manage the resource associated with an asset. class GoogleCloudDataplexV1ActionUnauthorizedResource include Google::Apis::Core::Hashable def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) end end # An asset represents a cloud resource that is being managed within a lake as a # member of a zone. class GoogleCloudDataplexV1Asset include Google::Apis::Core::Hashable # Output only. The time when the asset was created. # Corresponds to the JSON property `createTime` # @return [String] attr_accessor :create_time # Optional. Description of the asset. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Settings to manage the metadata discovery and publishing for an asset. # Corresponds to the JSON property `discoverySpec` # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1AssetDiscoverySpec] attr_accessor :discovery_spec # Status of discovery for an asset. # Corresponds to the JSON property `discoveryStatus` # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1AssetDiscoveryStatus] attr_accessor :discovery_status # Optional. User friendly display name. # Corresponds to the JSON property `displayName` # @return [String] attr_accessor :display_name # Optional. User defined labels for the asset. # Corresponds to the JSON property `labels` # @return [Hash] attr_accessor :labels # Output only. The relative resource name of the asset, of the form: projects/` # project_number`/locations/`location_id`/lakes/`lake_id`/zones/`zone_id`/assets/ # `asset_id`. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Identifies the cloud resource that is referenced by this asset. # Corresponds to the JSON property `resourceSpec` # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1AssetResourceSpec] attr_accessor :resource_spec # Status of the resource referenced by an asset. # Corresponds to the JSON property `resourceStatus` # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1AssetResourceStatus] attr_accessor :resource_status # Security policy status of the asset. Data security policy, i.e., readers, # writers & owners, should be specified in the lake/zone/asset IAM policy. # Corresponds to the JSON property `securityStatus` # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1AssetSecurityStatus] attr_accessor :security_status # Output only. Current state of the asset. # Corresponds to the JSON property `state` # @return [String] attr_accessor :state # Output only. System generated globally unique ID for the asset. This ID will # be different if the asset is deleted and re-created with the same name. # Corresponds to the JSON property `uid` # @return [String] attr_accessor :uid # Output only. The time when the asset was last updated. # Corresponds to the JSON property `updateTime` # @return [String] attr_accessor :update_time def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @create_time = args[:create_time] if args.key?(:create_time) @description = args[:description] if args.key?(:description) @discovery_spec = args[:discovery_spec] if args.key?(:discovery_spec) @discovery_status = args[:discovery_status] if args.key?(:discovery_status) @display_name = args[:display_name] if args.key?(:display_name) @labels = args[:labels] if args.key?(:labels) @name = args[:name] if args.key?(:name) @resource_spec = args[:resource_spec] if args.key?(:resource_spec) @resource_status = args[:resource_status] if args.key?(:resource_status) @security_status = args[:security_status] if args.key?(:security_status) @state = args[:state] if args.key?(:state) @uid = args[:uid] if args.key?(:uid) @update_time = args[:update_time] if args.key?(:update_time) end end # Settings to manage the metadata discovery and publishing for an asset. class GoogleCloudDataplexV1AssetDiscoverySpec include Google::Apis::Core::Hashable # Describe CSV and similar semi-structured data formats. # Corresponds to the JSON property `csvOptions` # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1AssetDiscoverySpecCsvOptions] attr_accessor :csv_options # Optional. Whether discovery is enabled. # Corresponds to the JSON property `enabled` # @return [Boolean] attr_accessor :enabled alias_method :enabled?, :enabled # Optional. The list of patterns to apply for selecting data to exclude during # discovery. For Cloud Storage bucket assets, these are interpreted as glob # patterns used to match object names. For BigQuery dataset assets, these are # interpreted as patterns to match table names. # Corresponds to the JSON property `excludePatterns` # @return [Array] attr_accessor :exclude_patterns # Optional. The list of patterns to apply for selecting data to include during # discovery if only a subset of the data should considered. For Cloud Storage # bucket assets, these are interpreted as glob patterns used to match object # names. For BigQuery dataset assets, these are interpreted as patterns to match # table names. # Corresponds to the JSON property `includePatterns` # @return [Array] attr_accessor :include_patterns # Describe JSON data format. # Corresponds to the JSON property `jsonOptions` # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1AssetDiscoverySpecJsonOptions] attr_accessor :json_options # Optional. Cron schedule (https://en.wikipedia.org/wiki/Cron) for running # discovery periodically. Successive discovery runs must be scheduled at least # 60 minutes apart. The default value is to run discovery every 60 minutes. To # explicitly set a timezone to the cron tab, apply a prefix in the cron tab: " # CRON_TZ=$`IANA_TIME_ZONE`" or TZ=$`IANA_TIME_ZONE`". The $`IANA_TIME_ZONE` may # only be a valid string from IANA time zone database. For example, "CRON_TZ= # America/New_York 1 * * * *", or "TZ=America/New_York 1 * * * *". # Corresponds to the JSON property `schedule` # @return [String] attr_accessor :schedule def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @csv_options = args[:csv_options] if args.key?(:csv_options) @enabled = args[:enabled] if args.key?(:enabled) @exclude_patterns = args[:exclude_patterns] if args.key?(:exclude_patterns) @include_patterns = args[:include_patterns] if args.key?(:include_patterns) @json_options = args[:json_options] if args.key?(:json_options) @schedule = args[:schedule] if args.key?(:schedule) end end # Describe CSV and similar semi-structured data formats. class GoogleCloudDataplexV1AssetDiscoverySpecCsvOptions include Google::Apis::Core::Hashable # Optional. The delimiter being used to separate values. This defaults to ','. # Corresponds to the JSON property `delimiter` # @return [String] attr_accessor :delimiter # Optional. Whether to disable the inference of data type for CSV data. If true, # all columns will be registered as strings. # Corresponds to the JSON property `disableTypeInference` # @return [Boolean] attr_accessor :disable_type_inference alias_method :disable_type_inference?, :disable_type_inference # Optional. The character encoding of the data. The default is UTF-8. # Corresponds to the JSON property `encoding` # @return [String] attr_accessor :encoding # Optional. The number of rows to interpret as header rows that should be # skipped when reading data rows. # Corresponds to the JSON property `headerRows` # @return [Fixnum] attr_accessor :header_rows def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @delimiter = args[:delimiter] if args.key?(:delimiter) @disable_type_inference = args[:disable_type_inference] if args.key?(:disable_type_inference) @encoding = args[:encoding] if args.key?(:encoding) @header_rows = args[:header_rows] if args.key?(:header_rows) end end # Describe JSON data format. class GoogleCloudDataplexV1AssetDiscoverySpecJsonOptions include Google::Apis::Core::Hashable # Optional. Whether to disable the inference of data type for Json data. If true, # all columns will be registered as their primitive types (strings, number or # boolean). # Corresponds to the JSON property `disableTypeInference` # @return [Boolean] attr_accessor :disable_type_inference alias_method :disable_type_inference?, :disable_type_inference # Optional. The character encoding of the data. The default is UTF-8. # Corresponds to the JSON property `encoding` # @return [String] attr_accessor :encoding def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @disable_type_inference = args[:disable_type_inference] if args.key?(:disable_type_inference) @encoding = args[:encoding] if args.key?(:encoding) end end # Status of discovery for an asset. class GoogleCloudDataplexV1AssetDiscoveryStatus include Google::Apis::Core::Hashable # The duration of the last discovery run. # Corresponds to the JSON property `lastRunDuration` # @return [String] attr_accessor :last_run_duration # The start time of the last discovery run. # Corresponds to the JSON property `lastRunTime` # @return [String] attr_accessor :last_run_time # Additional information about the current state. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message # The current status of the discovery feature. # Corresponds to the JSON property `state` # @return [String] attr_accessor :state # The aggregated data statistics for the asset reported by discovery. # Corresponds to the JSON property `stats` # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1AssetDiscoveryStatusStats] attr_accessor :stats # Last update time of the status. # Corresponds to the JSON property `updateTime` # @return [String] attr_accessor :update_time def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @last_run_duration = args[:last_run_duration] if args.key?(:last_run_duration) @last_run_time = args[:last_run_time] if args.key?(:last_run_time) @message = args[:message] if args.key?(:message) @state = args[:state] if args.key?(:state) @stats = args[:stats] if args.key?(:stats) @update_time = args[:update_time] if args.key?(:update_time) end end # The aggregated data statistics for the asset reported by discovery. class GoogleCloudDataplexV1AssetDiscoveryStatusStats include Google::Apis::Core::Hashable # The count of data items within the referenced resource. # Corresponds to the JSON property `dataItems` # @return [Fixnum] attr_accessor :data_items # The number of stored data bytes within the referenced resource. # Corresponds to the JSON property `dataSize` # @return [Fixnum] attr_accessor :data_size # The count of fileset entities within the referenced resource. # Corresponds to the JSON property `filesets` # @return [Fixnum] attr_accessor :filesets # The count of table entities within the referenced resource. # Corresponds to the JSON property `tables` # @return [Fixnum] attr_accessor :tables def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @data_items = args[:data_items] if args.key?(:data_items) @data_size = args[:data_size] if args.key?(:data_size) @filesets = args[:filesets] if args.key?(:filesets) @tables = args[:tables] if args.key?(:tables) end end # Identifies the cloud resource that is referenced by this asset. class GoogleCloudDataplexV1AssetResourceSpec include Google::Apis::Core::Hashable # Immutable. Relative name of the cloud resource that contains the data that is # being managed within a lake. For example: projects/`project_number`/buckets/` # bucket_id` projects/`project_number`/datasets/`dataset_id` # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Required. Immutable. Type of resource. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @name = args[:name] if args.key?(:name) @type = args[:type] if args.key?(:type) end end # Status of the resource referenced by an asset. class GoogleCloudDataplexV1AssetResourceStatus include Google::Apis::Core::Hashable # Additional information about the current state. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message # The current state of the managed resource. # Corresponds to the JSON property `state` # @return [String] attr_accessor :state # Last update time of the status. # Corresponds to the JSON property `updateTime` # @return [String] attr_accessor :update_time def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @message = args[:message] if args.key?(:message) @state = args[:state] if args.key?(:state) @update_time = args[:update_time] if args.key?(:update_time) end end # Security policy status of the asset. Data security policy, i.e., readers, # writers & owners, should be specified in the lake/zone/asset IAM policy. class GoogleCloudDataplexV1AssetSecurityStatus include Google::Apis::Core::Hashable # Additional information about the current state. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message # The current state of the security policy applied to the attached resource. # Corresponds to the JSON property `state` # @return [String] attr_accessor :state # Last update time of the status. # Corresponds to the JSON property `updateTime` # @return [String] attr_accessor :update_time def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @message = args[:message] if args.key?(:message) @state = args[:state] if args.key?(:state) @update_time = args[:update_time] if args.key?(:update_time) end end # Aggregated status of the underlying assets of a lake or zone. class GoogleCloudDataplexV1AssetStatus include Google::Apis::Core::Hashable # Number of active assets. # Corresponds to the JSON property `activeAssets` # @return [Fixnum] attr_accessor :active_assets # Number of assets that are in process of updating the security policy on # attached resources. # Corresponds to the JSON property `securityPolicyApplyingAssets` # @return [Fixnum] attr_accessor :security_policy_applying_assets # Last update time of the status. # Corresponds to the JSON property `updateTime` # @return [String] attr_accessor :update_time def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @active_assets = args[:active_assets] if args.key?(:active_assets) @security_policy_applying_assets = args[:security_policy_applying_assets] if args.key?(:security_policy_applying_assets) @update_time = args[:update_time] if args.key?(:update_time) end end # Cancel task jobs. class GoogleCloudDataplexV1CancelJobRequest include Google::Apis::Core::Hashable def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) end end # Content represents a user-visible notebook or a sql script class GoogleCloudDataplexV1Content include Google::Apis::Core::Hashable # Output only. Content creation time. # Corresponds to the JSON property `createTime` # @return [String] attr_accessor :create_time # Required. Content data in string format. # Corresponds to the JSON property `dataText` # @return [String] attr_accessor :data_text # Optional. Description of the content. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Optional. User defined labels for the content. # Corresponds to the JSON property `labels` # @return [Hash] attr_accessor :labels # Output only. The relative resource name of the content, of the form: projects/` # project_id`/locations/`location_id`/lakes/`lake_id`/content/`content_id` # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Configuration for Notebook content. # Corresponds to the JSON property `notebook` # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1ContentNotebook] attr_accessor :notebook # Required. The path for the Content file, represented as directory structure. # Unique within a lake. Limited to alphanumerics, hyphens, underscores, dots and # slashes. # Corresponds to the JSON property `path` # @return [String] attr_accessor :path # Configuration for the Sql Script content. # Corresponds to the JSON property `sqlScript` # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1ContentSqlScript] attr_accessor :sql_script # Output only. System generated globally unique ID for the content. This ID will # be different if the content is deleted and re-created with the same name. # Corresponds to the JSON property `uid` # @return [String] attr_accessor :uid # Output only. The time when the content was last updated. # Corresponds to the JSON property `updateTime` # @return [String] attr_accessor :update_time def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @create_time = args[:create_time] if args.key?(:create_time) @data_text = args[:data_text] if args.key?(:data_text) @description = args[:description] if args.key?(:description) @labels = args[:labels] if args.key?(:labels) @name = args[:name] if args.key?(:name) @notebook = args[:notebook] if args.key?(:notebook) @path = args[:path] if args.key?(:path) @sql_script = args[:sql_script] if args.key?(:sql_script) @uid = args[:uid] if args.key?(:uid) @update_time = args[:update_time] if args.key?(:update_time) end end # Configuration for Notebook content. class GoogleCloudDataplexV1ContentNotebook include Google::Apis::Core::Hashable # Required. Kernel Type of the notebook. # Corresponds to the JSON property `kernelType` # @return [String] attr_accessor :kernel_type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @kernel_type = args[:kernel_type] if args.key?(:kernel_type) end end # Configuration for the Sql Script content. class GoogleCloudDataplexV1ContentSqlScript include Google::Apis::Core::Hashable # Required. Query Engine to be used for the Sql Query. # Corresponds to the JSON property `engine` # @return [String] attr_accessor :engine def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @engine = args[:engine] if args.key?(:engine) end end # The payload associated with Discovery data processing. class GoogleCloudDataplexV1DiscoveryEvent include Google::Apis::Core::Hashable # Details about the action. # Corresponds to the JSON property `action` # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1DiscoveryEventActionDetails] attr_accessor :action # The id of the associated asset. # Corresponds to the JSON property `assetId` # @return [String] attr_accessor :asset_id # Details about configuration events. # Corresponds to the JSON property `config` # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1DiscoveryEventConfigDetails] attr_accessor :config # The data location associated with the event. # Corresponds to the JSON property `dataLocation` # @return [String] attr_accessor :data_location # Details about the entity. # Corresponds to the JSON property `entity` # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1DiscoveryEventEntityDetails] attr_accessor :entity # The id of the associated lake. # Corresponds to the JSON property `lakeId` # @return [String] attr_accessor :lake_id # The log message. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message # Details about the partition. # Corresponds to the JSON property `partition` # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1DiscoveryEventPartitionDetails] attr_accessor :partition # The type of the event being logged. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type # The id of the associated zone. # Corresponds to the JSON property `zoneId` # @return [String] attr_accessor :zone_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @action = args[:action] if args.key?(:action) @asset_id = args[:asset_id] if args.key?(:asset_id) @config = args[:config] if args.key?(:config) @data_location = args[:data_location] if args.key?(:data_location) @entity = args[:entity] if args.key?(:entity) @lake_id = args[:lake_id] if args.key?(:lake_id) @message = args[:message] if args.key?(:message) @partition = args[:partition] if args.key?(:partition) @type = args[:type] if args.key?(:type) @zone_id = args[:zone_id] if args.key?(:zone_id) end end # Details about the action. class GoogleCloudDataplexV1DiscoveryEventActionDetails include Google::Apis::Core::Hashable # The type of action. Eg. IncompatibleDataSchema, InvalidDataFormat # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @type = args[:type] if args.key?(:type) end end # Details about configuration events. class GoogleCloudDataplexV1DiscoveryEventConfigDetails include Google::Apis::Core::Hashable # A list of discovery configuration parameters in effect. The keys are the field # paths within DiscoverySpec. Eg. includePatterns, excludePatterns, csvOptions. # disableTypeInference, etc. # Corresponds to the JSON property `parameters` # @return [Hash] attr_accessor :parameters def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @parameters = args[:parameters] if args.key?(:parameters) end end # Details about the entity. class GoogleCloudDataplexV1DiscoveryEventEntityDetails include Google::Apis::Core::Hashable # The name of the entity resource. The name is the fully-qualified resource name. # Corresponds to the JSON property `entity` # @return [String] attr_accessor :entity # The type of the entity resource. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @entity = args[:entity] if args.key?(:entity) @type = args[:type] if args.key?(:type) end end # Details about the partition. class GoogleCloudDataplexV1DiscoveryEventPartitionDetails include Google::Apis::Core::Hashable # The name to the containing entity resource. The name is the fully-qualified # resource name. # Corresponds to the JSON property `entity` # @return [String] attr_accessor :entity # The name to the partition resource. The name is the fully-qualified resource # name. # Corresponds to the JSON property `partition` # @return [String] attr_accessor :partition # The type of the containing entity resource. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @entity = args[:entity] if args.key?(:entity) @partition = args[:partition] if args.key?(:partition) @type = args[:type] if args.key?(:type) end end # Represents tables and fileset metadata contained within a zone. class GoogleCloudDataplexV1Entity include Google::Apis::Core::Hashable # Required. Immutable. The ID of the asset associated with the storage location # containing the entity data. The entity must be with in the same zone with the # asset. # Corresponds to the JSON property `asset` # @return [String] attr_accessor :asset # Output only. The name of the associated Data Catalog entry. # Corresponds to the JSON property `catalogEntry` # @return [String] attr_accessor :catalog_entry # Provides compatibility information for various metadata stores. # Corresponds to the JSON property `compatibility` # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1EntityCompatibilityStatus] attr_accessor :compatibility # Output only. The time when the entity was created. # Corresponds to the JSON property `createTime` # @return [String] attr_accessor :create_time # Required. Immutable. The storage path of the entity data. For Cloud Storage # data, this is the fully-qualified path to the entity, such as gs://bucket/path/ # to/data. For BigQuery data, this is the name of the table resource, such as # projects/project_id/datasets/dataset_id/tables/table_id. # Corresponds to the JSON property `dataPath` # @return [String] attr_accessor :data_path # Optional. The set of items within the data path constituting the data in the # entity, represented as a glob path. Example: gs://bucket/path/to/data/**/*.csv. # Corresponds to the JSON property `dataPathPattern` # @return [String] attr_accessor :data_path_pattern # Optional. User friendly longer description text. Must be shorter than or equal # to 1024 characters. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Optional. Display name must be shorter than or equal to 256 characters. # Corresponds to the JSON property `displayName` # @return [String] attr_accessor :display_name # Optional. The etag associated with the entity, which can be retrieved with a # GetEntity request. Required for update and delete requests. # Corresponds to the JSON property `etag` # @return [String] attr_accessor :etag # Describes the format of the data within its storage location. # Corresponds to the JSON property `format` # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1StorageFormat] attr_accessor :format # Required. A user-provided entity ID. It is mutable, and will be used as the # published table name. Specifying a new ID in an update entity request will # override the existing value. The ID must contain only letters (a-z, A-Z), # numbers (0-9), and underscores. Must begin with a letter and consist of 256 or # fewer characters. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # Output only. The resource name of the entity, of the form: projects/` # project_number`/locations/`location_id`/lakes/`lake_id`/zones/`zone_id`/ # entities/`id`. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Schema information describing the structure and layout of the data. # Corresponds to the JSON property `schema` # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1Schema] attr_accessor :schema # Required. Immutable. Identifies the storage system of the entity data. # Corresponds to the JSON property `system` # @return [String] attr_accessor :system # Required. Immutable. The type of entity. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type # Output only. The time when the entity was last updated. # Corresponds to the JSON property `updateTime` # @return [String] attr_accessor :update_time def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @asset = args[:asset] if args.key?(:asset) @catalog_entry = args[:catalog_entry] if args.key?(:catalog_entry) @compatibility = args[:compatibility] if args.key?(:compatibility) @create_time = args[:create_time] if args.key?(:create_time) @data_path = args[:data_path] if args.key?(:data_path) @data_path_pattern = args[:data_path_pattern] if args.key?(:data_path_pattern) @description = args[:description] if args.key?(:description) @display_name = args[:display_name] if args.key?(:display_name) @etag = args[:etag] if args.key?(:etag) @format = args[:format] if args.key?(:format) @id = args[:id] if args.key?(:id) @name = args[:name] if args.key?(:name) @schema = args[:schema] if args.key?(:schema) @system = args[:system] if args.key?(:system) @type = args[:type] if args.key?(:type) @update_time = args[:update_time] if args.key?(:update_time) end end # Provides compatibility information for various metadata stores. class GoogleCloudDataplexV1EntityCompatibilityStatus include Google::Apis::Core::Hashable # Provides compatibility information for a specific metadata store. # Corresponds to the JSON property `bigquery` # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1EntityCompatibilityStatusCompatibility] attr_accessor :bigquery # Provides compatibility information for a specific metadata store. # Corresponds to the JSON property `hiveMetastore` # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1EntityCompatibilityStatusCompatibility] attr_accessor :hive_metastore def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @bigquery = args[:bigquery] if args.key?(:bigquery) @hive_metastore = args[:hive_metastore] if args.key?(:hive_metastore) end end # Provides compatibility information for a specific metadata store. class GoogleCloudDataplexV1EntityCompatibilityStatusCompatibility include Google::Apis::Core::Hashable # Output only. Whether the entity is compatible and can be represented in the # metadata store. # Corresponds to the JSON property `compatible` # @return [Boolean] attr_accessor :compatible alias_method :compatible?, :compatible # Output only. Provides additional detail if the entity is incompatible with the # metadata store. # Corresponds to the JSON property `reason` # @return [String] attr_accessor :reason def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @compatible = args[:compatible] if args.key?(:compatible) @reason = args[:reason] if args.key?(:reason) end end # Environment represents a user-visible compute infrastructure for analytics # within a lake. class GoogleCloudDataplexV1Environment include Google::Apis::Core::Hashable # Output only. Environment creation time. # Corresponds to the JSON property `createTime` # @return [String] attr_accessor :create_time # Optional. Description of the environment. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Optional. User friendly display name. # Corresponds to the JSON property `displayName` # @return [String] attr_accessor :display_name # Output only. URI Endpoints to access sessions associated with the Environment. # Corresponds to the JSON property `endpoints` # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1EnvironmentEndpoints] attr_accessor :endpoints # Configuration for the underlying infrastructure used to run workloads. # Corresponds to the JSON property `infrastructureSpec` # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1EnvironmentInfrastructureSpec] attr_accessor :infrastructure_spec # Optional. User defined labels for the environment. # Corresponds to the JSON property `labels` # @return [Hash] attr_accessor :labels # Output only. The relative resource name of the environment, of the form: # projects/`project_id`/locations/`location_id`/lakes/`lake_id`/environment/` # environment_id` # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Optional. Configuration for sessions created for this environment. # Corresponds to the JSON property `sessionSpec` # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1EnvironmentSessionSpec] attr_accessor :session_spec # Output only. Status of sessions created for this environment. # Corresponds to the JSON property `sessionStatus` # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1EnvironmentSessionStatus] attr_accessor :session_status # Output only. Current state of the environment. # Corresponds to the JSON property `state` # @return [String] attr_accessor :state # Output only. System generated globally unique ID for the environment. This ID # will be different if the environment is deleted and re-created with the same # name. # Corresponds to the JSON property `uid` # @return [String] attr_accessor :uid # Output only. The time when the environment was last updated. # Corresponds to the JSON property `updateTime` # @return [String] attr_accessor :update_time def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @create_time = args[:create_time] if args.key?(:create_time) @description = args[:description] if args.key?(:description) @display_name = args[:display_name] if args.key?(:display_name) @endpoints = args[:endpoints] if args.key?(:endpoints) @infrastructure_spec = args[:infrastructure_spec] if args.key?(:infrastructure_spec) @labels = args[:labels] if args.key?(:labels) @name = args[:name] if args.key?(:name) @session_spec = args[:session_spec] if args.key?(:session_spec) @session_status = args[:session_status] if args.key?(:session_status) @state = args[:state] if args.key?(:state) @uid = args[:uid] if args.key?(:uid) @update_time = args[:update_time] if args.key?(:update_time) end end # class GoogleCloudDataplexV1EnvironmentEndpoints include Google::Apis::Core::Hashable # Output only. URI to serve notebook APIs # Corresponds to the JSON property `notebooks` # @return [String] attr_accessor :notebooks # Output only. URI to serve SQL APIs # Corresponds to the JSON property `sql` # @return [String] attr_accessor :sql def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @notebooks = args[:notebooks] if args.key?(:notebooks) @sql = args[:sql] if args.key?(:sql) end end # Configuration for the underlying infrastructure used to run workloads. class GoogleCloudDataplexV1EnvironmentInfrastructureSpec include Google::Apis::Core::Hashable # Compute resources associated with the analyze interactive workloads. # Corresponds to the JSON property `compute` # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1EnvironmentInfrastructureSpecComputeResources] attr_accessor :compute # Software Runtime Configuration to run Analyze. # Corresponds to the JSON property `osImage` # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1EnvironmentInfrastructureSpecOsImageRuntime] attr_accessor :os_image def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @compute = args[:compute] if args.key?(:compute) @os_image = args[:os_image] if args.key?(:os_image) end end # Compute resources associated with the analyze interactive workloads. class GoogleCloudDataplexV1EnvironmentInfrastructureSpecComputeResources include Google::Apis::Core::Hashable # Optional. Size in GB of the disk. Default is 100 GB. # Corresponds to the JSON property `diskSizeGb` # @return [Fixnum] attr_accessor :disk_size_gb # Optional. Max configurable nodes. If max_node_count > node_count, then auto- # scaling is enabled. # Corresponds to the JSON property `maxNodeCount` # @return [Fixnum] attr_accessor :max_node_count # Optional. Total number of nodes in the sessions created for this environment. # Corresponds to the JSON property `nodeCount` # @return [Fixnum] attr_accessor :node_count def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb) @max_node_count = args[:max_node_count] if args.key?(:max_node_count) @node_count = args[:node_count] if args.key?(:node_count) end end # Software Runtime Configuration to run Analyze. class GoogleCloudDataplexV1EnvironmentInfrastructureSpecOsImageRuntime include Google::Apis::Core::Hashable # Required. Dataplex Image version. # Corresponds to the JSON property `imageVersion` # @return [String] attr_accessor :image_version # Optional. List of Java jars to be included in the runtime environment. Valid # input includes Cloud Storage URIs to Jar binaries. For example, gs://bucket- # name/my/path/to/file.jar # Corresponds to the JSON property `javaLibraries` # @return [Array] attr_accessor :java_libraries # Optional. Spark properties to provide configuration for use in sessions # created for this environment. The properties to set on daemon config files. # Property keys are specified in prefix:property format. The prefix must be " # spark". # Corresponds to the JSON property `properties` # @return [Hash] attr_accessor :properties # Optional. A list of python packages to be installed. Valid formats include # Cloud Storage URI to a PIP installable library. For example, gs://bucket-name/ # my/path/to/lib.tar.gz # Corresponds to the JSON property `pythonPackages` # @return [Array] attr_accessor :python_packages def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @image_version = args[:image_version] if args.key?(:image_version) @java_libraries = args[:java_libraries] if args.key?(:java_libraries) @properties = args[:properties] if args.key?(:properties) @python_packages = args[:python_packages] if args.key?(:python_packages) end end # class GoogleCloudDataplexV1EnvironmentSessionSpec include Google::Apis::Core::Hashable # Optional. If True, this causes sessions to be pre-created and available for # faster startup to enable interactive exploration use-cases. This defaults to # False to avoid additional billed charges. These can only be set to True for # the environment with name set to "default", and with default configuration. # Corresponds to the JSON property `enableFastStartup` # @return [Boolean] attr_accessor :enable_fast_startup alias_method :enable_fast_startup?, :enable_fast_startup # Optional. The idle time configuration of the session. The session will be auto- # terminated at the end of this period. # Corresponds to the JSON property `maxIdleDuration` # @return [String] attr_accessor :max_idle_duration def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @enable_fast_startup = args[:enable_fast_startup] if args.key?(:enable_fast_startup) @max_idle_duration = args[:max_idle_duration] if args.key?(:max_idle_duration) end end # class GoogleCloudDataplexV1EnvironmentSessionStatus include Google::Apis::Core::Hashable # Output only. Queries over sessions to mark whether the environment is # currently active or not # Corresponds to the JSON property `active` # @return [Boolean] attr_accessor :active alias_method :active?, :active def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @active = args[:active] if args.key?(:active) end end # A job represents an instance of a task. class GoogleCloudDataplexV1Job include Google::Apis::Core::Hashable # Output only. The time when the job ended. # Corresponds to the JSON property `endTime` # @return [String] attr_accessor :end_time # Output only. Additional information about the current state. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message # Output only. The relative resource name of the job, of the form: projects/` # project_number`/locations/`location_id`/lakes/`lake_id`/ tasks/`task_id`/jobs/` # job_id`. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Output only. . The number of times the job has been retried (excluding the # initial attempt). # Corresponds to the JSON property `retryCount` # @return [Fixnum] attr_accessor :retry_count # Output only. The underlying service running a job. # Corresponds to the JSON property `service` # @return [String] attr_accessor :service # Output only. The full resource name for the job run under a particular service. # Corresponds to the JSON property `serviceJob` # @return [String] attr_accessor :service_job # Output only. The time when the job was started. # Corresponds to the JSON property `startTime` # @return [String] attr_accessor :start_time # Output only. Execution state for the job. # Corresponds to the JSON property `state` # @return [String] attr_accessor :state # Output only. System generated globally unique ID for the job. # Corresponds to the JSON property `uid` # @return [String] attr_accessor :uid def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @end_time = args[:end_time] if args.key?(:end_time) @message = args[:message] if args.key?(:message) @name = args[:name] if args.key?(:name) @retry_count = args[:retry_count] if args.key?(:retry_count) @service = args[:service] if args.key?(:service) @service_job = args[:service_job] if args.key?(:service_job) @start_time = args[:start_time] if args.key?(:start_time) @state = args[:state] if args.key?(:state) @uid = args[:uid] if args.key?(:uid) end end # The payload associated with Job logs that contains events describing jobs that # have run within a Lake. class GoogleCloudDataplexV1JobEvent include Google::Apis::Core::Hashable # The time when the job ended running. # Corresponds to the JSON property `endTime` # @return [String] attr_accessor :end_time # The unique id identifying the job. # Corresponds to the JSON property `jobId` # @return [String] attr_accessor :job_id # The log message. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message # The number of retries. # Corresponds to the JSON property `retries` # @return [Fixnum] attr_accessor :retries # The service used to execute the job. # Corresponds to the JSON property `service` # @return [String] attr_accessor :service # The reference to the job within the service. # Corresponds to the JSON property `serviceJob` # @return [String] attr_accessor :service_job # The time when the job started running. # Corresponds to the JSON property `startTime` # @return [String] attr_accessor :start_time # The job state on completion. # Corresponds to the JSON property `state` # @return [String] attr_accessor :state # The type of the job. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @end_time = args[:end_time] if args.key?(:end_time) @job_id = args[:job_id] if args.key?(:job_id) @message = args[:message] if args.key?(:message) @retries = args[:retries] if args.key?(:retries) @service = args[:service] if args.key?(:service) @service_job = args[:service_job] if args.key?(:service_job) @start_time = args[:start_time] if args.key?(:start_time) @state = args[:state] if args.key?(:state) @type = args[:type] if args.key?(:type) end end # A lake is a centralized repository for managing enterprise data across the # organization distributed across many cloud projects, and stored in a variety # of storage services such as Google Cloud Storage and BigQuery. The resources # attached to a lake are referred to as managed resources. Data within these # managed resources can be structured or unstructured. A lake provides data # admins with tools to organize, secure and manage their data at scale, and # provides data scientists and data engineers an integrated experience to easily # search, discover, analyze and transform data and associated metadata. class GoogleCloudDataplexV1Lake include Google::Apis::Core::Hashable # Aggregated status of the underlying assets of a lake or zone. # Corresponds to the JSON property `assetStatus` # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1AssetStatus] attr_accessor :asset_status # Output only. The time when the lake was created. # Corresponds to the JSON property `createTime` # @return [String] attr_accessor :create_time # Optional. Description of the lake. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Optional. User friendly display name. # Corresponds to the JSON property `displayName` # @return [String] attr_accessor :display_name # Optional. User-defined labels for the lake. # Corresponds to the JSON property `labels` # @return [Hash] attr_accessor :labels # Settings to manage association of Dataproc Metastore with a lake. # Corresponds to the JSON property `metastore` # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1LakeMetastore] attr_accessor :metastore # Status of Lake and Dataproc Metastore service instance association. # Corresponds to the JSON property `metastoreStatus` # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1LakeMetastoreStatus] attr_accessor :metastore_status # Output only. The relative resource name of the lake, of the form: projects/` # project_number`/locations/`location_id`/lakes/`lake_id`. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Output only. Service account associated with this lake. This service account # must be authorized to access or operate on resources managed by the lake. # Corresponds to the JSON property `serviceAccount` # @return [String] attr_accessor :service_account # Output only. Current state of the lake. # Corresponds to the JSON property `state` # @return [String] attr_accessor :state # Output only. System generated globally unique ID for the lake. This ID will be # different if the lake is deleted and re-created with the same name. # Corresponds to the JSON property `uid` # @return [String] attr_accessor :uid # Output only. The time when the lake was last updated. # Corresponds to the JSON property `updateTime` # @return [String] attr_accessor :update_time def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @asset_status = args[:asset_status] if args.key?(:asset_status) @create_time = args[:create_time] if args.key?(:create_time) @description = args[:description] if args.key?(:description) @display_name = args[:display_name] if args.key?(:display_name) @labels = args[:labels] if args.key?(:labels) @metastore = args[:metastore] if args.key?(:metastore) @metastore_status = args[:metastore_status] if args.key?(:metastore_status) @name = args[:name] if args.key?(:name) @service_account = args[:service_account] if args.key?(:service_account) @state = args[:state] if args.key?(:state) @uid = args[:uid] if args.key?(:uid) @update_time = args[:update_time] if args.key?(:update_time) end end # Settings to manage association of Dataproc Metastore with a lake. class GoogleCloudDataplexV1LakeMetastore include Google::Apis::Core::Hashable # Optional. A relative reference to the Dataproc Metastore (https://cloud.google. # com/dataproc-metastore/docs) service associated with the lake: projects/` # project_id`/locations/`location_id`/services/`service_id` # Corresponds to the JSON property `service` # @return [String] attr_accessor :service def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @service = args[:service] if args.key?(:service) end end # Status of Lake and Dataproc Metastore service instance association. class GoogleCloudDataplexV1LakeMetastoreStatus include Google::Apis::Core::Hashable # The URI of the endpoint used to access the Metastore service. # Corresponds to the JSON property `endpoint` # @return [String] attr_accessor :endpoint # Additional information about the current status. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message # Current state of association. # Corresponds to the JSON property `state` # @return [String] attr_accessor :state # Last update time of the metastore status of the lake. # Corresponds to the JSON property `updateTime` # @return [String] attr_accessor :update_time def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @endpoint = args[:endpoint] if args.key?(:endpoint) @message = args[:message] if args.key?(:message) @state = args[:state] if args.key?(:state) @update_time = args[:update_time] if args.key?(:update_time) end end # List actions response. class GoogleCloudDataplexV1ListActionsResponse include Google::Apis::Core::Hashable # Actions under the given parent lake/zone/asset. # Corresponds to the JSON property `actions` # @return [Array] attr_accessor :actions # Token to retrieve the next page of results, or empty if there are no more # results in the list. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @actions = args[:actions] if args.key?(:actions) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) end end # List assets response. class GoogleCloudDataplexV1ListAssetsResponse include Google::Apis::Core::Hashable # Asset under the given parent zone. # Corresponds to the JSON property `assets` # @return [Array] attr_accessor :assets # Token to retrieve the next page of results, or empty if there are no more # results in the list. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @assets = args[:assets] if args.key?(:assets) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) end end # List content response. class GoogleCloudDataplexV1ListContentResponse include Google::Apis::Core::Hashable # Content under the given parent lake. # Corresponds to the JSON property `content` # @return [Array] attr_accessor :content # Token to retrieve the next page of results, or empty if there are no more # results in the list. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @content = args[:content] if args.key?(:content) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) end end # List metadata entities response. class GoogleCloudDataplexV1ListEntitiesResponse include Google::Apis::Core::Hashable # Entities in the specified parent zone. # Corresponds to the JSON property `entities` # @return [Array] attr_accessor :entities # Token to retrieve the next page of results, or empty if there are no remaining # results in the list. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @entities = args[:entities] if args.key?(:entities) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) end end # List environments response. class GoogleCloudDataplexV1ListEnvironmentsResponse include Google::Apis::Core::Hashable # Environments under the given parent lake. # Corresponds to the JSON property `environments` # @return [Array] attr_accessor :environments # Token to retrieve the next page of results, or empty if there are no more # results in the list. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @environments = args[:environments] if args.key?(:environments) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) end end # List jobs response. class GoogleCloudDataplexV1ListJobsResponse include Google::Apis::Core::Hashable # Jobs under a given task. # Corresponds to the JSON property `jobs` # @return [Array] attr_accessor :jobs # Token to retrieve the next page of results, or empty if there are no more # results in the list. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @jobs = args[:jobs] if args.key?(:jobs) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) end end # List lakes response. class GoogleCloudDataplexV1ListLakesResponse include Google::Apis::Core::Hashable # Lakes under the given parent location. # Corresponds to the JSON property `lakes` # @return [Array] attr_accessor :lakes # Token to retrieve the next page of results, or empty if there are no more # results in the list. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Locations that could not be reached. # Corresponds to the JSON property `unreachableLocations` # @return [Array] attr_accessor :unreachable_locations def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @lakes = args[:lakes] if args.key?(:lakes) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @unreachable_locations = args[:unreachable_locations] if args.key?(:unreachable_locations) end end # List metadata partitions response. class GoogleCloudDataplexV1ListPartitionsResponse include Google::Apis::Core::Hashable # Token to retrieve the next page of results, or empty if there are no remaining # results in the list. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Partitions under the specified parent entity. # Corresponds to the JSON property `partitions` # @return [Array] attr_accessor :partitions def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @partitions = args[:partitions] if args.key?(:partitions) end end # List sessions response. class GoogleCloudDataplexV1ListSessionsResponse include Google::Apis::Core::Hashable # Token to retrieve the next page of results, or empty if there are no more # results in the list. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Sessions under a given environment. # Corresponds to the JSON property `sessions` # @return [Array] attr_accessor :sessions def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @sessions = args[:sessions] if args.key?(:sessions) end end # List tasks response. class GoogleCloudDataplexV1ListTasksResponse include Google::Apis::Core::Hashable # Token to retrieve the next page of results, or empty if there are no more # results in the list. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Tasks under the given parent lake. # Corresponds to the JSON property `tasks` # @return [Array] attr_accessor :tasks # Locations that could not be reached. # Corresponds to the JSON property `unreachableLocations` # @return [Array] attr_accessor :unreachable_locations def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @tasks = args[:tasks] if args.key?(:tasks) @unreachable_locations = args[:unreachable_locations] if args.key?(:unreachable_locations) end end # List zones response. class GoogleCloudDataplexV1ListZonesResponse include Google::Apis::Core::Hashable # Token to retrieve the next page of results, or empty if there are no more # results in the list. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Zones under the given parent lake. # Corresponds to the JSON property `zones` # @return [Array] attr_accessor :zones def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @zones = args[:zones] if args.key?(:zones) end end # Represents the metadata of a long-running operation. class GoogleCloudDataplexV1OperationMetadata include Google::Apis::Core::Hashable # Output only. API version used to start the operation. # Corresponds to the JSON property `apiVersion` # @return [String] attr_accessor :api_version # Output only. The time the operation was created. # Corresponds to the JSON property `createTime` # @return [String] attr_accessor :create_time # Output only. The time the operation finished running. # Corresponds to the JSON property `endTime` # @return [String] attr_accessor :end_time # Output only. Identifies whether the user has requested cancellation of the # operation. Operations that have successfully been cancelled have Operation. # error value with a google.rpc.Status.code of 1, corresponding to Code. # CANCELLED. # Corresponds to the JSON property `requestedCancellation` # @return [Boolean] attr_accessor :requested_cancellation alias_method :requested_cancellation?, :requested_cancellation # Output only. Human-readable status of the operation, if any. # Corresponds to the JSON property `statusMessage` # @return [String] attr_accessor :status_message # Output only. Server-defined resource path for the target of the operation. # Corresponds to the JSON property `target` # @return [String] attr_accessor :target # Output only. Name of the verb executed by the operation. # Corresponds to the JSON property `verb` # @return [String] attr_accessor :verb def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @api_version = args[:api_version] if args.key?(:api_version) @create_time = args[:create_time] if args.key?(:create_time) @end_time = args[:end_time] if args.key?(:end_time) @requested_cancellation = args[:requested_cancellation] if args.key?(:requested_cancellation) @status_message = args[:status_message] if args.key?(:status_message) @target = args[:target] if args.key?(:target) @verb = args[:verb] if args.key?(:verb) end end # Represents partition metadata contained within entity instances. class GoogleCloudDataplexV1Partition include Google::Apis::Core::Hashable # Optional. The etag for this partition. # Corresponds to the JSON property `etag` # @return [String] attr_accessor :etag # Required. Immutable. The location of the entity data within the partition, for # example, gs://bucket/path/to/entity/key1=value1/key2=value2. Or projects// # datasets//tables/ # Corresponds to the JSON property `location` # @return [String] attr_accessor :location # Output only. Partition values used in the HTTP URL must be double encoded. For # example, url_encode(url_encode(value)) can be used to encode "US:CA/CA# # Sunnyvale so that the request URL ends with "/partitions/US%253ACA/CA% # 2523Sunnyvale". The name field in the response retains the encoded format. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Required. Immutable. The set of values representing the partition, which # correspond to the partition schema defined in the parent entity. # Corresponds to the JSON property `values` # @return [Array] attr_accessor :values def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @etag = args[:etag] if args.key?(:etag) @location = args[:location] if args.key?(:location) @name = args[:name] if args.key?(:name) @values = args[:values] if args.key?(:values) end end # Schema information describing the structure and layout of the data. class GoogleCloudDataplexV1Schema include Google::Apis::Core::Hashable # Optional. The sequence of fields describing data in table entities. Note: # BigQuery SchemaFields are immutable. # Corresponds to the JSON property `fields` # @return [Array] attr_accessor :fields # Optional. The sequence of fields describing the partition structure in # entities. If this field is empty, there are no partitions within the data. # Corresponds to the JSON property `partitionFields` # @return [Array] attr_accessor :partition_fields # Optional. The structure of paths containing partition data within the entity. # Corresponds to the JSON property `partitionStyle` # @return [String] attr_accessor :partition_style # Required. Set to true if user-managed or false if managed by Dataplex. The # default is false (managed by Dataplex). Set to falseto enable Dataplex # discovery to update the schema. including new data discovery, schema inference, # and schema evolution. Users retain the ability to input and edit the schema. # Dataplex treats schema input by the user as though produced by a previous # Dataplex discovery operation, and it will evolve the schema and take action # based on that treatment. Set to true to fully manage the entity schema. This # setting guarantees that Dataplex will not change schema fields. # Corresponds to the JSON property `userManaged` # @return [Boolean] attr_accessor :user_managed alias_method :user_managed?, :user_managed def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @fields = args[:fields] if args.key?(:fields) @partition_fields = args[:partition_fields] if args.key?(:partition_fields) @partition_style = args[:partition_style] if args.key?(:partition_style) @user_managed = args[:user_managed] if args.key?(:user_managed) end end # Represents a key field within the entity's partition structure. You could have # up to 20 partition fields, but only the first 10 partitions have the filtering # ability due to performance consideration. Note: Partition fields are immutable. class GoogleCloudDataplexV1SchemaPartitionField include Google::Apis::Core::Hashable # Required. Partition field name must consist of letters, numbers, and # underscores only, with a maximum of length of 256 characters, and must begin # with a letter or underscore.. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Required. Immutable. The type of field. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @name = args[:name] if args.key?(:name) @type = args[:type] if args.key?(:type) end end # Represents a column field within a table schema. class GoogleCloudDataplexV1SchemaSchemaField include Google::Apis::Core::Hashable # Optional. User friendly field description. Must be less than or equal to 1024 # characters. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Optional. Any nested field for complex types. # Corresponds to the JSON property `fields` # @return [Array] attr_accessor :fields # Required. Additional field semantics. # Corresponds to the JSON property `mode` # @return [String] attr_accessor :mode # Required. The name of the field. Must contain only letters, numbers and # underscores, with a maximum length of 767 characters, and must begin with a # letter or underscore. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Required. The type of field. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @description = args[:description] if args.key?(:description) @fields = args[:fields] if args.key?(:fields) @mode = args[:mode] if args.key?(:mode) @name = args[:name] if args.key?(:name) @type = args[:type] if args.key?(:type) end end # Represents an active analyze session running for a user. class GoogleCloudDataplexV1Session include Google::Apis::Core::Hashable # Output only. Session start time. # Corresponds to the JSON property `createTime` # @return [String] attr_accessor :create_time # Output only. The relative resource name of the content, of the form: projects/` # project_id`/locations/`location_id`/lakes/`lake_id`/environment/` # environment_id`/sessions/`session_id` # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # # Corresponds to the JSON property `state` # @return [String] attr_accessor :state # Output only. Email of user running the session. # Corresponds to the JSON property `userId` # @return [String] attr_accessor :user_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @create_time = args[:create_time] if args.key?(:create_time) @name = args[:name] if args.key?(:name) @state = args[:state] if args.key?(:state) @user_id = args[:user_id] if args.key?(:user_id) end end # These messages contain information about sessions within an environment. The # monitored resource is 'Environment'. class GoogleCloudDataplexV1SessionEvent include Google::Apis::Core::Hashable # The log message. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message # Execution details of the query. # Corresponds to the JSON property `query` # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1SessionEventQueryDetail] attr_accessor :query # Unique identifier for the session. # Corresponds to the JSON property `sessionId` # @return [String] attr_accessor :session_id # The type of the event. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type # The information about the user that created the session. # Corresponds to the JSON property `userId` # @return [String] attr_accessor :user_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @message = args[:message] if args.key?(:message) @query = args[:query] if args.key?(:query) @session_id = args[:session_id] if args.key?(:session_id) @type = args[:type] if args.key?(:type) @user_id = args[:user_id] if args.key?(:user_id) end end # Execution details of the query. class GoogleCloudDataplexV1SessionEventQueryDetail include Google::Apis::Core::Hashable # The data processed by the query. # Corresponds to the JSON property `dataProcessedBytes` # @return [Fixnum] attr_accessor :data_processed_bytes # Time taken for execution of the query. # Corresponds to the JSON property `duration` # @return [String] attr_accessor :duration # Query Execution engine. # Corresponds to the JSON property `engine` # @return [String] attr_accessor :engine # The unique Query id identifying the query. # Corresponds to the JSON property `queryId` # @return [String] attr_accessor :query_id # The query text executed. # Corresponds to the JSON property `queryText` # @return [String] attr_accessor :query_text # The size of results the query produced. # Corresponds to the JSON property `resultSizeBytes` # @return [Fixnum] attr_accessor :result_size_bytes def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @data_processed_bytes = args[:data_processed_bytes] if args.key?(:data_processed_bytes) @duration = args[:duration] if args.key?(:duration) @engine = args[:engine] if args.key?(:engine) @query_id = args[:query_id] if args.key?(:query_id) @query_text = args[:query_text] if args.key?(:query_text) @result_size_bytes = args[:result_size_bytes] if args.key?(:result_size_bytes) end end # Describes the format of the data within its storage location. class GoogleCloudDataplexV1StorageFormat include Google::Apis::Core::Hashable # Optional. The compression type associated with the stored data. If unspecified, # the data is uncompressed. # Corresponds to the JSON property `compressionFormat` # @return [String] attr_accessor :compression_format # Describes CSV and similar semi-structured data formats. # Corresponds to the JSON property `csv` # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1StorageFormatCsvOptions] attr_accessor :csv # Output only. The data format associated with the stored data, which represents # content type values. The value is inferred from mime type. # Corresponds to the JSON property `format` # @return [String] attr_accessor :format # Describes JSON data format. # Corresponds to the JSON property `json` # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1StorageFormatJsonOptions] attr_accessor :json # Required. The mime type descriptor for the data. Must match the pattern `type`/ # `subtype`. Supported values: application/x-parquet application/x-avro # application/x-orc application/x-tfrecord application/json application/` # subtypes` text/csv text/ image/`image subtype` video/`video subtype` audio/` # audio subtype` # Corresponds to the JSON property `mimeType` # @return [String] attr_accessor :mime_type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @compression_format = args[:compression_format] if args.key?(:compression_format) @csv = args[:csv] if args.key?(:csv) @format = args[:format] if args.key?(:format) @json = args[:json] if args.key?(:json) @mime_type = args[:mime_type] if args.key?(:mime_type) end end # Describes CSV and similar semi-structured data formats. class GoogleCloudDataplexV1StorageFormatCsvOptions include Google::Apis::Core::Hashable # Optional. The delimiter used to separate values. Defaults to ','. # Corresponds to the JSON property `delimiter` # @return [String] attr_accessor :delimiter # Optional. The character encoding of the data. Accepts "US-ASCII", "UTF-8", and # "ISO-8859-1". Defaults to UTF-8 if unspecified. # Corresponds to the JSON property `encoding` # @return [String] attr_accessor :encoding # Optional. The number of rows to interpret as header rows that should be # skipped when reading data rows. Defaults to 0. # Corresponds to the JSON property `headerRows` # @return [Fixnum] attr_accessor :header_rows # Optional. The character used to quote column values. Accepts '"' (double # quotation mark) or ''' (single quotation mark). Defaults to '"' (double # quotation mark) if unspecified. # Corresponds to the JSON property `quote` # @return [String] attr_accessor :quote def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @delimiter = args[:delimiter] if args.key?(:delimiter) @encoding = args[:encoding] if args.key?(:encoding) @header_rows = args[:header_rows] if args.key?(:header_rows) @quote = args[:quote] if args.key?(:quote) end end # Describes JSON data format. class GoogleCloudDataplexV1StorageFormatJsonOptions include Google::Apis::Core::Hashable # Optional. The character encoding of the data. Accepts "US-ASCII", "UTF-8" and " # ISO-8859-1". Defaults to UTF-8 if not specified. # Corresponds to the JSON property `encoding` # @return [String] attr_accessor :encoding def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @encoding = args[:encoding] if args.key?(:encoding) end end # A task represents a user-visible job. class GoogleCloudDataplexV1Task include Google::Apis::Core::Hashable # Output only. The time when the task was created. # Corresponds to the JSON property `createTime` # @return [String] attr_accessor :create_time # Optional. Description of the task. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Optional. User friendly display name. # Corresponds to the JSON property `displayName` # @return [String] attr_accessor :display_name # Execution related settings, like retry and service_account. # Corresponds to the JSON property `executionSpec` # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1TaskExecutionSpec] attr_accessor :execution_spec # Optional. User-defined labels for the task. # Corresponds to the JSON property `labels` # @return [Hash] attr_accessor :labels # Output only. The relative resource name of the task, of the form: projects/` # project_number`/locations/`location_id`/lakes/`lake_id`/ tasks/`task_id`. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # User-specified config for running a Spark task. # Corresponds to the JSON property `spark` # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1TaskSparkTaskConfig] attr_accessor :spark # Output only. Current state of the task. # Corresponds to the JSON property `state` # @return [String] attr_accessor :state # Task scheduling and trigger settings. # Corresponds to the JSON property `triggerSpec` # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1TaskTriggerSpec] attr_accessor :trigger_spec # Output only. System generated globally unique ID for the task. This ID will be # different if the task is deleted and re-created with the same name. # Corresponds to the JSON property `uid` # @return [String] attr_accessor :uid # Output only. The time when the task was last updated. # Corresponds to the JSON property `updateTime` # @return [String] attr_accessor :update_time def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @create_time = args[:create_time] if args.key?(:create_time) @description = args[:description] if args.key?(:description) @display_name = args[:display_name] if args.key?(:display_name) @execution_spec = args[:execution_spec] if args.key?(:execution_spec) @labels = args[:labels] if args.key?(:labels) @name = args[:name] if args.key?(:name) @spark = args[:spark] if args.key?(:spark) @state = args[:state] if args.key?(:state) @trigger_spec = args[:trigger_spec] if args.key?(:trigger_spec) @uid = args[:uid] if args.key?(:uid) @update_time = args[:update_time] if args.key?(:update_time) end end # Execution related settings, like retry and service_account. class GoogleCloudDataplexV1TaskExecutionSpec include Google::Apis::Core::Hashable # Optional. The arguments to pass to the task. The args can use placeholders of # the format $`placeholder` as part of key/value string. These will be # interpolated before passing the args to the driver. Currently supported # placeholders: - $`task_id` - $`job_time` To pass positional args, set the key # as TASK_ARGS. The value should be a comma-separated string of all the # positional arguments. To use a delimiter other than comma, refer to https:// # cloud.google.com/sdk/gcloud/reference/topic/escaping. In case of other keys # being present in the args, then TASK_ARGS will be passed as the last argument. # Corresponds to the JSON property `args` # @return [Hash] attr_accessor :args # Optional. The maximum duration after which the job execution is expired. # Corresponds to the JSON property `maxJobExecutionLifetime` # @return [String] attr_accessor :max_job_execution_lifetime # Required. Service account to use to execute a task. If not provided, the # default Compute service account for the project is used. # Corresponds to the JSON property `serviceAccount` # @return [String] attr_accessor :service_account def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @args = args[:args] if args.key?(:args) @max_job_execution_lifetime = args[:max_job_execution_lifetime] if args.key?(:max_job_execution_lifetime) @service_account = args[:service_account] if args.key?(:service_account) end end # Configuration for the underlying infrastructure used to run workloads. class GoogleCloudDataplexV1TaskInfrastructureSpec include Google::Apis::Core::Hashable # Batch compute resources associated with the task. # Corresponds to the JSON property `batch` # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1TaskInfrastructureSpecBatchComputeResources] attr_accessor :batch # Container Image Runtime Configuration used with Batch execution. # Corresponds to the JSON property `containerImage` # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1TaskInfrastructureSpecContainerImageRuntime] attr_accessor :container_image # Cloud VPC Network used to run the infrastructure. # Corresponds to the JSON property `vpcNetwork` # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1TaskInfrastructureSpecVpcNetwork] attr_accessor :vpc_network def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @batch = args[:batch] if args.key?(:batch) @container_image = args[:container_image] if args.key?(:container_image) @vpc_network = args[:vpc_network] if args.key?(:vpc_network) end end # Batch compute resources associated with the task. class GoogleCloudDataplexV1TaskInfrastructureSpecBatchComputeResources include Google::Apis::Core::Hashable # Optional. Total number of job executors. # Corresponds to the JSON property `executorsCount` # @return [Fixnum] attr_accessor :executors_count # Optional. Max configurable executors. If max_executors_count > executors_count, # then auto-scaling is enabled. # Corresponds to the JSON property `maxExecutorsCount` # @return [Fixnum] attr_accessor :max_executors_count def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @executors_count = args[:executors_count] if args.key?(:executors_count) @max_executors_count = args[:max_executors_count] if args.key?(:max_executors_count) end end # Container Image Runtime Configuration used with Batch execution. class GoogleCloudDataplexV1TaskInfrastructureSpecContainerImageRuntime include Google::Apis::Core::Hashable # Optional. A list of Java JARS to add to the classpath. Valid input includes # Cloud Storage URIs to Jar binaries. For example, gs://bucket-name/my/path/to/ # file.jar # Corresponds to the JSON property `javaJars` # @return [Array] attr_accessor :java_jars # Optional. Override to common configuration of open source components installed # on the Dataproc cluster. The properties to set on daemon config files. # Property keys are specified in prefix:property format, for example core:hadoop. # tmp.dir. For more information, see Cluster properties (https://cloud.google. # com/dataproc/docs/concepts/cluster-properties). # Corresponds to the JSON property `properties` # @return [Hash] attr_accessor :properties # Optional. A list of python packages to be installed. Valid formats include # Cloud Storage URI to a PIP installable library. For example, gs://bucket-name/ # my/path/to/lib.tar.gz # Corresponds to the JSON property `pythonPackages` # @return [Array] attr_accessor :python_packages def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @java_jars = args[:java_jars] if args.key?(:java_jars) @properties = args[:properties] if args.key?(:properties) @python_packages = args[:python_packages] if args.key?(:python_packages) end end # Cloud VPC Network used to run the infrastructure. class GoogleCloudDataplexV1TaskInfrastructureSpecVpcNetwork include Google::Apis::Core::Hashable # Optional. The Cloud VPC network in which the job is run. By default, the Cloud # VPC network named Default within the project is used. # Corresponds to the JSON property `network` # @return [String] attr_accessor :network # Optional. List of network tags to apply to the job. # Corresponds to the JSON property `networkTags` # @return [Array] attr_accessor :network_tags # Optional. The Cloud VPC sub-network in which the job is run. # Corresponds to the JSON property `subNetwork` # @return [String] attr_accessor :sub_network def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @network = args[:network] if args.key?(:network) @network_tags = args[:network_tags] if args.key?(:network_tags) @sub_network = args[:sub_network] if args.key?(:sub_network) end end # User-specified config for running a Spark task. class GoogleCloudDataplexV1TaskSparkTaskConfig include Google::Apis::Core::Hashable # Optional. Cloud Storage URIs of archives to be extracted into the working # directory of each executor. Supported file types: .jar, .tar, .tar.gz, .tgz, # and .zip. # Corresponds to the JSON property `archiveUris` # @return [Array] attr_accessor :archive_uris # Optional. Cloud Storage URIs of files to be placed in the working directory of # each executor. # Corresponds to the JSON property `fileUris` # @return [Array] attr_accessor :file_uris # Configuration for the underlying infrastructure used to run workloads. # Corresponds to the JSON property `infrastructureSpec` # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1TaskInfrastructureSpec] attr_accessor :infrastructure_spec # The name of the driver's main class. The jar file that contains the class must # be in the default CLASSPATH or specified in jar_file_uris. The execution args # are passed in as a sequence of named process arguments (--key=value). # Corresponds to the JSON property `mainClass` # @return [String] attr_accessor :main_class # The Cloud Storage URI of the jar file that contains the main class. The # execution args are passed in as a sequence of named process arguments (--key= # value). # Corresponds to the JSON property `mainJarFileUri` # @return [String] attr_accessor :main_jar_file_uri # The Gcloud Storage URI of the main Python file to use as the driver. Must be a # .py file. The execution args are passed in as a sequence of named process # arguments (--key=value). # Corresponds to the JSON property `pythonScriptFile` # @return [String] attr_accessor :python_script_file # The query text. The execution args are used to declare a set of script # variables (set key="value";). # Corresponds to the JSON property `sqlScript` # @return [String] attr_accessor :sql_script # A reference to a query file. This can be the Cloud Storage URI of the query # file or it can the path to a SqlScript Content. The execution args are used to # declare a set of script variables (set key="value";). # Corresponds to the JSON property `sqlScriptFile` # @return [String] attr_accessor :sql_script_file def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @archive_uris = args[:archive_uris] if args.key?(:archive_uris) @file_uris = args[:file_uris] if args.key?(:file_uris) @infrastructure_spec = args[:infrastructure_spec] if args.key?(:infrastructure_spec) @main_class = args[:main_class] if args.key?(:main_class) @main_jar_file_uri = args[:main_jar_file_uri] if args.key?(:main_jar_file_uri) @python_script_file = args[:python_script_file] if args.key?(:python_script_file) @sql_script = args[:sql_script] if args.key?(:sql_script) @sql_script_file = args[:sql_script_file] if args.key?(:sql_script_file) end end # Task scheduling and trigger settings. class GoogleCloudDataplexV1TaskTriggerSpec include Google::Apis::Core::Hashable # Optional. Prevent the task from executing. This does not cancel already # running tasks. It is intended to temporarily disable RECURRING tasks. # Corresponds to the JSON property `disabled` # @return [Boolean] attr_accessor :disabled alias_method :disabled?, :disabled # Optional. Number of retry attempts before aborting. Set to zero to never # attempt to retry a failed task. # Corresponds to the JSON property `maxRetries` # @return [Fixnum] attr_accessor :max_retries # Optional. Cron schedule (https://en.wikipedia.org/wiki/Cron) for running tasks # periodically. To explicitly set a timezone to the cron tab, apply a prefix in # the cron tab: "CRON_TZ=$`IANA_TIME_ZONE`" or "TZ=$`IANA_TIME_ZONE`". The $` # IANA_TIME_ZONE` may only be a valid string from IANA time zone database. For # example, "CRON_TZ=America/New_York 1 * * * *", or "TZ=America/New_York 1 * * * # *". This field is required for RECURRING tasks. # Corresponds to the JSON property `schedule` # @return [String] attr_accessor :schedule # Optional. The first run of the task will be after this time. If not specified, # the task will run shortly after being submitted if ON_DEMAND and based on the # schedule if RECURRING. # Corresponds to the JSON property `startTime` # @return [String] attr_accessor :start_time # Required. Immutable. Trigger type of the user-specified Task. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @disabled = args[:disabled] if args.key?(:disabled) @max_retries = args[:max_retries] if args.key?(:max_retries) @schedule = args[:schedule] if args.key?(:schedule) @start_time = args[:start_time] if args.key?(:start_time) @type = args[:type] if args.key?(:type) end end # A zone represents a logical group of related assets within a lake. A zone can # be used to map to organizational structure or represent stages of data # readiness from raw to curated. It provides managing behavior that is shared or # inherited by all contained assets. class GoogleCloudDataplexV1Zone include Google::Apis::Core::Hashable # Aggregated status of the underlying assets of a lake or zone. # Corresponds to the JSON property `assetStatus` # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1AssetStatus] attr_accessor :asset_status # Output only. The time when the zone was created. # Corresponds to the JSON property `createTime` # @return [String] attr_accessor :create_time # Optional. Description of the zone. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Settings to manage the metadata discovery and publishing in a zone. # Corresponds to the JSON property `discoverySpec` # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1ZoneDiscoverySpec] attr_accessor :discovery_spec # Optional. User friendly display name. # Corresponds to the JSON property `displayName` # @return [String] attr_accessor :display_name # Optional. User defined labels for the zone. # Corresponds to the JSON property `labels` # @return [Hash] attr_accessor :labels # Output only. The relative resource name of the zone, of the form: projects/` # project_number`/locations/`location_id`/lakes/`lake_id`/zones/`zone_id`. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Settings for resources attached as assets within a zone. # Corresponds to the JSON property `resourceSpec` # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1ZoneResourceSpec] attr_accessor :resource_spec # Output only. Current state of the zone. # Corresponds to the JSON property `state` # @return [String] attr_accessor :state # Required. Immutable. The type of the zone. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type # Output only. System generated globally unique ID for the zone. This ID will be # different if the zone is deleted and re-created with the same name. # Corresponds to the JSON property `uid` # @return [String] attr_accessor :uid # Output only. The time when the zone was last updated. # Corresponds to the JSON property `updateTime` # @return [String] attr_accessor :update_time def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @asset_status = args[:asset_status] if args.key?(:asset_status) @create_time = args[:create_time] if args.key?(:create_time) @description = args[:description] if args.key?(:description) @discovery_spec = args[:discovery_spec] if args.key?(:discovery_spec) @display_name = args[:display_name] if args.key?(:display_name) @labels = args[:labels] if args.key?(:labels) @name = args[:name] if args.key?(:name) @resource_spec = args[:resource_spec] if args.key?(:resource_spec) @state = args[:state] if args.key?(:state) @type = args[:type] if args.key?(:type) @uid = args[:uid] if args.key?(:uid) @update_time = args[:update_time] if args.key?(:update_time) end end # Settings to manage the metadata discovery and publishing in a zone. class GoogleCloudDataplexV1ZoneDiscoverySpec include Google::Apis::Core::Hashable # Describe CSV and similar semi-structured data formats. # Corresponds to the JSON property `csvOptions` # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1ZoneDiscoverySpecCsvOptions] attr_accessor :csv_options # Required. Whether discovery is enabled. # Corresponds to the JSON property `enabled` # @return [Boolean] attr_accessor :enabled alias_method :enabled?, :enabled # Optional. The list of patterns to apply for selecting data to exclude during # discovery. For Cloud Storage bucket assets, these are interpreted as glob # patterns used to match object names. For BigQuery dataset assets, these are # interpreted as patterns to match table names. # Corresponds to the JSON property `excludePatterns` # @return [Array] attr_accessor :exclude_patterns # Optional. The list of patterns to apply for selecting data to include during # discovery if only a subset of the data should considered. For Cloud Storage # bucket assets, these are interpreted as glob patterns used to match object # names. For BigQuery dataset assets, these are interpreted as patterns to match # table names. # Corresponds to the JSON property `includePatterns` # @return [Array] attr_accessor :include_patterns # Describe JSON data format. # Corresponds to the JSON property `jsonOptions` # @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1ZoneDiscoverySpecJsonOptions] attr_accessor :json_options # Optional. Cron schedule (https://en.wikipedia.org/wiki/Cron) for running # discovery periodically. Successive discovery runs must be scheduled at least # 60 minutes apart. The default value is to run discovery every 60 minutes. To # explicitly set a timezone to the cron tab, apply a prefix in the cron tab: " # CRON_TZ=$`IANA_TIME_ZONE`" or TZ=$`IANA_TIME_ZONE`". The $`IANA_TIME_ZONE` may # only be a valid string from IANA time zone database. For example, "CRON_TZ= # America/New_York 1 * * * *", or "TZ=America/New_York 1 * * * *". # Corresponds to the JSON property `schedule` # @return [String] attr_accessor :schedule def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @csv_options = args[:csv_options] if args.key?(:csv_options) @enabled = args[:enabled] if args.key?(:enabled) @exclude_patterns = args[:exclude_patterns] if args.key?(:exclude_patterns) @include_patterns = args[:include_patterns] if args.key?(:include_patterns) @json_options = args[:json_options] if args.key?(:json_options) @schedule = args[:schedule] if args.key?(:schedule) end end # Describe CSV and similar semi-structured data formats. class GoogleCloudDataplexV1ZoneDiscoverySpecCsvOptions include Google::Apis::Core::Hashable # Optional. The delimiter being used to separate values. This defaults to ','. # Corresponds to the JSON property `delimiter` # @return [String] attr_accessor :delimiter # Optional. Whether to disable the inference of data type for CSV data. If true, # all columns will be registered as strings. # Corresponds to the JSON property `disableTypeInference` # @return [Boolean] attr_accessor :disable_type_inference alias_method :disable_type_inference?, :disable_type_inference # Optional. The character encoding of the data. The default is UTF-8. # Corresponds to the JSON property `encoding` # @return [String] attr_accessor :encoding # Optional. The number of rows to interpret as header rows that should be # skipped when reading data rows. # Corresponds to the JSON property `headerRows` # @return [Fixnum] attr_accessor :header_rows def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @delimiter = args[:delimiter] if args.key?(:delimiter) @disable_type_inference = args[:disable_type_inference] if args.key?(:disable_type_inference) @encoding = args[:encoding] if args.key?(:encoding) @header_rows = args[:header_rows] if args.key?(:header_rows) end end # Describe JSON data format. class GoogleCloudDataplexV1ZoneDiscoverySpecJsonOptions include Google::Apis::Core::Hashable # Optional. Whether to disable the inference of data type for Json data. If true, # all columns will be registered as their primitive types (strings, number or # boolean). # Corresponds to the JSON property `disableTypeInference` # @return [Boolean] attr_accessor :disable_type_inference alias_method :disable_type_inference?, :disable_type_inference # Optional. The character encoding of the data. The default is UTF-8. # Corresponds to the JSON property `encoding` # @return [String] attr_accessor :encoding def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @disable_type_inference = args[:disable_type_inference] if args.key?(:disable_type_inference) @encoding = args[:encoding] if args.key?(:encoding) end end # Settings for resources attached as assets within a zone. class GoogleCloudDataplexV1ZoneResourceSpec include Google::Apis::Core::Hashable # Required. Immutable. The location type of the resources that are allowed to be # attached to the assets within this zone. # Corresponds to the JSON property `locationType` # @return [String] attr_accessor :location_type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @location_type = args[:location_type] if args.key?(:location_type) end end # The response message for Locations.ListLocations. class GoogleCloudLocationListLocationsResponse include Google::Apis::Core::Hashable # A list of locations that matches the specified filter in the request. # Corresponds to the JSON property `locations` # @return [Array] attr_accessor :locations # The standard List next-page token. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @locations = args[:locations] if args.key?(:locations) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) end end # A resource that represents Google Cloud Platform location. class GoogleCloudLocationLocation include Google::Apis::Core::Hashable # The friendly name for this location, typically a nearby city name. For example, # "Tokyo". # Corresponds to the JSON property `displayName` # @return [String] attr_accessor :display_name # Cross-service attributes for the location. For example `"cloud.googleapis.com/ # region": "us-east1"` # Corresponds to the JSON property `labels` # @return [Hash] attr_accessor :labels # The canonical id for this location. For example: "us-east1". # Corresponds to the JSON property `locationId` # @return [String] attr_accessor :location_id # Service-specific metadata. For example the available capacity at the given # location. # Corresponds to the JSON property `metadata` # @return [Hash] attr_accessor :metadata # Resource name for the location, which may vary between implementations. For # example: "projects/example-project/locations/us-east1" # Corresponds to the JSON property `name` # @return [String] attr_accessor :name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @display_name = args[:display_name] if args.key?(:display_name) @labels = args[:labels] if args.key?(:labels) @location_id = args[:location_id] if args.key?(:location_id) @metadata = args[:metadata] if args.key?(:metadata) @name = args[:name] if args.key?(:name) end end # Specifies the audit configuration for a service. The configuration determines # which permission types are logged, and what identities, if any, are exempted # from logging. An AuditConfig must have one or more AuditLogConfigs.If there # are AuditConfigs for both allServices and a specific service, the union of the # two AuditConfigs is used for that service: the log_types specified in each # AuditConfig are enabled, and the exempted_members in each AuditLogConfig are # exempted.Example Policy with multiple AuditConfigs: ` "audit_configs": [ ` " # service": "allServices", "audit_log_configs": [ ` "log_type": "DATA_READ", " # exempted_members": [ "user:jose@example.com" ] `, ` "log_type": "DATA_WRITE" `, # ` "log_type": "ADMIN_READ" ` ] `, ` "service": "sampleservice.googleapis.com", # "audit_log_configs": [ ` "log_type": "DATA_READ" `, ` "log_type": "DATA_WRITE" # , "exempted_members": [ "user:aliya@example.com" ] ` ] ` ] ` For sampleservice, # this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also # exempts jose@example.com from DATA_READ logging, and aliya@example.com from # DATA_WRITE logging. class GoogleIamV1AuditConfig include Google::Apis::Core::Hashable # The configuration for logging of each type of permission. # Corresponds to the JSON property `auditLogConfigs` # @return [Array] attr_accessor :audit_log_configs # Specifies a service that will be enabled for audit logging. For example, # storage.googleapis.com, cloudsql.googleapis.com. allServices is a special # value that covers all services. # Corresponds to the JSON property `service` # @return [String] attr_accessor :service def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @audit_log_configs = args[:audit_log_configs] if args.key?(:audit_log_configs) @service = args[:service] if args.key?(:service) end end # Provides the configuration for logging a type of permissions. Example: ` " # audit_log_configs": [ ` "log_type": "DATA_READ", "exempted_members": [ "user: # jose@example.com" ] `, ` "log_type": "DATA_WRITE" ` ] ` This enables ' # DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from # DATA_READ logging. class GoogleIamV1AuditLogConfig include Google::Apis::Core::Hashable # Specifies the identities that do not cause logging for this type of permission. # Follows the same format of Binding.members. # Corresponds to the JSON property `exemptedMembers` # @return [Array] attr_accessor :exempted_members # The log type that this config enables. # Corresponds to the JSON property `logType` # @return [String] attr_accessor :log_type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @exempted_members = args[:exempted_members] if args.key?(:exempted_members) @log_type = args[:log_type] if args.key?(:log_type) end end # Associates members, or principals, with a role. class GoogleIamV1Binding include Google::Apis::Core::Hashable # Represents a textual expression in the Common Expression Language (CEL) syntax. # CEL is a C-like expression language. The syntax and semantics of CEL are # documented at https://github.com/google/cel-spec.Example (Comparison): title: " # Summary size limit" description: "Determines if a summary is less than 100 # chars" expression: "document.summary.size() < 100" Example (Equality): title: " # Requestor is owner" description: "Determines if requestor is the document # owner" expression: "document.owner == request.auth.claims.email" Example ( # Logic): title: "Public documents" description: "Determine whether the document # should be publicly visible" expression: "document.type != 'private' && # document.type != 'internal'" Example (Data Manipulation): title: "Notification # string" description: "Create a notification string with a timestamp." # expression: "'New message received at ' + string(document.create_time)" The # exact variables and functions that may be referenced within an expression are # determined by the service that evaluates it. See the service documentation for # additional information. # Corresponds to the JSON property `condition` # @return [Google::Apis::DataplexV1::GoogleTypeExpr] attr_accessor :condition # Specifies the principals requesting access for a Cloud Platform resource. # members can have the following values: allUsers: A special identifier that # represents anyone who is on the internet; with or without a Google account. # allAuthenticatedUsers: A special identifier that represents anyone who is # authenticated with a Google account or a service account. user:`emailid`: An # email address that represents a specific Google account. For example, alice@ # example.com . serviceAccount:`emailid`: An email address that represents a # service account. For example, my-other-app@appspot.gserviceaccount.com. group:` # emailid`: An email address that represents a Google group. For example, admins@ # example.com. deleted:user:`emailid`?uid=`uniqueid`: An email address (plus # unique identifier) representing a user that has been recently deleted. For # example, alice@example.com?uid=123456789012345678901. If the user is recovered, # this value reverts to user:`emailid` and the recovered user retains the role # in the binding. deleted:serviceAccount:`emailid`?uid=`uniqueid`: An email # address (plus unique identifier) representing a service account that has been # recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid= # 123456789012345678901. If the service account is undeleted, this value reverts # to serviceAccount:`emailid` and the undeleted service account retains the role # in the binding. deleted:group:`emailid`?uid=`uniqueid`: An email address (plus # unique identifier) representing a Google group that has been recently deleted. # For example, admins@example.com?uid=123456789012345678901. If the group is # recovered, this value reverts to group:`emailid` and the recovered group # retains the role in the binding. domain:`domain`: The G Suite domain (primary) # that represents all the users of that domain. For example, google.com or # example.com. # Corresponds to the JSON property `members` # @return [Array] attr_accessor :members # Role that is assigned to the list of members, or principals. For example, # roles/viewer, roles/editor, or roles/owner. # Corresponds to the JSON property `role` # @return [String] attr_accessor :role def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @condition = args[:condition] if args.key?(:condition) @members = args[:members] if args.key?(:members) @role = args[:role] if args.key?(:role) end end # An Identity and Access Management (IAM) policy, which specifies access # controls for Google Cloud resources.A Policy is a collection of bindings. A # binding binds one or more members, or principals, to a single role. Principals # can be user accounts, service accounts, Google groups, and domains (such as G # Suite). A role is a named list of permissions; each role can be an IAM # predefined role or a user-created custom role.For some types of Google Cloud # resources, a binding can also specify a condition, which is a logical # expression that allows access to a resource only if the expression evaluates # to true. A condition can add constraints based on attributes of the request, # the resource, or both. To learn which resources support conditions in their # IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/ # conditions/resource-policies).JSON example: ` "bindings": [ ` "role": "roles/ # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", " # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@ # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager. # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` " # title": "expirable access", "description": "Does not grant access after Sep # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", ` # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` YAML example: bindings: - members: # - user:mike@example.com - group:admins@example.com - domain:google.com - # serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/ # resourcemanager.organizationAdmin - members: - user:eve@example.com role: # roles/resourcemanager.organizationViewer condition: title: expirable access # description: Does not grant access after Sep 2020 expression: request.time < # timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a # description of IAM and its features, see the IAM documentation (https://cloud. # google.com/iam/docs/). class GoogleIamV1Policy include Google::Apis::Core::Hashable # Specifies cloud audit logging configuration for this policy. # Corresponds to the JSON property `auditConfigs` # @return [Array] attr_accessor :audit_configs # Associates a list of members, or principals, with a role. Optionally, may # specify a condition that determines how and when the bindings are applied. # Each of the bindings must contain at least one principal.The bindings in a # Policy can refer to up to 1,500 principals; up to 250 of these principals can # be Google groups. Each occurrence of a principal counts towards these limits. # For example, if the bindings grant 50 different roles to user:alice@example. # com, and not to any other principal, then you can add another 1,450 principals # to the bindings in the Policy. # Corresponds to the JSON property `bindings` # @return [Array] attr_accessor :bindings # etag is used for optimistic concurrency control as a way to help prevent # simultaneous updates of a policy from overwriting each other. It is strongly # suggested that systems make use of the etag in the read-modify-write cycle to # perform policy updates in order to avoid race conditions: An etag is returned # in the response to getIamPolicy, and systems are expected to put that etag in # the request to setIamPolicy to ensure that their change will be applied to the # same version of the policy.Important: If you use IAM Conditions, you must # include the etag field whenever you call setIamPolicy. If you omit this field, # then IAM allows you to overwrite a version 3 policy with a version 1 policy, # and all of the conditions in the version 3 policy are lost. # Corresponds to the JSON property `etag` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :etag # Specifies the format of the policy.Valid values are 0, 1, and 3. Requests that # specify an invalid value are rejected.Any operation that affects conditional # role bindings must specify version 3. This requirement applies to the # following operations: Getting a policy that includes a conditional role # binding Adding a conditional role binding to a policy Changing a conditional # role binding in a policy Removing any role binding, with or without a # condition, from a policy that includes conditionsImportant: If you use IAM # Conditions, you must include the etag field whenever you call setIamPolicy. If # you omit this field, then IAM allows you to overwrite a version 3 policy with # a version 1 policy, and all of the conditions in the version 3 policy are lost. # If a policy does not include any conditions, operations on that policy may # specify any valid version or leave the field unset.To learn which resources # support conditions in their IAM policies, see the IAM documentation (https:// # cloud.google.com/iam/help/conditions/resource-policies). # Corresponds to the JSON property `version` # @return [Fixnum] attr_accessor :version def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @audit_configs = args[:audit_configs] if args.key?(:audit_configs) @bindings = args[:bindings] if args.key?(:bindings) @etag = args[:etag] if args.key?(:etag) @version = args[:version] if args.key?(:version) end end # Request message for SetIamPolicy method. class GoogleIamV1SetIamPolicyRequest include Google::Apis::Core::Hashable # An Identity and Access Management (IAM) policy, which specifies access # controls for Google Cloud resources.A Policy is a collection of bindings. A # binding binds one or more members, or principals, to a single role. Principals # can be user accounts, service accounts, Google groups, and domains (such as G # Suite). A role is a named list of permissions; each role can be an IAM # predefined role or a user-created custom role.For some types of Google Cloud # resources, a binding can also specify a condition, which is a logical # expression that allows access to a resource only if the expression evaluates # to true. A condition can add constraints based on attributes of the request, # the resource, or both. To learn which resources support conditions in their # IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/ # conditions/resource-policies).JSON example: ` "bindings": [ ` "role": "roles/ # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", " # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@ # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager. # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` " # title": "expirable access", "description": "Does not grant access after Sep # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", ` # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` YAML example: bindings: - members: # - user:mike@example.com - group:admins@example.com - domain:google.com - # serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/ # resourcemanager.organizationAdmin - members: - user:eve@example.com role: # roles/resourcemanager.organizationViewer condition: title: expirable access # description: Does not grant access after Sep 2020 expression: request.time < # timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a # description of IAM and its features, see the IAM documentation (https://cloud. # google.com/iam/docs/). # Corresponds to the JSON property `policy` # @return [Google::Apis::DataplexV1::GoogleIamV1Policy] attr_accessor :policy # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only # the fields in the mask will be modified. If no mask is provided, the following # default mask is used:paths: "bindings, etag" # Corresponds to the JSON property `updateMask` # @return [String] attr_accessor :update_mask def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @policy = args[:policy] if args.key?(:policy) @update_mask = args[:update_mask] if args.key?(:update_mask) end end # Request message for TestIamPermissions method. class GoogleIamV1TestIamPermissionsRequest include Google::Apis::Core::Hashable # The set of permissions to check for the resource. Permissions with wildcards ( # such as '*' or 'storage.*') are not allowed. For more information see IAM # Overview (https://cloud.google.com/iam/docs/overview#permissions). # Corresponds to the JSON property `permissions` # @return [Array] attr_accessor :permissions def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @permissions = args[:permissions] if args.key?(:permissions) end end # Response message for TestIamPermissions method. class GoogleIamV1TestIamPermissionsResponse include Google::Apis::Core::Hashable # A subset of TestPermissionsRequest.permissions that the caller is allowed. # Corresponds to the JSON property `permissions` # @return [Array] attr_accessor :permissions def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @permissions = args[:permissions] if args.key?(:permissions) end end # The request message for Operations.CancelOperation. class GoogleLongrunningCancelOperationRequest include Google::Apis::Core::Hashable def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) end end # The response message for Operations.ListOperations. class GoogleLongrunningListOperationsResponse include Google::Apis::Core::Hashable # The standard List next-page token. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # A list of operations that matches the specified filter in the request. # Corresponds to the JSON property `operations` # @return [Array] attr_accessor :operations def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @operations = args[:operations] if args.key?(:operations) end end # This resource represents a long-running operation that is the result of a # network API call. class GoogleLongrunningOperation include Google::Apis::Core::Hashable # If the value is false, it means the operation is still in progress. If true, # the operation is completed, and either error or response is available. # Corresponds to the JSON property `done` # @return [Boolean] attr_accessor :done alias_method :done?, :done # The Status type defines a logical error model that is suitable for different # programming environments, including REST APIs and RPC APIs. It is used by gRPC # (https://github.com/grpc). Each Status message contains three pieces of data: # error code, error message, and error details.You can find out more about this # error model and how to work with it in the API Design Guide (https://cloud. # google.com/apis/design/errors). # Corresponds to the JSON property `error` # @return [Google::Apis::DataplexV1::GoogleRpcStatus] attr_accessor :error # Service-specific metadata associated with the operation. It typically contains # progress information and common metadata such as create time. Some services # might not provide such metadata. Any method that returns a long-running # operation should document the metadata type, if any. # Corresponds to the JSON property `metadata` # @return [Hash] attr_accessor :metadata # The server-assigned name, which is only unique within the same service that # originally returns it. If you use the default HTTP mapping, the name should be # a resource name ending with operations/`unique_id`. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # The normal response of the operation in case of success. If the original # method returns no data on success, such as Delete, the response is google. # protobuf.Empty. If the original method is standard Get/Create/Update, the # response should be the resource. For other methods, the response should have # the type XxxResponse, where Xxx is the original method name. For example, if # the original method name is TakeSnapshot(), the inferred response type is # TakeSnapshotResponse. # Corresponds to the JSON property `response` # @return [Hash] attr_accessor :response def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @done = args[:done] if args.key?(:done) @error = args[:error] if args.key?(:error) @metadata = args[:metadata] if args.key?(:metadata) @name = args[:name] if args.key?(:name) @response = args[:response] if args.key?(:response) end end # The Status type defines a logical error model that is suitable for different # programming environments, including REST APIs and RPC APIs. It is used by gRPC # (https://github.com/grpc). Each Status message contains three pieces of data: # error code, error message, and error details.You can find out more about this # error model and how to work with it in the API Design Guide (https://cloud. # google.com/apis/design/errors). class GoogleRpcStatus include Google::Apis::Core::Hashable # The status code, which should be an enum value of google.rpc.Code. # Corresponds to the JSON property `code` # @return [Fixnum] attr_accessor :code # A list of messages that carry the error details. There is a common set of # message types for APIs to use. # Corresponds to the JSON property `details` # @return [Array>] attr_accessor :details # A developer-facing error message, which should be in English. Any user-facing # error message should be localized and sent in the google.rpc.Status.details # field, or localized by the client. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @details = args[:details] if args.key?(:details) @message = args[:message] if args.key?(:message) end end # Represents a textual expression in the Common Expression Language (CEL) syntax. # CEL is a C-like expression language. The syntax and semantics of CEL are # documented at https://github.com/google/cel-spec.Example (Comparison): title: " # Summary size limit" description: "Determines if a summary is less than 100 # chars" expression: "document.summary.size() < 100" Example (Equality): title: " # Requestor is owner" description: "Determines if requestor is the document # owner" expression: "document.owner == request.auth.claims.email" Example ( # Logic): title: "Public documents" description: "Determine whether the document # should be publicly visible" expression: "document.type != 'private' && # document.type != 'internal'" Example (Data Manipulation): title: "Notification # string" description: "Create a notification string with a timestamp." # expression: "'New message received at ' + string(document.create_time)" The # exact variables and functions that may be referenced within an expression are # determined by the service that evaluates it. See the service documentation for # additional information. class GoogleTypeExpr include Google::Apis::Core::Hashable # Optional. Description of the expression. This is a longer text which describes # the expression, e.g. when hovered over it in a UI. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Textual representation of an expression in Common Expression Language syntax. # Corresponds to the JSON property `expression` # @return [String] attr_accessor :expression # Optional. String indicating the location of the expression for error reporting, # e.g. a file name and a position in the file. # Corresponds to the JSON property `location` # @return [String] attr_accessor :location # Optional. Title for the expression, i.e. a short string describing its purpose. # This can be used e.g. in UIs which allow to enter the expression. # Corresponds to the JSON property `title` # @return [String] attr_accessor :title def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @description = args[:description] if args.key?(:description) @expression = args[:expression] if args.key?(:expression) @location = args[:location] if args.key?(:location) @title = args[:title] if args.key?(:title) end end end end end