google-apis-discoveryengine_v1 0.50.0 → 0.52.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1459,6 +1459,55 @@ module Google
1459
1459
  end
1460
1460
  end
1461
1461
 
1462
+ # Informations to support actions on the connector.
1463
+ class GoogleCloudDiscoveryengineV1ActionConfig
1464
+ include Google::Apis::Core::Hashable
1465
+
1466
+ # Required. Params needed to support actions in the format of (Key, Value) pairs.
1467
+ # Required parameters for sources that support OAUTH, i.e. `gmail`, `
1468
+ # google_calendar`, `jira`, `workday`, `salesforce`, `confluence`: * Key: `
1469
+ # client_id` * Value: type STRING. The client ID for the service provider to
1470
+ # identify your application. * Key: `client_secret` * Value:type STRING. The
1471
+ # client secret generated by the application's authorization server.
1472
+ # Corresponds to the JSON property `actionParams`
1473
+ # @return [Hash<String,Object>]
1474
+ attr_accessor :action_params
1475
+
1476
+ # Output only. The connector contains the necessary parameters and is configured
1477
+ # to support actions.
1478
+ # Corresponds to the JSON property `isActionConfigured`
1479
+ # @return [Boolean]
1480
+ attr_accessor :is_action_configured
1481
+ alias_method :is_action_configured?, :is_action_configured
1482
+
1483
+ # Optional. The Service Directory resource name (projects/*/locations/*/
1484
+ # namespaces/*/services/*) representing a VPC network endpoint used to connect
1485
+ # to the data source's `instance_uri`, defined in DataConnector.params. Required
1486
+ # when VPC Service Controls are enabled.
1487
+ # Corresponds to the JSON property `serviceName`
1488
+ # @return [String]
1489
+ attr_accessor :service_name
1490
+
1491
+ # Optional. Whether to use static secrets for the connector. If true, the
1492
+ # secrets provided in the action_params will be ignored.
1493
+ # Corresponds to the JSON property `useStaticSecrets`
1494
+ # @return [Boolean]
1495
+ attr_accessor :use_static_secrets
1496
+ alias_method :use_static_secrets?, :use_static_secrets
1497
+
1498
+ def initialize(**args)
1499
+ update!(**args)
1500
+ end
1501
+
1502
+ # Update properties of this object
1503
+ def update!(**args)
1504
+ @action_params = args[:action_params] if args.key?(:action_params)
1505
+ @is_action_configured = args[:is_action_configured] if args.key?(:is_action_configured)
1506
+ @service_name = args[:service_name] if args.key?(:service_name)
1507
+ @use_static_secrets = args[:use_static_secrets] if args.key?(:use_static_secrets)
1508
+ end
1509
+ end
1510
+
1462
1511
  # Request message for CompletionService.AdvancedCompleteQuery method. .
1463
1512
  class GoogleCloudDiscoveryengineV1AdvancedCompleteQueryRequest
1464
1513
  include Google::Apis::Core::Hashable
@@ -1891,6 +1940,56 @@ module Google
1891
1940
  end
1892
1941
  end
1893
1942
 
1943
+ # The connector level alert config.
1944
+ class GoogleCloudDiscoveryengineV1AlertPolicyConfig
1945
+ include Google::Apis::Core::Hashable
1946
+
1947
+ # Optional. The enrollment states of each alert.
1948
+ # Corresponds to the JSON property `alertEnrollments`
1949
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1AlertPolicyConfigAlertEnrollment>]
1950
+ attr_accessor :alert_enrollments
1951
+
1952
+ # Immutable. The fully qualified resource name of the AlertPolicy.
1953
+ # Corresponds to the JSON property `alertPolicyName`
1954
+ # @return [String]
1955
+ attr_accessor :alert_policy_name
1956
+
1957
+ def initialize(**args)
1958
+ update!(**args)
1959
+ end
1960
+
1961
+ # Update properties of this object
1962
+ def update!(**args)
1963
+ @alert_enrollments = args[:alert_enrollments] if args.key?(:alert_enrollments)
1964
+ @alert_policy_name = args[:alert_policy_name] if args.key?(:alert_policy_name)
1965
+ end
1966
+ end
1967
+
1968
+ # The alert enrollment status.
1969
+ class GoogleCloudDiscoveryengineV1AlertPolicyConfigAlertEnrollment
1970
+ include Google::Apis::Core::Hashable
1971
+
1972
+ # Immutable. The id of an alert.
1973
+ # Corresponds to the JSON property `alertId`
1974
+ # @return [String]
1975
+ attr_accessor :alert_id
1976
+
1977
+ # Required. The enrollment status of a customer.
1978
+ # Corresponds to the JSON property `enrollState`
1979
+ # @return [String]
1980
+ attr_accessor :enroll_state
1981
+
1982
+ def initialize(**args)
1983
+ update!(**args)
1984
+ end
1985
+
1986
+ # Update properties of this object
1987
+ def update!(**args)
1988
+ @alert_id = args[:alert_id] if args.key?(:alert_id)
1989
+ @enroll_state = args[:enroll_state] if args.key?(:enroll_state)
1990
+ end
1991
+ end
1992
+
1894
1993
  # AlloyDB source import data from.
1895
1994
  class GoogleCloudDiscoveryengineV1AlloyDbSource
1896
1995
  include Google::Apis::Core::Hashable
@@ -3620,6 +3719,12 @@ module Google
3620
3719
  # @return [Array<String>]
3621
3720
  attr_accessor :assist_skipped_reasons
3622
3721
 
3722
+ # Customer policy enforcement results. Contains the results of the various
3723
+ # policy checks, like the banned phrases or the Model Armor checks.
3724
+ # Corresponds to the JSON property `customerPolicyEnforcementResult`
3725
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1AssistAnswerCustomerPolicyEnforcementResult]
3726
+ attr_accessor :customer_policy_enforcement_result
3727
+
3623
3728
  # Immutable. Identifier. Resource name of the `AssistAnswer`. Format: `projects/`
3624
3729
  # project`/locations/`location`/collections/`collection`/engines/`engine`/
3625
3730
  # sessions/`session`/assistAnswers/`assist_answer`` This field must be a UTF-8
@@ -3645,12 +3750,116 @@ module Google
3645
3750
  # Update properties of this object
3646
3751
  def update!(**args)
3647
3752
  @assist_skipped_reasons = args[:assist_skipped_reasons] if args.key?(:assist_skipped_reasons)
3753
+ @customer_policy_enforcement_result = args[:customer_policy_enforcement_result] if args.key?(:customer_policy_enforcement_result)
3648
3754
  @name = args[:name] if args.key?(:name)
3649
3755
  @replies = args[:replies] if args.key?(:replies)
3650
3756
  @state = args[:state] if args.key?(:state)
3651
3757
  end
3652
3758
  end
3653
3759
 
3760
+ # Customer policy enforcement results. Contains the results of the various
3761
+ # policy checks, like the banned phrases or the Model Armor checks.
3762
+ class GoogleCloudDiscoveryengineV1AssistAnswerCustomerPolicyEnforcementResult
3763
+ include Google::Apis::Core::Hashable
3764
+
3765
+ # Customer policy enforcement results. Populated only if the assist call was
3766
+ # skipped due to a policy violation. It contains results from those filters that
3767
+ # blocked the processing of the query.
3768
+ # Corresponds to the JSON property `policyResults`
3769
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1AssistAnswerCustomerPolicyEnforcementResultPolicyEnforcementResult>]
3770
+ attr_accessor :policy_results
3771
+
3772
+ # Final verdict of the customer policy enforcement. If only one policy blocked
3773
+ # the processing, the verdict is BLOCK.
3774
+ # Corresponds to the JSON property `verdict`
3775
+ # @return [String]
3776
+ attr_accessor :verdict
3777
+
3778
+ def initialize(**args)
3779
+ update!(**args)
3780
+ end
3781
+
3782
+ # Update properties of this object
3783
+ def update!(**args)
3784
+ @policy_results = args[:policy_results] if args.key?(:policy_results)
3785
+ @verdict = args[:verdict] if args.key?(:verdict)
3786
+ end
3787
+ end
3788
+
3789
+ # Customer policy enforcement result for the banned phrase policy.
3790
+ class GoogleCloudDiscoveryengineV1AssistAnswerCustomerPolicyEnforcementResultBannedPhraseEnforcementResult
3791
+ include Google::Apis::Core::Hashable
3792
+
3793
+ # The banned phrases that were found in the query or the answer.
3794
+ # Corresponds to the JSON property `bannedPhrases`
3795
+ # @return [Array<String>]
3796
+ attr_accessor :banned_phrases
3797
+
3798
+ def initialize(**args)
3799
+ update!(**args)
3800
+ end
3801
+
3802
+ # Update properties of this object
3803
+ def update!(**args)
3804
+ @banned_phrases = args[:banned_phrases] if args.key?(:banned_phrases)
3805
+ end
3806
+ end
3807
+
3808
+ # Customer policy enforcement result for the Model Armor policy.
3809
+ class GoogleCloudDiscoveryengineV1AssistAnswerCustomerPolicyEnforcementResultModelArmorEnforcementResult
3810
+ include Google::Apis::Core::Hashable
3811
+
3812
+ # The `Status` type defines a logical error model that is suitable for different
3813
+ # programming environments, including REST APIs and RPC APIs. It is used by [
3814
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
3815
+ # data: error code, error message, and error details. You can find out more
3816
+ # about this error model and how to work with it in the [API Design Guide](https:
3817
+ # //cloud.google.com/apis/design/errors).
3818
+ # Corresponds to the JSON property `error`
3819
+ # @return [Google::Apis::DiscoveryengineV1::GoogleRpcStatus]
3820
+ attr_accessor :error
3821
+
3822
+ # The Model Armor violation that was found.
3823
+ # Corresponds to the JSON property `modelArmorViolation`
3824
+ # @return [String]
3825
+ attr_accessor :model_armor_violation
3826
+
3827
+ def initialize(**args)
3828
+ update!(**args)
3829
+ end
3830
+
3831
+ # Update properties of this object
3832
+ def update!(**args)
3833
+ @error = args[:error] if args.key?(:error)
3834
+ @model_armor_violation = args[:model_armor_violation] if args.key?(:model_armor_violation)
3835
+ end
3836
+ end
3837
+
3838
+ # Customer policy enforcement result for a single policy type.
3839
+ class GoogleCloudDiscoveryengineV1AssistAnswerCustomerPolicyEnforcementResultPolicyEnforcementResult
3840
+ include Google::Apis::Core::Hashable
3841
+
3842
+ # Customer policy enforcement result for the banned phrase policy.
3843
+ # Corresponds to the JSON property `bannedPhraseEnforcementResult`
3844
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1AssistAnswerCustomerPolicyEnforcementResultBannedPhraseEnforcementResult]
3845
+ attr_accessor :banned_phrase_enforcement_result
3846
+
3847
+ # Customer policy enforcement result for the Model Armor policy.
3848
+ # Corresponds to the JSON property `modelArmorEnforcementResult`
3849
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1AssistAnswerCustomerPolicyEnforcementResultModelArmorEnforcementResult]
3850
+ attr_accessor :model_armor_enforcement_result
3851
+
3852
+ def initialize(**args)
3853
+ update!(**args)
3854
+ end
3855
+
3856
+ # Update properties of this object
3857
+ def update!(**args)
3858
+ @banned_phrase_enforcement_result = args[:banned_phrase_enforcement_result] if args.key?(:banned_phrase_enforcement_result)
3859
+ @model_armor_enforcement_result = args[:model_armor_enforcement_result] if args.key?(:model_armor_enforcement_result)
3860
+ end
3861
+ end
3862
+
3654
3863
  # One part of the multi-part response of the assist call.
3655
3864
  class GoogleCloudDiscoveryengineV1AssistAnswerReply
3656
3865
  include Google::Apis::Core::Hashable
@@ -3913,6 +4122,12 @@ module Google
3913
4122
  # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1AssistantCustomerPolicyBannedPhrase>]
3914
4123
  attr_accessor :banned_phrases
3915
4124
 
4125
+ # Configuration for customer defined Model Armor templates to be used for
4126
+ # sanitizing user prompts and assistant responses.
4127
+ # Corresponds to the JSON property `modelArmorConfig`
4128
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1AssistantCustomerPolicyModelArmorConfig]
4129
+ attr_accessor :model_armor_config
4130
+
3916
4131
  def initialize(**args)
