google-apis-discoveryengine_v1beta 0.53.0 → 0.54.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -785,6 +785,11 @@ module Google
785
785
  # @return [String]
786
786
  attr_accessor :name
787
787
 
788
+ # Optional. Single-regional CMEKs that are required for some VAIS features.
789
+ # Corresponds to the JSON property `singleRegionKeys`
790
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1SingleRegionKey>]
791
+ attr_accessor :single_region_keys
792
+
788
793
  # Output only. State of the CmekConfig.
789
794
  # Corresponds to the JSON property `state`
790
795
  # @return [String]
@@ -801,6 +806,7 @@ module Google
801
806
  @kms_key_version = args[:kms_key_version] if args.key?(:kms_key_version)
802
807
  @last_rotation_timestamp_micros = args[:last_rotation_timestamp_micros] if args.key?(:last_rotation_timestamp_micros)
803
808
  @name = args[:name] if args.key?(:name)
809
+ @single_region_keys = args[:single_region_keys] if args.key?(:single_region_keys)
804
810
  @state = args[:state] if args.key?(:state)
805
811
  end
806
812
  end
@@ -1287,6 +1293,12 @@ module Google
1287
1293
  # @return [String]
1288
1294
  attr_accessor :industry_vertical
1289
1295
 
1296
+ # Optional. If set, this DataStore is an Infobot FAQ DataStore.
1297
+ # Corresponds to the JSON property `isInfobotFaqDataStore`
1298
+ # @return [Boolean]
1299
+ attr_accessor :is_infobot_faq_data_store
1300
+ alias_method :is_infobot_faq_data_store?, :is_infobot_faq_data_store
1301
+
1290
1302
  # Input only. The KMS key to be used to protect this DataStore at creation time.
1291
1303
  # Must be set for requests that need to comply with CMEK Org Policy protections.
1292
1304
  # If this field is set and processed successfully, the DataStore will be
@@ -1341,6 +1353,7 @@ module Google
1341
1353
  @display_name = args[:display_name] if args.key?(:display_name)
1342
1354
  @document_processing_config = args[:document_processing_config] if args.key?(:document_processing_config)
1343
1355
  @industry_vertical = args[:industry_vertical] if args.key?(:industry_vertical)
1356
+ @is_infobot_faq_data_store = args[:is_infobot_faq_data_store] if args.key?(:is_infobot_faq_data_store)
1344
1357
  @kms_key_name = args[:kms_key_name] if args.key?(:kms_key_name)
1345
1358
  @name = args[:name] if args.key?(:name)
1346
1359
  @serving_config_data_store = args[:serving_config_data_store] if args.key?(:serving_config_data_store)
@@ -3301,6 +3314,27 @@ module Google
3301
3314
  end
3302
3315
  end
3303
3316
 
3317
+ # Metadata for single-regional CMEKs.
3318
+ class GoogleCloudDiscoveryengineV1SingleRegionKey
3319
+ include Google::Apis::Core::Hashable
3320
+
3321
+ # Required. Single-regional kms key resource name which will be used to encrypt
3322
+ # resources `projects/`project`/locations/`location`/keyRings/`keyRing`/
3323
+ # cryptoKeys/`keyId``.
3324
+ # Corresponds to the JSON property `kmsKey`
3325
+ # @return [String]
3326
+ attr_accessor :kms_key
3327
+
3328
+ def initialize(**args)
3329
+ update!(**args)
3330
+ end
3331
+
3332
+ # Update properties of this object
3333
+ def update!(**args)
3334
+ @kms_key = args[:kms_key] if args.key?(:kms_key)
3335
+ end
3336
+ end
3337
+
3304
3338
  # Verification information for target sites in advanced site search.
3305
3339
  class GoogleCloudDiscoveryengineV1SiteVerificationInfo
3306
3340
  include Google::Apis::Core::Hashable
@@ -3675,6 +3709,38 @@ module Google
3675
3709
  end
3676
3710
  end
3677
3711
 
3712
+ # Informations to support actions on the connector.
3713
+ class GoogleCloudDiscoveryengineV1alphaActionConfig
3714
+ include Google::Apis::Core::Hashable
3715
+
3716
+ # Required. Params needed to support actions in the format of (Key, Value) pairs.
3717
+ # Required parameters for sources that support OAUTH, i.e. `gmail`, `
3718
+ # google_calendar`, `jira`, `workday`, `salesforce`, `confluence`: * Key: `
3719
+ # client_id` * Value: type STRING. The client id for the service provider to
3720
+ # identify your application. * Key: `client_secret` * Value:type STRING. The
3721
+ # client secret generated by the application's authorization server.
3722
+ # Corresponds to the JSON property `actionParams`
3723
+ # @return [Hash<String,Object>]
3724
+ attr_accessor :action_params
3725
+
3726
+ # Output only. The connector contains the necessary parameters and is configured
3727
+ # to support actions.
3728
+ # Corresponds to the JSON property `isActionConfigured`
3729
+ # @return [Boolean]
3730
+ attr_accessor :is_action_configured
3731
+ alias_method :is_action_configured?, :is_action_configured
3732
+
3733
+ def initialize(**args)
3734
+ update!(**args)
3735
+ end
3736
+
3737
+ # Update properties of this object
3738
+ def update!(**args)
3739
+ @action_params = args[:action_params] if args.key?(:action_params)
3740
+ @is_action_configured = args[:is_action_configured] if args.key?(:is_action_configured)
3741
+ end
3742
+ end
3743
+
3678
3744
  # Configuration data for advance site search.
3679
3745
  class GoogleCloudDiscoveryengineV1alphaAdvancedSiteSearchConfig
3680
3746
  include Google::Apis::Core::Hashable
@@ -4451,6 +4517,11 @@ module Google
4451
4517
  # @return [String]
4452
4518
  attr_accessor :name
4453
4519
 
4520
+ # Optional. Single-regional CMEKs that are required for some VAIS features.
4521
+ # Corresponds to the JSON property `singleRegionKeys`
4522
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaSingleRegionKey>]
4523
+ attr_accessor :single_region_keys
4524
+
4454
4525
  # Output only. State of the CmekConfig.
4455
4526
  # Corresponds to the JSON property `state`
4456
4527
  # @return [String]
@@ -4467,10 +4538,56 @@ module Google
4467
4538
  @kms_key_version = args[:kms_key_version] if args.key?(:kms_key_version)
4468
4539
  @last_rotation_timestamp_micros = args[:last_rotation_timestamp_micros] if args.key?(:last_rotation_timestamp_micros)
4469
4540
  @name = args[:name] if args.key?(:name)
4541
+ @single_region_keys = args[:single_region_keys] if args.key?(:single_region_keys)
4470
4542
  @state = args[:state] if args.key?(:state)
4471
4543
  end
4472
4544
  end
4473
4545
 
4546
+ # Collection is a container for configuring resources and access to a set of
4547
+ # DataStores.
4548
+ class GoogleCloudDiscoveryengineV1alphaCollection
4549
+ include Google::Apis::Core::Hashable
4550
+
4551
+ # Output only. Timestamp the Collection was created at.
4552
+ # Corresponds to the JSON property `createTime`
4553
+ # @return [String]
4554
+ attr_accessor :create_time
4555
+
4556
+ # Manages the connection to external data sources for all data stores grouped
4557
+ # under a Collection. It's a singleton resource of Collection. The
4558
+ # initialization is only supported through SetUpDataConnector method, which will
4559
+ # create a new Collection and initialize its DataConnector. //
4560
+ # Corresponds to the JSON property `dataConnector`
4561
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaDataConnector]
4562
+ attr_accessor :data_connector
4563
+
4564
+ # Required. The Collection display name. This field must be a UTF-8 encoded
4565
+ # string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT
4566
+ # error is returned.
4567
+ # Corresponds to the JSON property `displayName`
4568
+ # @return [String]
4569
+ attr_accessor :display_name
4570
+
4571
+ # Immutable. The full resource name of the Collection. Format: `projects/`
4572
+ # project`/locations/`location`/collections/`collection_id``. This field must be
4573
+ # a UTF-8 encoded string with a length limit of 1024 characters.
4574
+ # Corresponds to the JSON property `name`
4575
+ # @return [String]
4576
+ attr_accessor :name
4577
+
4578
+ def initialize(**args)
4579
+ update!(**args)
4580
+ end
4581
+
4582
+ # Update properties of this object
4583
+ def update!(**args)
4584
+ @create_time = args[:create_time] if args.key?(:create_time)
4585
+ @data_connector = args[:data_connector] if args.key?(:data_connector)
4586
+ @display_name = args[:display_name] if args.key?(:display_name)
4587
+ @name = args[:name] if args.key?(:name)
4588
+ end
4589
+ end
4590
+
4474
4591
  # Defines circumstances to be checked before allowing a behavior
4475
4592
  class GoogleCloudDiscoveryengineV1alphaCondition
4476
4593
  include Google::Apis::Core::Hashable
@@ -4558,6 +4675,158 @@ module Google
4558
4675
  end
4559
4676
  end
4560
4677
 
