google-apis-discoveryengine_v1 0.51.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
@@ -4253,6 +4352,12 @@ module Google
4253
4352
  # @return [String]
4254
4353
  attr_accessor :domain
4255
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
+
4256
4361
  # Page identifier.
4257
4362
  # Corresponds to the JSON property `pageIdentifier`
4258
4363
  # @return [String]
@@ -4277,6 +4382,7 @@ module Google
4277
4382
  def update!(**args)
4278
4383
  @document = args[:document] if args.key?(:document)
4279
4384
  @domain = args[:domain] if args.key?(:domain)
4385
+ @mime_type = args[:mime_type] if args.key?(:mime_type)
4280
4386
  @page_identifier = args[:page_identifier] if args.key?(:page_identifier)
4281
4387
  @title = args[:title] if args.key?(:title)
4282
4388
  @uri = args[:uri] if args.key?(:uri)
@@ -4374,6 +4480,25 @@ module Google
4374
4480
  end
4375
4481
  end
4376
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
+
4377
4502
  # Metadata related to the progress of the SiteSearchEngineService.
4378
4503
  # BatchCreateTargetSites operation. This will be returned by the google.
4379
4504
  # longrunning.Operation.metadata field.
@@ -5455,6 +5580,42 @@ module Google
5455
5580
  end
5456
5581
  end
5457
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
+
5458
5619
  # Response message for CompletionService.CompleteQuery method.
5459
5620
  class GoogleCloudDiscoveryengineV1CompleteQueryResponse
5460
5621
  include Google::Apis::Core::Hashable
@@ -6498,64 +6659,567 @@ module Google
6498
6659
  end
6499
6660
  end
6500
6661
 
6501
- # DataStore captures global settings and configs at the DataStore level.
6502
- 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
6503
6668
  include Google::Apis::Core::Hashable
6504
6669
 
6505
- # Immutable. Whether data in the DataStore has ACL information. If set to `true`,
6506
- # the source data must have ACL. ACL will be ingested when data is ingested by
6507
- # DocumentService.ImportDocuments methods. When ACL is enabled for the DataStore,
6508
- # Document can't be accessed by calling DocumentService.GetDocument or
6509
- # DocumentService.ListDocuments. Currently ACL is only supported in `GENERIC`
6510
- # 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.
6511
6672
  # Corresponds to the JSON property `aclEnabled`
6512
6673
  # @return [Boolean]
6513
6674
  attr_accessor :acl_enabled
6514
6675
  alias_method :acl_enabled?, :acl_enabled
6515
6676
 
6516
- # Configuration data for advance site search.
6517
- # Corresponds to the JSON property `advancedSiteSearchConfig`
6518
- # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1AdvancedSiteSearchConfig]
6519
- attr_accessor :advanced_site_search_config
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
6520
6681
 
6521
- # Estimation of data size per data store.
6522
- # Corresponds to the JSON property `billingEstimation`
6523
- # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1DataStoreBillingEstimation]
6524
- attr_accessor :billing_estimation
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
6525
6687
 
6526
- # Configurations used to enable CMEK data encryption with Cloud KMS keys.
6527
- # Corresponds to the JSON property `cmekConfig`
6528
- # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1CmekConfig]
6529
- attr_accessor :cmek_config
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
6530
6692
 