3917
4132
  update!(**args)
3918
4133
  end
@@ -3920,6 +4135,7 @@ module Google
3920
4135
  # Update properties of this object
3921
4136
  def update!(**args)
3922
4137
  @banned_phrases = args[:banned_phrases] if args.key?(:banned_phrases)
4138
+ @model_armor_config = args[:model_armor_config] if args.key?(:model_armor_config)
3923
4139
  end
3924
4140
  end
3925
4141
 
@@ -3958,6 +4174,44 @@ module Google
3958
4174
  end
3959
4175
  end
3960
4176
 
4177
+ # Configuration for customer defined Model Armor templates to be used for
4178
+ # sanitizing user prompts and assistant responses.
4179
+ class GoogleCloudDiscoveryengineV1AssistantCustomerPolicyModelArmorConfig
4180
+ include Google::Apis::Core::Hashable
4181
+
4182
+ # Optional. Defines the failure mode for Model Armor sanitization.
4183
+ # Corresponds to the JSON property `failureMode`
4184
+ # @return [String]
4185
+ attr_accessor :failure_mode
4186
+
4187
+ # Optional. The resource name of the Model Armor template for sanitizing
4188
+ # assistant responses. Format: `projects/`project`/locations/`location`/
4189
+ # templates/`template_id`` If not specified, no sanitization will be applied to
4190
+ # the assistant response.
4191
+ # Corresponds to the JSON property `responseTemplate`
4192
+ # @return [String]
4193
+ attr_accessor :response_template
4194
+
4195
+ # Optional. The resource name of the Model Armor template for sanitizing user
4196
+ # prompts. Format: `projects/`project`/locations/`location`/templates/`
4197
+ # template_id`` If not specified, no sanitization will be applied to the user
4198
+ # prompt.
4199
+ # Corresponds to the JSON property `userPromptTemplate`
4200
+ # @return [String]
4201
+ attr_accessor :user_prompt_template
4202
+
4203
+ def initialize(**args)
4204
+ update!(**args)
4205
+ end
4206
+
4207
+ # Update properties of this object
4208
+ def update!(**args)
4209
+ @failure_mode = args[:failure_mode] if args.key?(:failure_mode)
4210
+ @response_template = args[:response_template] if args.key?(:response_template)
4211
+ @user_prompt_template = args[:user_prompt_template] if args.key?(:user_prompt_template)
4212
+ end
4213
+ end
4214
+
3961
4215
  # Configuration for the generation of the assistant response.
3962
4216
  class GoogleCloudDiscoveryengineV1AssistantGenerationConfig
3963
4217
  include Google::Apis::Core::Hashable
@@ -4098,6 +4352,12 @@ module Google
4098
4352
  # @return [String]
4099
4353
  attr_accessor :domain
4100
4354
 
4355
+ # The mime type of the document. https://www.iana.org/assignments/media-types/
4356
+ # media-types.xhtml.
4357
+ # Corresponds to the JSON property `mimeType`
4358
+ # @return [String]
4359
+ attr_accessor :mime_type
4360
+
4101
4361
  # Page identifier.
4102
4362
  # Corresponds to the JSON property `pageIdentifier`
4103
4363
  # @return [String]
@@ -4122,6 +4382,7 @@ module Google
4122
4382
  def update!(**args)
4123
4383
  @document = args[:document] if args.key?(:document)
4124
4384
  @domain = args[:domain] if args.key?(:domain)
4385
+ @mime_type = args[:mime_type] if args.key?(:mime_type)
4125
4386
  @page_identifier = args[:page_identifier] if args.key?(:page_identifier)
4126
4387
  @title = args[:title] if args.key?(:title)
4127
4388
  @uri = args[:uri] if args.key?(:uri)
@@ -4219,6 +4480,25 @@ module Google
4219
4480
  end
4220
4481
  end
4221
4482
 
4483
+ # The configuration for the BAP connector.
4484
+ class GoogleCloudDiscoveryengineV1BapConfig
4485
+ include Google::Apis::Core::Hashable
4486
+
4487
+ # Required. The supported connector modes for the associated BAP connection.
4488
+ # Corresponds to the JSON property `supportedConnectorModes`
4489
+ # @return [Array<String>]
4490
+ attr_accessor :supported_connector_modes
4491
+
4492
+ def initialize(**args)
4493
+ update!(**args)
4494
+ end
4495
+
4496
+ # Update properties of this object
4497
+ def update!(**args)
4498
+ @supported_connector_modes = args[:supported_connector_modes] if args.key?(:supported_connector_modes)
4499
+ end
4500
+ end
4501
+
4222
4502
  # Metadata related to the progress of the SiteSearchEngineService.
4223
4503
  # BatchCreateTargetSites operation. This will be returned by the google.
4224
4504
  # longrunning.Operation.metadata field.
@@ -5300,6 +5580,42 @@ module Google
5300
5580
  end
5301
5581
  end
5302
5582
 
5583
+ # Collection is a container for configuring resources and access to a set of
5584
+ # DataStores.
5585
+ class GoogleCloudDiscoveryengineV1Collection
5586
+ include Google::Apis::Core::Hashable
5587
+
5588
+ # Output only. Timestamp the Collection was created at.
5589
+ # Corresponds to the JSON property `createTime`
5590
+ # @return [String]
5591
+ attr_accessor :create_time
5592
+
5593
+ # Required. The Collection display name. This field must be a UTF-8 encoded
5594
+ # string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT
5595
+ # error is returned.
5596
+ # Corresponds to the JSON property `displayName`
5597
+ # @return [String]
5598
+ attr_accessor :display_name
5599
+
5600
+ # Immutable. The full resource name of the Collection. Format: `projects/`
5601
+ # project`/locations/`location`/collections/`collection_id``. This field must be
5602
+ # a UTF-8 encoded string with a length limit of 1024 characters.
5603
+ # Corresponds to the JSON property `name`
5604
+ # @return [String]
5605
+ attr_accessor :name
5606
+
5607
+ def initialize(**args)
5608
+ update!(**args)
5609
+ end
5610
+
5611
+ # Update properties of this object
5612
+ def update!(**args)
5613
+ @create_time = args[:create_time] if args.key?(:create_time)
5614
+ @display_name = args[:display_name] if args.key?(:display_name)
5615
+ @name = args[:name] if args.key?(:name)
5616
+ end
5617
+ end
5618
+
5303
5619
  # Response message for CompletionService.CompleteQuery method.
5304
5620
  class GoogleCloudDiscoveryengineV1CompleteQueryResponse
5305
5621
  include Google::Apis::Core::Hashable
@@ -6343,16 +6659,519 @@ module Google
6343
6659
  end
6344
6660
  end
6345
6661
 
6346
- # DataStore captures global settings and configs at the DataStore level.
6347
- class GoogleCloudDiscoveryengineV1DataStore
6662
+ # Manages the connection to external data sources for all data stores grouped
6663
+ # under a Collection. It's a singleton resource of Collection. The
6664
+ # initialization is only supported through DataConnectorService.
6665
+ # SetUpDataConnector method, which will create a new Collection and initialize
6666
+ # its DataConnector.
6667
+ class GoogleCloudDiscoveryengineV1DataConnector
6348
6668
  include Google::Apis::Core::Hashable
6349
6669
 