4678
+ # A data sync run of DataConnector. After DataConnector is successfully
4679
+ # initialized, data syncs are scheduled at DataConnector.refresh_interval. A
4680
+ # ConnectorRun represents a data sync either in the past or onging that the
4681
+ # moment. //
4682
+ class GoogleCloudDiscoveryengineV1alphaConnectorRun
4683
+ include Google::Apis::Core::Hashable
4684
+
4685
+ # Output only. The time when the connector run ended.
4686
+ # Corresponds to the JSON property `endTime`
4687
+ # @return [String]
4688
+ attr_accessor :end_time
4689
+
4690
+ # Output only. The details of the entities synced at the ConnectorRun. Each
4691
+ # ConnectorRun consists of syncing one or more entities.
4692
+ # Corresponds to the JSON property `entityRuns`
4693
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaConnectorRunEntityRun>]
4694
+ attr_accessor :entity_runs
4695
+
4696
+ # Contains info about errors incurred during the sync. Only exist if running
4697
+ # into an error state. Contains error code and error message. Use with the `
4698
+ # state` field.
4699
+ # Corresponds to the JSON property `errors`
4700
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleRpcStatus>]
4701
+ attr_accessor :errors
4702
+
4703
+ # Output only. The time when the connector run was most recently paused.
4704
+ # Corresponds to the JSON property `latestPauseTime`
4705
+ # @return [String]
4706
+ attr_accessor :latest_pause_time
4707
+
4708
+ # Output only. The full resource name of the Connector Run. Format: `projects/*/
4709
+ # locations/*/collections/*/dataConnector/connectorRuns/*`. The `
4710
+ # connector_run_id` is system-generated.
4711
+ # Corresponds to the JSON property `name`
4712
+ # @return [String]
4713
+ attr_accessor :name
4714
+
4715
+ # Output only. The time when the connector run started.
4716
+ # Corresponds to the JSON property `startTime`
4717
+ # @return [String]
4718
+ attr_accessor :start_time
4719
+
4720
+ # Output only. The state of the sync run.
4721
+ # Corresponds to the JSON property `state`
4722
+ # @return [String]
4723
+ attr_accessor :state
4724
+
4725
+ # Timestamp at which the connector run sync state was last updated.
4726
+ # Corresponds to the JSON property `stateUpdateTime`
4727
+ # @return [String]
4728
+ attr_accessor :state_update_time
4729
+
4730
+ # Output only. The trigger for this ConnectorRun.
4731
+ # Corresponds to the JSON property `trigger`
4732
+ # @return [String]
4733
+ attr_accessor :trigger
4734
+
4735
+ def initialize(**args)
4736
+ update!(**args)
4737
+ end
4738
+
4739
+ # Update properties of this object
4740
+ def update!(**args)
4741
+ @end_time = args[:end_time] if args.key?(:end_time)
4742
+ @entity_runs = args[:entity_runs] if args.key?(:entity_runs)
4743
+ @errors = args[:errors] if args.key?(:errors)
4744
+ @latest_pause_time = args[:latest_pause_time] if args.key?(:latest_pause_time)
4745
+ @name = args[:name] if args.key?(:name)
4746
+ @start_time = args[:start_time] if args.key?(:start_time)
4747
+ @state = args[:state] if args.key?(:state)
4748
+ @state_update_time = args[:state_update_time] if args.key?(:state_update_time)
4749
+ @trigger = args[:trigger] if args.key?(:trigger)
4750
+ end
4751
+ end
4752
+
4753
+ # Represents an entity that was synced in this ConnectorRun.
4754
+ class GoogleCloudDiscoveryengineV1alphaConnectorRunEntityRun
4755
+ include Google::Apis::Core::Hashable
4756
+
4757
+ # The name of the source entity.
4758
+ # Corresponds to the JSON property `entityName`
4759
+ # @return [String]
4760
+ attr_accessor :entity_name
4761
+
4762
+ # The total number of documents failed at sync at any stage (extraction,
4763
+ # indexing, etc).
4764
+ # Corresponds to the JSON property `errorRecordCount`
4765
+ # @return [Fixnum]
4766
+ attr_accessor :error_record_count
4767
+
4768
+ # The errors from the entity's sync run. Only exist if running into an error
4769
+ # state. Contains error code and error message.
4770
+ # Corresponds to the JSON property `errors`
4771
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleRpcStatus>]
4772
+ attr_accessor :errors
4773
+
4774
+ # The number of documents extracted from connector source, ready to be ingested
4775
+ # to UCS.
4776
+ # Corresponds to the JSON property `extractedRecordCount`
4777
+ # @return [Fixnum]
4778
+ attr_accessor :extracted_record_count
4779
+
4780
+ # The number of documents indexed.
4781
+ # Corresponds to the JSON property `indexedRecordCount`
4782
+ # @return [Fixnum]
4783
+ attr_accessor :indexed_record_count
4784
+
4785
+ # The number of requests sent to 3p API.
4786
+ # Corresponds to the JSON property `sourceApiRequestCount`
4787
+ # @return [Fixnum]
4788
+ attr_accessor :source_api_request_count
4789
+
4790
+ # The state of the entity's sync run.
4791
+ # Corresponds to the JSON property `state`
4792
+ # @return [String]
4793
+ attr_accessor :state
4794
+
4795
+ # Timestamp at which the entity sync state was last updated.
4796
+ # Corresponds to the JSON property `stateUpdateTime`
4797
+ # @return [String]
4798
+ attr_accessor :state_update_time
4799
+
4800
+ # The timestamp for either extracted_documents_count, indexed_documents_count
4801
+ # and error_documents_count was last updated.
4802
+ # Corresponds to the JSON property `statsUpdateTime`
4803
+ # @return [String]
4804
+ attr_accessor :stats_update_time
4805
+
4806
+ # Sync type of this run.
4807
+ # Corresponds to the JSON property `syncType`
4808
+ # @return [String]
4809
+ attr_accessor :sync_type
4810
+
4811
+ def initialize(**args)
4812
+ update!(**args)
4813
+ end
4814
+
4815
+ # Update properties of this object
4816
+ def update!(**args)
4817
+ @entity_name = args[:entity_name] if args.key?(:entity_name)
4818
+ @error_record_count = args[:error_record_count] if args.key?(:error_record_count)
4819
+ @errors = args[:errors] if args.key?(:errors)
4820
+ @extracted_record_count = args[:extracted_record_count] if args.key?(:extracted_record_count)
4821
+ @indexed_record_count = args[:indexed_record_count] if args.key?(:indexed_record_count)
4822
+ @source_api_request_count = args[:source_api_request_count] if args.key?(:source_api_request_count)
4823
+ @state = args[:state] if args.key?(:state)
4824
+ @state_update_time = args[:state_update_time] if args.key?(:state_update_time)
4825
+ @stats_update_time = args[:stats_update_time] if args.key?(:stats_update_time)
4826
+ @sync_type = args[:sync_type] if args.key?(:sync_type)
4827
+ end
4828
+ end
4829
+
4561
4830
  # Defines a conditioned behavior to employ during serving. Must be attached to a
4562
4831
  # ServingConfig to be considered at serving time. Permitted actions dependent on
4563
4832
  # `SolutionType`.
@@ -4982,6 +5251,265 @@ module Google
4982
5251
  end
4983
5252
  end
4984
5253
 
5254
+ # Manages the connection to external data sources for all data stores grouped
5255
+ # under a Collection. It's a singleton resource of Collection. The
5256
+ # initialization is only supported through SetUpDataConnector method, which will
5257
+ # create a new Collection and initialize its DataConnector. //
5258
+ class GoogleCloudDiscoveryengineV1alphaDataConnector
5259
+ include Google::Apis::Core::Hashable
5260
+
5261
+ # Informations to support actions on the connector.
5262
+ # Corresponds to the JSON property `actionConfig`
5263
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaActionConfig]
5264
+ attr_accessor :action_config
5265
+
5266
+ # Indicates whether the connector is disabled for auto run. It can be used to
5267
+ # pause periodical and real time sync.
5268
+ # Corresponds to the JSON property `autoRunDisabled`
5269
+ # @return [Boolean]
5270
+ attr_accessor :auto_run_disabled
5271
+ alias_method :auto_run_disabled?, :auto_run_disabled
5272
+
5273
+ # Output only. User actions that must be completed before the connector can
5274
+ # start syncing data.
5275
+ # Corresponds to the JSON property `blockingReasons`
5276
+ # @return [Array<String>]
5277
+ attr_accessor :blocking_reasons
5278
+
5279
+ # Output only. Timestamp the DataConnector was created at.
5280
+ # Corresponds to the JSON property `createTime`
5281
+ # @return [String]
5282
+ attr_accessor :create_time
5283
+
5284
+ # Required. The name of the data source. Supported values: `salesforce`, `jira`,
5285
+ # `confluence`, `bigquery`.
5286
+ # Corresponds to the JSON property `dataSource`
5287
+ # @return [String]
5288
+ attr_accessor :data_source
5289
+
5290
+ # Optional. Any target destinations used to connect to third-party services.
5291
+ # Corresponds to the JSON property `destinationConfigs`
5292
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaDestinationConfig>]
5293
+ attr_accessor :destination_configs
5294
+
5295
+ # List of entities from the connected data source to ingest.
5296
+ # Corresponds to the JSON property `entities`
5297
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaDataConnectorSourceEntity>]
5298
+ attr_accessor :entities
5299
+
5300
+ # Output only. The errors from initialization or from the latest connector run.
5301
+ # Corresponds to the JSON property `errors`
5302
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleRpcStatus>]
5303
+ attr_accessor :errors
5304
+
5305
+ # The refresh interval to sync the Access Control List information for the
5306
+ # documents ingested by this connector. If not set, the access control list will
5307
+ # be refreshed at the default interval of 30 minutes. The identity refresh
5308
+ # interval can be at least 30 minutes and at most 7 days.
5309
+ # Corresponds to the JSON property `identityRefreshInterval`
5310
+ # @return [String]
5311
+ attr_accessor :identity_refresh_interval
5312
+
5313
+ # The configuration for the identity data synchronization runs.
5314
+ # Corresponds to the JSON property `identityScheduleConfig`
5315
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaIdentityScheduleConfig]
5316
+ attr_accessor :identity_schedule_config
5317
+
5318
+ # Input only. The KMS key to be used to protect the DataStores managed by this
5319
+ # connector. Must be set for requests that need to comply with CMEK Org Policy
5320
+ # protections. If this field is set and processed successfully, the DataStores
5321
+ # created by this connector will be protected by the KMS key.
5322
+ # Corresponds to the JSON property `kmsKeyName`
5323
+ # @return [String]
5324
+ attr_accessor :kms_key_name
5325
+
5326
+ # Output only. For periodic connectors only, the last time a data sync was
5327
+ # completed.
5328
+ # Corresponds to the JSON property `lastSyncTime`
5329
+ # @return [String]
5330
+ attr_accessor :last_sync_time
5331
+
5332
+ # Output only. The most recent timestamp when this DataConnector was paused,
5333
+ # affecting all functionalities such as data synchronization. Pausing a
5334
+ # connector has the following effects: - All functionalities, including data
5335
+ # synchronization, are halted. - Any ongoing data synchronization job will be
5336
+ # canceled. - No future data synchronization runs will be scheduled nor can be
5337
+ # triggered.
5338
+ # Corresponds to the JSON property `latestPauseTime`
5339
+ # @return [String]
5340
+ attr_accessor :latest_pause_time
5341
+
5342
+ # Output only. The full resource name of the Data Connector. Format: `projects/*/
5343
+ # locations/*/collections/*/dataConnector`.
5344
+ # Corresponds to the JSON property `name`
5345
+ # @return [String]
5346
+ attr_accessor :name
5347
+
5348
+ # Represents civil time (or occasionally physical time). This type can represent
5349
+ # a civil time in one of a few possible ways: * When utc_offset is set and
5350
+ # time_zone is unset: a civil time on a calendar day with a particular offset
5351
+ # from UTC. * When time_zone is set and utc_offset is unset: a civil time on a
5352
+ # calendar day in a particular time zone. * When neither time_zone nor
5353
+ # utc_offset is set: a civil time on a calendar day in local time. The date is
5354
+ # relative to the Proleptic Gregorian Calendar. If year, month, or day are 0,
5355
+ # the DateTime is considered not to have a specific year, month, or day
5356
+ # respectively. This type may also be used to represent a physical time if all
5357
+ # the date and time fields are set and either case of the `time_offset` oneof is
5358
+ # set. Consider using `Timestamp` message for physical time instead. If your use
5359
+ # case also would like to store the user's timezone, that can be done in another
5360
+ # field. This type is more flexible than some applications may want. Make sure
5361
+ # to document and validate your application's limitations.
5362
+ # Corresponds to the JSON property `nextSyncTime`
5363
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleTypeDateTime]
5364
+ attr_accessor :next_sync_time
5365
+
5366
+ # Required. Params needed to access the source in the format of (Key, Value)
5367
+ # pairs. Required parameters for all data sources: * Key: `instance_uri` * Value:
5368
+ # type STRING. The uri to access the data source. Required parameters for
5369
+ # sources that support OAUTH, i.e. `salesforce`: * Key: `client_id` * Value:
5370
+ # type STRING. The client id for the third party service provider to identify
5371
+ # your application. * Key: `client_secret` * Value:type STRING. The client
5372
+ # secret generated by the third party authorization server. * Key: `access_token`
5373
+ # * Value: type STRING. OAuth token for UCS to access to the protected resource.
5374
+ # * Key: `refresh_token` * Value: type STRING. OAuth refresh token for UCS to
5375
+ # obtain a new access token without user interaction. Required parameters for
5376
+ # sources that support basic API token auth, i.e. `jira`, `confluence`: * Key: `
5377
+ # user_account` * Value: type STRING. The username or email with the source. *
5378
+ # Key: `api_token` * Value: type STRING. The API token generated for the source
5379
+ # account, that is used for authenticating anywhere where you would have used a
5380
+ # password. Example: ```json ` "instance_uri": "https://xxx.atlassian.net", "
5381
+ # user_account": "xxxx.xxx@xxx.com", "api_token": "test-token" ` ``` Optional
5382
+ # parameter to specify the authorization type to use for multiple authorization
5383
+ # types support: * Key: `auth_type` * Value: type STRING. The authorization type
5384
+ # for the data source. Supported values: `BASIC_AUTH`, `OAUTH`, `
5385
+ # OAUTH_ACCESS_TOKEN`, `OAUTH_TWO_LEGGED`, `OAUTH_JWT_BEARER`, `
5386
+ # OAUTH_PASSWORD_GRANT`, `JWT`, `API_TOKEN`, `FEDERATED_CREDENTIAL`.
5387
+ # Corresponds to the JSON property `params`
5388
+ # @return [Hash<String,Object>]
5389
+ attr_accessor :params
5390
+
5391
+ # Output only. The tenant project ID associated with private connectivity
5392
+ # connectors. This project must be allowlisted by in order for the connector to
5393
+ # function.
5394
+ # Corresponds to the JSON property `privateConnectivityProjectId`
5395
+ # @return [String]
5396
+ attr_accessor :private_connectivity_project_id
5397
+
5398
+ # Required. The refresh interval for data sync. If duration is set to 0, the
5399
+ # data will be synced in real time. The streaming feature is not supported yet.
5400
+ # The minimum is 30 minutes and maximum is 7 days.
5401
+ # Corresponds to the JSON property `refreshInterval`
5402
+ # @return [String]
5403
+ attr_accessor :refresh_interval
5404
+
5405
+ # Output only. State of the connector.
5406
+ # Corresponds to the JSON property `state`
5407
+ # @return [String]
5408
+ attr_accessor :state
5409
+
5410
+ # Output only. The static IP addresses used by this connector.
5411
+ # Corresponds to the JSON property `staticIpAddresses`
5412
+ # @return [Array<String>]
5413
+ attr_accessor :static_ip_addresses
5414
+
5415
+ # Optional. Whether customer has enabled static IP addresses for this connector.
5416
+ # Corresponds to the JSON property `staticIpEnabled`
5417
+ # @return [Boolean]
5418
+ attr_accessor :static_ip_enabled
5419
+ alias_method :static_ip_enabled?, :static_ip_enabled
5420
+
5421
+ # The data synchronization mode supported by the data connector.
5422
+ # Corresponds to the JSON property `syncMode`
5423
+ # @return [String]
5424
+ attr_accessor :sync_mode
5425
+
5426
+ # Output only. Timestamp the DataConnector was last updated.
5427
+ # Corresponds to the JSON property `updateTime`
5428
+ # @return [String]
5429
+ attr_accessor :update_time
5430
+
5431
+ def initialize(**args)
5432
+ update!(**args)
5433
+ end
5434
+
5435
+ # Update properties of this object
5436
+ def update!(**args)
5437
+ @action_config = args[:action_config] if args.key?(:action_config)
5438
+ @auto_run_disabled = args[:auto_run_disabled] if args.key?(:auto_run_disabled)
5439
+ @blocking_reasons = args[:blocking_reasons] if args.key?(:blocking_reasons)
5440
+ @create_time = args[:create_time] if args.key?(:create_time)
5441
+ @data_source = args[:data_source] if args.key?(:data_source)
5442
+ @destination_configs = args[:destination_configs] if args.key?(:destination_configs)
5443
+ @entities = args[:entities] if args.key?(:entities)
5444
+ @errors = args[:errors] if args.key?(:errors)
5445
+ @identity_refresh_interval = args[:identity_refresh_interval] if args.key?(:identity_refresh_interval)
5446
+ @identity_schedule_config = args[:identity_schedule_config] if args.key?(:identity_schedule_config)
5447
+ @kms_key_name = args[:kms_key_name] if args.key?(:kms_key_name)
5448
+ @last_sync_time = args[:last_sync_time] if args.key?(:last_sync_time)
5449
+ @latest_pause_time = args[:latest_pause_time] if args.key?(:latest_pause_time)
5450
+ @name = args[:name] if args.key?(:name)
5451
+ @next_sync_time = args[:next_sync_time] if args.key?(:next_sync_time)
5452
+ @params = args[:params] if args.key?(:params)
5453
+ @private_connectivity_project_id = args[:private_connectivity_project_id] if args.key?(:private_connectivity_project_id)
5454
+ @refresh_interval = args[:refresh_interval] if args.key?(:refresh_interval)
5455
+ @state = args[:state] if args.key?(:state)
5456
+ @static_ip_addresses = args[:static_ip_addresses] if args.key?(:static_ip_addresses)
5457
+ @static_ip_enabled = args[:static_ip_enabled] if args.key?(:static_ip_enabled)
5458
+ @sync_mode = args[:sync_mode] if args.key?(:sync_mode)
5459
+ @update_time = args[:update_time] if args.key?(:update_time)
5460
+ end
5461
+ end
5462
+
5463
+ # Represents an entity in the data source. For example, the `Account` object in
5464
+ # Salesforce.
5465
+ class GoogleCloudDiscoveryengineV1alphaDataConnectorSourceEntity
5466
+ include Google::Apis::Core::Hashable
5467
+
5468
+ # Output only. The full resource name of the associated data store for the
5469
+ # source entity. Format: `projects/*/locations/*/collections/*/dataStores/*`.
5470
+ # When the connector is initialized by the DataConnectorService.
5471
+ # SetUpDataConnector method, a DataStore is automatically created for each
5472
+ # source entity.
5473
+ # Corresponds to the JSON property `dataStore`
5474
+ # @return [String]
5475
+ attr_accessor :data_store
5476
+
5477
+ # The name of the entity. Supported values by data source: * Salesforce: `Lead`,
5478
+ # `Opportunity`, `Contact`, `Account`, `Case`, `Contract`, `Campaign` * Jira: `
5479
+ # Issue` * Confluence: `Content`, `Space`
5480
+ # Corresponds to the JSON property `entityName`
5481
+ # @return [String]
5482
+ attr_accessor :entity_name
5483
+
5484
+ # Attributes for indexing. Key: Field name. Value: The key property to map a
5485
+ # field to, such as `title`, and `description`. Supported key properties: * `
5486
+ # title`: The title for data record. This would be displayed on search results. *
5487
+ # `description`: The description for data record. This would be displayed on
5488
+ # search results.
5489
+ # Corresponds to the JSON property `keyPropertyMappings`
5490
+ # @return [Hash<String,String>]
5491
+ attr_accessor :key_property_mappings
5492
+
5493
+ # The parameters for the entity to facilitate data ingestion. E.g. for BQ
5494
+ # connectors: * Key: `document_id_column` * Value: type STRING. The value of the
5495
+ # column id.
5496
+ # Corresponds to the JSON property `params`
5497
+ # @return [Hash<String,Object>]
5498
+ attr_accessor :params
5499
+
5500
+ def initialize(**args)
5501
+ update!(**args)
5502
+ end
5503
+
5504
+ # Update properties of this object
5505
+ def update!(**args)
5506
+ @data_store = args[:data_store] if args.key?(:data_store)
5507
+ @entity_name = args[:entity_name] if args.key?(:entity_name)
5508
+ @key_property_mappings = args[:key_property_mappings] if args.key?(:key_property_mappings)
5509
+ @params = args[:params] if args.key?(:params)
5510
+ end
5511
+ end
5512
+
4985
5513
  # DataStore captures global settings and configs at the DataStore level.