6531
- # Immutable. The content config of the data store. If this field is unset, the
6532
- # server behavior defaults to ContentConfig.NO_CONTENT.
6533
- # Corresponds to the JSON property `contentConfig`
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`
6534
6723
  # @return [String]
6535
- attr_accessor :content_config
6724
+ attr_accessor :connector_type
6536
6725
 
6537
- # Output only. Timestamp the DataStore was created at.
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.
6538
6733
  # Corresponds to the JSON property `createTime`
6539
6734
  # @return [String]
6540
6735
  attr_accessor :create_time
6541
6736
 
6542
- # Output only. The id of the default Schema associated to this data store.
6543
- # Corresponds to the JSON property `defaultSchemaId`
6737
+ # Required. The name of the data source. Supported values: `salesforce`, `jira`,
6738
+ # `confluence`, `bigquery`.
6739
+ # Corresponds to the JSON property `dataSource`
6544
6740
  # @return [String]
6545
- attr_accessor :default_schema_id
6741
+ attr_accessor :data_source
6546
6742
 
6547
- # Required. The data store display name. This field must be a UTF-8 encoded
6548
- # string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT
6549
- # error is returned.
6550
- # Corresponds to the JSON property `displayName`
6551
- # @return [String]
6552
- attr_accessor :display_name
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
6553
6747
 
6554
- # A singleton resource of DataStore. If it's empty when DataStore is created and
6555
- # DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED, the default
6556
- # parser will default to digital parser.
6557
- # Corresponds to the JSON property `documentProcessingConfig`
6558
- # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1DocumentProcessingConfig]
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.
7175
+ # Corresponds to the JSON property `aclEnabled`
7176
+ # @return [Boolean]
7177
+ attr_accessor :acl_enabled
7178
+ alias_method :acl_enabled?, :acl_enabled
7179
+
7180
+ # Configuration data for advance site search.
7181
+ # Corresponds to the JSON property `advancedSiteSearchConfig`
7182
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1AdvancedSiteSearchConfig]
7183
+ attr_accessor :advanced_site_search_config
7184
+
7185
+ # Estimation of data size per data store.
7186
+ # Corresponds to the JSON property `billingEstimation`
7187
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1DataStoreBillingEstimation]
7188
+ attr_accessor :billing_estimation
7189
+
7190
+ # Configurations used to enable CMEK data encryption with Cloud KMS keys.
7191
+ # Corresponds to the JSON property `cmekConfig`
7192
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1CmekConfig]
7193
+ attr_accessor :cmek_config
7194
+
7195
+ # Immutable. The content config of the data store. If this field is unset, the
7196
+ # server behavior defaults to ContentConfig.NO_CONTENT.
7197
+ # Corresponds to the JSON property `contentConfig`
7198
+ # @return [String]
7199
+ attr_accessor :content_config
7200
+
7201
+ # Output only. Timestamp the DataStore was created at.
7202
+ # Corresponds to the JSON property `createTime`
7203
+ # @return [String]
7204
+ attr_accessor :create_time
7205
+
7206
+ # Output only. The id of the default Schema associated to this data store.
7207
+ # Corresponds to the JSON property `defaultSchemaId`
7208
+ # @return [String]
7209
+ attr_accessor :default_schema_id
7210
+
7211
+ # Required. The data store display name. This field must be a UTF-8 encoded
7212
+ # string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT
7213
+ # error is returned.
7214
+ # Corresponds to the JSON property `displayName`
7215
+ # @return [String]
7216
+ attr_accessor :display_name
7217
+
7218
+ # A singleton resource of DataStore. If it's empty when DataStore is created and
7219
+ # DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED, the default
7220
+ # parser will default to digital parser.
7221
+ # Corresponds to the JSON property `documentProcessingConfig`
7222
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1DocumentProcessingConfig]
6559
7223
  attr_accessor :document_processing_config
6560
7224
 
6561
7225
  # Config to data store for `HEALTHCARE_FHIR` vertical.
@@ -6747,6 +7411,34 @@ module Google
6747
7411
  end
6748
7412
  end
6749
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
+
6750
7442
  # Metadata related to the progress of the DataStoreService.DeleteDataStore
6751
7443
  # operation. This will be returned by the google.longrunning.Operation.metadata
6752
7444
  # field.
@@ -6912,6 +7604,69 @@ module Google
6912
7604
  end
6913
7605
  end
6914
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
+
6915
7670
  # Metadata related to the progress of the SiteSearchEngineService.
6916
7671
  # DisableAdvancedSiteSearch operation. This will be returned by the google.
6917
7672
  # longrunning.Operation.metadata field.
@@ -7589,6 +8344,12 @@ module Google
7589
8344
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1EngineCommonConfig]
7590
8345
  attr_accessor :common_config
7591
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
+
7592
8353
  # Output only. Timestamp the Recommendation Engine was created at.
7593
8354
  # Corresponds to the JSON property `createTime`
7594
8355
  # @return [String]
@@ -7621,7 +8382,8 @@ module Google
7621
8382
  # settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-
7622
8383
  # gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-
7623
8384
  # org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `
7624
- # personalization-memory` - Enables personalization based on user preferences.
8385
+ # personalization-memory` * `disable-image-generation` * `disable-video-
8386
+ # generation`
7625
8387
  # Corresponds to the JSON property `features`
7626
8388
  # @return [Hash<String,String>]
7627
8389
  attr_accessor :features
@@ -7672,6 +8434,7 @@ module Google
7672
8434
  @chat_engine_config = args[:chat_engine_config] if args.key?(:chat_engine_config)
7673
8435
  @chat_engine_metadata = args[:chat_engine_metadata] if args.key?(:chat_engine_metadata)
7674
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)
7675
8438
  @create_time = args[:create_time] if args.key?(:create_time)
7676
8439
  @data_store_ids = args[:data_store_ids] if args.key?(:data_store_ids)
7677
8440
  @disable_analytics = args[:disable_analytics] if args.key?(:disable_analytics)
@@ -8426,6 +9189,47 @@ module Google
8426
9189
  end
8427
9190
  end
8428
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
9221
+
9222
+ def initialize(**args)
9223
+ update!(**args)
9224
+ end
9225
+
9226
+ # Update properties of this object
9227
+ def update!(**args)
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)
9230
+ end
9231
+ end
9232
+
8429
9233
  # Identity Provider Config.
8430
9234
  class GoogleCloudDiscoveryengineV1IdpConfig
8431
9235
  include Google::Apis::Core::Hashable
@@ -9672,23 +10476,102 @@ module Google
9672
10476
  # @return [String]
9673
10477
  attr_accessor :create_time
9674
10478
 
9675
- # Output only. Full resource name of the project, for example `projects/`project`
9676
- # `. Note that when making requests, project number and project id are both
9677
- # acceptable, but the server will always respond in project number.
9678
- # Corresponds to the JSON property `name`
10479
+ # Customer provided configurations.
10480
+ # Corresponds to the JSON property `customerProvidedConfig`
10481
+ # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfig]
10482
+ attr_accessor :customer_provided_config
10483
+
10484
+ # Output only. Full resource name of the project, for example `projects/`project`
10485
+ # `. Note that when making requests, project number and project id are both
10486
+ # acceptable, but the server will always respond in project number.
10487
+ # Corresponds to the JSON property `name`
10488
+ # @return [String]
10489
+ attr_accessor :name
10490
+
10491
+ # Output only. The timestamp when this project is successfully provisioned.
10492
+ # Empty value means this project is still provisioning and is not ready for use.
10493
+ # Corresponds to the JSON property `provisionCompletionTime`
10494
+ # @return [String]
10495
+ attr_accessor :provision_completion_time
10496
+
10497
+ # Output only. A map of terms of services. The key is the `id` of ServiceTerms.
10498
+ # Corresponds to the JSON property `serviceTermsMap`
10499
+ # @return [Hash<String,Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1ProjectServiceTerms>]
10500
+ attr_accessor :service_terms_map
10501
+
10502
+ def initialize(**args)
10503
+ update!(**args)
10504
+ end
10505
+
10506
+ # Update properties of this object
10507
+ def update!(**args)
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)
10510
+ @name = args[:name] if args.key?(:name)
10511
+ @provision_completion_time = args[:provision_completion_time] if args.key?(:provision_completion_time)
10512
+ @service_terms_map = args[:service_terms_map] if args.key?(:service_terms_map)
10513
+ end
10514
+ end
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`
9679
10565
  # @return [String]
9680
- attr_accessor :name
10566
+ attr_accessor :response_template
9681
10567
 
9682
- # Output only. The timestamp when this project is successfully provisioned.
9683
- # Empty value means this project is still provisioning and is not ready for use.
9684
- # Corresponds to the JSON property `provisionCompletionTime`
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`
9685
10573
  # @return [String]