6350
- # Immutable. Whether data in the DataStore has ACL information. If set to `true`,
6351
- # the source data must have ACL. ACL will be ingested when data is ingested by
6352
- # DocumentService.ImportDocuments methods. When ACL is enabled for the DataStore,
6353
- # Document can't be accessed by calling DocumentService.GetDocument or
6354
- # DocumentService.ListDocuments. Currently ACL is only supported in `GENERIC`
6355
- # industry vertical with non-`PUBLIC_WEBSITE` content config.
6670
+ # Optional. Whether the connector will be created with an ACL config. Currently
6671
+ # this field only affects Cloud Storage and BigQuery connectors.
6672
+ # Corresponds to the JSON property `aclEnabled`
6673
+ # @return [Boolean]
6674
+ attr_accessor :acl_enabled
6675
+ alias_method :acl_enabled?, :acl_enabled
6676
+
6677
+ # Informations to support actions on the connector.
6678
+ # Corresponds to the JSON property `actionConfig`
6679
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1ActionConfig]
6680
+ attr_accessor :action_config
6681
+
6682
+ # Output only. State of the action connector. This reflects whether the action
6683
+ # connector is initializing, active or has encountered errors.
6684
+ # Corresponds to the JSON property `actionState`
6685
+ # @return [String]
6686
+ attr_accessor :action_state
6687
+
6688
+ # Optional. The connector level alert config.
6689
+ # Corresponds to the JSON property `alertPolicyConfigs`
6690
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1AlertPolicyConfig>]
6691
+ attr_accessor :alert_policy_configs
6692
+
6693
+ # Optional. Indicates whether the connector is disabled for auto run. It can be
6694
+ # used to pause periodical and real time sync. Update: with the introduction of
6695
+ # incremental_sync_disabled, auto_run_disabled is used to pause/disable only
6696
+ # full syncs
6697
+ # Corresponds to the JSON property `autoRunDisabled`
6698
+ # @return [Boolean]
6699
+ attr_accessor :auto_run_disabled
6700
+ alias_method :auto_run_disabled?, :auto_run_disabled
6701
+
6702
+ # The configuration for the BAP connector.
6703
+ # Corresponds to the JSON property `bapConfig`
6704
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1BapConfig]
6705
+ attr_accessor :bap_config
6706
+
6707
+ # Output only. User actions that must be completed before the connector can
6708
+ # start syncing data.
6709
+ # Corresponds to the JSON property `blockingReasons`
6710
+ # @return [Array<String>]
6711
+ attr_accessor :blocking_reasons
6712
+
6713
+ # Optional. The modes enabled for this connector. Default state is
6714
+ # CONNECTOR_MODE_UNSPECIFIED.
6715
+ # Corresponds to the JSON property `connectorModes`
6716
+ # @return [Array<String>]
6717
+ attr_accessor :connector_modes
6718
+
6719
+ # Output only. The type of connector. Each source can only map to one type. For
6720
+ # example, salesforce, confluence and jira have THIRD_PARTY connector type. It
6721
+ # is not mutable once set by system.
6722
+ # Corresponds to the JSON property `connectorType`
6723
+ # @return [String]
6724
+ attr_accessor :connector_type
6725
+
6726
+ # Optional. Whether the END USER AUTHENTICATION connector is created in SaaS.
6727
+ # Corresponds to the JSON property `createEuaSaas`
6728
+ # @return [Boolean]
6729
+ attr_accessor :create_eua_saas
6730
+ alias_method :create_eua_saas?, :create_eua_saas
6731
+
6732
+ # Output only. Timestamp the DataConnector was created at.
6733
+ # Corresponds to the JSON property `createTime`
6734
+ # @return [String]
6735
+ attr_accessor :create_time
6736
+
6737
+ # Required. The name of the data source. Supported values: `salesforce`, `jira`,
6738
+ # `confluence`, `bigquery`.
6739
+ # Corresponds to the JSON property `dataSource`
6740
+ # @return [String]
6741
+ attr_accessor :data_source
6742
+
6743
+ # Optional. Any target destinations used to connect to third-party services.
6744
+ # Corresponds to the JSON property `destinationConfigs`
6745
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1DestinationConfig>]
6746
+ attr_accessor :destination_configs
6747
+
6748
+ # Any params and credentials used specifically for EUA connectors.
6749
+ # Corresponds to the JSON property `endUserConfig`
6750
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1DataConnectorEndUserConfig]
6751
+ attr_accessor :end_user_config
6752
+
6753
+ # List of entities from the connected data source to ingest.
6754
+ # Corresponds to the JSON property `entities`
6755
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1DataConnectorSourceEntity>]
6756
+ attr_accessor :entities
6757
+
6758
+ # Output only. The errors from initialization or from the latest connector run.
6759
+ # Corresponds to the JSON property `errors`
6760
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleRpcStatus>]
6761
+ attr_accessor :errors
6762
+
6763
+ # Any params and credentials used specifically for hybrid connectors supporting
6764
+ # FEDERATED mode.
6765
+ # Corresponds to the JSON property `federatedConfig`
6766
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1DataConnectorFederatedConfig]
6767
+ attr_accessor :federated_config
6768
+
6769
+ # Optional. If the connector is a hybrid connector, determines whether ingestion
6770
+ # is enabled and appropriate resources are provisioned during connector creation.
6771
+ # If the connector is not a hybrid connector, this field is ignored.
6772
+ # Corresponds to the JSON property `hybridIngestionDisabled`
6773
+ # @return [Boolean]
6774
+ attr_accessor :hybrid_ingestion_disabled
6775
+ alias_method :hybrid_ingestion_disabled?, :hybrid_ingestion_disabled
6776
+
6777
+ # The refresh interval to sync the Access Control List information for the
6778
+ # documents ingested by this connector. If not set, the access control list will
6779
+ # be refreshed at the default interval of 30 minutes. The identity refresh
6780
+ # interval can be at least 30 minutes and at most 7 days.
6781
+ # Corresponds to the JSON property `identityRefreshInterval`
6782
+ # @return [String]
6783
+ attr_accessor :identity_refresh_interval
6784
+
6785
+ # The configuration for the identity data synchronization runs.
6786
+ # Corresponds to the JSON property `identityScheduleConfig`
6787
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1IdentityScheduleConfig]
6788
+ attr_accessor :identity_schedule_config
6789
+
6790
+ # Optional. The refresh interval specifically for incremental data syncs. If
6791
+ # unset, incremental syncs will use the default from env, set to 3hrs. The
6792
+ # minimum is 30 minutes and maximum is 7 days. Applicable to only 3P connectors.
6793
+ # When the refresh interval is set to the same value as the incremental refresh
6794
+ # interval, incremental sync will be disabled.
6795
+ # Corresponds to the JSON property `incrementalRefreshInterval`
6796
+ # @return [String]
6797
+ attr_accessor :incremental_refresh_interval
6798
+
6799
+ # Optional. Indicates whether incremental syncs are paused for this connector.
6800
+ # This is independent of auto_run_disabled. Applicable to only 3P connectors.
6801
+ # When the refresh interval is set to the same value as the incremental refresh
6802
+ # interval, incremental sync will be disabled, i.e. set to true.
6803
+ # Corresponds to the JSON property `incrementalSyncDisabled`
6804
+ # @return [Boolean]
6805
+ attr_accessor :incremental_sync_disabled
6806
+ alias_method :incremental_sync_disabled?, :incremental_sync_disabled
6807
+
6808
+ # Required data connector parameters in json string format.
6809
+ # Corresponds to the JSON property `jsonParams`
6810
+ # @return [String]
6811
+ attr_accessor :json_params
6812
+
6813
+ # Input only. The KMS key to be used to protect the DataStores managed by this
6814
+ # connector. Must be set for requests that need to comply with CMEK Org Policy
6815
+ # protections. If this field is set and processed successfully, the DataStores
6816
+ # created by this connector will be protected by the KMS key.
6817
+ # Corresponds to the JSON property `kmsKeyName`
6818
+ # @return [String]
6819
+ attr_accessor :kms_key_name
6820
+
6821
+ # Output only. For periodic connectors only, the last time a data sync was
6822
+ # completed.
6823
+ # Corresponds to the JSON property `lastSyncTime`
6824
+ # @return [String]
6825
+ attr_accessor :last_sync_time
6826
+
6827
+ # Output only. The most recent timestamp when this DataConnector was paused,
6828
+ # affecting all functionalities such as data synchronization. Pausing a
6829
+ # connector has the following effects: - All functionalities, including data
6830
+ # synchronization, are halted. - Any ongoing data synchronization job will be
6831
+ # canceled. - No future data synchronization runs will be scheduled nor can be
6832
+ # triggered.
6833
+ # Corresponds to the JSON property `latestPauseTime`
6834
+ # @return [String]
6835
+ attr_accessor :latest_pause_time
6836
+
6837
+ # Output only. The full resource name of the Data Connector. Format: `projects/*/
6838
+ # locations/*/collections/*/dataConnector`.
6839
+ # Corresponds to the JSON property `name`
6840
+ # @return [String]
6841
+ attr_accessor :name
6842
+
6843
+ # Represents civil time (or occasionally physical time). This type can represent
6844
+ # a civil time in one of a few possible ways: * When utc_offset is set and
6845
+ # time_zone is unset: a civil time on a calendar day with a particular offset
6846
+ # from UTC. * When time_zone is set and utc_offset is unset: a civil time on a
6847
+ # calendar day in a particular time zone. * When neither time_zone nor
6848
+ # utc_offset is set: a civil time on a calendar day in local time. The date is
6849
+ # relative to the Proleptic Gregorian Calendar. If year, month, or day are 0,
6850
+ # the DateTime is considered not to have a specific year, month, or day
6851
+ # respectively. This type may also be used to represent a physical time if all
6852
+ # the date and time fields are set and either case of the `time_offset` oneof is
6853
+ # set. Consider using `Timestamp` message for physical time instead. If your use
6854
+ # case also would like to store the user's timezone, that can be done in another
6855
+ # field. This type is more flexible than some applications may want. Make sure
6856
+ # to document and validate your application's limitations.
6857
+ # Corresponds to the JSON property `nextSyncTime`
6858
+ # @return [Google::Apis::DiscoveryengineV1::GoogleTypeDateTime]
6859
+ attr_accessor :next_sync_time
6860
+
6861
+ # Required data connector parameters in structured json format.
6862
+ # Corresponds to the JSON property `params`
6863
+ # @return [Hash<String,Object>]
6864
+ attr_accessor :params
6865
+
6866
+ # Output only. The tenant project ID associated with private connectivity
6867
+ # connectors. This project must be allowlisted by in order for the connector to
6868
+ # function.
6869
+ # Corresponds to the JSON property `privateConnectivityProjectId`
6870
+ # @return [String]
6871
+ attr_accessor :private_connectivity_project_id
6872
+
6873
+ # Output only. real-time sync state
6874
+ # Corresponds to the JSON property `realtimeState`
6875
+ # @return [String]
6876
+ attr_accessor :realtime_state
6877
+
6878
+ # The configuration for realtime sync to store additional params for realtime
6879
+ # sync.
6880
+ # Corresponds to the JSON property `realtimeSyncConfig`
6881
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1DataConnectorRealtimeSyncConfig]
6882
+ attr_accessor :realtime_sync_config
6883
+
6884
+ # Required. The refresh interval for data sync. If duration is set to 0, the
6885
+ # data will be synced in real time. The streaming feature is not supported yet.
6886
+ # The minimum is 30 minutes and maximum is 7 days. When the refresh interval is
6887
+ # set to the same value as the incremental refresh interval, incremental sync
6888
+ # will be disabled.
6889
+ # Corresponds to the JSON property `refreshInterval`
6890
+ # @return [String]
6891
+ attr_accessor :refresh_interval
6892
+
6893
+ # Optional. Specifies keys to be removed from the 'params' field. This is only
6894
+ # active when 'params' is included in the 'update_mask' in an
6895
+ # UpdateDataConnectorRequest. Deletion takes precedence if a key is both in '
6896
+ # remove_param_keys' and present in the 'params' field of the request.
6897
+ # Corresponds to the JSON property `removeParamKeys`
6898
+ # @return [Array<String>]
6899
+ attr_accessor :remove_param_keys
6900
+
6901
+ # Output only. State of the connector.
6902
+ # Corresponds to the JSON property `state`
6903
+ # @return [String]
6904
+ attr_accessor :state
6905
+
6906
+ # Output only. The static IP addresses used by this connector.
6907
+ # Corresponds to the JSON property `staticIpAddresses`
6908
+ # @return [Array<String>]
6909
+ attr_accessor :static_ip_addresses
6910
+
6911
+ # Optional. Whether customer has enabled static IP addresses for this connector.
6912
+ # Corresponds to the JSON property `staticIpEnabled`
6913
+ # @return [Boolean]
6914
+ attr_accessor :static_ip_enabled
6915
+ alias_method :static_ip_enabled?, :static_ip_enabled
6916
+
6917
+ # The data synchronization mode supported by the data connector.
6918
+ # Corresponds to the JSON property `syncMode`
6919
+ # @return [String]
6920
+ attr_accessor :sync_mode
6921
+
6922
+ # Output only. Timestamp the DataConnector was last updated.
6923
+ # Corresponds to the JSON property `updateTime`
6924
+ # @return [String]
6925
+ attr_accessor :update_time
6926
+
6927
+ def initialize(**args)
6928
+ update!(**args)
6929
+ end
6930
+
6931
+ # Update properties of this object
6932
+ def update!(**args)
6933
+ @acl_enabled = args[:acl_enabled] if args.key?(:acl_enabled)
6934
+ @action_config = args[:action_config] if args.key?(:action_config)
6935
+ @action_state = args[:action_state] if args.key?(:action_state)
6936
+ @alert_policy_configs = args[:alert_policy_configs] if args.key?(:alert_policy_configs)
6937
+ @auto_run_disabled = args[:auto_run_disabled] if args.key?(:auto_run_disabled)
6938
+ @bap_config = args[:bap_config] if args.key?(:bap_config)
6939
+ @blocking_reasons = args[:blocking_reasons] if args.key?(:blocking_reasons)
6940
+ @connector_modes = args[:connector_modes] if args.key?(:connector_modes)
6941
+ @connector_type = args[:connector_type] if args.key?(:connector_type)
6942
+ @create_eua_saas = args[:create_eua_saas] if args.key?(:create_eua_saas)
6943
+ @create_time = args[:create_time] if args.key?(:create_time)
6944
+ @data_source = args[:data_source] if args.key?(:data_source)
6945
+ @destination_configs = args[:destination_configs] if args.key?(:destination_configs)
6946
+ @end_user_config = args[:end_user_config] if args.key?(:end_user_config)
6947
+ @entities = args[:entities] if args.key?(:entities)
6948
+ @errors = args[:errors] if args.key?(:errors)
6949
+ @federated_config = args[:federated_config] if args.key?(:federated_config)
6950
+ @hybrid_ingestion_disabled = args[:hybrid_ingestion_disabled] if args.key?(:hybrid_ingestion_disabled)
6951
+ @identity_refresh_interval = args[:identity_refresh_interval] if args.key?(:identity_refresh_interval)
6952
+ @identity_schedule_config = args[:identity_schedule_config] if args.key?(:identity_schedule_config)
6953
+ @incremental_refresh_interval = args[:incremental_refresh_interval] if args.key?(:incremental_refresh_interval)
6954
+ @incremental_sync_disabled = args[:incremental_sync_disabled] if args.key?(:incremental_sync_disabled)
6955
+ @json_params = args[:json_params] if args.key?(:json_params)
6956
+ @kms_key_name = args[:kms_key_name] if args.key?(:kms_key_name)
6957
+ @last_sync_time = args[:last_sync_time] if args.key?(:last_sync_time)
6958
+ @latest_pause_time = args[:latest_pause_time] if args.key?(:latest_pause_time)
6959
+ @name = args[:name] if args.key?(:name)
6960
+ @next_sync_time = args[:next_sync_time] if args.key?(:next_sync_time)
6961
+ @params = args[:params] if args.key?(:params)
6962
+ @private_connectivity_project_id = args[:private_connectivity_project_id] if args.key?(:private_connectivity_project_id)
6963
+ @realtime_state = args[:realtime_state] if args.key?(:realtime_state)
6964
+ @realtime_sync_config = args[:realtime_sync_config] if args.key?(:realtime_sync_config)
6965
+ @refresh_interval = args[:refresh_interval] if args.key?(:refresh_interval)
6966
+ @remove_param_keys = args[:remove_param_keys] if args.key?(:remove_param_keys)
6967
+ @state = args[:state] if args.key?(:state)
6968
+ @static_ip_addresses = args[:static_ip_addresses] if args.key?(:static_ip_addresses)
6969
+ @static_ip_enabled = args[:static_ip_enabled] if args.key?(:static_ip_enabled)
6970
+ @sync_mode = args[:sync_mode] if args.key?(:sync_mode)
6971
+ @update_time = args[:update_time] if args.key?(:update_time)
6972
+ end
6973
+ end
6974
+
6975
+ # Any params and credentials used specifically for EUA connectors.
6976
+ class GoogleCloudDiscoveryengineV1DataConnectorEndUserConfig
6977
+ include Google::Apis::Core::Hashable
6978
+
6979
+ # Optional. Any additional parameters needed for EUA.
6980
+ # Corresponds to the JSON property `additionalParams`
6981
+ # @return [Hash<String,Object>]
6982
+ attr_accessor :additional_params
6983
+
6984
+ # Optional. Any authentication parameters specific to EUA connectors.
6985
+ # Corresponds to the JSON property `authParams`
6986
+ # @return [Hash<String,Object>]
6987
+ attr_accessor :auth_params
6988
+
6989
+ # Tenant information for a connector source. This includes some of the same
6990
+ # information stored in the Credential message, but is limited to only what is
6991
+ # needed to provide a list of accessible tenants to the user.
6992
+ # Corresponds to the JSON property `tenant`
6993
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1Tenant]
6994
+ attr_accessor :tenant
6995
+
6996
+ def initialize(**args)
6997
+ update!(**args)
6998
+ end
6999
+
7000
+ # Update properties of this object
7001
+ def update!(**args)
7002
+ @additional_params = args[:additional_params] if args.key?(:additional_params)
7003
+ @auth_params = args[:auth_params] if args.key?(:auth_params)
7004
+ @tenant = args[:tenant] if args.key?(:tenant)
7005
+ end
7006
+ end
7007
+
7008
+ # Any params and credentials used specifically for hybrid connectors supporting
7009
+ # FEDERATED mode.
7010
+ class GoogleCloudDiscoveryengineV1DataConnectorFederatedConfig
7011
+ include Google::Apis::Core::Hashable
7012
+
7013
+ # Optional. Any additional parameters needed for FEDERATED.
7014
+ # Corresponds to the JSON property `additionalParams`
7015
+ # @return [Hash<String,Object>]
7016
+ attr_accessor :additional_params
7017
+
7018
+ # Optional. Any authentication parameters specific to FEDERATED.
7019
+ # Corresponds to the JSON property `authParams`
7020
+ # @return [Hash<String,Object>]
7021
+ attr_accessor :auth_params
7022
+
7023
+ def initialize(**args)
7024
+ update!(**args)
7025
+ end
7026
+
7027
+ # Update properties of this object
7028
+ def update!(**args)
7029
+ @additional_params = args[:additional_params] if args.key?(:additional_params)
7030
+ @auth_params = args[:auth_params] if args.key?(:auth_params)
7031
+ end
7032
+ end
7033
+
7034
+ # The configuration for realtime sync to store additional params for realtime
7035
+ # sync.
7036
+ class GoogleCloudDiscoveryengineV1DataConnectorRealtimeSyncConfig
7037
+ include Google::Apis::Core::Hashable
7038
+
7039
+ # Optional. The ID of the Secret Manager secret used for webhook secret.
7040
+ # Corresponds to the JSON property `realtimeSyncSecret`
7041
+ # @return [String]
7042
+ attr_accessor :realtime_sync_secret
7043
+
7044
+ # Streaming error details.
7045
+ # Corresponds to the JSON property `streamingError`
7046
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1DataConnectorRealtimeSyncConfigStreamingError]
7047
+ attr_accessor :streaming_error
7048
+
7049
+ # Optional. Webhook url for the connector to specify additional params for
7050
+ # realtime sync.
7051
+ # Corresponds to the JSON property `webhookUri`
7052
+ # @return [String]
7053
+ attr_accessor :webhook_uri
7054
+
7055
+ def initialize(**args)
7056
+ update!(**args)
7057
+ end
7058
+
7059
+ # Update properties of this object
7060
+ def update!(**args)
7061
+ @realtime_sync_secret = args[:realtime_sync_secret] if args.key?(:realtime_sync_secret)
7062
+ @streaming_error = args[:streaming_error] if args.key?(:streaming_error)
7063
+ @webhook_uri = args[:webhook_uri] if args.key?(:webhook_uri)
7064
+ end
7065
+ end
7066
+
7067
+ # Streaming error details.
7068
+ class GoogleCloudDiscoveryengineV1DataConnectorRealtimeSyncConfigStreamingError
7069
+ include Google::Apis::Core::Hashable
7070
+
7071
+ # The `Status` type defines a logical error model that is suitable for different
7072
+ # programming environments, including REST APIs and RPC APIs. It is used by [
7073
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
7074
+ # data: error code, error message, and error details. You can find out more
7075
+ # about this error model and how to work with it in the [API Design Guide](https:
7076
+ # //cloud.google.com/apis/design/errors).
7077
+ # Corresponds to the JSON property `error`
7078
+ # @return [Google::Apis::DiscoveryengineV1::GoogleRpcStatus]
7079
+ attr_accessor :error
7080
+
7081
+ # Optional. Streaming error.
7082
+ # Corresponds to the JSON property `streamingErrorReason`
7083
+ # @return [String]
7084
+ attr_accessor :streaming_error_reason
7085
+
7086
+ def initialize(**args)
7087
+ update!(**args)
7088
+ end
7089
+
7090
+ # Update properties of this object
7091
+ def update!(**args)
7092
+ @error = args[:error] if args.key?(:error)
7093
+ @streaming_error_reason = args[:streaming_error_reason] if args.key?(:streaming_error_reason)
7094
+ end
7095
+ end
7096
+
7097
+ # Represents an entity in the data source. For example, the `Account` object in
7098
+ # Salesforce.
7099
+ class GoogleCloudDiscoveryengineV1DataConnectorSourceEntity
7100
+ include Google::Apis::Core::Hashable
7101
+
7102
+ # Output only. The full resource name of the associated data store for the
7103
+ # source entity. Format: `projects/*/locations/*/collections/*/dataStores/*`.
7104
+ # When the connector is initialized by the DataConnectorService.
7105
+ # SetUpDataConnector method, a DataStore is automatically created for each
7106
+ # source entity.
7107
+ # Corresponds to the JSON property `dataStore`
7108
+ # @return [String]
7109
+ attr_accessor :data_store
7110
+
7111
+ # The name of the entity. Supported values by data source: * Salesforce: `Lead`,
7112
+ # `Opportunity`, `Contact`, `Account`, `Case`, `Contract`, `Campaign` * Jira: `
7113
+ # Issue` * Confluence: `Content`, `Space`
7114
+ # Corresponds to the JSON property `entityName`
7115
+ # @return [String]
7116
+ attr_accessor :entity_name
7117
+
7118
+ # Config to data store for `HEALTHCARE_FHIR` vertical.
7119
+ # Corresponds to the JSON property `healthcareFhirConfig`
7120
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1HealthcareFhirConfig]
7121
+ attr_accessor :healthcare_fhir_config
7122
+
7123
+ # The parameters for the entity to facilitate data ingestion in json string
7124
+ # format.
7125
+ # Corresponds to the JSON property `jsonParams`
7126
+ # @return [String]
7127
+ attr_accessor :json_params
7128
+
7129
+ # Attributes for indexing. Key: Field name. Value: The key property to map a
7130
+ # field to, such as `title`, and `description`. Supported key properties: * `
7131
+ # title`: The title for data record. This would be displayed on search results. *
7132
+ # `description`: The description for data record. This would be displayed on
7133
+ # search results.
7134
+ # Corresponds to the JSON property `keyPropertyMappings`
7135
+ # @return [Hash<String,String>]
7136
+ attr_accessor :key_property_mappings
7137
+
7138
+ # The parameters for the entity to facilitate data ingestion in structured json
7139
+ # format.
7140
+ # Corresponds to the JSON property `params`
7141
+ # @return [Hash<String,Object>]
7142
+ attr_accessor :params
7143
+
7144
+ # Defines the structure and layout of a type of document data.
7145
+ # Corresponds to the JSON property `startingSchema`
7146
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1Schema]
7147
+ attr_accessor :starting_schema
7148
+
7149
+ def initialize(**args)
7150
+ update!(**args)
7151
+ end
7152
+
7153
+ # Update properties of this object
7154
+ def update!(**args)
7155
+ @data_store = args[:data_store] if args.key?(:data_store)
7156
+ @entity_name = args[:entity_name] if args.key?(:entity_name)
7157
+ @healthcare_fhir_config = args[:healthcare_fhir_config] if args.key?(:healthcare_fhir_config)
7158
+ @json_params = args[:json_params] if args.key?(:json_params)
7159
+ @key_property_mappings = args[:key_property_mappings] if args.key?(:key_property_mappings)
7160
+ @params = args[:params] if args.key?(:params)
7161
+ @starting_schema = args[:starting_schema] if args.key?(:starting_schema)
7162
+ end
7163
+ end
7164
+
7165
+ # DataStore captures global settings and configs at the DataStore level.
7166
+ class GoogleCloudDiscoveryengineV1DataStore
7167
+ include Google::Apis::Core::Hashable
7168
+
7169
+ # Immutable. Whether data in the DataStore has ACL information. If set to `true`,
7170
+ # the source data must have ACL. ACL will be ingested when data is ingested by
7171
+ # DocumentService.ImportDocuments methods. When ACL is enabled for the DataStore,
7172
+ # Document can't be accessed by calling DocumentService.GetDocument or
7173
+ # DocumentService.ListDocuments. Currently ACL is only supported in `GENERIC`
7174
+ # industry vertical with non-`PUBLIC_WEBSITE` content config.
6356
7175
  # Corresponds to the JSON property `aclEnabled`