4986
5514
  class GoogleCloudDiscoveryengineV1alphaDataStore
4987
5515
  include Google::Apis::Core::Hashable
@@ -5052,6 +5580,12 @@ module Google
5052
5580
  # @return [String]
5053
5581
  attr_accessor :industry_vertical
5054
5582
 
5583
+ # Optional. If set, this DataStore is an Infobot FAQ DataStore.
5584
+ # Corresponds to the JSON property `isInfobotFaqDataStore`
5585
+ # @return [Boolean]
5586
+ attr_accessor :is_infobot_faq_data_store
5587
+ alias_method :is_infobot_faq_data_store?, :is_infobot_faq_data_store
5588
+
5055
5589
  # Input only. The KMS key to be used to protect this DataStore at creation time.
5056
5590
  # Must be set for requests that need to comply with CMEK Org Policy protections.
5057
5591
  # If this field is set and processed successfully, the DataStore will be
@@ -5118,6 +5652,7 @@ module Google
5118
5652
  @document_processing_config = args[:document_processing_config] if args.key?(:document_processing_config)
5119
5653
  @idp_config = args[:idp_config] if args.key?(:idp_config)
5120
5654
  @industry_vertical = args[:industry_vertical] if args.key?(:industry_vertical)
5655
+ @is_infobot_faq_data_store = args[:is_infobot_faq_data_store] if args.key?(:is_infobot_faq_data_store)
5121
5656
  @kms_key_name = args[:kms_key_name] if args.key?(:kms_key_name)
5122
5657
  @language_info = args[:language_info] if args.key?(:language_info)
5123
5658
  @name = args[:name] if args.key?(:name)
@@ -5225,10 +5760,10 @@ module Google
5225
5760
  end
5226
5761
  end
5227
5762
 
5228
- # Metadata related to the progress of the DataStoreService.DeleteDataStore
5763
+ # Metadata related to the progress of the CollectionService.UpdateCollection
5229
5764
  # operation. This will be returned by the google.longrunning.Operation.metadata
5230
5765
  # field.
5231
- class GoogleCloudDiscoveryengineV1alphaDeleteDataStoreMetadata
5766
+ class GoogleCloudDiscoveryengineV1alphaDeleteCollectionMetadata
5232
5767
  include Google::Apis::Core::Hashable
5233
5768
 
5234
5769
  # Operation create time.
@@ -5253,9 +5788,10 @@ module Google
5253
5788
  end
5254
5789
  end
5255
5790
 
5256
- # Metadata related to the progress of the EngineService.DeleteEngine operation.
5257
- # This will be returned by the google.longrunning.Operation.metadata field.
5258
- class GoogleCloudDiscoveryengineV1alphaDeleteEngineMetadata
5791
+ # Metadata related to the progress of the DataStoreService.DeleteDataStore
5792
+ # operation. This will be returned by the google.longrunning.Operation.metadata
5793
+ # field.
5794
+ class GoogleCloudDiscoveryengineV1alphaDeleteDataStoreMetadata
5259
5795
  include Google::Apis::Core::Hashable
5260
5796
 
5261
5797
  # Operation create time.
@@ -5280,8 +5816,9 @@ module Google
5280
5816
  end
5281
5817
  end
5282
5818
 
5283
- # Metadata for DeleteSchema LRO.
5284
- class GoogleCloudDiscoveryengineV1alphaDeleteSchemaMetadata
5819
+ # Metadata related to the progress of the EngineService.DeleteEngine operation.
5820
+ # This will be returned by the google.longrunning.Operation.metadata field.
5821
+ class GoogleCloudDiscoveryengineV1alphaDeleteEngineMetadata
5285
5822
  include Google::Apis::Core::Hashable
5286
5823
 
5287
5824
  # Operation create time.
@@ -5306,13 +5843,39 @@ module Google
5306
5843
  end
5307
5844
  end
5308
5845
 
5309
- # Request for DeleteSession method.
5310
- class GoogleCloudDiscoveryengineV1alphaDeleteSessionRequest
5846
+ # Metadata for DeleteSchema LRO.
5847
+ class GoogleCloudDiscoveryengineV1alphaDeleteSchemaMetadata
5311
5848
  include Google::Apis::Core::Hashable
5312
5849
 
5313
- # Required. The resource name of the Session to delete. Format: `projects/`
5314
- # project`/locations/`location`/collections/`collection`/dataStores/`
5315
- # data_store_id`/sessions/`session_id``
5850
+ # Operation create time.
5851
+ # Corresponds to the JSON property `createTime`
5852
+ # @return [String]
5853
+ attr_accessor :create_time
5854
+
5855
+ # Operation last update time. If the operation is done, this is also the finish
5856
+ # time.
5857
+ # Corresponds to the JSON property `updateTime`
5858
+ # @return [String]
5859
+ attr_accessor :update_time
5860
+
5861
+ def initialize(**args)
5862
+ update!(**args)
5863
+ end
5864
+
5865
+ # Update properties of this object
5866
+ def update!(**args)
5867
+ @create_time = args[:create_time] if args.key?(:create_time)
5868
+ @update_time = args[:update_time] if args.key?(:update_time)
5869
+ end
5870
+ end
5871
+
5872
+ # Request for DeleteSession method.
5873
+ class GoogleCloudDiscoveryengineV1alphaDeleteSessionRequest
5874
+ include Google::Apis::Core::Hashable
5875
+
5876
+ # Required. The resource name of the Session to delete. Format: `projects/`
5877
+ # project`/locations/`location`/collections/`collection`/dataStores/`
5878
+ # data_store_id`/sessions/`session_id``
5316
5879
  # Corresponds to the JSON property `name`
5317
5880
  # @return [String]
5318
5881
  attr_accessor :name
@@ -5383,6 +5946,62 @@ module Google
5383
5946
  end
5384
5947
  end
5385
5948
 