9686
- attr_accessor :provision_completion_time
9687
-
9688
- # Output only. A map of terms of services. The key is the `id` of ServiceTerms.
9689
- # Corresponds to the JSON property `serviceTermsMap`
9690
- # @return [Hash<String,Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1ProjectServiceTerms>]
9691
- attr_accessor :service_terms_map
10574
+ attr_accessor :user_prompt_template
9692
10575
 
9693
10576
  def initialize(**args)
9694
10577
  update!(**args)
@@ -9696,10 +10579,8 @@ module Google
9696
10579
 
9697
10580
  # Update properties of this object
9698
10581
  def update!(**args)
9699
- @create_time = args[:create_time] if args.key?(:create_time)
9700
- @name = args[:name] if args.key?(:name)
9701
- @provision_completion_time = args[:provision_completion_time] if args.key?(:provision_completion_time)
9702
- @service_terms_map = args[:service_terms_map] if args.key?(:service_terms_map)
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)
9703
10584
  end
9704
10585
  end
9705
10586
 
@@ -9812,6 +10693,13 @@ module Google
9812
10693
  attr_accessor :accept_biz_qos
9813
10694
  alias_method :accept_biz_qos?, :accept_biz_qos
9814
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
+
9815
10703
  def initialize(**args)
9816
10704
  update!(**args)
9817
10705
  end
@@ -9819,6 +10707,7 @@ module Google
9819
10707
  # Update properties of this object
9820
10708
  def update!(**args)
9821
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)
9822
10711
  end
9823
10712
  end
9824
10713
 
@@ -10855,7 +11744,8 @@ module Google
10855
11744
  # A 0-indexed integer that specifies the current offset (that is, starting
10856
11745
  # result location, amongst the Documents deemed by the API as relevant) in
10857
11746
  # search results. This field is only considered if page_token is unset. If this
10858
- # 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.
10859
11749
  # Corresponds to the JSON property `offset`
10860
11750
  # @return [Fixnum]
10861
11751
  attr_accessor :offset
@@ -12907,6 +13797,61 @@ module Google
12907
13797
  end
12908
13798
  end
12909
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
+
12910
13855
  # Metadata for single-regional CMEKs.
12911
13856
  class GoogleCloudDiscoveryengineV1SingleRegionKey
12912
13857
  include Google::Apis::Core::Hashable
@@ -13441,6 +14386,42 @@ module Google
13441
14386
  end
13442
14387
  end
13443
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
+
13444
14425
  # Defines text input.
13445
14426
  class GoogleCloudDiscoveryengineV1TextInput
13446
14427
  include Google::Apis::Core::Hashable
@@ -16256,6 +17237,11 @@ module Google
16256
17237
  attr_accessor :incremental_sync_disabled
16257
17238
  alias_method :incremental_sync_disabled?, :incremental_sync_disabled
16258
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
+
16259
17245
  # Input only. The KMS key to be used to protect the DataStores managed by this
16260
17246
  # connector. Must be set for requests that need to comply with CMEK Org Policy
16261
17247
  # protections. If this field is set and processed successfully, the DataStores
@@ -16304,27 +17290,7 @@ module Google
16304
17290
  # @return [Google::Apis::DiscoveryengineV1::GoogleTypeDateTime]
16305
17291
  attr_accessor :next_sync_time
16306
17292
 