6357
7176
  # @return [Boolean]
6358
7177
  attr_accessor :acl_enabled
@@ -6592,6 +7411,34 @@ module Google
6592
7411
  end
6593
7412
  end
6594
7413
 
7414
+ # Metadata related to the progress of the CollectionService.UpdateCollection
7415
+ # operation. This will be returned by the google.longrunning.Operation.metadata
7416
+ # field.
7417
+ class GoogleCloudDiscoveryengineV1DeleteCollectionMetadata
7418
+ include Google::Apis::Core::Hashable
7419
+
7420
+ # Operation create time.
7421
+ # Corresponds to the JSON property `createTime`
7422
+ # @return [String]
7423
+ attr_accessor :create_time
7424
+
7425
+ # Operation last update time. If the operation is done, this is also the finish
7426
+ # time.
7427
+ # Corresponds to the JSON property `updateTime`
7428
+ # @return [String]
7429
+ attr_accessor :update_time
7430
+
7431
+ def initialize(**args)
7432
+ update!(**args)
7433
+ end
7434
+
7435
+ # Update properties of this object
7436
+ def update!(**args)
7437
+ @create_time = args[:create_time] if args.key?(:create_time)
7438
+ @update_time = args[:update_time] if args.key?(:update_time)
7439
+ end
7440
+ end
7441
+
6595
7442
  # Metadata related to the progress of the DataStoreService.DeleteDataStore
6596
7443
  # operation. This will be returned by the google.longrunning.Operation.metadata
6597
7444
  # field.
@@ -6757,6 +7604,69 @@ module Google
6757
7604
  end
6758
7605
  end
6759
7606
 
7607
+ # Defines target endpoints used to connect to third-party sources.
7608
+ class GoogleCloudDiscoveryengineV1DestinationConfig
7609
+ include Google::Apis::Core::Hashable
7610
+
7611
+ # Optional. The destinations for the corresponding key.
7612
+ # Corresponds to the JSON property `destinations`
7613
+ # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1DestinationConfigDestination>]
7614
+ attr_accessor :destinations
7615
+
7616
+ # Additional parameters for this destination config in json string format.
7617
+ # Corresponds to the JSON property `jsonParams`
7618
+ # @return [String]
7619
+ attr_accessor :json_params
7620
+
7621
+ # Optional. Unique destination identifier that is supported by the connector.
7622
+ # Corresponds to the JSON property `key`
7623
+ # @return [String]
7624
+ attr_accessor :key
7625
+
7626
+ # Optional. Additional parameters for this destination config in structured json
7627
+ # format.
7628
+ # Corresponds to the JSON property `params`
7629
+ # @return [Hash<String,Object>]
7630
+ attr_accessor :params
7631
+
7632
+ def initialize(**args)
7633
+ update!(**args)
7634
+ end
7635
+
7636
+ # Update properties of this object
7637
+ def update!(**args)
7638
+ @destinations = args[:destinations] if args.key?(:destinations)
7639
+ @json_params = args[:json_params] if args.key?(:json_params)
7640
+ @key = args[:key] if args.key?(:key)
7641
+ @params = args[:params] if args.key?(:params)
7642
+ end
7643
+ end
7644
+
7645
+ # Defines a target endpoint
7646
+ class GoogleCloudDiscoveryengineV1DestinationConfigDestination
7647
+ include Google::Apis::Core::Hashable
7648
+
7649
+ # Publicly routable host.
7650
+ # Corresponds to the JSON property `host`
7651
+ # @return [String]
7652
+ attr_accessor :host
7653
+
7654
+ # Optional. Target port number accepted by the destination.
7655
+ # Corresponds to the JSON property `port`
7656
+ # @return [Fixnum]
7657
+ attr_accessor :port
7658
+
7659
+ def initialize(**args)
7660
+ update!(**args)
7661
+ end
7662
+
7663
+ # Update properties of this object
7664
+ def update!(**args)
7665
+ @host = args[:host] if args.key?(:host)
7666
+ @port = args[:port] if args.key?(:port)
7667
+ end
7668
+ end
7669
+
6760
7670
  # Metadata related to the progress of the SiteSearchEngineService.