5949
+ # Defines target endpoints used to connect to third-party sources.
5950
+ class GoogleCloudDiscoveryengineV1alphaDestinationConfig
5951
+ include Google::Apis::Core::Hashable
5952
+
5953
+ # Optional. The destinations for the corresponding key.
5954
+ # Corresponds to the JSON property `destinations`
5955
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaDestinationConfigDestination>]
5956
+ attr_accessor :destinations
5957
+
5958
+ # Optional. Unique destination identifier that is supported by the connector.
5959
+ # Corresponds to the JSON property `key`
5960
+ # @return [String]
5961
+ attr_accessor :key
5962
+
5963
+ # Optional. Additional parameters for this destination config.
5964
+ # Corresponds to the JSON property `params`
5965
+ # @return [Hash<String,Object>]
5966
+ attr_accessor :params
5967
+
5968
+ def initialize(**args)
5969
+ update!(**args)
5970
+ end
5971
+
5972
+ # Update properties of this object
5973
+ def update!(**args)
5974
+ @destinations = args[:destinations] if args.key?(:destinations)
5975
+ @key = args[:key] if args.key?(:key)
5976
+ @params = args[:params] if args.key?(:params)
5977
+ end
5978
+ end
5979
+
5980
+ # Defines a target endpoint
5981
+ class GoogleCloudDiscoveryengineV1alphaDestinationConfigDestination
5982
+ include Google::Apis::Core::Hashable
5983
+
5984
+ # Publicly routable host.
5985
+ # Corresponds to the JSON property `host`
5986
+ # @return [String]
5987
+ attr_accessor :host
5988
+
5989
+ # Optional. Target port number accepted by the destination.
5990
+ # Corresponds to the JSON property `port`
5991
+ # @return [Fixnum]
5992
+ attr_accessor :port
5993
+
5994
+ def initialize(**args)
5995
+ update!(**args)
5996
+ end
5997
+
5998
+ # Update properties of this object
5999
+ def update!(**args)
6000
+ @host = args[:host] if args.key?(:host)
6001
+ @port = args[:port] if args.key?(:port)
6002
+ end
6003
+ end
6004
+
5386
6005
  # Metadata related to the progress of the SiteSearchEngineService.
5387
6006
  # DisableAdvancedSiteSearch operation. This will be returned by the google.
5388
6007
  # longrunning.Operation.metadata field.
@@ -6445,6 +7064,28 @@ module Google
6445
7064
  end
6446
7065
  end
6447
7066
 
7067
+ # The configuration for the identity data synchronization runs.
7068
+ class GoogleCloudDiscoveryengineV1alphaIdentityScheduleConfig
7069
+ include Google::Apis::Core::Hashable
7070
+
7071
+ # Optional. The refresh interval to sync the Access Control List information for
7072
+ # the documents ingested by this connector. If not set, the access control list
7073
+ # will be refreshed at the default interval of 30 minutes. The identity refresh
7074
+ # interval can be at least 30 minutes and at most 7 days.
7075
+ # Corresponds to the JSON property `refreshInterval`
7076
+ # @return [String]
7077
+ attr_accessor :refresh_interval
7078
+
7079
+ def initialize(**args)
7080
+ update!(**args)
7081
+ end
7082
+
7083
+ # Update properties of this object
7084
+ def update!(**args)
7085
+ @refresh_interval = args[:refresh_interval] if args.key?(:refresh_interval)
7086
+ end
7087
+ end
7088
+
6448
7089
  # Identity Provider Config.
6449
7090
  class GoogleCloudDiscoveryengineV1alphaIdpConfig
6450
7091
  include Google::Apis::Core::Hashable
@@ -9114,6 +9755,19 @@ module Google
9114
9755
  end
9115
9756
  end
9116
9757
 
9758
+ # Metadata for DataConnectorService.SetUpDataConnector method.
9759
+ class GoogleCloudDiscoveryengineV1alphaSetUpDataConnectorMetadata
9760
+ include Google::Apis::Core::Hashable
9761
+
9762
+ def initialize(**args)
9763
+ update!(**args)
9764
+ end
9765
+
9766
+ # Update properties of this object
9767
+ def update!(**args)
9768
+ end
9769
+ end
9770
+
9117
9771
  # Metadata related to the progress of the SiteSearchEngineService.
9118
9772
  # SetUriPatternDocumentData operation. This will be returned by the google.
9119
9773
  # longrunning.Operation.metadata field.
@@ -9155,6 +9809,27 @@ module Google
9155
9809
  end
9156
9810
  end
9157
9811
 
9812
+ # Metadata for single-regional CMEKs.
9813
+ class GoogleCloudDiscoveryengineV1alphaSingleRegionKey
9814
+ include Google::Apis::Core::Hashable
9815
+
9816
+ # Required. Single-regional kms key resource name which will be used to encrypt
9817
+ # resources `projects/`project`/locations/`location`/keyRings/`keyRing`/
9818
+ # cryptoKeys/`keyId``.
9819
+ # Corresponds to the JSON property `kmsKey`
9820
+ # @return [String]
9821
+ attr_accessor :kms_key
9822
+
9823
+ def initialize(**args)
9824
+ update!(**args)
9825
+ end
9826
+
9827
+ # Update properties of this object
9828
+ def update!(**args)
9829
+ @kms_key = args[:kms_key] if args.key?(:kms_key)
9830
+ end
9831
+ end
9832
+
9158
9833
  # Verification information for target sites in advanced site search.
9159
9834
  class GoogleCloudDiscoveryengineV1alphaSiteVerificationInfo
9160
9835
  include Google::Apis::Core::Hashable
@@ -9474,6 +10149,34 @@ module Google
9474
10149
  end
9475
10150
  end
9476
10151
 
10152
+ # Metadata related to the progress of the CollectionService.UpdateCollection
10153
+ # operation. This will be returned by the google.longrunning.Operation.metadata
10154
+ # field.
10155
+ class GoogleCloudDiscoveryengineV1alphaUpdateCollectionMetadata
10156
+ include Google::Apis::Core::Hashable
10157
+
10158
+ # Operation create time.
10159
+ # Corresponds to the JSON property `createTime`
10160
+ # @return [String]
10161
+ attr_accessor :create_time
10162
+
10163
+ # Operation last update time. If the operation is done, this is also the finish
10164
+ # time.
10165
+ # Corresponds to the JSON property `updateTime`
10166
+ # @return [String]
10167
+ attr_accessor :update_time
10168
+
10169
+ def initialize(**args)
10170
+ update!(**args)
10171
+ end
10172
+
10173
+ # Update properties of this object
10174
+ def update!(**args)
10175
+ @create_time = args[:create_time] if args.key?(:create_time)
10176
+ @update_time = args[:update_time] if args.key?(:update_time)
10177
+ end
10178
+ end
10179
+
9477
10180
  # Metadata for UpdateSchema LRO.
9478
10181
  class GoogleCloudDiscoveryengineV1alphaUpdateSchemaMetadata
9479
10182
  include Google::Apis::Core::Hashable
@@ -12283,6 +12986,11 @@ module Google
12283
12986
  # @return [String]
12284
12987
  attr_accessor :name
12285
12988
 
12989
+ # Optional. Single-regional CMEKs that are required for some VAIS features.
12990
+ # Corresponds to the JSON property `singleRegionKeys`
12991
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSingleRegionKey>]
12992
+ attr_accessor :single_region_keys
12993
+
12286
12994
  # Output only. State of the CmekConfig.
12287
12995
  # Corresponds to the JSON property `state`
12288
12996
  # @return [String]
@@ -12299,6 +13007,7 @@ module Google
12299
13007
  @kms_key_version = args[:kms_key_version] if args.key?(:kms_key_version)
12300
13008
  @last_rotation_timestamp_micros = args[:last_rotation_timestamp_micros] if args.key?(:last_rotation_timestamp_micros)
12301
13009
  @name = args[:name] if args.key?(:name)
13010
+ @single_region_keys = args[:single_region_keys] if args.key?(:single_region_keys)
12302
13011
  @state = args[:state] if args.key?(:state)
12303
13012
  end
12304
13013
  end
@@ -13325,6 +14034,12 @@ module Google
13325
14034
  # @return [String]
13326
14035
  attr_accessor :industry_vertical
13327
14036
 
14037
+ # Optional. If set, this DataStore is an Infobot FAQ DataStore.
14038
+ # Corresponds to the JSON property `isInfobotFaqDataStore`
14039
+ # @return [Boolean]
14040
+ attr_accessor :is_infobot_faq_data_store
14041
+ alias_method :is_infobot_faq_data_store?, :is_infobot_faq_data_store
14042
+
13328
14043
  # Input only. The KMS key to be used to protect this DataStore at creation time.
13329
14044
  # Must be set for requests that need to comply with CMEK Org Policy protections.
13330
14045
  # If this field is set and processed successfully, the DataStore will be
@@ -13389,6 +14104,7 @@ module Google
13389
14104
  @display_name = args[:display_name] if args.key?(:display_name)
13390
14105
  @document_processing_config = args[:document_processing_config] if args.key?(:document_processing_config)
13391
14106
  @industry_vertical = args[:industry_vertical] if args.key?(:industry_vertical)
14107
+ @is_infobot_faq_data_store = args[:is_infobot_faq_data_store] if args.key?(:is_infobot_faq_data_store)
13392
14108
  @kms_key_name = args[:kms_key_name] if args.key?(:kms_key_name)
13393
14109
  @language_info = args[:language_info] if args.key?(:language_info)
13394
14110
  @name = args[:name] if args.key?(:name)
@@ -13806,6 +14522,12 @@ module Google
13806
14522
  # @return [String]
13807
14523
  attr_accessor :index_time
13808
14524
 
14525
+ # Immutable. The message indicates the document index is in progress. If this
14526
+ # field is populated, the document index is pending.
14527
+ # Corresponds to the JSON property `pendingMessage`
14528
+ # @return [String]
14529
+ attr_accessor :pending_message
14530
+
13809
14531
  def initialize(**args)
13810
14532
  update!(**args)
13811
14533
  end
@@ -13814,6 +14536,7 @@ module Google
13814
14536
  def update!(**args)
13815
14537
  @error_samples = args[:error_samples] if args.key?(:error_samples)
13816
14538
  @index_time = args[:index_time] if args.key?(:index_time)
14539
+ @pending_message = args[:pending_message] if args.key?(:pending_message)
13817
14540
  end
13818
14541
  end
13819
14542
 
@@ -14550,34 +15273,614 @@ module Google
14550
15273
 
14551
15274
  # Update properties of this object
14552
15275
  def update!(**args)