16307
- # Required. Params needed to access the source in the format of (Key, Value)
16308
- # pairs. Required parameters for all data sources: * Key: `instance_uri` * Value:
16309
- # type STRING. The uri to access the data source. Required parameters for
16310
- # sources that support OAUTH, i.e. `salesforce`: * Key: `client_id` * Value:
16311
- # type STRING. The client ID for the third party service provider to identify
16312
- # your application. * Key: `client_secret` * Value:type STRING. The client
16313
- # secret generated by the third party authorization server. * Key: `access_token`
16314
- # * Value: type STRING. OAuth token for UCS to access to the protected resource.
16315
- # * Key: `refresh_token` * Value: type STRING. OAuth refresh token for UCS to
16316
- # obtain a new access token without user interaction. Required parameters for
16317
- # sources that support basic API token auth, i.e. `jira`, `confluence`: * Key: `
16318
- # user_account` * Value: type STRING. The username or email with the source. *
16319
- # Key: `api_token` * Value: type STRING. The API token generated for the source
16320
- # account, that is used for authenticating anywhere where you would have used a
16321
- # password. Example: ```json ` "instance_uri": "https://xxx.atlassian.net", "
16322
- # user_account": "xxxx.xxx@xxx.com", "api_token": "test-token" ` ``` Optional
16323
- # parameter to specify the authorization type to use for multiple authorization
16324
- # types support: * Key: `auth_type` * Value: type STRING. The authorization type
16325
- # for the data source. Supported values: `BASIC_AUTH`, `OAUTH`, `
16326
- # OAUTH_ACCESS_TOKEN`, `OAUTH_TWO_LEGGED`, `OAUTH_JWT_BEARER`, `
16327
- # OAUTH_PASSWORD_GRANT`, `JWT`, `API_TOKEN`, `FEDERATED_CREDENTIAL`.
17293
+ # Required data connector parameters in structured json format.
16328
17294
  # Corresponds to the JSON property `params`
16329
17295
  # @return [Hash<String,Object>]
16330
17296
  attr_accessor :params
@@ -16418,6 +17384,7 @@ module Google
16418
17384
  @identity_schedule_config = args[:identity_schedule_config] if args.key?(:identity_schedule_config)
16419
17385
  @incremental_refresh_interval = args[:incremental_refresh_interval] if args.key?(:incremental_refresh_interval)
16420
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)
16421
17388
  @kms_key_name = args[:kms_key_name] if args.key?(:kms_key_name)
16422
17389
  @last_sync_time = args[:last_sync_time] if args.key?(:last_sync_time)
16423
17390
  @latest_pause_time = args[:latest_pause_time] if args.key?(:latest_pause_time)
@@ -16585,6 +17552,12 @@ module Google
16585
17552
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1alphaHealthcareFhirConfig]
16586
17553
  attr_accessor :healthcare_fhir_config
16587
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
+
16588
17561
  # Attributes for indexing. Key: Field name. Value: The key property to map a
16589
17562
  # field to, such as `title`, and `description`. Supported key properties: * `
16590
17563
  # title`: The title for data record. This would be displayed on search results. *
@@ -16594,9 +17567,8 @@ module Google
16594
17567
  # @return [Hash<String,String>]
16595
17568
  attr_accessor :key_property_mappings
16596
17569
 
16597
- # The parameters for the entity to facilitate data ingestion. E.g. for BigQuery
16598
- # connectors: * Key: `document_id_column` * Value: type STRING. The value of the
16599
- # column ID.
17570
+ # The parameters for the entity to facilitate data ingestion in structured json
17571
+ # format.
16600
17572
  # Corresponds to the JSON property `params`
16601
17573
  # @return [Hash<String,Object>]
16602
17574
  attr_accessor :params
@@ -16615,6 +17587,7 @@ module Google
16615
17587
  @data_store = args[:data_store] if args.key?(:data_store)
16616
17588
  @entity_name = args[:entity_name] if args.key?(:entity_name)
16617
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)
16618
17591
  @key_property_mappings = args[:key_property_mappings] if args.key?(:key_property_mappings)
16619
17592
  @params = args[:params] if args.key?(:params)
16620
17593
  @starting_schema = args[:starting_schema] if args.key?(:starting_schema)
@@ -17150,12 +18123,18 @@ module Google
17150
18123
  # @return [Array<Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1alphaDestinationConfigDestination>]