6761
7671
  # DisableAdvancedSiteSearch operation. This will be returned by the google.
6762
7672
  # longrunning.Operation.metadata field.
@@ -7434,6 +8344,12 @@ module Google
7434
8344
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1EngineCommonConfig]
7435
8345
  attr_accessor :common_config
7436
8346
 
8347
+ # Optional. Configuration for configurable billing approach. See go/vais-
8348
+ # repricing-billing-dd for more details.
8349
+ # Corresponds to the JSON property `configurableBillingApproach`
8350
+ # @return [String]
8351
+ attr_accessor :configurable_billing_approach
8352
+
7437
8353
  # Output only. Timestamp the Recommendation Engine was created at.
7438
8354
  # Corresponds to the JSON property `createTime`
7439
8355
  # @return [String]
@@ -7466,7 +8382,8 @@ module Google
7466
8382
  # settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-
7467
8383
  # gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-
7468
8384
  # org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `
7469
- # personalization-memory` - Enables personalization based on user preferences.
8385
+ # personalization-memory` * `disable-image-generation` * `disable-video-
8386
+ # generation`
7470
8387
  # Corresponds to the JSON property `features`
7471
8388
  # @return [Hash<String,String>]
7472
8389
  attr_accessor :features
@@ -7517,6 +8434,7 @@ module Google
7517
8434
  @chat_engine_config = args[:chat_engine_config] if args.key?(:chat_engine_config)
7518
8435
  @chat_engine_metadata = args[:chat_engine_metadata] if args.key?(:chat_engine_metadata)
7519
8436
  @common_config = args[:common_config] if args.key?(:common_config)
8437
+ @configurable_billing_approach = args[:configurable_billing_approach] if args.key?(:configurable_billing_approach)
7520
8438
  @create_time = args[:create_time] if args.key?(:create_time)
7521
8439
  @data_store_ids = args[:data_store_ids] if args.key?(:data_store_ids)
7522
8440
  @disable_analytics = args[:disable_analytics] if args.key?(:disable_analytics)
@@ -8257,7 +9175,49 @@ module Google
8257
9175
  # length limit of 1024 characters.
8258
9176
  # Corresponds to the JSON property `name`
8259
9177
  # @return [String]
8260
- attr_accessor :name
9178
+ attr_accessor :name
9179
+
9180
+ def initialize(**args)
9181
+ update!(**args)
9182
+ end
9183
+
9184
+ # Update properties of this object
9185
+ def update!(**args)
9186
+ @cmek_config = args[:cmek_config] if args.key?(:cmek_config)
9187
+ @kms_key_name = args[:kms_key_name] if args.key?(:kms_key_name)
9188
+ @name = args[:name] if args.key?(:name)
9189
+ end
9190
+ end
9191
+
9192
+ # The configuration for the identity data synchronization runs.
9193
+ class GoogleCloudDiscoveryengineV1IdentityScheduleConfig
9194
+ include Google::Apis::Core::Hashable
9195
+
9196
+ # Represents civil time (or occasionally physical time). This type can represent
9197
+ # a civil time in one of a few possible ways: * When utc_offset is set and
9198
+ # time_zone is unset: a civil time on a calendar day with a particular offset
9199
+ # from UTC. * When time_zone is set and utc_offset is unset: a civil time on a
9200
+ # calendar day in a particular time zone. * When neither time_zone nor
9201
+ # utc_offset is set: a civil time on a calendar day in local time. The date is
9202
+ # relative to the Proleptic Gregorian Calendar. If year, month, or day are 0,
9203
+ # the DateTime is considered not to have a specific year, month, or day
9204
+ # respectively. This type may also be used to represent a physical time if all
9205
+ # the date and time fields are set and either case of the `time_offset` oneof is
9206
+ # set. Consider using `Timestamp` message for physical time instead. If your use
9207
+ # case also would like to store the user's timezone, that can be done in another
9208
+ # field. This type is more flexible than some applications may want. Make sure
9209
+ # to document and validate your application's limitations.
9210
+ # Corresponds to the JSON property `nextSyncTime`
9211
+ # @return [Google::Apis::DiscoveryengineV1::GoogleTypeDateTime]
9212
+ attr_accessor :next_sync_time
9213
+
9214
+ # Optional. The refresh interval to sync the Access Control List information for
9215
+ # the documents ingested by this connector. If not set, the access control list
9216
+ # will be refreshed at the default interval of 30 minutes. The identity refresh
9217
+ # interval can be at least 30 minutes and at most 7 days.
9218
+ # Corresponds to the JSON property `refreshInterval`
9219
+ # @return [String]
9220
+ attr_accessor :refresh_interval
8261
9221
 
8262
9222
  def initialize(**args)
8263
9223
  update!(**args)
@@ -8265,9 +9225,8 @@ module Google
8265
9225
 
8266
9226
  # Update properties of this object
8267
9227
  def update!(**args)
8268
- @cmek_config = args[:cmek_config] if args.key?(:cmek_config)
8269
- @kms_key_name = args[:kms_key_name] if args.key?(:kms_key_name)
8270
- @name = args[:name] if args.key?(:name)
9228
+ @next_sync_time = args[:next_sync_time] if args.key?(:next_sync_time)
9229
+ @refresh_interval = args[:refresh_interval] if args.key?(:refresh_interval)
8271
9230
  end
8272
9231
  end
8273
9232
 
@@ -9517,6 +10476,11 @@ module Google
9517
10476
  # @return [String]
9518
10477
  attr_accessor :create_time
9519
10478
 
10479
+ # Customer provided configurations.
10480
+ # Corresponds to the JSON property `customerProvidedConfig`
10481
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfig]
10482
+ attr_accessor :customer_provided_config
10483
+
9520
10484
  # Output only. Full resource name of the project, for example `projects/`project`
9521
10485
  # `. Note that when making requests, project number and project id are both
9522
10486
  # acceptable, but the server will always respond in project number.
@@ -9542,12 +10506,84 @@ module Google
9542
10506
  # Update properties of this object
9543
10507
  def update!(**args)
9544
10508
  @create_time = args[:create_time] if args.key?(:create_time)
10509
+ @customer_provided_config = args[:customer_provided_config] if args.key?(:customer_provided_config)
9545
10510
  @name = args[:name] if args.key?(:name)
9546
10511
  @provision_completion_time = args[:provision_completion_time] if args.key?(:provision_completion_time)
9547
10512
  @service_terms_map = args[:service_terms_map] if args.key?(:service_terms_map)
9548
10513
  end
9549
10514
  end
9550
10515
 
10516
+ # Customer provided configurations.
10517
+ class GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfig
10518
+ include Google::Apis::Core::Hashable
10519
+
10520
+ # Configuration for NotebookLM.
10521
+ # Corresponds to the JSON property `notebooklmConfig`
10522
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfigNotebooklmConfig]
10523
+ attr_accessor :notebooklm_config
10524
+
10525
+ def initialize(**args)
10526
+ update!(**args)
10527
+ end
10528
+
10529
+ # Update properties of this object
10530
+ def update!(**args)
10531
+ @notebooklm_config = args[:notebooklm_config] if args.key?(:notebooklm_config)
10532
+ end
10533
+ end
10534
+
10535
+ # Configuration for NotebookLM.
10536
+ class GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfigNotebooklmConfig
10537
+ include Google::Apis::Core::Hashable
10538
+
10539
+ # Configuration for customer defined Model Armor templates to be used for
10540
+ # sanitizing user prompts and LLM responses.
10541
+ # Corresponds to the JSON property `modelArmorConfig`
10542
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfigNotebooklmConfigModelArmorConfig]
10543
+ attr_accessor :model_armor_config
10544
+
10545
+ def initialize(**args)
10546
+ update!(**args)
10547
+ end
10548
+
10549
+ # Update properties of this object
10550
+ def update!(**args)
10551
+ @model_armor_config = args[:model_armor_config] if args.key?(:model_armor_config)
10552
+ end
10553
+ end
10554
+
10555
+ # Configuration for customer defined Model Armor templates to be used for
10556
+ # sanitizing user prompts and LLM responses.
10557
+ class GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfigNotebooklmConfigModelArmorConfig
10558
+ include Google::Apis::Core::Hashable
10559
+
10560
+ # Optional. The resource name of the Model Armor Template for sanitizing LLM
10561
+ # responses. Format: projects/`project`/locations/`location`/templates/`
10562
+ # template_id` If not specified, no sanitization will be applied to the LLM
10563
+ # response.
10564
+ # Corresponds to the JSON property `responseTemplate`
10565
+ # @return [String]
10566
+ attr_accessor :response_template
10567
+
10568
+ # Optional. The resource name of the Model Armor Template for sanitizing user
10569
+ # prompts. Format: projects/`project`/locations/`location`/templates/`
10570
+ # template_id` If not specified, no sanitization will be applied to the user
10571
+ # prompt.
10572
+ # Corresponds to the JSON property `userPromptTemplate`
10573
+ # @return [String]
10574
+ attr_accessor :user_prompt_template
10575
+
10576
+ def initialize(**args)
10577
+ update!(**args)
10578
+ end
10579
+
10580
+ # Update properties of this object
10581
+ def update!(**args)
10582
+ @response_template = args[:response_template] if args.key?(:response_template)
10583
+ @user_prompt_template = args[:user_prompt_template] if args.key?(:user_prompt_template)
10584
+ end
10585
+ end
10586
+
9551
10587
  # Metadata about the terms of service.
9552
10588
  class GoogleCloudDiscoveryengineV1ProjectServiceTerms
9553
10589
  include Google::Apis::Core::Hashable
@@ -9657,6 +10693,13 @@ module Google
9657
10693
  attr_accessor :accept_biz_qos
9658
10694
  alias_method :accept_biz_qos?, :accept_biz_qos
9659
10695
 
10696
+ # Optional. Indicates if the current request is for Biz edition (= true) or not (
10697
+ # = false).
10698
+ # Corresponds to the JSON property `isBiz`
10699
+ # @return [Boolean]
10700
+ attr_accessor :is_biz
10701
+ alias_method :is_biz?, :is_biz
10702
+
9660
10703
  def initialize(**args)
9661
10704
  update!(**args)
9662
10705
  end
@@ -9664,6 +10707,7 @@ module Google
9664
10707
  # Update properties of this object
9665
10708
  def update!(**args)
9666
10709
  @accept_biz_qos = args[:accept_biz_qos] if args.key?(:accept_biz_qos)
10710
+ @is_biz = args[:is_biz] if args.key?(:is_biz)
9667
10711
  end
9668
10712
  end
9669
10713
 
@@ -10700,7 +11744,8 @@ module Google
10700
11744
  # A 0-indexed integer that specifies the current offset (that is, starting
10701
11745
  # result location, amongst the Documents deemed by the API as relevant) in
10702
11746
  # search results. This field is only considered if page_token is unset. If this
10703
- # field is negative, an `INVALID_ARGUMENT` is returned.
11747
+ # field is negative, an `INVALID_ARGUMENT` is returned. A large offset may be
11748
+ # capped to a reasonable threshold.
10704
11749
  # Corresponds to the JSON property `offset`
10705
11750
  # @return [Fixnum]
10706
11751
  attr_accessor :offset
@@ -12752,6 +13797,61 @@ module Google
12752
13797
  end
12753
13798
  end
12754
13799
 