14553
- @chunk_text = args[:chunk_text] if args.key?(:chunk_text)
15276
+ @chunk_text = args[:chunk_text] if args.key?(:chunk_text)
15277
+ @index = args[:index] if args.key?(:index)
15278
+ @source = args[:source] if args.key?(:source)
15279
+ @source_metadata = args[:source_metadata] if args.key?(:source_metadata)
15280
+ end
15281
+ end
15282
+
15283
+ # Response message for SiteSearchEngineService.FetchDomainVerificationStatus
15284
+ # method.
15285
+ class GoogleCloudDiscoveryengineV1betaFetchDomainVerificationStatusResponse
15286
+ include Google::Apis::Core::Hashable
15287
+
15288
+ # A token that can be sent as `page_token` to retrieve the next page. If this
15289
+ # field is omitted, there are no subsequent pages.
15290
+ # Corresponds to the JSON property `nextPageToken`
15291
+ # @return [String]
15292
+ attr_accessor :next_page_token
15293
+
15294
+ # List of TargetSites containing the site verification status.
15295
+ # Corresponds to the JSON property `targetSites`
15296
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaTargetSite>]
15297
+ attr_accessor :target_sites
15298
+
15299
+ # The total number of items matching the request. This will always be populated
15300
+ # in the response.
15301
+ # Corresponds to the JSON property `totalSize`
15302
+ # @return [Fixnum]
15303
+ attr_accessor :total_size
15304
+
15305
+ def initialize(**args)
15306
+ update!(**args)
15307
+ end
15308
+
15309
+ # Update properties of this object
15310
+ def update!(**args)
15311
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
15312
+ @target_sites = args[:target_sites] if args.key?(:target_sites)
15313
+ @total_size = args[:total_size] if args.key?(:total_size)
15314
+ end
15315
+ end
15316
+
15317
+ # Response message for SiteSearchEngineService.FetchSitemaps method.
15318
+ class GoogleCloudDiscoveryengineV1betaFetchSitemapsResponse
15319
+ include Google::Apis::Core::Hashable
15320
+
15321
+ # List of Sitemaps fetched.
15322
+ # Corresponds to the JSON property `sitemapsMetadata`
15323
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaFetchSitemapsResponseSitemapMetadata>]
15324
+ attr_accessor :sitemaps_metadata
15325
+
15326
+ def initialize(**args)
15327
+ update!(**args)
15328
+ end
15329
+
15330
+ # Update properties of this object
15331
+ def update!(**args)
15332
+ @sitemaps_metadata = args[:sitemaps_metadata] if args.key?(:sitemaps_metadata)
15333
+ end
15334
+ end
15335
+
15336
+ # Contains a Sitemap and its metadata.
15337
+ class GoogleCloudDiscoveryengineV1betaFetchSitemapsResponseSitemapMetadata
15338
+ include Google::Apis::Core::Hashable
15339
+
15340
+ # A sitemap for the SiteSearchEngine.
15341
+ # Corresponds to the JSON property `sitemap`
15342
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSitemap]
15343
+ attr_accessor :sitemap
15344
+
15345
+ def initialize(**args)
15346
+ update!(**args)
15347
+ end
15348
+
15349
+ # Update properties of this object
15350
+ def update!(**args)
15351
+ @sitemap = args[:sitemap] if args.key?(:sitemap)
15352
+ end
15353
+ end
15354
+
15355
+ # Cloud FhirStore source import data from.
15356
+ class GoogleCloudDiscoveryengineV1betaFhirStoreSource
15357
+ include Google::Apis::Core::Hashable
15358
+
15359
+ # Required. The full resource name of the FHIR store to import data from, in the
15360
+ # format of `projects/`project`/locations/`location`/datasets/`dataset`/
15361
+ # fhirStores/`fhir_store``.
15362
+ # Corresponds to the JSON property `fhirStore`
15363
+ # @return [String]
15364
+ attr_accessor :fhir_store
15365
+
15366
+ # Intermediate Cloud Storage directory used for the import with a length limit
15367
+ # of 2,000 characters. Can be specified if one wants to have the FhirStore
15368
+ # export to a specific Cloud Storage directory.
15369
+ # Corresponds to the JSON property `gcsStagingDir`
15370
+ # @return [String]
15371
+ attr_accessor :gcs_staging_dir
15372
+
15373
+ # The FHIR resource types to import. The resource types should be a subset of
15374
+ # all [supported FHIR resource types](https://cloud.google.com/generative-ai-app-
15375
+ # builder/docs/fhir-schema-reference#resource-level-specification). Default to
15376
+ # all supported FHIR resource types if empty.
15377
+ # Corresponds to the JSON property `resourceTypes`
15378
+ # @return [Array<String>]
15379
+ attr_accessor :resource_types
15380
+
15381
+ # Optional. Whether to update the DataStore schema to the latest predefined
15382
+ # schema. If true, the DataStore schema will be updated to include any FHIR
15383
+ # fields or resource types that have been added since the last import and
15384
+ # corresponding FHIR resources will be imported from the FHIR store. Note this
15385
+ # field cannot be used in conjunction with `resource_types`. It should be used
15386
+ # after initial import.
15387
+ # Corresponds to the JSON property `updateFromLatestPredefinedSchema`
15388
+ # @return [Boolean]
15389
+ attr_accessor :update_from_latest_predefined_schema
15390
+ alias_method :update_from_latest_predefined_schema?, :update_from_latest_predefined_schema
15391
+
15392
+ def initialize(**args)
15393
+ update!(**args)
15394
+ end
15395
+
15396
+ # Update properties of this object
15397
+ def update!(**args)
15398
+ @fhir_store = args[:fhir_store] if args.key?(:fhir_store)
15399
+ @gcs_staging_dir = args[:gcs_staging_dir] if args.key?(:gcs_staging_dir)
15400
+ @resource_types = args[:resource_types] if args.key?(:resource_types)
15401
+ @update_from_latest_predefined_schema = args[:update_from_latest_predefined_schema] if args.key?(:update_from_latest_predefined_schema)
15402
+ end
15403
+ end
15404
+
15405
+ # Firestore source import data from.
15406
+ class GoogleCloudDiscoveryengineV1betaFirestoreSource
15407
+ include Google::Apis::Core::Hashable
15408
+
15409
+ # Required. The Firestore collection (or entity) to copy the data from with a
15410
+ # length limit of 1,500 characters.
15411
+ # Corresponds to the JSON property `collectionId`
15412
+ # @return [String]
15413
+ attr_accessor :collection_id
15414
+
15415
+ # Required. The Firestore database to copy the data from with a length limit of
15416
+ # 256 characters.
15417
+ # Corresponds to the JSON property `databaseId`
15418
+ # @return [String]
15419
+ attr_accessor :database_id
15420
+
15421
+ # Intermediate Cloud Storage directory used for the import with a length limit
15422
+ # of 2,000 characters. Can be specified if one wants to have the Firestore
15423
+ # export to a specific Cloud Storage directory. Ensure that the Firestore
15424
+ # service account has the necessary Cloud Storage Admin permissions to access
15425
+ # the specified Cloud Storage directory.
15426
+ # Corresponds to the JSON property `gcsStagingDir`
15427
+ # @return [String]
15428
+ attr_accessor :gcs_staging_dir
15429
+
15430
+ # The project ID that the Cloud SQL source is in with a length limit of 128
15431
+ # characters. If not specified, inherits the project ID from the parent request.
15432
+ # Corresponds to the JSON property `projectId`
15433
+ # @return [String]
15434
+ attr_accessor :project_id
15435
+
15436
+ def initialize(**args)
15437
+ update!(**args)
15438
+ end
15439
+
15440
+ # Update properties of this object
15441
+ def update!(**args)
15442
+ @collection_id = args[:collection_id] if args.key?(:collection_id)
15443
+ @database_id = args[:database_id] if args.key?(:database_id)
15444
+ @gcs_staging_dir = args[:gcs_staging_dir] if args.key?(:gcs_staging_dir)
15445
+ @project_id = args[:project_id] if args.key?(:project_id)
15446
+ end
15447
+ end
15448
+
15449
+ # Cloud Storage location for input content.
15450
+ class GoogleCloudDiscoveryengineV1betaGcsSource
15451
+ include Google::Apis::Core::Hashable
15452
+
15453
+ # The schema to use when parsing the data from the source. Supported values for
15454
+ # document imports: * `document` (default): One JSON Document per line. Each
15455
+ # document must have a valid Document.id. * `content`: Unstructured data (e.g.
15456
+ # PDF, HTML). Each file matched by `input_uris` becomes a document, with the ID
15457
+ # set to the first 128 bits of SHA256(URI) encoded as a hex string. * `custom`:
15458
+ # One custom data JSON per row in arbitrary format that conforms to the defined
15459
+ # Schema of the data store. This can only be used by the GENERIC Data Store
15460
+ # vertical. * `csv`: A CSV file with header conforming to the defined Schema of
15461
+ # the data store. Each entry after the header is imported as a Document. This
15462
+ # can only be used by the GENERIC Data Store vertical. Supported values for user
15463
+ # event imports: * `user_event` (default): One JSON UserEvent per line.
15464
+ # Corresponds to the JSON property `dataSchema`
15465
+ # @return [String]
15466
+ attr_accessor :data_schema
15467
+
15468
+ # Required. Cloud Storage URIs to input files. Each URI can be up to 2000
15469
+ # characters long. URIs can match the full object path (for example, `gs://
15470
+ # bucket/directory/object.json`) or a pattern matching one or more files, such
15471
+ # as `gs://bucket/directory/*.json`. A request can contain at most 100 files (or
15472
+ # 100,000 files if `data_schema` is `content`). Each file can be up to 2 GB (or
15473
+ # 100 MB if `data_schema` is `content`).
15474
+ # Corresponds to the JSON property `inputUris`
15475
+ # @return [Array<String>]
15476
+ attr_accessor :input_uris
15477
+
15478
+ def initialize(**args)
15479
+ update!(**args)
15480
+ end
15481
+
15482
+ # Update properties of this object
15483
+ def update!(**args)
15484
+ @data_schema = args[:data_schema] if args.key?(:data_schema)
15485
+ @input_uris = args[:input_uris] if args.key?(:input_uris)
15486
+ end
15487
+ end
15488
+
15489
+ # Top-level message sent by the client for the `GenerateGroundedContent` method.
15490
+ class GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequest
15491
+ include Google::Apis::Core::Hashable
15492
+
15493
+ # Content of the current conversation with the model. For single-turn queries,
15494
+ # this is a single instance. For multi-turn queries, this is a repeated field
15495
+ # that contains conversation history + latest request.
15496
+ # Corresponds to the JSON property `contents`
15497
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaGroundedGenerationContent>]
15498
+ attr_accessor :contents
15499
+
15500
+ # Content generation specification.
15501
+ # Corresponds to the JSON property `generationSpec`
15502
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestGenerationSpec]
15503
+ attr_accessor :generation_spec
15504
+
15505
+ # Grounding specification.
15506
+ # Corresponds to the JSON property `groundingSpec`
15507
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestGroundingSpec]
15508
+ attr_accessor :grounding_spec
15509
+
15510
+ # Base structured datatype containing multi-part content of a message.
15511
+ # Corresponds to the JSON property `systemInstruction`
15512
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaGroundedGenerationContent]
15513
+ attr_accessor :system_instruction
15514
+
15515
+ # The user labels applied to a resource must meet the following requirements: *
15516
+ # Each resource can have multiple labels, up to a maximum of 64. * Each label
15517
+ # must be a key-value pair. * Keys have a minimum length of 1 character and a
15518
+ # maximum length of 63 characters and cannot be empty. Values can be empty and
15519
+ # have a maximum length of 63 characters. * Keys and values can contain only
15520
+ # lowercase letters, numeric characters, underscores, and dashes. All characters
15521
+ # must use UTF-8 encoding, and international characters are allowed. * The key
15522
+ # portion of a label must be unique. However, you can use the same key with
15523
+ # multiple resources. * Keys must start with a lowercase letter or international
15524
+ # character. See [Google Cloud Document](https://cloud.google.com/resource-
15525
+ # manager/docs/creating-managing-labels#requirements) for more details.
15526
+ # Corresponds to the JSON property `userLabels`
15527
+ # @return [Hash<String,String>]
15528
+ attr_accessor :user_labels
15529
+
15530
+ def initialize(**args)
15531
+ update!(**args)
15532
+ end
15533
+
15534
+ # Update properties of this object
15535
+ def update!(**args)
15536
+ @contents = args[:contents] if args.key?(:contents)
15537
+ @generation_spec = args[:generation_spec] if args.key?(:generation_spec)
15538
+ @grounding_spec = args[:grounding_spec] if args.key?(:grounding_spec)
15539
+ @system_instruction = args[:system_instruction] if args.key?(:system_instruction)
15540
+ @user_labels = args[:user_labels] if args.key?(:user_labels)
15541
+ end
15542
+ end
15543
+
15544
+ # Describes the options to customize dynamic retrieval.
15545
+ class GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestDynamicRetrievalConfiguration
15546
+ include Google::Apis::Core::Hashable
15547
+
15548
+ # Describes the predictor settings for dynamic retrieval.
15549
+ # Corresponds to the JSON property `predictor`
15550
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestDynamicRetrievalConfigurationDynamicRetrievalPredictor]
15551
+ attr_accessor :predictor
15552
+
15553
+ def initialize(**args)
15554
+ update!(**args)
15555
+ end
15556
+
15557
+ # Update properties of this object
15558
+ def update!(**args)
15559
+ @predictor = args[:predictor] if args.key?(:predictor)
15560
+ end
15561
+ end
15562
+
15563
+ # Describes the predictor settings for dynamic retrieval.
15564
+ class GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestDynamicRetrievalConfigurationDynamicRetrievalPredictor
15565
+ include Google::Apis::Core::Hashable
15566
+
15567
+ # The value of the threshold. If the predictor will predict a value smaller than
15568
+ # this, it would suppress grounding in the source.
15569
+ # Corresponds to the JSON property `threshold`
15570
+ # @return [Float]
15571
+ attr_accessor :threshold
15572
+
15573
+ # The version of the predictor to be used in dynamic retrieval.
15574
+ # Corresponds to the JSON property `version`
15575
+ # @return [String]
15576
+ attr_accessor :version
15577
+
15578
+ def initialize(**args)
15579
+ update!(**args)
15580
+ end
15581
+
15582
+ # Update properties of this object
15583
+ def update!(**args)
15584
+ @threshold = args[:threshold] if args.key?(:threshold)
15585
+ @version = args[:version] if args.key?(:version)
15586
+ end
15587
+ end
15588
+
15589
+ # Content generation specification.
15590
+ class GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestGenerationSpec
15591
+ include Google::Apis::Core::Hashable
15592
+
15593
+ # If specified, custom value for frequency penalty will be used.
15594
+ # Corresponds to the JSON property `frequencyPenalty`
15595
+ # @return [Float]
15596
+ attr_accessor :frequency_penalty
15597
+
15598
+ # Language code for content. Use language tags defined by [BCP47](https://www.
15599
+ # rfc-editor.org/rfc/bcp/bcp47.txt).
15600
+ # Corresponds to the JSON property `languageCode`
15601
+ # @return [String]
15602
+ attr_accessor :language_code
15603
+
15604
+ # If specified, custom value for max output tokens will be used.
15605
+ # Corresponds to the JSON property `maxOutputTokens`
15606
+ # @return [Fixnum]
15607
+ attr_accessor :max_output_tokens
15608
+
15609
+ # Specifies which Vertex model id to use for generation.
15610
+ # Corresponds to the JSON property `modelId`
15611
+ # @return [String]
15612
+ attr_accessor :model_id
15613
+
15614
+ # If specified, custom value for presence penalty will be used.
15615
+ # Corresponds to the JSON property `presencePenalty`
15616
+ # @return [Float]
15617
+ attr_accessor :presence_penalty
15618
+
15619
+ # If specified, custom value for the seed will be used.
15620
+ # Corresponds to the JSON property `seed`
15621
+ # @return [Fixnum]
15622
+ attr_accessor :seed
15623
+
15624
+ # If specified, custom value for the temperature will be used.
15625
+ # Corresponds to the JSON property `temperature`
15626
+ # @return [Float]
15627
+ attr_accessor :temperature
15628
+
15629
+ # If specified, custom value for top-k sampling will be used.
15630
+ # Corresponds to the JSON property `topK`
15631
+ # @return [Fixnum]
15632
+ attr_accessor :top_k
15633
+
15634
+ # If specified, custom value for nucleus sampling will be used.
15635
+ # Corresponds to the JSON property `topP`
15636
+ # @return [Float]
15637
+ attr_accessor :top_p
15638
+
15639
+ def initialize(**args)
15640
+ update!(**args)
15641
+ end
15642
+
15643
+ # Update properties of this object
15644
+ def update!(**args)
15645
+ @frequency_penalty = args[:frequency_penalty] if args.key?(:frequency_penalty)
15646
+ @language_code = args[:language_code] if args.key?(:language_code)
15647
+ @max_output_tokens = args[:max_output_tokens] if args.key?(:max_output_tokens)
15648
+ @model_id = args[:model_id] if args.key?(:model_id)
15649
+ @presence_penalty = args[:presence_penalty] if args.key?(:presence_penalty)
15650
+ @seed = args[:seed] if args.key?(:seed)
15651
+ @temperature = args[:temperature] if args.key?(:temperature)
15652
+ @top_k = args[:top_k] if args.key?(:top_k)
15653
+ @top_p = args[:top_p] if args.key?(:top_p)
15654
+ end
15655
+ end
15656
+
15657
+ # Grounding source.
15658
+ class GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestGroundingSource
15659
+ include Google::Apis::Core::Hashable
15660
+
15661
+ # Google Search config parameters.
15662
+ # Corresponds to the JSON property `googleSearchSource`
15663
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestGroundingSourceGoogleSearchSource]
15664
+ attr_accessor :google_search_source
15665
+
15666
+ # Message to be used for grounding based on inline content.
15667
+ # Corresponds to the JSON property `inlineSource`
15668
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestGroundingSourceInlineSource]
15669
+ attr_accessor :inline_source
15670
+
15671
+ # Message to be used for grounding with Vertex AI Search.
15672
+ # Corresponds to the JSON property `searchSource`
15673
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestGroundingSourceSearchSource]
15674
+ attr_accessor :search_source
15675
+
15676
+ def initialize(**args)
15677
+ update!(**args)
15678
+ end
15679
+
15680
+ # Update properties of this object
15681
+ def update!(**args)
15682
+ @google_search_source = args[:google_search_source] if args.key?(:google_search_source)
15683
+ @inline_source = args[:inline_source] if args.key?(:inline_source)
15684
+ @search_source = args[:search_source] if args.key?(:search_source)
15685
+ end
15686
+ end
15687
+
15688
+ # Google Search config parameters.
15689
+ class GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestGroundingSourceGoogleSearchSource
15690
+ include Google::Apis::Core::Hashable
15691
+
15692
+ # Describes the options to customize dynamic retrieval.
15693
+ # Corresponds to the JSON property `dynamicRetrievalConfig`
15694
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestDynamicRetrievalConfiguration]
15695
+ attr_accessor :dynamic_retrieval_config
15696
+
15697
+ def initialize(**args)
15698
+ update!(**args)
15699
+ end
15700
+
15701
+ # Update properties of this object
15702
+ def update!(**args)
15703
+ @dynamic_retrieval_config = args[:dynamic_retrieval_config] if args.key?(:dynamic_retrieval_config)
15704
+ end
15705
+ end
15706
+
15707
+ # Message to be used for grounding based on inline content.
15708
+ class GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestGroundingSourceInlineSource
15709
+ include Google::Apis::Core::Hashable
15710
+
15711
+ # Attributes associated with the content. Common attributes include `source` (
15712
+ # indicating where the content was sourced from) and `author` (indicating the
15713
+ # author of the content).
15714
+ # Corresponds to the JSON property `attributes`
15715
+ # @return [Hash<String,String>]
15716
+ attr_accessor :attributes
15717
+
15718
+ # List of facts to be used for grounding.
15719
+ # Corresponds to the JSON property `groundingFacts`
15720
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaGroundingFact>]
15721
+ attr_accessor :grounding_facts
15722
+
15723
+ def initialize(**args)
15724
+ update!(**args)
15725
+ end
15726
+
15727
+ # Update properties of this object
15728
+ def update!(**args)
15729
+ @attributes = args[:attributes] if args.key?(:attributes)
15730
+ @grounding_facts = args[:grounding_facts] if args.key?(:grounding_facts)
15731
+ end
15732
+ end
15733
+
15734
+ # Message to be used for grounding with Vertex AI Search.
15735
+ class GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestGroundingSourceSearchSource
15736
+ include Google::Apis::Core::Hashable
15737
+
15738
+ # Filter expression to be applied to the search. The syntax is the same as
15739
+ # SearchRequest.filter.
15740
+ # Corresponds to the JSON property `filter`
15741
+ # @return [String]
15742
+ attr_accessor :filter
15743
+
15744
+ # Number of search results to return. The default value is 10. The maximumm
15745
+ # allowed value is 10.
15746
+ # Corresponds to the JSON property `maxResultCount`
15747
+ # @return [Fixnum]
15748
+ attr_accessor :max_result_count
15749
+
15750
+ # If set, safe search is enabled in Vertex AI Search requests.
15751
+ # Corresponds to the JSON property `safeSearch`
15752
+ # @return [Boolean]
15753
+ attr_accessor :safe_search
15754
+ alias_method :safe_search?, :safe_search
15755
+
15756
+ # The resource name of the Engine to use. Format: `projects/`project`/locations/`
15757
+ # location`/collections/`collection_id`/engines/`engine_id`/servingConfigs/`
15758
+ # serving_config_id``
15759
+ # Corresponds to the JSON property `servingConfig`
15760
+ # @return [String]
15761
+ attr_accessor :serving_config
15762
+
15763
+ def initialize(**args)
15764
+ update!(**args)
15765
+ end
15766
+
15767
+ # Update properties of this object
15768
+ def update!(**args)
15769
+ @filter = args[:filter] if args.key?(:filter)
15770
+ @max_result_count = args[:max_result_count] if args.key?(:max_result_count)
15771
+ @safe_search = args[:safe_search] if args.key?(:safe_search)
15772
+ @serving_config = args[:serving_config] if args.key?(:serving_config)
15773
+ end
15774
+ end
15775
+
15776
+ # Grounding specification.
15777
+ class GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestGroundingSpec
15778
+ include Google::Apis::Core::Hashable
15779
+
15780
+ # Grounding sources.
15781
+ # Corresponds to the JSON property `groundingSources`
15782
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestGroundingSource>]
15783
+ attr_accessor :grounding_sources
15784
+
15785
+ def initialize(**args)
15786
+ update!(**args)
15787
+ end
15788
+
15789
+ # Update properties of this object
15790
+ def update!(**args)
15791
+ @grounding_sources = args[:grounding_sources] if args.key?(:grounding_sources)
15792
+ end
15793
+ end
15794
+
15795
+ # Response for the `GenerateGroundedContent` method.
15796
+ class GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponse
15797
+ include Google::Apis::Core::Hashable
15798
+
15799
+ # Generated candidates.
15800
+ # Corresponds to the JSON property `candidates`
15801
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidate>]
15802
+ attr_accessor :candidates
15803
+
15804
+ def initialize(**args)
15805
+ update!(**args)
15806
+ end
15807
+
15808
+ # Update properties of this object
15809
+ def update!(**args)
15810
+ @candidates = args[:candidates] if args.key?(:candidates)
15811
+ end
15812
+ end
15813
+
15814
+ # A response candidate generated from the model.
15815
+ class GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidate
15816
+ include Google::Apis::Core::Hashable
15817
+
15818
+ # Base structured datatype containing multi-part content of a message.
15819
+ # Corresponds to the JSON property `content`
15820
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaGroundedGenerationContent]
15821
+ attr_accessor :content
15822
+
15823
+ # Citation for the generated content.
15824
+ # Corresponds to the JSON property `groundingMetadata`
15825
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidateGroundingMetadata]
15826
+ attr_accessor :grounding_metadata
15827
+
15828
+ # The overall grounding score for the candidate, in the range of [0, 1].
15829
+ # Corresponds to the JSON property `groundingScore`
15830
+ # @return [Float]
15831
+ attr_accessor :grounding_score
15832
+
15833
+ # Index of the candidate.
15834
+ # Corresponds to the JSON property `index`
15835
+ # @return [Fixnum]
15836
+ attr_accessor :index
15837
+
15838
+ def initialize(**args)
15839
+ update!(**args)
15840
+ end
15841
+
15842
+ # Update properties of this object
15843
+ def update!(**args)
15844
+ @content = args[:content] if args.key?(:content)
15845
+ @grounding_metadata = args[:grounding_metadata] if args.key?(:grounding_metadata)
15846
+ @grounding_score = args[:grounding_score] if args.key?(:grounding_score)
14554
15847
  @index = args[:index] if args.key?(:index)