17151
18124
  attr_accessor :destinations
17152
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
+
17153
18131
  # Optional. Unique destination identifier that is supported by the connector.
17154
18132
  # Corresponds to the JSON property `key`
17155
18133
  # @return [String]
17156
18134
  attr_accessor :key
17157
18135
 
17158
- # Optional. Additional parameters for this destination config.
18136
+ # Optional. Additional parameters for this destination config in structured json
18137
+ # format.
17159
18138
  # Corresponds to the JSON property `params`
17160
18139
  # @return [Hash<String,Object>]
17161
18140
  attr_accessor :params
@@ -17167,6 +18146,7 @@ module Google
17167
18146
  # Update properties of this object
17168
18147
  def update!(**args)
17169
18148
  @destinations = args[:destinations] if args.key?(:destinations)
18149
+ @json_params = args[:json_params] if args.key?(:json_params)
17170
18150
  @key = args[:key] if args.key?(:key)
17171
18151
  @params = args[:params] if args.key?(:params)
17172
18152
  end
@@ -17536,6 +18516,12 @@ module Google
17536
18516
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1alphaEngineCommonConfig]
17537
18517
  attr_accessor :common_config
17538
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
+
17539
18525
  # Output only. Timestamp the Recommendation Engine was created at.
17540
18526
  # Corresponds to the JSON property `createTime`
17541
18527
  # @return [String]
@@ -17568,7 +18554,8 @@ module Google
17568
18554
  # settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-
17569
18555
  # gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-
17570
18556
  # org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `
17571
- # personalization-memory` - Enables personalization based on user preferences.
18557
+ # personalization-memory` * `disable-image-generation` * `disable-video-
18558
+ # generation`
17572
18559
  # Corresponds to the JSON property `features`
17573
18560
  # @return [Hash<String,String>]
17574
18561
  attr_accessor :features
@@ -17629,6 +18616,7 @@ module Google
17629
18616
  @chat_engine_config = args[:chat_engine_config] if args.key?(:chat_engine_config)
17630
18617
  @chat_engine_metadata = args[:chat_engine_metadata] if args.key?(:chat_engine_metadata)
17631
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)
17632
18620
  @create_time = args[:create_time] if args.key?(:create_time)
17633
18621
  @data_store_ids = args[:data_store_ids] if args.key?(:data_store_ids)
17634
18622
  @disable_analytics = args[:disable_analytics] if args.key?(:disable_analytics)
@@ -19226,6 +20214,11 @@ module Google
19226
20214
  # @return [String]
19227
20215
  attr_accessor :create_time
19228
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
+
19229
20222
  # Output only. Full resource name of the project, for example `projects/`project`
19230
20223
  # `. Note that when making requests, project number and project id are both
19231
20224
  # acceptable, but the server will always respond in project number.
@@ -19251,12 +20244,84 @@ module Google
19251
20244
  # Update properties of this object
19252
20245
  def update!(**args)
19253
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)
19254
20248
  @name = args[:name] if args.key?(:name)
19255
20249
  @provision_completion_time = args[:provision_completion_time] if args.key?(:provision_completion_time)
19256
20250
  @service_terms_map = args[:service_terms_map] if args.key?(:service_terms_map)
19257
20251
  end
19258
20252
  end
19259
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
+
19260
20325
  # Metadata about the terms of service.
19261
20326
  class GoogleCloudDiscoveryengineV1alphaProjectServiceTerms
19262
20327
  include Google::Apis::Core::Hashable
@@ -20138,7 +21203,8 @@ module Google
20138
21203
  # A 0-indexed integer that specifies the current offset (that is, starting
20139
21204
  # result location, amongst the Documents deemed by the API as relevant) in
20140
21205
  # search results. This field is only considered if page_token is unset. If this
20141
- # 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.
20142
21208
  # Corresponds to the JSON property `offset`
20143
21209
  # @return [Fixnum]
20144
21210
  attr_accessor :offset