13800
+ # Metadata for DataConnectorService.SetUpDataConnector method.
13801
+ class GoogleCloudDiscoveryengineV1SetUpDataConnectorMetadata
13802
+ include Google::Apis::Core::Hashable
13803
+
13804
+ def initialize(**args)
13805
+ update!(**args)
13806
+ end
13807
+
13808
+ # Update properties of this object
13809
+ def update!(**args)
13810
+ end
13811
+ end
13812
+
13813
+ # Request for DataConnectorService.SetUpDataConnector method.
13814
+ class GoogleCloudDiscoveryengineV1SetUpDataConnectorRequest
13815
+ include Google::Apis::Core::Hashable
13816
+
13817
+ # Required. The display name of the Collection. Should be human readable, used
13818
+ # to display collections in the Console Dashboard. UTF-8 encoded string with
13819
+ # limit of 1024 characters.
13820
+ # Corresponds to the JSON property `collectionDisplayName`
13821
+ # @return [String]
13822
+ attr_accessor :collection_display_name
13823
+
13824
+ # Required. The ID to use for the Collection, which will become the final
13825
+ # component of the Collection's resource name. A new Collection is created as
13826
+ # part of the DataConnector setup. DataConnector is a singleton resource under
13827
+ # Collection, managing all DataStores of the Collection. This field must conform
13828
+ # to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length
13829
+ # limit of 63 characters. Otherwise, an INVALID_ARGUMENT error is returned.
13830
+ # Corresponds to the JSON property `collectionId`
13831
+ # @return [String]
13832
+ attr_accessor :collection_id
13833
+
13834
+ # Manages the connection to external data sources for all data stores grouped
13835
+ # under a Collection. It's a singleton resource of Collection. The
13836
+ # initialization is only supported through DataConnectorService.
13837
+ # SetUpDataConnector method, which will create a new Collection and initialize
13838
+ # its DataConnector.
13839
+ # Corresponds to the JSON property `dataConnector`
13840
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1DataConnector]
13841
+ attr_accessor :data_connector
13842
+
13843
+ def initialize(**args)
13844
+ update!(**args)
13845
+ end
13846
+
13847
+ # Update properties of this object
13848
+ def update!(**args)
13849
+ @collection_display_name = args[:collection_display_name] if args.key?(:collection_display_name)
13850
+ @collection_id = args[:collection_id] if args.key?(:collection_id)
13851
+ @data_connector = args[:data_connector] if args.key?(:data_connector)
13852
+ end
13853
+ end
13854
+
12755
13855
  # Metadata for single-regional CMEKs.
12756
13856
  class GoogleCloudDiscoveryengineV1SingleRegionKey
12757
13857
  include Google::Apis::Core::Hashable
@@ -13286,6 +14386,42 @@ module Google
13286
14386
  end
13287
14387
  end
13288
14388
 
14389
+ # Tenant information for a connector source. This includes some of the same
14390
+ # information stored in the Credential message, but is limited to only what is
14391
+ # needed to provide a list of accessible tenants to the user.
14392
+ class GoogleCloudDiscoveryengineV1Tenant
14393
+ include Google::Apis::Core::Hashable
14394
+
14395
+ # Optional display name for the tenant, e.g. "My Slack Team".
14396
+ # Corresponds to the JSON property `displayName`
14397
+ # @return [String]
14398
+ attr_accessor :display_name
14399
+
14400
+ # The tenant's instance ID. Examples: Jira ("8594f221-9797-5f78-1fa4-
14401
+ # 485e198d7cd0"), Slack ("T123456").
14402
+ # Corresponds to the JSON property `id`
14403
+ # @return [String]
14404
+ attr_accessor :id
14405
+
14406
+ # The URI of the tenant, if applicable. For example, the URI of a Jira instance
14407
+ # is https://my-jira-instance.atlassian.net, and a Slack tenant does not have a
14408
+ # URI.
14409
+ # Corresponds to the JSON property `uri`
14410
+ # @return [String]
14411
+ attr_accessor :uri
14412
+
14413
+ def initialize(**args)
14414
+ update!(**args)
14415
+ end
14416
+
14417
+ # Update properties of this object
14418
+ def update!(**args)
14419
+ @display_name = args[:display_name] if args.key?(:display_name)
14420
+ @id = args[:id] if args.key?(:id)
14421
+ @uri = args[:uri] if args.key?(:uri)
14422
+ end
14423
+ end
14424
+
13289
14425
  # Defines text input.
13290
14426
  class GoogleCloudDiscoveryengineV1TextInput
13291
14427
  include Google::Apis::Core::Hashable
@@ -16101,6 +17237,11 @@ module Google
16101
17237
  attr_accessor :incremental_sync_disabled
16102
17238
  alias_method :incremental_sync_disabled?, :incremental_sync_disabled
16103
17239
 
17240
+ # Required data connector parameters in json string format.
17241
+ # Corresponds to the JSON property `jsonParams`
17242
+ # @return [String]
17243
+ attr_accessor :json_params
17244
+
16104
17245
  # Input only. The KMS key to be used to protect the DataStores managed by this
16105
17246
  # connector. Must be set for requests that need to comply with CMEK Org Policy
16106
17247
  # protections. If this field is set and processed successfully, the DataStores
@@ -16149,27 +17290,7 @@ module Google
16149
17290
  # @return [Google::Apis::DiscoveryengineV1::GoogleTypeDateTime]
16150
17291
  attr_accessor :next_sync_time
16151
17292
 
16152
- # Required. Params needed to access the source in the format of (Key, Value)
16153
- # pairs. Required parameters for all data sources: * Key: `instance_uri` * Value:
16154
- # type STRING. The uri to access the data source. Required parameters for
16155
- # sources that support OAUTH, i.e. `salesforce`: * Key: `client_id` * Value:
16156
- # type STRING. The client ID for the third party service provider to identify
16157
- # your application. * Key: `client_secret` * Value:type STRING. The client
16158
- # secret generated by the third party authorization server. * Key: `access_token`
16159
- # * Value: type STRING. OAuth token for UCS to access to the protected resource.
16160
- # * Key: `refresh_token` * Value: type STRING. OAuth refresh token for UCS to
16161
- # obtain a new access token without user interaction. Required parameters for
16162
- # sources that support basic API token auth, i.e. `jira`, `confluence`: * Key: `
16163
- # user_account` * Value: type STRING. The username or email with the source. *
16164
- # Key: `api_token` * Value: type STRING. The API token generated for the source
16165
- # account, that is used for authenticating anywhere where you would have used a
16166
- # password. Example: ```json ` "instance_uri": "https://xxx.atlassian.net", "
16167
- # user_account": "xxxx.xxx@xxx.com", "api_token": "test-token" ` ``` Optional
16168
- # parameter to specify the authorization type to use for multiple authorization
16169
- # types support: * Key: `auth_type` * Value: type STRING. The authorization type
16170
- # for the data source. Supported values: `BASIC_AUTH`, `OAUTH`, `
16171
- # OAUTH_ACCESS_TOKEN`, `OAUTH_TWO_LEGGED`, `OAUTH_JWT_BEARER`, `
16172
- # OAUTH_PASSWORD_GRANT`, `JWT`, `API_TOKEN`, `FEDERATED_CREDENTIAL`.
17293
+ # Required data connector parameters in structured json format.
16173
17294
  # Corresponds to the JSON property `params`
16174
17295
  # @return [Hash<String,Object>]
16175
17296
  attr_accessor :params
@@ -16263,6 +17384,7 @@ module Google
16263
17384
  @identity_schedule_config = args[:identity_schedule_config] if args.key?(:identity_schedule_config)
16264
17385
  @incremental_refresh_interval = args[:incremental_refresh_interval] if args.key?(:incremental_refresh_interval)
16265
17386
  @incremental_sync_disabled = args[:incremental_sync_disabled] if args.key?(:incremental_sync_disabled)
17387
+ @json_params = args[:json_params] if args.key?(:json_params)
16266
17388
  @kms_key_name = args[:kms_key_name] if args.key?(:kms_key_name)
16267
17389
  @last_sync_time = args[:last_sync_time] if args.key?(:last_sync_time)
16268
17390
  @latest_pause_time = args[:latest_pause_time] if args.key?(:latest_pause_time)
@@ -16430,6 +17552,12 @@ module Google
16430
17552
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1alphaHealthcareFhirConfig]
16431
17553
  attr_accessor :healthcare_fhir_config
16432
17554
 
17555
+ # The parameters for the entity to facilitate data ingestion in json string
17556
+ # format.
17557
+ # Corresponds to the JSON property `jsonParams`
17558
+ # @return [String]
17559
+ attr_accessor :json_params
17560
+
16433
17561
  # Attributes for indexing. Key: Field name. Value: The key property to map a
16434
17562
  # field to, such as `title`, and `description`. Supported key properties: * `
16435
17563
  # title`: The title for data record. This would be displayed on search results. *
@@ -16439,9 +17567,8 @@ module Google
16439
17567
  # @return [Hash<String,String>]
16440
17568
  attr_accessor :key_property_mappings
16441
17569
 
16442
- # The parameters for the entity to facilitate data ingestion. E.g. for BigQuery
16443
- # connectors: * Key: `document_id_column` * Value: type STRING. The value of the
16444
- # column ID.
17570
+ # The parameters for the entity to facilitate data ingestion in structured json
17571
+ # format.
16445
17572
  # Corresponds to the JSON property `params`
16446
17573
  # @return [Hash<String,Object>]
16447
17574
  attr_accessor :params
@@ -16460,6 +17587,7 @@ module Google
16460
17587
  @data_store = args[:data_store] if args.key?(:data_store)
16461
17588
  @entity_name = args[:entity_name] if args.key?(:entity_name)
16462
17589
  @healthcare_fhir_config = args[:healthcare_fhir_config] if args.key?(:healthcare_fhir_config)
17590
+ @json_params = args[:json_params] if args.key?(:json_params)
16463
17591
  @key_property_mappings = args[:key_property_mappings] if args.key?(:key_property_mappings)
16464
17592
  @params = args[:params] if args.key?(:params)
16465
17593
  @starting_schema = args[:starting_schema] if args.key?(:starting_schema)
@@ -16995,12 +18123,18 @@ module Google
16995
18123
  # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1alphaDestinationConfigDestination>]
16996
18124
  attr_accessor :destinations
16997
18125
 
18126
+ # Additional parameters for this destination config in json string format.
18127
+ # Corresponds to the JSON property `jsonParams`
18128
+ # @return [String]
18129
+ attr_accessor :json_params
18130
+
16998
18131
  # Optional. Unique destination identifier that is supported by the connector.
16999
18132
  # Corresponds to the JSON property `key`
17000
18133
  # @return [String]
17001
18134
  attr_accessor :key
17002
18135
 
17003
- # Optional. Additional parameters for this destination config.
18136
+ # Optional. Additional parameters for this destination config in structured json
18137
+ # format.
17004
18138
  # Corresponds to the JSON property `params`
17005
18139
  # @return [Hash<String,Object>]
17006
18140
  attr_accessor :params
@@ -17012,6 +18146,7 @@ module Google
17012
18146
  # Update properties of this object
17013
18147
  def update!(**args)
17014
18148
  @destinations = args[:destinations] if args.key?(:destinations)
18149
+ @json_params = args[:json_params] if args.key?(:json_params)
17015
18150
  @key = args[:key] if args.key?(:key)
17016
18151
  @params = args[:params] if args.key?(:params)
17017
18152
  end
@@ -17381,6 +18516,12 @@ module Google
17381
18516
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1alphaEngineCommonConfig]
17382
18517
  attr_accessor :common_config
17383
18518
 
18519
+ # Optional. Configuration for configurable billing approach. See go/vais-
18520
+ # repricing-billing-dd for more details.
18521
+ # Corresponds to the JSON property `configurableBillingApproach`
18522
+ # @return [String]
18523
+ attr_accessor :configurable_billing_approach
18524
+
17384
18525
  # Output only. Timestamp the Recommendation Engine was created at.
17385
18526
  # Corresponds to the JSON property `createTime`
17386
18527
  # @return [String]
@@ -17413,7 +18554,8 @@ module Google
17413
18554
  # settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-
17414
18555
  # gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-
17415
18556
  # org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `
17416
- # personalization-memory` - Enables personalization based on user preferences.
18557
+ # personalization-memory` * `disable-image-generation` * `disable-video-
18558
+ # generation`
17417
18559
  # Corresponds to the JSON property `features`
17418
18560
  # @return [Hash<String,String>]
17419
18561
  attr_accessor :features
@@ -17474,6 +18616,7 @@ module Google
17474
18616
  @chat_engine_config = args[:chat_engine_config] if args.key?(:chat_engine_config)
17475
18617
  @chat_engine_metadata = args[:chat_engine_metadata] if args.key?(:chat_engine_metadata)
17476
18618
  @common_config = args[:common_config] if args.key?(:common_config)