14555
- @source = args[:source] if args.key?(:source)
14556
- @source_metadata = args[:source_metadata] if args.key?(:source_metadata)
14557
15848
  end
14558
15849
  end
14559
15850
 
14560
- # Response message for SiteSearchEngineService.FetchDomainVerificationStatus
14561
- # method.
14562
- class GoogleCloudDiscoveryengineV1betaFetchDomainVerificationStatusResponse
15851
+ # Citation for the generated content.
15852
+ class GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidateGroundingMetadata
14563
15853
  include Google::Apis::Core::Hashable
14564
15854
 
14565
- # A token that can be sent as `page_token` to retrieve the next page. If this
14566
- # field is omitted, there are no subsequent pages.
14567
- # Corresponds to the JSON property `nextPageToken`
14568
- # @return [String]
14569
- attr_accessor :next_page_token
15855
+ # GroundingSupport across all claims in the answer candidate. An support to a
15856
+ # fact indicates that the claim is supported by the fact.
15857
+ # Corresponds to the JSON property `groundingSupport`
15858
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidateGroundingMetadataGroundingSupport>]
15859
+ attr_accessor :grounding_support
14570
15860
 
14571
- # List of TargetSites containing the site verification status.
14572
- # Corresponds to the JSON property `targetSites`
14573
- # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaTargetSite>]
14574
- attr_accessor :target_sites
15861
+ # Retrieval metadata to provide an understanding in the retrieval steps
15862
+ # performed by the model. There can be multiple such messages which can
15863
+ # correspond to different parts of the retrieval. This is a mechanism used to
15864
+ # ensure transparency to our users.
15865
+ # Corresponds to the JSON property `retrievalMetadata`
15866
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidateGroundingMetadataRetrievalMetadata>]
15867
+ attr_accessor :retrieval_metadata
14575
15868
 