@@ -20291,6 +21357,14 @@ module Google
20291
21357
  attr_accessor :safe_search
20292
21358
  alias_method :safe_search?, :safe_search
20293
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
+
20294
21368
  # Specification for search as you type in search requests.
20295
21369
  # Corresponds to the JSON property `searchAsYouTypeSpec`
20296
21370
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1alphaSearchRequestSearchAsYouTypeSpec]
@@ -20410,6 +21484,7 @@ module Google
20410
21484
  @relevance_score_spec = args[:relevance_score_spec] if args.key?(:relevance_score_spec)
20411
21485
  @relevance_threshold = args[:relevance_threshold] if args.key?(:relevance_threshold)
20412
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)
20413
21488
  @search_as_you_type_spec = args[:search_as_you_type_spec] if args.key?(:search_as_you_type_spec)
20414
21489
  @serving_config = args[:serving_config] if args.key?(:serving_config)
20415
21490
  @session = args[:session] if args.key?(:session)
@@ -21222,6 +22297,17 @@ module Google
21222
22297
  class GoogleCloudDiscoveryengineV1alphaSearchRequestNaturalLanguageQueryUnderstandingSpec
21223
22298
  include Google::Apis::Core::Hashable
21224
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
+
21225
22311
  # Optional. Controls behavior of how extracted filters are applied to the search.
21226
22312
  # The default behavior depends on the request. For single datastore structured
21227
22313
  # search, the default is `HARD_FILTER`. For multi-datastore search, the default
@@ -21254,6 +22340,7 @@ module Google
21254
22340
 
21255
22341
  # Update properties of this object
21256
22342
  def update!(**args)
22343
+ @allowed_field_names = args[:allowed_field_names] if args.key?(:allowed_field_names)
21257
22344
  @extracted_filter_behavior = args[:extracted_filter_behavior] if args.key?(:extracted_filter_behavior)
21258
22345
  @filter_extraction_condition = args[:filter_extraction_condition] if args.key?(:filter_extraction_condition)
21259
22346
  @geo_search_query_detection_field_names = args[:geo_search_query_detection_field_names] if args.key?(:geo_search_query_detection_field_names)
@@ -21329,6 +22416,46 @@ module Google
21329
22416
  end
21330
22417
  end
21331
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
+
21332
22459
  # Specification for search as you type in search requests.
21333
22460
  class GoogleCloudDiscoveryengineV1alphaSearchRequestSearchAsYouTypeSpec
21334
22461
  include Google::Apis::Core::Hashable
@@ -23851,6 +24978,12 @@ module Google
23851
24978
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1betaEngineCommonConfig]
23852
24979
  attr_accessor :common_config
23853
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
+
23854
24987
  # Output only. Timestamp the Recommendation Engine was created at.
23855
24988
  # Corresponds to the JSON property `createTime`
23856
24989
  # @return [String]
@@ -23883,7 +25016,8 @@ module Google
23883
25016
  # settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-
23884
25017
  # gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-
23885
25018
  # org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `
23886
- # personalization-memory` - Enables personalization based on user preferences.
25019
+ # personalization-memory` * `disable-image-generation` * `disable-video-
25020
+ # generation`
23887
25021
  # Corresponds to the JSON property `features`
23888
25022
  # @return [Hash<String,String>]
23889
25023
  attr_accessor :features
@@ -23934,6 +25068,7 @@ module Google
23934
25068
  @chat_engine_config = args[:chat_engine_config] if args.key?(:chat_engine_config)
23935
25069
  @chat_engine_metadata = args[:chat_engine_metadata] if args.key?(:chat_engine_metadata)
23936
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)
23937
25072
  @create_time = args[:create_time] if args.key?(:create_time)
23938
25073
  @data_store_ids = args[:data_store_ids] if args.key?(:data_store_ids)
23939
25074
  @disable_analytics = args[:disable_analytics] if args.key?(:disable_analytics)
@@ -25054,6 +26189,11 @@ module Google
25054
26189
  # @return [String]
25055
26190
  attr_accessor :create_time