18619
+ @configurable_billing_approach = args[:configurable_billing_approach] if args.key?(:configurable_billing_approach)
17477
18620
  @create_time = args[:create_time] if args.key?(:create_time)
17478
18621
  @data_store_ids = args[:data_store_ids] if args.key?(:data_store_ids)
17479
18622
  @disable_analytics = args[:disable_analytics] if args.key?(:disable_analytics)
@@ -19071,6 +20214,11 @@ module Google
19071
20214
  # @return [String]
19072
20215
  attr_accessor :create_time
19073
20216
 
20217
+ # Customer provided configurations.
20218
+ # Corresponds to the JSON property `customerProvidedConfig`
20219
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1alphaProjectCustomerProvidedConfig]
20220
+ attr_accessor :customer_provided_config
20221
+
19074
20222
  # Output only. Full resource name of the project, for example `projects/`project`
19075
20223
  # `. Note that when making requests, project number and project id are both
19076
20224
  # acceptable, but the server will always respond in project number.
@@ -19096,12 +20244,84 @@ module Google
19096
20244
  # Update properties of this object
19097
20245
  def update!(**args)
19098
20246
  @create_time = args[:create_time] if args.key?(:create_time)
20247
+ @customer_provided_config = args[:customer_provided_config] if args.key?(:customer_provided_config)
19099
20248
  @name = args[:name] if args.key?(:name)
19100
20249
  @provision_completion_time = args[:provision_completion_time] if args.key?(:provision_completion_time)
19101
20250
  @service_terms_map = args[:service_terms_map] if args.key?(:service_terms_map)
19102
20251
  end
19103
20252
  end
19104
20253
 
20254
+ # Customer provided configurations.
20255
+ class GoogleCloudDiscoveryengineV1alphaProjectCustomerProvidedConfig
20256
+ include Google::Apis::Core::Hashable
20257
+
20258
+ # Configuration for NotebookLM.
20259
+ # Corresponds to the JSON property `notebooklmConfig`
20260
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1alphaProjectCustomerProvidedConfigNotebooklmConfig]
20261
+ attr_accessor :notebooklm_config
20262
+
20263
+ def initialize(**args)
20264
+ update!(**args)
20265
+ end
20266
+
20267
+ # Update properties of this object
20268
+ def update!(**args)
20269
+ @notebooklm_config = args[:notebooklm_config] if args.key?(:notebooklm_config)
20270
+ end
20271
+ end
20272
+
20273
+ # Configuration for NotebookLM.
20274
+ class GoogleCloudDiscoveryengineV1alphaProjectCustomerProvidedConfigNotebooklmConfig
20275
+ include Google::Apis::Core::Hashable
20276
+
20277
+ # Configuration for customer defined Model Armor templates to be used for
20278
+ # sanitizing user prompts and LLM responses.
20279
+ # Corresponds to the JSON property `modelArmorConfig`
20280
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1alphaProjectCustomerProvidedConfigNotebooklmConfigModelArmorConfig]
20281
+ attr_accessor :model_armor_config
20282
+
20283
+ def initialize(**args)
20284
+ update!(**args)
20285
+ end
20286
+
20287
+ # Update properties of this object
20288
+ def update!(**args)
20289
+ @model_armor_config = args[:model_armor_config] if args.key?(:model_armor_config)
20290
+ end
20291
+ end
20292
+
20293
+ # Configuration for customer defined Model Armor templates to be used for
20294
+ # sanitizing user prompts and LLM responses.
20295
+ class GoogleCloudDiscoveryengineV1alphaProjectCustomerProvidedConfigNotebooklmConfigModelArmorConfig
20296
+ include Google::Apis::Core::Hashable
20297
+
20298
+ # Optional. The resource name of the Model Armor Template for sanitizing LLM
20299
+ # responses. Format: projects/`project`/locations/`location`/templates/`
20300
+ # template_id` If not specified, no sanitization will be applied to the LLM
20301
+ # response.
20302
+ # Corresponds to the JSON property `responseTemplate`
20303
+ # @return [String]
20304
+ attr_accessor :response_template
20305
+
20306
+ # Optional. The resource name of the Model Armor Template for sanitizing user
20307
+ # prompts. Format: projects/`project`/locations/`location`/templates/`
20308
+ # template_id` If not specified, no sanitization will be applied to the user
20309
+ # prompt.
20310
+ # Corresponds to the JSON property `userPromptTemplate`
20311
+ # @return [String]
20312
+ attr_accessor :user_prompt_template
20313
+
20314
+ def initialize(**args)
20315
+ update!(**args)
20316
+ end
20317
+
20318
+ # Update properties of this object
20319
+ def update!(**args)
20320
+ @response_template = args[:response_template] if args.key?(:response_template)
20321
+ @user_prompt_template = args[:user_prompt_template] if args.key?(:user_prompt_template)
20322
+ end
20323
+ end
20324
+
19105
20325
  # Metadata about the terms of service.
19106
20326
  class GoogleCloudDiscoveryengineV1alphaProjectServiceTerms
19107
20327
  include Google::Apis::Core::Hashable
@@ -19983,7 +21203,8 @@ module Google
19983
21203
  # A 0-indexed integer that specifies the current offset (that is, starting
19984
21204
  # result location, amongst the Documents deemed by the API as relevant) in
19985
21205
  # search results. This field is only considered if page_token is unset. If this
19986
- # field is negative, an `INVALID_ARGUMENT` is returned.
21206
+ # field is negative, an `INVALID_ARGUMENT` is returned. A large offset may be
21207
+ # capped to a reasonable threshold.
19987
21208
  # Corresponds to the JSON property `offset`
19988
21209
  # @return [Fixnum]
19989
21210
  attr_accessor :offset
@@ -20136,6 +21357,14 @@ module Google
20136
21357
  attr_accessor :safe_search
20137
21358
  alias_method :safe_search?, :safe_search
20138
21359
 
21360
+ # SearchAddonSpec is used to disable add-ons for search as per new repricing
21361
+ # model. Refer go/vais-repricing-prd. By default if the SearchAddonSpec is not
21362
+ # specified, we consider that the customer wants to enable them wherever
21363
+ # applicable.
21364
+ # Corresponds to the JSON property `searchAddonSpec`
21365
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1alphaSearchRequestSearchAddonSpec]
21366
+ attr_accessor :search_addon_spec
21367
+
20139
21368
  # Specification for search as you type in search requests.
20140
21369
  # Corresponds to the JSON property `searchAsYouTypeSpec`
20141
21370
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1alphaSearchRequestSearchAsYouTypeSpec]
@@ -20255,6 +21484,7 @@ module Google
20255
21484
  @relevance_score_spec = args[:relevance_score_spec] if args.key?(:relevance_score_spec)
20256
21485
  @relevance_threshold = args[:relevance_threshold] if args.key?(:relevance_threshold)
20257
21486
  @safe_search = args[:safe_search] if args.key?(:safe_search)
21487
+ @search_addon_spec = args[:search_addon_spec] if args.key?(:search_addon_spec)
20258
21488
  @search_as_you_type_spec = args[:search_as_you_type_spec] if args.key?(:search_as_you_type_spec)
20259
21489
  @serving_config = args[:serving_config] if args.key?(:serving_config)
20260
21490
  @session = args[:session] if args.key?(:session)
@@ -21067,6 +22297,17 @@ module Google
21067
22297
  class GoogleCloudDiscoveryengineV1alphaSearchRequestNaturalLanguageQueryUnderstandingSpec
21068
22298
  include Google::Apis::Core::Hashable
21069
22299
 
22300
+ # Optional. Allowlist of fields that can be used for natural language filter
22301
+ # extraction. By default, if this is unspecified, all indexable fields are
22302
+ # eligible for natural language filter extraction (but are not guaranteed to be
22303
+ # used). If any fields are specified in allowed_field_names, only the fields
22304
+ # that are both marked as indexable in the schema and specified in the allowlist
22305
+ # will be eligible for natural language filter extraction. Note: for multi-
22306
+ # datastore search, this is not yet supported, and will be ignored.
22307
+ # Corresponds to the JSON property `allowedFieldNames`
22308
+ # @return [Array<String>]
22309
+ attr_accessor :allowed_field_names
22310
+
21070
22311
  # Optional. Controls behavior of how extracted filters are applied to the search.
21071
22312
  # The default behavior depends on the request. For single datastore structured
21072
22313
  # search, the default is `HARD_FILTER`. For multi-datastore search, the default
@@ -21099,6 +22340,7 @@ module Google
21099
22340
 
21100
22341
  # Update properties of this object
21101
22342
  def update!(**args)
22343
+ @allowed_field_names = args[:allowed_field_names] if args.key?(:allowed_field_names)
21102
22344
  @extracted_filter_behavior = args[:extracted_filter_behavior] if args.key?(:extracted_filter_behavior)
21103
22345
  @filter_extraction_condition = args[:filter_extraction_condition] if args.key?(:filter_extraction_condition)
21104
22346
  @geo_search_query_detection_field_names = args[:geo_search_query_detection_field_names] if args.key?(:geo_search_query_detection_field_names)
@@ -21174,6 +22416,46 @@ module Google
21174
22416
  end
21175
22417
  end
21176
22418
 
22419
+ # SearchAddonSpec is used to disable add-ons for search as per new repricing
22420
+ # model. Refer go/vais-repricing-prd. By default if the SearchAddonSpec is not
22421
+ # specified, we consider that the customer wants to enable them wherever
22422
+ # applicable.
22423
+ class GoogleCloudDiscoveryengineV1alphaSearchRequestSearchAddonSpec
22424
+ include Google::Apis::Core::Hashable
22425
+
22426
+ # Optional. If true, generative answer add-on is disabled. Generative answer add-
22427
+ # on includes natural language to filters and simple answers.
22428
+ # Corresponds to the JSON property `disableGenerativeAnswerAddOn`
22429
+ # @return [Boolean]
22430
+ attr_accessor :disable_generative_answer_add_on
22431
+ alias_method :disable_generative_answer_add_on?, :disable_generative_answer_add_on
22432
+
22433
+ # Optional. If true, disables event re-ranking and personalization to optimize
22434
+ # KPIs & personalize results.
22435
+ # Corresponds to the JSON property `disableKpiPersonalizationAddOn`
22436
+ # @return [Boolean]
22437
+ attr_accessor :disable_kpi_personalization_add_on
22438
+ alias_method :disable_kpi_personalization_add_on?, :disable_kpi_personalization_add_on
22439
+
22440
+ # Optional. If true, semantic add-on is disabled. Semantic add-on includes
22441
+ # embeddings and jetstream.
22442
+ # Corresponds to the JSON property `disableSemanticAddOn`
22443
+ # @return [Boolean]
22444
+ attr_accessor :disable_semantic_add_on
22445
+ alias_method :disable_semantic_add_on?, :disable_semantic_add_on
22446
+
22447
+ def initialize(**args)
22448
+ update!(**args)
22449
+ end
22450
+
22451
+ # Update properties of this object
22452
+ def update!(**args)
22453
+ @disable_generative_answer_add_on = args[:disable_generative_answer_add_on] if args.key?(:disable_generative_answer_add_on)
22454
+ @disable_kpi_personalization_add_on = args[:disable_kpi_personalization_add_on] if args.key?(:disable_kpi_personalization_add_on)
22455
+ @disable_semantic_add_on = args[:disable_semantic_add_on] if args.key?(:disable_semantic_add_on)
22456
+ end
22457
+ end
22458
+
21177
22459
  # Specification for search as you type in search requests.
21178
22460
  class GoogleCloudDiscoveryengineV1alphaSearchRequestSearchAsYouTypeSpec
21179
22461
  include Google::Apis::Core::Hashable
@@ -23696,6 +24978,12 @@ module Google
23696
24978
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1betaEngineCommonConfig]
23697
24979
  attr_accessor :common_config
23698
24980
 
24981
+ # Optional. Configuration for configurable billing approach. See go/vais-
24982
+ # repricing-billing-dd for more details.
24983
+ # Corresponds to the JSON property `configurableBillingApproach`
24984
+ # @return [String]
24985
+ attr_accessor :configurable_billing_approach
24986
+
23699
24987
  # Output only. Timestamp the Recommendation Engine was created at.
23700
24988
  # Corresponds to the JSON property `createTime`
23701
24989
  # @return [String]
@@ -23728,7 +25016,8 @@ module Google
23728
25016
  # settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-