14576
- # The total number of items matching the request. This will always be populated
14577
- # in the response.
14578
- # Corresponds to the JSON property `totalSize`
14579
- # @return [Fixnum]
14580
- attr_accessor :total_size
15869
+ # Google search entry point.
15870
+ # Corresponds to the JSON property `searchEntryPoint`
15871
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidateGroundingMetadataSearchEntryPoint]
15872
+ attr_accessor :search_entry_point
15873
+
15874
+ # List of chunks to be attributed across all claims in the candidate. These are
15875
+ # derived from the grounding sources supplied in the request.
15876
+ # Corresponds to the JSON property `supportChunks`
15877
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaFactChunk>]
15878
+ attr_accessor :support_chunks
15879
+
15880
+ # Web search queries for the following-up web search.
15881
+ # Corresponds to the JSON property `webSearchQueries`
15882
+ # @return [Array<String>]
15883
+ attr_accessor :web_search_queries
14581
15884
 
14582
15885
  def initialize(**args)
14583
15886
  update!(**args)
@@ -14585,20 +15888,22 @@ module Google
14585
15888
 
14586
15889
  # Update properties of this object
14587
15890
  def update!(**args)
14588
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
14589
- @target_sites = args[:target_sites] if args.key?(:target_sites)
14590
- @total_size = args[:total_size] if args.key?(:total_size)
15891
+ @grounding_support = args[:grounding_support] if args.key?(:grounding_support)
15892
+ @retrieval_metadata = args[:retrieval_metadata] if args.key?(:retrieval_metadata)
15893
+ @search_entry_point = args[:search_entry_point] if args.key?(:search_entry_point)
15894
+ @support_chunks = args[:support_chunks] if args.key?(:support_chunks)
15895
+ @web_search_queries = args[:web_search_queries] if args.key?(:web_search_queries)
14591
15896
  end
14592
15897
  end
14593
15898
 
14594
- # Response message for SiteSearchEngineService.FetchSitemaps method.
14595
- class GoogleCloudDiscoveryengineV1betaFetchSitemapsResponse
15899
+ # Describes the metadata about dynamic retrieval.
15900
+ class GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidateGroundingMetadataDynamicRetrievalMetadata
14596
15901
  include Google::Apis::Core::Hashable
14597
15902
 
14598
- # List of Sitemaps fetched.
14599
- # Corresponds to the JSON property `sitemapsMetadata`
14600
- # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaFetchSitemapsResponseSitemapMetadata>]
14601
- attr_accessor :sitemaps_metadata
15903
+ # Describes the metadata about the dynamic retrieval predictor.
15904
+ # Corresponds to the JSON property `predictorMetadata`
15905
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidateGroundingMetadataDynamicRetrievalPredictorMetadata]
15906
+ attr_accessor :predictor_metadata
14602
15907
 
14603
15908
  def initialize(**args)
14604
15909
  update!(**args)
@@ -14606,18 +15911,26 @@ module Google
14606
15911
 
14607
15912
  # Update properties of this object
14608
15913
  def update!(**args)
14609
- @sitemaps_metadata = args[:sitemaps_metadata] if args.key?(:sitemaps_metadata)
15914
+ @predictor_metadata = args[:predictor_metadata] if args.key?(:predictor_metadata)
14610
15915
  end
14611
15916
  end
14612
15917
 
14613
- # Contains a Sitemap and its metadata.
14614
- class GoogleCloudDiscoveryengineV1betaFetchSitemapsResponseSitemapMetadata
15918
+ # Describes the metadata about the dynamic retrieval predictor.
15919
+ class GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidateGroundingMetadataDynamicRetrievalPredictorMetadata
14615
15920
  include Google::Apis::Core::Hashable
14616
15921
 
14617
- # A sitemap for the SiteSearchEngine.
14618
- # Corresponds to the JSON property `sitemap`
14619
- # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSitemap]
14620
- attr_accessor :sitemap
15922
+ # The value of the predictor. This should be between [0, 1] where a value of 0
15923
+ # means that the query would not benefit from grounding, while a value of 1.0
15924
+ # means that the query would benefit the most. In between values allow to
15925
+ # differentiate between different usefulness scores for grounding.
15926
+ # Corresponds to the JSON property `prediction`
15927
+ # @return [Float]
15928
+ attr_accessor :prediction
15929
+
15930
+ # The version of the predictor which was used in dynamic retrieval.
15931
+ # Corresponds to the JSON property `version`
15932
+ # @return [String]
15933
+ attr_accessor :version
14621
15934
 
14622
15935
  def initialize(**args)
14623
15936
  update!(**args)
@@ -14625,46 +15938,33 @@ module Google
14625
15938
 
14626
15939
  # Update properties of this object
14627
15940
  def update!(**args)
14628
- @sitemap = args[:sitemap] if args.key?(:sitemap)
15941
+ @prediction = args[:prediction] if args.key?(:prediction)
15942
+ @version = args[:version] if args.key?(:version)
14629
15943
  end
14630
15944
  end
14631
15945
 
14632
- # Cloud FhirStore source import data from.
14633
- class GoogleCloudDiscoveryengineV1betaFhirStoreSource
15946
+ # Grounding info for a claim in the candidate and its support.
15947
+ class GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidateGroundingMetadataGroundingSupport
14634
15948
  include Google::Apis::Core::Hashable
14635
15949
 
14636
- # Required. The full resource name of the FHIR store to import data from, in the
14637
- # format of `projects/`project`/locations/`location`/datasets/`dataset`/
14638
- # fhirStores/`fhir_store``.
14639
- # Corresponds to the JSON property `fhirStore`
14640
- # @return [String]
14641
- attr_accessor :fhir_store
14642
-
14643
- # Intermediate Cloud Storage directory used for the import with a length limit
14644
- # of 2,000 characters. Can be specified if one wants to have the FhirStore
14645
- # export to a specific Cloud Storage directory.
14646
- # Corresponds to the JSON property `gcsStagingDir`
15950
+ # Text for the claim in the candidate. Always provided when a support is found.
15951
+ # Corresponds to the JSON property `claimText`
14647
15952
  # @return [String]
14648
- attr_accessor :gcs_staging_dir
15953
+ attr_accessor :claim_text
14649
15954
 
14650
- # The FHIR resource types to import. The resource types should be a subset of
14651
- # all [supported FHIR resource types](https://cloud.google.com/generative-ai-app-
14652
- # builder/docs/fhir-schema-reference#resource-level-specification). Default to
14653
- # all supported FHIR resource types if empty.
14654
- # Corresponds to the JSON property `resourceTypes`
14655
- # @return [Array<String>]
14656
- attr_accessor :resource_types
15955
+ # A list of indices (into 'support_chunks') specifying the citations associated
15956
+ # with the claim. For instance [1,3,4] means that support_chunks[1],
15957
+ # support_chunks[3], support_chunks[4] are the chunks attributed to the claim.
15958
+ # Corresponds to the JSON property `supportChunkIndices`
15959
+ # @return [Array<Fixnum>]
15960
+ attr_accessor :support_chunk_indices
14657
15961
 
14658
- # Optional. Whether to update the DataStore schema to the latest predefined
14659
- # schema. If true, the DataStore schema will be updated to include any FHIR
14660
- # fields or resource types that have been added since the last import and
14661
- # corresponding FHIR resources will be imported from the FHIR store. Note this
14662
- # field cannot be used in conjunction with `resource_types`. It should be used
14663
- # after initial import.
14664
- # Corresponds to the JSON property `updateFromLatestPredefinedSchema`
14665
- # @return [Boolean]
14666
- attr_accessor :update_from_latest_predefined_schema
14667
- alias_method :update_from_latest_predefined_schema?, :update_from_latest_predefined_schema
15962
+ # A score in the range of [0, 1] describing how grounded is a specific claim in
15963
+ # the support chunks indicated. Higher value means that the claim is better
15964
+ # supported by the chunks.
15965
+ # Corresponds to the JSON property `supportScore`
15966
+ # @return [Float]
15967
+ attr_accessor :support_score
14668
15968
 
14669
15969
  def initialize(**args)
14670
15970
  update!(**args)
@@ -14672,43 +15972,51 @@ module Google
14672
15972
 
14673
15973
  # Update properties of this object
14674
15974
  def update!(**args)
14675
- @fhir_store = args[:fhir_store] if args.key?(:fhir_store)
14676
- @gcs_staging_dir = args[:gcs_staging_dir] if args.key?(:gcs_staging_dir)
14677
- @resource_types = args[:resource_types] if args.key?(:resource_types)
14678
- @update_from_latest_predefined_schema = args[:update_from_latest_predefined_schema] if args.key?(:update_from_latest_predefined_schema)
15975
+ @claim_text = args[:claim_text] if args.key?(:claim_text)
15976
+ @support_chunk_indices = args[:support_chunk_indices] if args.key?(:support_chunk_indices)
15977
+ @support_score = args[:support_score] if args.key?(:support_score)
14679
15978
  end
14680
15979
  end
14681
15980
 
14682
- # Firestore source import data from.
14683
- class GoogleCloudDiscoveryengineV1betaFirestoreSource
15981
+ # Describes the metadata associated with a retrieval step.
15982
+ class GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidateGroundingMetadataRetrievalMetadata
14684
15983
  include Google::Apis::Core::Hashable
14685
15984
 
14686
- # Required. The Firestore collection (or entity) to copy the data from with a
14687
- # length limit of 1,500 characters.
14688
- # Corresponds to the JSON property `collectionId`
14689
- # @return [String]
14690
- attr_accessor :collection_id
15985
+ # Describes the metadata about dynamic retrieval.
15986
+ # Corresponds to the JSON property `dynamicRetrievalMetadata`
15987
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidateGroundingMetadataDynamicRetrievalMetadata]
15988
+ attr_accessor :dynamic_retrieval_metadata
14691
15989
 
14692
- # Required. The Firestore database to copy the data from with a length limit of
14693
- # 256 characters.
14694
- # Corresponds to the JSON property `databaseId`
15990
+ # Describes the source to which the metadata is referring to.
15991
+ # Corresponds to the JSON property `source`
14695
15992
  # @return [String]
14696
- attr_accessor :database_id
15993
+ attr_accessor :source
14697
15994
 
14698
- # Intermediate Cloud Storage directory used for the import with a length limit
14699
- # of 2,000 characters. Can be specified if one wants to have the Firestore
14700
- # export to a specific Cloud Storage directory. Ensure that the Firestore
14701
- # service account has the necessary Cloud Storage Admin permissions to access
14702
- # the specified Cloud Storage directory.
14703
- # Corresponds to the JSON property `gcsStagingDir`
15995
+ def initialize(**args)
15996
+ update!(**args)
15997
+ end
15998
+
15999
+ # Update properties of this object
16000
+ def update!(**args)
16001
+ @dynamic_retrieval_metadata = args[:dynamic_retrieval_metadata] if args.key?(:dynamic_retrieval_metadata)
16002
+ @source = args[:source] if args.key?(:source)
16003
+ end
16004
+ end
16005
+
16006
+ # Google search entry point.
16007
+ class GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidateGroundingMetadataSearchEntryPoint
16008
+ include Google::Apis::Core::Hashable
16009
+
16010
+ # Web content snippet that can be embedded in a web page or an app webview.
16011
+ # Corresponds to the JSON property `renderedContent`
14704
16012
  # @return [String]