25056
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
+
25057
26197
  # Output only. Full resource name of the project, for example `projects/`project`
25058
26198
  # `. Note that when making requests, project number and project id are both
25059
26199
  # acceptable, but the server will always respond in project number.
@@ -25079,12 +26219,84 @@ module Google
25079
26219
  # Update properties of this object
25080
26220
  def update!(**args)
25081
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)
25082
26223
  @name = args[:name] if args.key?(:name)
25083
26224
  @provision_completion_time = args[:provision_completion_time] if args.key?(:provision_completion_time)
25084
26225
  @service_terms_map = args[:service_terms_map] if args.key?(:service_terms_map)
25085
26226
  end
25086
26227
  end
25087
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
+
25088
26300
  # Metadata about the terms of service.
25089
26301
  class GoogleCloudDiscoveryengineV1betaProjectServiceTerms
25090
26302
  include Google::Apis::Core::Hashable
@@ -25599,7 +26811,8 @@ module Google
25599
26811
  # A 0-indexed integer that specifies the current offset (that is, starting
25600
26812
  # result location, amongst the Documents deemed by the API as relevant) in
25601
26813
  # search results. This field is only considered if page_token is unset. If this
25602
- # 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.
25603
26816
  # Corresponds to the JSON property `offset`
25604
26817
  # @return [Fixnum]
25605
26818
  attr_accessor :offset
@@ -25752,6 +26965,14 @@ module Google
25752
26965
  attr_accessor :safe_search
25753
26966
  alias_method :safe_search?, :safe_search
25754
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
+
25755
26976
  # Specification for search as you type in search requests.
25756
26977
  # Corresponds to the JSON property `searchAsYouTypeSpec`
25757
26978
  # @return [Google::Apis::DiscoveryengineV1::GoogleCloudDiscoveryengineV1betaSearchRequestSearchAsYouTypeSpec]
@@ -25861,6 +27082,7 @@ module Google
25861
27082
  @relevance_score_spec = args[:relevance_score_spec] if args.key?(:relevance_score_spec)
25862
27083
  @relevance_threshold = args[:relevance_threshold] if args.key?(:relevance_threshold)
25863
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)
25864
27086
  @search_as_you_type_spec = args[:search_as_you_type_spec] if args.key?(:search_as_you_type_spec)
25865
27087
  @serving_config = args[:serving_config] if args.key?(:serving_config)
25866
27088
  @session = args[:session] if args.key?(:session)
@@ -26672,6 +27894,17 @@ module Google
26672
27894
  class GoogleCloudDiscoveryengineV1betaSearchRequestNaturalLanguageQueryUnderstandingSpec
26673
27895
  include Google::Apis::Core::Hashable
26674
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
+
26675
27908
  # Optional. Controls behavior of how extracted filters are applied to the search.
26676
27909
  # The default behavior depends on the request. For single datastore structured
26677
27910
  # search, the default is `HARD_FILTER`. For multi-datastore search, the default
@@ -26704,6 +27937,7 @@ module Google
26704
27937
 
26705
27938
  # Update properties of this object
26706
27939
  def update!(**args)
27940
+ @allowed_field_names = args[:allowed_field_names] if args.key?(:allowed_field_names)
26707
27941
  @extracted_filter_behavior = args[:extracted_filter_behavior] if args.key?(:extracted_filter_behavior)
26708
27942
  @filter_extraction_condition = args[:filter_extraction_condition] if args.key?(:filter_extraction_condition)
26709
27943
  @geo_search_query_detection_field_names = args[:geo_search_query_detection_field_names] if args.key?(:geo_search_query_detection_field_names)
@@ -26779,6 +28013,46 @@ module Google
26779
28013
  end
26780
28014
  end
26781
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
+
26782
28056
  # Specification for search as you type in search requests.
26783
28057
  class GoogleCloudDiscoveryengineV1betaSearchRequestSearchAsYouTypeSpec
26784
28058
  include Google::Apis::Core::Hashable