23729
25017
  # gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-
23730
25018
  # org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `
23731
- # personalization-memory` - Enables personalization based on user preferences.
25019
+ # personalization-memory` * `disable-image-generation` * `disable-video-
25020
+ # generation`
23732
25021
  # Corresponds to the JSON property `features`
23733
25022
  # @return [Hash<String,String>]
23734
25023
  attr_accessor :features
@@ -23779,6 +25068,7 @@ module Google
23779
25068
  @chat_engine_config = args[:chat_engine_config] if args.key?(:chat_engine_config)
23780
25069
  @chat_engine_metadata = args[:chat_engine_metadata] if args.key?(:chat_engine_metadata)
23781
25070
  @common_config = args[:common_config] if args.key?(:common_config)
25071
+ @configurable_billing_approach = args[:configurable_billing_approach] if args.key?(:configurable_billing_approach)
23782
25072
  @create_time = args[:create_time] if args.key?(:create_time)
23783
25073
  @data_store_ids = args[:data_store_ids] if args.key?(:data_store_ids)
23784
25074
  @disable_analytics = args[:disable_analytics] if args.key?(:disable_analytics)
@@ -24899,6 +26189,11 @@ module Google
24899
26189
  # @return [String]
24900
26190
  attr_accessor :create_time
24901
26191
 
26192
+ # Customer provided configurations.
26193
+ # Corresponds to the JSON property `customerProvidedConfig`
26194
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1betaProjectCustomerProvidedConfig]
26195
+ attr_accessor :customer_provided_config
26196
+
24902
26197
  # Output only. Full resource name of the project, for example `projects/`project`
24903
26198
  # `. Note that when making requests, project number and project id are both
24904
26199
  # acceptable, but the server will always respond in project number.
@@ -24924,12 +26219,84 @@ module Google
24924
26219
  # Update properties of this object
24925
26220
  def update!(**args)
24926
26221
  @create_time = args[:create_time] if args.key?(:create_time)
26222
+ @customer_provided_config = args[:customer_provided_config] if args.key?(:customer_provided_config)
24927
26223
  @name = args[:name] if args.key?(:name)
24928
26224
  @provision_completion_time = args[:provision_completion_time] if args.key?(:provision_completion_time)
24929
26225
  @service_terms_map = args[:service_terms_map] if args.key?(:service_terms_map)
24930
26226
  end
24931
26227
  end
24932
26228
 
26229
+ # Customer provided configurations.
26230
+ class GoogleCloudDiscoveryengineV1betaProjectCustomerProvidedConfig
26231
+ include Google::Apis::Core::Hashable
26232
+
26233
+ # Configuration for NotebookLM.
26234
+ # Corresponds to the JSON property `notebooklmConfig`
26235
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1betaProjectCustomerProvidedConfigNotebooklmConfig]
26236
+ attr_accessor :notebooklm_config
26237
+
26238
+ def initialize(**args)
26239
+ update!(**args)
26240
+ end
26241
+
26242
+ # Update properties of this object
26243
+ def update!(**args)
26244
+ @notebooklm_config = args[:notebooklm_config] if args.key?(:notebooklm_config)
26245
+ end
26246
+ end
26247
+
26248
+ # Configuration for NotebookLM.
26249
+ class GoogleCloudDiscoveryengineV1betaProjectCustomerProvidedConfigNotebooklmConfig
26250
+ include Google::Apis::Core::Hashable
26251
+
26252
+ # Configuration for customer defined Model Armor templates to be used for
26253
+ # sanitizing user prompts and LLM responses.
26254
+ # Corresponds to the JSON property `modelArmorConfig`
26255
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1betaProjectCustomerProvidedConfigNotebooklmConfigModelArmorConfig]
26256
+ attr_accessor :model_armor_config
26257
+
26258
+ def initialize(**args)
26259
+ update!(**args)
26260
+ end
26261
+
26262
+ # Update properties of this object
26263
+ def update!(**args)
26264
+ @model_armor_config = args[:model_armor_config] if args.key?(:model_armor_config)
26265
+ end
26266
+ end
26267
+
26268
+ # Configuration for customer defined Model Armor templates to be used for
26269
+ # sanitizing user prompts and LLM responses.
26270
+ class GoogleCloudDiscoveryengineV1betaProjectCustomerProvidedConfigNotebooklmConfigModelArmorConfig
26271
+ include Google::Apis::Core::Hashable
26272
+
26273
+ # Optional. The resource name of the Model Armor Template for sanitizing LLM
26274
+ # responses. Format: projects/`project`/locations/`location`/templates/`
26275
+ # template_id` If not specified, no sanitization will be applied to the LLM
26276
+ # response.
26277
+ # Corresponds to the JSON property `responseTemplate`
26278
+ # @return [String]
26279
+ attr_accessor :response_template
26280
+
26281
+ # Optional. The resource name of the Model Armor Template for sanitizing user
26282
+ # prompts. Format: projects/`project`/locations/`location`/templates/`
26283
+ # template_id` If not specified, no sanitization will be applied to the user
26284
+ # prompt.
26285
+ # Corresponds to the JSON property `userPromptTemplate`
26286
+ # @return [String]
26287
+ attr_accessor :user_prompt_template
26288
+
26289
+ def initialize(**args)
26290
+ update!(**args)
26291
+ end
26292
+
26293
+ # Update properties of this object
26294
+ def update!(**args)
26295
+ @response_template = args[:response_template] if args.key?(:response_template)
26296
+ @user_prompt_template = args[:user_prompt_template] if args.key?(:user_prompt_template)
26297
+ end
26298
+ end
26299
+
24933
26300
  # Metadata about the terms of service.
24934
26301
  class GoogleCloudDiscoveryengineV1betaProjectServiceTerms
24935
26302
  include Google::Apis::Core::Hashable
@@ -25444,7 +26811,8 @@ module Google
25444
26811
  # A 0-indexed integer that specifies the current offset (that is, starting
25445
26812
  # result location, amongst the Documents deemed by the API as relevant) in
25446
26813
  # search results. This field is only considered if page_token is unset. If this
25447
- # field is negative, an `INVALID_ARGUMENT` is returned.
26814
+ # field is negative, an `INVALID_ARGUMENT` is returned. A large offset may be
26815
+ # capped to a reasonable threshold.
25448
26816
  # Corresponds to the JSON property `offset`
25449
26817
  # @return [Fixnum]
25450
26818
  attr_accessor :offset
@@ -25597,6 +26965,14 @@ module Google
25597
26965
  attr_accessor :safe_search
25598
26966
  alias_method :safe_search?, :safe_search
25599
26967
 
26968
+ # SearchAddonSpec is used to disable add-ons for search as per new repricing
26969
+ # model. Refer go/vais-repricing-prd. By default if the SearchAddonSpec is not
26970
+ # specified, we consider that the customer wants to enable them wherever
26971
+ # applicable.
26972
+ # Corresponds to the JSON property `searchAddonSpec`
26973
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1betaSearchRequestSearchAddonSpec]
26974
+ attr_accessor :search_addon_spec
26975
+
25600
26976
  # Specification for search as you type in search requests.
25601
26977
  # Corresponds to the JSON property `searchAsYouTypeSpec`
25602
26978
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1betaSearchRequestSearchAsYouTypeSpec]
@@ -25706,6 +27082,7 @@ module Google
25706
27082
  @relevance_score_spec = args[:relevance_score_spec] if args.key?(:relevance_score_spec)
25707
27083
  @relevance_threshold = args[:relevance_threshold] if args.key?(:relevance_threshold)
25708
27084
  @safe_search = args[:safe_search] if args.key?(:safe_search)
27085
+ @search_addon_spec = args[:search_addon_spec] if args.key?(:search_addon_spec)
25709
27086
  @search_as_you_type_spec = args[:search_as_you_type_spec] if args.key?(:search_as_you_type_spec)
25710
27087
  @serving_config = args[:serving_config] if args.key?(:serving_config)
25711
27088
  @session = args[:session] if args.key?(:session)
@@ -26517,6 +27894,17 @@ module Google
26517
27894
  class GoogleCloudDiscoveryengineV1betaSearchRequestNaturalLanguageQueryUnderstandingSpec
26518
27895
  include Google::Apis::Core::Hashable
26519
27896
 
27897
+ # Optional. Allowlist of fields that can be used for natural language filter
27898
+ # extraction. By default, if this is unspecified, all indexable fields are
27899
+ # eligible for natural language filter extraction (but are not guaranteed to be
27900
+ # used). If any fields are specified in allowed_field_names, only the fields
27901
+ # that are both marked as indexable in the schema and specified in the allowlist
27902
+ # will be eligible for natural language filter extraction. Note: for multi-
27903
+ # datastore search, this is not yet supported, and will be ignored.
27904
+ # Corresponds to the JSON property `allowedFieldNames`
27905
+ # @return [Array<String>]
27906
+ attr_accessor :allowed_field_names
27907
+
26520
27908
  # Optional. Controls behavior of how extracted filters are applied to the search.
26521
27909
  # The default behavior depends on the request. For single datastore structured
26522
27910
  # search, the default is `HARD_FILTER`. For multi-datastore search, the default
@@ -26549,6 +27937,7 @@ module Google
26549
27937
 
26550
27938
  # Update properties of this object
26551
27939
  def update!(**args)
27940
+ @allowed_field_names = args[:allowed_field_names] if args.key?(:allowed_field_names)
26552
27941
  @extracted_filter_behavior = args[:extracted_filter_behavior] if args.key?(:extracted_filter_behavior)
26553
27942
  @filter_extraction_condition = args[:filter_extraction_condition] if args.key?(:filter_extraction_condition)
26554
27943
  @geo_search_query_detection_field_names = args[:geo_search_query_detection_field_names] if args.key?(:geo_search_query_detection_field_names)
@@ -26624,6 +28013,46 @@ module Google
26624
28013
  end
26625
28014
  end
26626
28015
 
28016
+ # SearchAddonSpec is used to disable add-ons for search as per new repricing
28017
+ # model. Refer go/vais-repricing-prd. By default if the SearchAddonSpec is not
28018
+ # specified, we consider that the customer wants to enable them wherever
28019
+ # applicable.
28020
+ class GoogleCloudDiscoveryengineV1betaSearchRequestSearchAddonSpec
28021
+ include Google::Apis::Core::Hashable
28022
+
28023
+ # Optional. If true, generative answer add-on is disabled. Generative answer add-
28024
+ # on includes natural language to filters and simple answers.
28025
+ # Corresponds to the JSON property `disableGenerativeAnswerAddOn`
28026
+ # @return [Boolean]
28027
+ attr_accessor :disable_generative_answer_add_on
28028
+ alias_method :disable_generative_answer_add_on?, :disable_generative_answer_add_on
28029
+
28030
+ # Optional. If true, disables event re-ranking and personalization to optimize
28031
+ # KPIs & personalize results.
28032
+ # Corresponds to the JSON property `disableKpiPersonalizationAddOn`
28033
+ # @return [Boolean]
28034
+ attr_accessor :disable_kpi_personalization_add_on
28035
+ alias_method :disable_kpi_personalization_add_on?, :disable_kpi_personalization_add_on
28036
+
28037
+ # Optional. If true, semantic add-on is disabled. Semantic add-on includes
28038
+ # embeddings and jetstream.
28039
+ # Corresponds to the JSON property `disableSemanticAddOn`
28040
+ # @return [Boolean]
28041
+ attr_accessor :disable_semantic_add_on
28042
+ alias_method :disable_semantic_add_on?, :disable_semantic_add_on
28043
+
28044
+ def initialize(**args)
28045
+ update!(**args)
28046
+ end
28047
+
28048
+ # Update properties of this object
28049
+ def update!(**args)
28050
+ @disable_generative_answer_add_on = args[:disable_generative_answer_add_on] if args.key?(:disable_generative_answer_add_on)
28051
+ @disable_kpi_personalization_add_on = args[:disable_kpi_personalization_add_on] if args.key?(:disable_kpi_personalization_add_on)
28052
+ @disable_semantic_add_on = args[:disable_semantic_add_on] if args.key?(:disable_semantic_add_on)
28053
+ end
28054
+ end
28055
+
26627
28056
  # Specification for search as you type in search requests.
26628
28057
  class GoogleCloudDiscoveryengineV1betaSearchRequestSearchAsYouTypeSpec
26629
28058
  include Google::Apis::Core::Hashable