14705
- attr_accessor :gcs_staging_dir
16013
+ attr_accessor :rendered_content
14706
16014
 
14707
- # The project ID that the Cloud SQL source is in with a length limit of 128
14708
- # characters. If not specified, inherits the project ID from the parent request.
14709
- # Corresponds to the JSON property `projectId`
16015
+ # Base64 encoded JSON representing array of tuple.
16016
+ # Corresponds to the JSON property `sdkBlob`
16017
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
14710
16018
  # @return [String]
14711
- attr_accessor :project_id
16019
+ attr_accessor :sdk_blob
14712
16020
 
14713
16021
  def initialize(**args)
14714
16022
  update!(**args)
@@ -14716,41 +16024,45 @@ module Google
14716
16024
 
14717
16025
  # Update properties of this object
14718
16026
  def update!(**args)
14719
- @collection_id = args[:collection_id] if args.key?(:collection_id)
14720
- @database_id = args[:database_id] if args.key?(:database_id)
14721
- @gcs_staging_dir = args[:gcs_staging_dir] if args.key?(:gcs_staging_dir)
14722
- @project_id = args[:project_id] if args.key?(:project_id)
16027
+ @rendered_content = args[:rendered_content] if args.key?(:rendered_content)
16028
+ @sdk_blob = args[:sdk_blob] if args.key?(:sdk_blob)
14723
16029
  end
14724
16030
  end
14725
16031
 
14726
- # Cloud Storage location for input content.
14727
- class GoogleCloudDiscoveryengineV1betaGcsSource
16032
+ # Base structured datatype containing multi-part content of a message.
16033
+ class GoogleCloudDiscoveryengineV1betaGroundedGenerationContent
14728
16034
  include Google::Apis::Core::Hashable
14729
16035
 
14730
- # The schema to use when parsing the data from the source. Supported values for
14731
- # document imports: * `document` (default): One JSON Document per line. Each
14732
- # document must have a valid Document.id. * `content`: Unstructured data (e.g.
14733
- # PDF, HTML). Each file matched by `input_uris` becomes a document, with the ID
14734
- # set to the first 128 bits of SHA256(URI) encoded as a hex string. * `custom`:
14735
- # One custom data JSON per row in arbitrary format that conforms to the defined
14736
- # Schema of the data store. This can only be used by the GENERIC Data Store
14737
- # vertical. * `csv`: A CSV file with header conforming to the defined Schema of
14738
- # the data store. Each entry after the header is imported as a Document. This
14739
- # can only be used by the GENERIC Data Store vertical. Supported values for user
14740
- # event imports: * `user_event` (default): One JSON UserEvent per line.
14741
- # Corresponds to the JSON property `dataSchema`
16036
+ # Ordered `Parts` that constitute a single message.
16037
+ # Corresponds to the JSON property `parts`
16038
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaGroundedGenerationContentPart>]
16039
+ attr_accessor :parts
16040
+
16041
+ # Producer of the content. Must be either `user` or `model`. Intended to be used
16042
+ # for multi-turn conversations. Otherwise, it can be left unset.
16043
+ # Corresponds to the JSON property `role`
14742
16044
  # @return [String]
14743
- attr_accessor :data_schema
16045
+ attr_accessor :role
14744
16046
 
14745
- # Required. Cloud Storage URIs to input files. Each URI can be up to 2000
14746
- # characters long. URIs can match the full object path (for example, `gs://
14747
- # bucket/directory/object.json`) or a pattern matching one or more files, such
14748
- # as `gs://bucket/directory/*.json`. A request can contain at most 100 files (or
14749
- # 100,000 files if `data_schema` is `content`). Each file can be up to 2 GB (or
14750
- # 100 MB if `data_schema` is `content`).
14751
- # Corresponds to the JSON property `inputUris`
14752
- # @return [Array<String>]
14753
- attr_accessor :input_uris
16047
+ def initialize(**args)
16048
+ update!(**args)
16049
+ end
16050
+
16051
+ # Update properties of this object
16052
+ def update!(**args)
16053
+ @parts = args[:parts] if args.key?(:parts)
16054
+ @role = args[:role] if args.key?(:role)
16055
+ end
16056
+ end
16057
+
16058
+ # Single part of content.
16059
+ class GoogleCloudDiscoveryengineV1betaGroundedGenerationContentPart
16060
+ include Google::Apis::Core::Hashable
16061
+
16062
+ # Inline text.
16063
+ # Corresponds to the JSON property `text`
16064
+ # @return [String]
16065
+ attr_accessor :text
14754
16066
 
14755
16067
  def initialize(**args)
14756
16068
  update!(**args)
@@ -14758,8 +16070,7 @@ module Google
14758
16070
 
14759
16071
  # Update properties of this object
14760
16072
  def update!(**args)
14761
- @data_schema = args[:data_schema] if args.key?(:data_schema)
14762
- @input_uris = args[:input_uris] if args.key?(:input_uris)
16073
+ @text = args[:text] if args.key?(:text)
14763
16074
  end
14764
16075
  end
14765
16076
 
@@ -19780,6 +21091,27 @@ module Google
19780
21091
  end
19781
21092
  end
19782
21093
 
21094
+ # Metadata for single-regional CMEKs.
21095
+ class GoogleCloudDiscoveryengineV1betaSingleRegionKey
21096
+ include Google::Apis::Core::Hashable
21097
+
21098
+ # Required. Single-regional kms key resource name which will be used to encrypt
21099
+ # resources `projects/`project`/locations/`location`/keyRings/`keyRing`/
21100
+ # cryptoKeys/`keyId``.
21101
+ # Corresponds to the JSON property `kmsKey`
21102
+ # @return [String]
21103
+ attr_accessor :kms_key
21104
+
21105
+ def initialize(**args)
21106
+ update!(**args)
21107
+ end
21108
+
21109
+ # Update properties of this object
21110
+ def update!(**args)
21111
+ @kms_key = args[:kms_key] if args.key?(:kms_key)
21112
+ end
21113
+ end
21114
+
19783
21115
  # SiteSearchEngine captures DataStore level site search persisting
19784
21116
  # configurations. It is a singleton value per data store.
19785
21117
  class GoogleCloudDiscoveryengineV1betaSiteSearchEngine
@@ -21118,6 +22450,121 @@ module Google
21118
22450
  @year = args[:year] if args.key?(:year)
21119
22451
  end
21120
22452
  end
22453
+
22454
+ # Represents civil time (or occasionally physical time). This type can represent
22455
+ # a civil time in one of a few possible ways: * When utc_offset is set and
22456
+ # time_zone is unset: a civil time on a calendar day with a particular offset
22457
+ # from UTC. * When time_zone is set and utc_offset is unset: a civil time on a
22458
+ # calendar day in a particular time zone. * When neither time_zone nor
22459
+ # utc_offset is set: a civil time on a calendar day in local time. The date is
22460
+ # relative to the Proleptic Gregorian Calendar. If year, month, or day are 0,
22461
+ # the DateTime is considered not to have a specific year, month, or day
22462
+ # respectively. This type may also be used to represent a physical time if all
22463
+ # the date and time fields are set and either case of the `time_offset` oneof is
22464
+ # set. Consider using `Timestamp` message for physical time instead. If your use
22465
+ # case also would like to store the user's timezone, that can be done in another
22466
+ # field. This type is more flexible than some applications may want. Make sure
22467
+ # to document and validate your application's limitations.
22468
+ class GoogleTypeDateTime
22469
+ include Google::Apis::Core::Hashable
22470
+
22471
+ # Optional. Day of month. Must be from 1 to 31 and valid for the year and month,
22472
+ # or 0 if specifying a datetime without a day.
22473
+ # Corresponds to the JSON property `day`
22474
+ # @return [Fixnum]
22475
+ attr_accessor :day
22476
+
22477
+ # Optional. Hours of day in 24 hour format. Should be from 0 to 23, defaults to
22478
+ # 0 (midnight). An API may choose to allow the value "24:00:00" for scenarios
22479
+ # like business closing time.
22480
+ # Corresponds to the JSON property `hours`
22481
+ # @return [Fixnum]
22482
+ attr_accessor :hours
22483
+
22484
+ # Optional. Minutes of hour of day. Must be from 0 to 59, defaults to 0.
22485
+ # Corresponds to the JSON property `minutes`
22486
+ # @return [Fixnum]
22487
+ attr_accessor :minutes
22488
+
22489
+ # Optional. Month of year. Must be from 1 to 12, or 0 if specifying a datetime
22490
+ # without a month.
22491
+ # Corresponds to the JSON property `month`
22492
+ # @return [Fixnum]
22493
+ attr_accessor :month
22494
+
22495
+ # Optional. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999,
22496
+ # defaults to 0.
22497
+ # Corresponds to the JSON property `nanos`
22498
+ # @return [Fixnum]
22499
+ attr_accessor :nanos
22500
+
22501
+ # Optional. Seconds of minutes of the time. Must normally be from 0 to 59,
22502
+ # defaults to 0. An API may allow the value 60 if it allows leap-seconds.
22503
+ # Corresponds to the JSON property `seconds`
22504
+ # @return [Fixnum]
22505
+ attr_accessor :seconds
22506
+
22507
+ # Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/
22508
+ # time-zones).
22509
+ # Corresponds to the JSON property `timeZone`
22510
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleTypeTimeZone]
22511
+ attr_accessor :time_zone
22512
+
22513
+ # UTC offset. Must be whole seconds, between -18 hours and +18 hours. For
22514
+ # example, a UTC offset of -4:00 would be represented as ` seconds: -14400 `.
22515
+ # Corresponds to the JSON property `utcOffset`
22516
+ # @return [String]
22517
+ attr_accessor :utc_offset
22518
+
22519
+ # Optional. Year of date. Must be from 1 to 9999, or 0 if specifying a datetime
22520
+ # without a year.
22521
+ # Corresponds to the JSON property `year`
22522
+ # @return [Fixnum]
22523
+ attr_accessor :year
22524
+
22525
+ def initialize(**args)
22526
+ update!(**args)
22527
+ end
22528
+
22529
+ # Update properties of this object
22530
+ def update!(**args)
22531
+ @day = args[:day] if args.key?(:day)
22532
+ @hours = args[:hours] if args.key?(:hours)
22533
+ @minutes = args[:minutes] if args.key?(:minutes)
22534
+ @month = args[:month] if args.key?(:month)
22535
+ @nanos = args[:nanos] if args.key?(:nanos)
22536
+ @seconds = args[:seconds] if args.key?(:seconds)
22537
+ @time_zone = args[:time_zone] if args.key?(:time_zone)
22538
+ @utc_offset = args[:utc_offset] if args.key?(:utc_offset)
22539
+ @year = args[:year] if args.key?(:year)
22540
+ end
22541
+ end
22542
+
22543
+ # Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/
22544
+ # time-zones).
22545
+ class GoogleTypeTimeZone
22546
+ include Google::Apis::Core::Hashable
22547
+
22548
+ # IANA Time Zone Database time zone. For example "America/New_York".
22549
+ # Corresponds to the JSON property `id`
22550
+ # @return [String]
22551
+ attr_accessor :id
22552
+
22553
+ # Optional. IANA Time Zone Database version number. For example "2019a".
22554
+ # Corresponds to the JSON property `version`
22555
+ # @return [String]
22556
+ attr_accessor :version
22557
+
22558
+ def initialize(**args)
22559
+ update!(**args)
22560
+ end
22561
+
22562
+ # Update properties of this object
22563
+ def update!(**args)
22564
+ @id = args[:id] if args.key?(:id)
22565
+ @version = args[:version] if args.key?(:version)
22566
+ end
22567
+ end
21121
22568
  end
21122
22569
  end
21123
22570
  end