google-apis-discoveryengine_v1beta 0.81.0 → 0.83.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
  # Configuration data for advance site search.
1463
1512
  class GoogleCloudDiscoveryengineV1AdvancedSiteSearchConfig
1464
1513
  include Google::Apis::Core::Hashable
@@ -1486,6 +1535,56 @@ module Google
1486
1535
  end
1487
1536
  end
1488
1537
 
1538
+ # The connector level alert config.
1539
+ class GoogleCloudDiscoveryengineV1AlertPolicyConfig
1540
+ include Google::Apis::Core::Hashable
1541
+
1542
+ # Optional. The enrollment states of each alert.
1543
+ # Corresponds to the JSON property `alertEnrollments`
1544
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1AlertPolicyConfigAlertEnrollment>]
1545
+ attr_accessor :alert_enrollments
1546
+
1547
+ # Immutable. The fully qualified resource name of the AlertPolicy.
1548
+ # Corresponds to the JSON property `alertPolicyName`
1549
+ # @return [String]
1550
+ attr_accessor :alert_policy_name
1551
+
1552
+ def initialize(**args)
1553
+ update!(**args)
1554
+ end
1555
+
1556
+ # Update properties of this object
1557
+ def update!(**args)
1558
+ @alert_enrollments = args[:alert_enrollments] if args.key?(:alert_enrollments)
1559
+ @alert_policy_name = args[:alert_policy_name] if args.key?(:alert_policy_name)
1560
+ end
1561
+ end
1562
+
1563
+ # The alert enrollment status.
1564
+ class GoogleCloudDiscoveryengineV1AlertPolicyConfigAlertEnrollment
1565
+ include Google::Apis::Core::Hashable
1566
+
1567
+ # Immutable. The id of an alert.
1568
+ # Corresponds to the JSON property `alertId`
1569
+ # @return [String]
1570
+ attr_accessor :alert_id
1571
+
1572
+ # Required. The enrollment status of a customer.
1573
+ # Corresponds to the JSON property `enrollState`
1574
+ # @return [String]
1575
+ attr_accessor :enroll_state
1576
+
1577
+ def initialize(**args)
1578
+ update!(**args)
1579
+ end
1580
+
1581
+ # Update properties of this object
1582
+ def update!(**args)
1583
+ @alert_id = args[:alert_id] if args.key?(:alert_id)
1584
+ @enroll_state = args[:enroll_state] if args.key?(:enroll_state)
1585
+ end
1586
+ end
1587
+
1489
1588
  # The specification for answer generation.
1490
1589
  class GoogleCloudDiscoveryengineV1AnswerGenerationSpec
1491
1590
  include Google::Apis::Core::Hashable
@@ -1629,6 +1728,12 @@ module Google
1629
1728
  # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1AssistantCustomerPolicyBannedPhrase>]
1630
1729
  attr_accessor :banned_phrases
1631
1730
 
1731
+ # Configuration for customer defined Model Armor templates to be used for
1732
+ # sanitizing user prompts and assistant responses.
1733
+ # Corresponds to the JSON property `modelArmorConfig`
1734
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1AssistantCustomerPolicyModelArmorConfig]
1735
+ attr_accessor :model_armor_config
1736
+
1632
1737
  def initialize(**args)
1633
1738
  update!(**args)
1634
1739
  end
@@ -1636,6 +1741,7 @@ module Google
1636
1741
  # Update properties of this object
1637
1742
  def update!(**args)
1638
1743
  @banned_phrases = args[:banned_phrases] if args.key?(:banned_phrases)
1744
+ @model_armor_config = args[:model_armor_config] if args.key?(:model_armor_config)
1639
1745
  end
1640
1746
  end
1641
1747
 
@@ -1674,6 +1780,44 @@ module Google
1674
1780
  end
1675
1781
  end
1676
1782
 
1783
+ # Configuration for customer defined Model Armor templates to be used for
1784
+ # sanitizing user prompts and assistant responses.
1785
+ class GoogleCloudDiscoveryengineV1AssistantCustomerPolicyModelArmorConfig
1786
+ include Google::Apis::Core::Hashable
1787
+
1788
+ # Optional. Defines the failure mode for Model Armor sanitization.
1789
+ # Corresponds to the JSON property `failureMode`
1790
+ # @return [String]
1791
+ attr_accessor :failure_mode
1792
+
1793
+ # Optional. The resource name of the Model Armor template for sanitizing
1794
+ # assistant responses. Format: `projects/`project`/locations/`location`/
1795
+ # templates/`template_id`` If not specified, no sanitization will be applied to
1796
+ # the assistant response.
1797
+ # Corresponds to the JSON property `responseTemplate`
1798
+ # @return [String]
1799
+ attr_accessor :response_template
1800
+
1801
+ # Optional. The resource name of the Model Armor template for sanitizing user
1802
+ # prompts. Format: `projects/`project`/locations/`location`/templates/`
1803
+ # template_id`` If not specified, no sanitization will be applied to the user
1804
+ # prompt.
1805
+ # Corresponds to the JSON property `userPromptTemplate`
1806
+ # @return [String]
1807
+ attr_accessor :user_prompt_template
1808
+
1809
+ def initialize(**args)
1810
+ update!(**args)
1811
+ end
1812
+
1813
+ # Update properties of this object
1814
+ def update!(**args)
1815
+ @failure_mode = args[:failure_mode] if args.key?(:failure_mode)
1816
+ @response_template = args[:response_template] if args.key?(:response_template)
1817
+ @user_prompt_template = args[:user_prompt_template] if args.key?(:user_prompt_template)
1818
+ end
1819
+ end
1820
+
1677
1821
  # Configuration for the generation of the assistant response.
1678
1822
  class GoogleCloudDiscoveryengineV1AssistantGenerationConfig
1679
1823
  include Google::Apis::Core::Hashable
@@ -1767,6 +1911,25 @@ module Google
1767
1911
  end
1768
1912
  end
1769
1913
 
1914
+ # The configuration for the BAP connector.
1915
+ class GoogleCloudDiscoveryengineV1BapConfig
1916
+ include Google::Apis::Core::Hashable
1917
+
1918
+ # Required. The supported connector modes for the associated BAP connection.
1919
+ # Corresponds to the JSON property `supportedConnectorModes`
1920
+ # @return [Array<String>]
1921
+ attr_accessor :supported_connector_modes
1922
+
1923
+ def initialize(**args)
1924
+ update!(**args)
1925
+ end
1926
+
1927
+ # Update properties of this object
1928
+ def update!(**args)
1929
+ @supported_connector_modes = args[:supported_connector_modes] if args.key?(:supported_connector_modes)
1930
+ end
1931
+ end
1932
+
1770
1933
  # Metadata related to the progress of the SiteSearchEngineService.
1771
1934
  # BatchCreateTargetSites operation. This will be returned by the google.
1772
1935
  # longrunning.Operation.metadata field.
@@ -1945,6 +2108,42 @@ module Google
1945
2108
  end
1946
2109
  end
1947
2110
 
2111
+ # Collection is a container for configuring resources and access to a set of
2112
+ # DataStores.
2113
+ class GoogleCloudDiscoveryengineV1Collection
2114
+ include Google::Apis::Core::Hashable
2115
+
2116
+ # Output only. Timestamp the Collection was created at.
2117
+ # Corresponds to the JSON property `createTime`
2118
+ # @return [String]
2119
+ attr_accessor :create_time
2120
+
2121
+ # Required. The Collection display name. This field must be a UTF-8 encoded
2122
+ # string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT
2123
+ # error is returned.
2124
+ # Corresponds to the JSON property `displayName`
2125
+ # @return [String]
2126
+ attr_accessor :display_name
2127
+
2128
+ # Immutable. The full resource name of the Collection. Format: `projects/`
2129
+ # project`/locations/`location`/collections/`collection_id``. This field must be
2130
+ # a UTF-8 encoded string with a length limit of 1024 characters.
2131
+ # Corresponds to the JSON property `name`
2132
+ # @return [String]
2133
+ attr_accessor :name
2134
+
2135
+ def initialize(**args)
2136
+ update!(**args)
2137
+ end
2138
+
2139
+ # Update properties of this object
2140
+ def update!(**args)
2141
+ @create_time = args[:create_time] if args.key?(:create_time)
2142
+ @display_name = args[:display_name] if args.key?(:display_name)
2143
+ @name = args[:name] if args.key?(:name)
2144
+ end
2145
+ end
2146
+
1948
2147
  # Defines circumstances to be checked before allowing a behavior
1949
2148
  class GoogleCloudDiscoveryengineV1Condition
1950
2149
  include Google::Apis::Core::Hashable
@@ -2467,22 +2666,520 @@ module Google
2467
2666
  end
2468
2667
  end
2469
2668
 
2470
- # Metadata related to the progress of the SiteSearchEngineService.
2471
- # CreateTargetSite operation. This will be returned by the google.longrunning.
2472
- # Operation.metadata field.
2473
- class GoogleCloudDiscoveryengineV1CreateTargetSiteMetadata
2669
+ # Metadata related to the progress of the SiteSearchEngineService.
2670
+ # CreateTargetSite operation. This will be returned by the google.longrunning.
2671
+ # Operation.metadata field.
2672
+ class GoogleCloudDiscoveryengineV1CreateTargetSiteMetadata
2673
+ include Google::Apis::Core::Hashable
2674
+
2675
+ # Operation create time.
2676
+ # Corresponds to the JSON property `createTime`
2677
+ # @return [String]
2678
+ attr_accessor :create_time
2679
+
2680
+ # Operation last update time. If the operation is done, this is also the finish
2681
+ # time.
2682
+ # Corresponds to the JSON property `updateTime`
2683
+ # @return [String]
2684
+ attr_accessor :update_time
2685
+
2686
+ def initialize(**args)
2687
+ update!(**args)
2688
+ end
2689
+
2690
+ # Update properties of this object
2691
+ def update!(**args)
2692
+ @create_time = args[:create_time] if args.key?(:create_time)
2693
+ @update_time = args[:update_time] if args.key?(:update_time)
2694
+ end
2695
+ end
2696
+
2697
+ # Manages the connection to external data sources for all data stores grouped
2698
+ # under a Collection. It's a singleton resource of Collection. The
2699
+ # initialization is only supported through DataConnectorService.
2700
+ # SetUpDataConnector method, which will create a new Collection and initialize
2701
+ # its DataConnector.
2702
+ class GoogleCloudDiscoveryengineV1DataConnector
2703
+ include Google::Apis::Core::Hashable
2704
+
2705
+ # Optional. Whether the connector will be created with an ACL config. Currently
2706
+ # this field only affects Cloud Storage and BigQuery connectors.
2707
+ # Corresponds to the JSON property `aclEnabled`
2708
+ # @return [Boolean]
2709
+ attr_accessor :acl_enabled
2710
+ alias_method :acl_enabled?, :acl_enabled
2711
+
2712
+ # Informations to support actions on the connector.
2713
+ # Corresponds to the JSON property `actionConfig`
2714
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1ActionConfig]
2715
+ attr_accessor :action_config
2716
+
2717
+ # Output only. State of the action connector. This reflects whether the action
2718
+ # connector is initializing, active or has encountered errors.
2719
+ # Corresponds to the JSON property `actionState`
2720
+ # @return [String]
2721
+ attr_accessor :action_state
2722
+
2723
+ # Optional. The connector level alert config.
2724
+ # Corresponds to the JSON property `alertPolicyConfigs`
2725
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1AlertPolicyConfig>]
2726
+ attr_accessor :alert_policy_configs
2727
+
2728
+ # Optional. Indicates whether the connector is disabled for auto run. It can be
2729
+ # used to pause periodical and real time sync. Update: with the introduction of
2730
+ # incremental_sync_disabled, auto_run_disabled is used to pause/disable only
2731
+ # full syncs
2732
+ # Corresponds to the JSON property `autoRunDisabled`
2733
+ # @return [Boolean]
2734
+ attr_accessor :auto_run_disabled
2735
+ alias_method :auto_run_disabled?, :auto_run_disabled
2736
+
2737
+ # The configuration for the BAP connector.
2738
+ # Corresponds to the JSON property `bapConfig`
2739
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1BapConfig]
2740
+ attr_accessor :bap_config
2741
+
2742
+ # Output only. User actions that must be completed before the connector can
2743
+ # start syncing data.
2744
+ # Corresponds to the JSON property `blockingReasons`
2745
+ # @return [Array<String>]
2746
+ attr_accessor :blocking_reasons
2747
+
2748
+ # Optional. The modes enabled for this connector. Default state is
2749
+ # CONNECTOR_MODE_UNSPECIFIED.
2750
+ # Corresponds to the JSON property `connectorModes`
2751
+ # @return [Array<String>]
2752
+ attr_accessor :connector_modes
2753
+
2754
+ # Output only. The type of connector. Each source can only map to one type. For
2755
+ # example, salesforce, confluence and jira have THIRD_PARTY connector type. It
2756
+ # is not mutable once set by system.
2757
+ # Corresponds to the JSON property `connectorType`
2758
+ # @return [String]
2759
+ attr_accessor :connector_type
2760
+
2761
+ # Optional. Whether the END USER AUTHENTICATION connector is created in SaaS.
2762
+ # Corresponds to the JSON property `createEuaSaas`
2763
+ # @return [Boolean]
2764
+ attr_accessor :create_eua_saas
2765
+ alias_method :create_eua_saas?, :create_eua_saas
2766
+
2767
+ # Output only. Timestamp the DataConnector was created at.
2768
+ # Corresponds to the JSON property `createTime`
2769
+ # @return [String]
2770
+ attr_accessor :create_time
2771
+
2772
+ # Required. The name of the data source. Supported values: `salesforce`, `jira`,
2773
+ # `confluence`, `bigquery`.
2774
+ # Corresponds to the JSON property `dataSource`
2775
+ # @return [String]
2776
+ attr_accessor :data_source
2777
+
2778
+ # Optional. Any target destinations used to connect to third-party services.
2779
+ # Corresponds to the JSON property `destinationConfigs`
2780
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1DestinationConfig>]
2781
+ attr_accessor :destination_configs
2782
+
2783
+ # Any params and credentials used specifically for EUA connectors.
2784
+ # Corresponds to the JSON property `endUserConfig`
2785
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1DataConnectorEndUserConfig]
2786
+ attr_accessor :end_user_config
2787
+
2788
+ # List of entities from the connected data source to ingest.
2789
+ # Corresponds to the JSON property `entities`
2790
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1DataConnectorSourceEntity>]
2791
+ attr_accessor :entities
2792
+
2793
+ # Output only. The errors from initialization or from the latest connector run.
2794
+ # Corresponds to the JSON property `errors`
2795
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleRpcStatus>]
2796
+ attr_accessor :errors
2797
+
2798
+ # Any params and credentials used specifically for hybrid connectors supporting
2799
+ # FEDERATED mode.
2800
+ # Corresponds to the JSON property `federatedConfig`
2801
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1DataConnectorFederatedConfig]
2802
+ attr_accessor :federated_config
2803
+
2804
+ # Optional. If the connector is a hybrid connector, determines whether ingestion
2805
+ # is enabled and appropriate resources are provisioned during connector creation.
2806
+ # If the connector is not a hybrid connector, this field is ignored.
2807
+ # Corresponds to the JSON property `hybridIngestionDisabled`
2808
+ # @return [Boolean]
2809
+ attr_accessor :hybrid_ingestion_disabled
2810
+ alias_method :hybrid_ingestion_disabled?, :hybrid_ingestion_disabled
2811
+
2812
+ # The refresh interval to sync the Access Control List information for the
2813
+ # documents ingested by this connector. If not set, the access control list will
2814
+ # be refreshed at the default interval of 30 minutes. The identity refresh
2815
+ # interval can be at least 30 minutes and at most 7 days.
2816
+ # Corresponds to the JSON property `identityRefreshInterval`
2817
+ # @return [String]
2818
+ attr_accessor :identity_refresh_interval
2819
+
2820
+ # The configuration for the identity data synchronization runs.
2821
+ # Corresponds to the JSON property `identityScheduleConfig`
2822
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1IdentityScheduleConfig]
2823
+ attr_accessor :identity_schedule_config
2824
+
2825
+ # Optional. The refresh interval specifically for incremental data syncs. If
2826
+ # unset, incremental syncs will use the default from env, set to 3hrs. The
2827
+ # minimum is 30 minutes and maximum is 7 days. Applicable to only 3P connectors.
2828
+ # When the refresh interval is set to the same value as the incremental refresh
2829
+ # interval, incremental sync will be disabled.
2830
+ # Corresponds to the JSON property `incrementalRefreshInterval`
2831
+ # @return [String]
2832
+ attr_accessor :incremental_refresh_interval
2833
+
2834
+ # Optional. Indicates whether incremental syncs are paused for this connector.
2835
+ # This is independent of auto_run_disabled. Applicable to only 3P connectors.
2836
+ # When the refresh interval is set to the same value as the incremental refresh
2837
+ # interval, incremental sync will be disabled, i.e. set to true.
2838
+ # Corresponds to the JSON property `incrementalSyncDisabled`
2839
+ # @return [Boolean]
2840
+ attr_accessor :incremental_sync_disabled
2841
+ alias_method :incremental_sync_disabled?, :incremental_sync_disabled
2842
+
2843
+ # Required data connector parameters in json string format.
2844
+ # Corresponds to the JSON property `jsonParams`
2845
+ # @return [String]
2846
+ attr_accessor :json_params
2847
+
2848
+ # Input only. The KMS key to be used to protect the DataStores managed by this
2849
+ # connector. Must be set for requests that need to comply with CMEK Org Policy
2850
+ # protections. If this field is set and processed successfully, the DataStores
2851
+ # created by this connector will be protected by the KMS key.
2852
+ # Corresponds to the JSON property `kmsKeyName`
2853
+ # @return [String]
2854
+ attr_accessor :kms_key_name
2855
+
2856
+ # Output only. For periodic connectors only, the last time a data sync was
2857
+ # completed.
2858
+ # Corresponds to the JSON property `lastSyncTime`
2859
+ # @return [String]
2860
+ attr_accessor :last_sync_time
2861
+
2862
+ # Output only. The most recent timestamp when this DataConnector was paused,
2863
+ # affecting all functionalities such as data synchronization. Pausing a
2864
+ # connector has the following effects: - All functionalities, including data
2865
+ # synchronization, are halted. - Any ongoing data synchronization job will be
2866
+ # canceled. - No future data synchronization runs will be scheduled nor can be
2867
+ # triggered.
2868
+ # Corresponds to the JSON property `latestPauseTime`
2869
+ # @return [String]
2870
+ attr_accessor :latest_pause_time
2871
+
2872
+ # Output only. The full resource name of the Data Connector. Format: `projects/*/
2873
+ # locations/*/collections/*/dataConnector`.
2874
+ # Corresponds to the JSON property `name`
2875
+ # @return [String]
2876
+ attr_accessor :name
2877
+
2878
+ # Represents civil time (or occasionally physical time). This type can represent
2879
+ # a civil time in one of a few possible ways: * When utc_offset is set and
2880
+ # time_zone is unset: a civil time on a calendar day with a particular offset
2881
+ # from UTC. * When time_zone is set and utc_offset is unset: a civil time on a
2882
+ # calendar day in a particular time zone. * When neither time_zone nor
2883
+ # utc_offset is set: a civil time on a calendar day in local time. The date is
2884
+ # relative to the Proleptic Gregorian Calendar. If year, month, or day are 0,
2885
+ # the DateTime is considered not to have a specific year, month, or day
2886
+ # respectively. This type may also be used to represent a physical time if all
2887
+ # the date and time fields are set and either case of the `time_offset` oneof is
2888
+ # set. Consider using `Timestamp` message for physical time instead. If your use
2889
+ # case also would like to store the user's timezone, that can be done in another
2890
+ # field. This type is more flexible than some applications may want. Make sure
2891
+ # to document and validate your application's limitations.
2892
+ # Corresponds to the JSON property `nextSyncTime`
2893
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleTypeDateTime]
2894
+ attr_accessor :next_sync_time
2895
+
2896
+ # Required data connector parameters in structured json format.
2897
+ # Corresponds to the JSON property `params`
2898
+ # @return [Hash<String,Object>]
2899
+ attr_accessor :params
2900
+
2901
+ # Output only. The tenant project ID associated with private connectivity
2902
+ # connectors. This project must be allowlisted by in order for the connector to
2903
+ # function.
2904
+ # Corresponds to the JSON property `privateConnectivityProjectId`
2905
+ # @return [String]
2906
+ attr_accessor :private_connectivity_project_id
2907
+
2908
+ # Output only. real-time sync state
2909
+ # Corresponds to the JSON property `realtimeState`
2910
+ # @return [String]
2911
+ attr_accessor :realtime_state
2912
+
2913
+ # The configuration for realtime sync to store additional params for realtime
2914
+ # sync.
2915
+ # Corresponds to the JSON property `realtimeSyncConfig`
2916
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1DataConnectorRealtimeSyncConfig]
2917
+ attr_accessor :realtime_sync_config
2918
+
2919
+ # Required. The refresh interval for data sync. If duration is set to 0, the
2920
+ # data will be synced in real time. The streaming feature is not supported yet.
2921
+ # The minimum is 30 minutes and maximum is 7 days. When the refresh interval is
2922
+ # set to the same value as the incremental refresh interval, incremental sync
2923
+ # will be disabled.
2924
+ # Corresponds to the JSON property `refreshInterval`
2925
+ # @return [String]
2926
+ attr_accessor :refresh_interval
2927
+
2928
+ # Optional. Specifies keys to be removed from the 'params' field. This is only
2929
+ # active when 'params' is included in the 'update_mask' in an
2930
+ # UpdateDataConnectorRequest. Deletion takes precedence if a key is both in '
2931
+ # remove_param_keys' and present in the 'params' field of the request.
2932
+ # Corresponds to the JSON property `removeParamKeys`
2933
+ # @return [Array<String>]
2934
+ attr_accessor :remove_param_keys
2935
+
2936
+ # Output only. State of the connector.
2937
+ # Corresponds to the JSON property `state`
2938
+ # @return [String]
2939
+ attr_accessor :state
2940
+
2941
+ # Output only. The static IP addresses used by this connector.
2942
+ # Corresponds to the JSON property `staticIpAddresses`
2943
+ # @return [Array<String>]
2944
+ attr_accessor :static_ip_addresses
2945
+
2946
+ # Optional. Whether customer has enabled static IP addresses for this connector.
2947
+ # Corresponds to the JSON property `staticIpEnabled`
2948
+ # @return [Boolean]
2949
+ attr_accessor :static_ip_enabled
2950
+ alias_method :static_ip_enabled?, :static_ip_enabled
2951
+
2952
+ # The data synchronization mode supported by the data connector.
2953
+ # Corresponds to the JSON property `syncMode`
2954
+ # @return [String]
2955
+ attr_accessor :sync_mode
2956
+
2957
+ # Output only. Timestamp the DataConnector was last updated.
2958
+ # Corresponds to the JSON property `updateTime`
2959
+ # @return [String]
2960
+ attr_accessor :update_time
2961
+
2962
+ def initialize(**args)
2963
+ update!(**args)
2964
+ end
2965
+
2966
+ # Update properties of this object
2967
+ def update!(**args)
2968
+ @acl_enabled = args[:acl_enabled] if args.key?(:acl_enabled)
2969
+ @action_config = args[:action_config] if args.key?(:action_config)
2970
+ @action_state = args[:action_state] if args.key?(:action_state)
2971
+ @alert_policy_configs = args[:alert_policy_configs] if args.key?(:alert_policy_configs)
2972
+ @auto_run_disabled = args[:auto_run_disabled] if args.key?(:auto_run_disabled)
2973
+ @bap_config = args[:bap_config] if args.key?(:bap_config)
2974
+ @blocking_reasons = args[:blocking_reasons] if args.key?(:blocking_reasons)
2975
+ @connector_modes = args[:connector_modes] if args.key?(:connector_modes)
2976
+ @connector_type = args[:connector_type] if args.key?(:connector_type)
2977
+ @create_eua_saas = args[:create_eua_saas] if args.key?(:create_eua_saas)
2978
+ @create_time = args[:create_time] if args.key?(:create_time)
2979
+ @data_source = args[:data_source] if args.key?(:data_source)
2980
+ @destination_configs = args[:destination_configs] if args.key?(:destination_configs)
2981
+ @end_user_config = args[:end_user_config] if args.key?(:end_user_config)
2982
+ @entities = args[:entities] if args.key?(:entities)
2983
+ @errors = args[:errors] if args.key?(:errors)
2984
+ @federated_config = args[:federated_config] if args.key?(:federated_config)
2985
+ @hybrid_ingestion_disabled = args[:hybrid_ingestion_disabled] if args.key?(:hybrid_ingestion_disabled)
2986
+ @identity_refresh_interval = args[:identity_refresh_interval] if args.key?(:identity_refresh_interval)
2987
+ @identity_schedule_config = args[:identity_schedule_config] if args.key?(:identity_schedule_config)
2988
+ @incremental_refresh_interval = args[:incremental_refresh_interval] if args.key?(:incremental_refresh_interval)
2989
+ @incremental_sync_disabled = args[:incremental_sync_disabled] if args.key?(:incremental_sync_disabled)
2990
+ @json_params = args[:json_params] if args.key?(:json_params)
2991
+ @kms_key_name = args[:kms_key_name] if args.key?(:kms_key_name)
2992
+ @last_sync_time = args[:last_sync_time] if args.key?(:last_sync_time)
2993
+ @latest_pause_time = args[:latest_pause_time] if args.key?(:latest_pause_time)
2994
+ @name = args[:name] if args.key?(:name)
2995
+ @next_sync_time = args[:next_sync_time] if args.key?(:next_sync_time)
2996
+ @params = args[:params] if args.key?(:params)
2997
+ @private_connectivity_project_id = args[:private_connectivity_project_id] if args.key?(:private_connectivity_project_id)
2998
+ @realtime_state = args[:realtime_state] if args.key?(:realtime_state)
2999
+ @realtime_sync_config = args[:realtime_sync_config] if args.key?(:realtime_sync_config)
3000
+ @refresh_interval = args[:refresh_interval] if args.key?(:refresh_interval)
3001
+ @remove_param_keys = args[:remove_param_keys] if args.key?(:remove_param_keys)
3002
+ @state = args[:state] if args.key?(:state)
3003
+ @static_ip_addresses = args[:static_ip_addresses] if args.key?(:static_ip_addresses)
3004
+ @static_ip_enabled = args[:static_ip_enabled] if args.key?(:static_ip_enabled)
3005
+ @sync_mode = args[:sync_mode] if args.key?(:sync_mode)
3006
+ @update_time = args[:update_time] if args.key?(:update_time)
3007
+ end
3008
+ end
3009
+
3010
+ # Any params and credentials used specifically for EUA connectors.
3011
+ class GoogleCloudDiscoveryengineV1DataConnectorEndUserConfig
3012
+ include Google::Apis::Core::Hashable
3013
+
3014
+ # Optional. Any additional parameters needed for EUA.
3015
+ # Corresponds to the JSON property `additionalParams`
3016
+ # @return [Hash<String,Object>]
3017
+ attr_accessor :additional_params
3018
+
3019
+ # Optional. Any authentication parameters specific to EUA connectors.
3020
+ # Corresponds to the JSON property `authParams`
3021
+ # @return [Hash<String,Object>]
3022
+ attr_accessor :auth_params
3023
+
3024
+ # Tenant information for a connector source. This includes some of the same
3025
+ # information stored in the Credential message, but is limited to only what is
3026
+ # needed to provide a list of accessible tenants to the user.
3027
+ # Corresponds to the JSON property `tenant`
3028
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1Tenant]
3029
+ attr_accessor :tenant
3030
+
3031
+ def initialize(**args)
3032
+ update!(**args)
3033
+ end
3034
+
3035
+ # Update properties of this object
3036
+ def update!(**args)
3037
+ @additional_params = args[:additional_params] if args.key?(:additional_params)
3038
+ @auth_params = args[:auth_params] if args.key?(:auth_params)
3039
+ @tenant = args[:tenant] if args.key?(:tenant)
3040
+ end
3041
+ end
3042
+
3043
+ # Any params and credentials used specifically for hybrid connectors supporting
3044
+ # FEDERATED mode.
3045
+ class GoogleCloudDiscoveryengineV1DataConnectorFederatedConfig
3046
+ include Google::Apis::Core::Hashable
3047
+
3048
+ # Optional. Any additional parameters needed for FEDERATED.
3049
+ # Corresponds to the JSON property `additionalParams`
3050
+ # @return [Hash<String,Object>]
3051
+ attr_accessor :additional_params
3052
+
3053
+ # Optional. Any authentication parameters specific to FEDERATED.
3054
+ # Corresponds to the JSON property `authParams`
3055
+ # @return [Hash<String,Object>]
3056
+ attr_accessor :auth_params
3057
+
3058
+ def initialize(**args)
3059
+ update!(**args)
3060
+ end
3061
+
3062
+ # Update properties of this object
3063
+ def update!(**args)
3064
+ @additional_params = args[:additional_params] if args.key?(:additional_params)
3065
+ @auth_params = args[:auth_params] if args.key?(:auth_params)
3066
+ end
3067
+ end
3068
+
3069
+ # The configuration for realtime sync to store additional params for realtime
3070
+ # sync.
3071
+ class GoogleCloudDiscoveryengineV1DataConnectorRealtimeSyncConfig
3072
+ include Google::Apis::Core::Hashable
3073
+
3074
+ # Optional. The ID of the Secret Manager secret used for webhook secret.
3075
+ # Corresponds to the JSON property `realtimeSyncSecret`
3076
+ # @return [String]
3077
+ attr_accessor :realtime_sync_secret
3078
+
3079
+ # Streaming error details.
3080
+ # Corresponds to the JSON property `streamingError`
3081
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1DataConnectorRealtimeSyncConfigStreamingError]
3082
+ attr_accessor :streaming_error
3083
+
3084
+ # Optional. Webhook url for the connector to specify additional params for
3085
+ # realtime sync.
3086
+ # Corresponds to the JSON property `webhookUri`
3087
+ # @return [String]
3088
+ attr_accessor :webhook_uri
3089
+
3090
+ def initialize(**args)
3091
+ update!(**args)
3092
+ end
3093
+
3094
+ # Update properties of this object
3095
+ def update!(**args)
3096
+ @realtime_sync_secret = args[:realtime_sync_secret] if args.key?(:realtime_sync_secret)
3097
+ @streaming_error = args[:streaming_error] if args.key?(:streaming_error)
3098
+ @webhook_uri = args[:webhook_uri] if args.key?(:webhook_uri)
3099
+ end
3100
+ end
3101
+
3102
+ # Streaming error details.
3103
+ class GoogleCloudDiscoveryengineV1DataConnectorRealtimeSyncConfigStreamingError
3104
+ include Google::Apis::Core::Hashable
3105
+
3106
+ # The `Status` type defines a logical error model that is suitable for different
3107
+ # programming environments, including REST APIs and RPC APIs. It is used by [
3108
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
3109
+ # data: error code, error message, and error details. You can find out more
3110
+ # about this error model and how to work with it in the [API Design Guide](https:
3111
+ # //cloud.google.com/apis/design/errors).
3112
+ # Corresponds to the JSON property `error`
3113
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleRpcStatus]
3114
+ attr_accessor :error
3115
+
3116
+ # Optional. Streaming error.
3117
+ # Corresponds to the JSON property `streamingErrorReason`
3118
+ # @return [String]
3119
+ attr_accessor :streaming_error_reason
3120
+
3121
+ def initialize(**args)
3122
+ update!(**args)
3123
+ end
3124
+
3125
+ # Update properties of this object
3126
+ def update!(**args)
3127
+ @error = args[:error] if args.key?(:error)
3128
+ @streaming_error_reason = args[:streaming_error_reason] if args.key?(:streaming_error_reason)
3129
+ end
3130
+ end
3131
+
3132
+ # Represents an entity in the data source. For example, the `Account` object in
3133
+ # Salesforce.
3134
+ class GoogleCloudDiscoveryengineV1DataConnectorSourceEntity
2474
3135
  include Google::Apis::Core::Hashable
2475
3136
 
2476
- # Operation create time.
2477
- # Corresponds to the JSON property `createTime`
3137
+ # Output only. The full resource name of the associated data store for the
3138
+ # source entity. Format: `projects/*/locations/*/collections/*/dataStores/*`.
3139
+ # When the connector is initialized by the DataConnectorService.
3140
+ # SetUpDataConnector method, a DataStore is automatically created for each
3141
+ # source entity.
3142
+ # Corresponds to the JSON property `dataStore`
2478
3143
  # @return [String]
2479
- attr_accessor :create_time
3144
+ attr_accessor :data_store
2480
3145
 
2481
- # Operation last update time. If the operation is done, this is also the finish
2482
- # time.
2483
- # Corresponds to the JSON property `updateTime`
3146
+ # The name of the entity. Supported values by data source: * Salesforce: `Lead`,
3147
+ # `Opportunity`, `Contact`, `Account`, `Case`, `Contract`, `Campaign` * Jira: `
3148
+ # Issue` * Confluence: `Content`, `Space`
3149
+ # Corresponds to the JSON property `entityName`
2484
3150
  # @return [String]
2485
- attr_accessor :update_time
3151
+ attr_accessor :entity_name
3152
+
3153
+ # Config to data store for `HEALTHCARE_FHIR` vertical.
3154
+ # Corresponds to the JSON property `healthcareFhirConfig`
3155
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1HealthcareFhirConfig]
3156
+ attr_accessor :healthcare_fhir_config
3157
+
3158
+ # The parameters for the entity to facilitate data ingestion in json string
3159
+ # format.
3160
+ # Corresponds to the JSON property `jsonParams`
3161
+ # @return [String]
3162
+ attr_accessor :json_params
3163
+
3164
+ # Attributes for indexing. Key: Field name. Value: The key property to map a
3165
+ # field to, such as `title`, and `description`. Supported key properties: * `
3166
+ # title`: The title for data record. This would be displayed on search results. *
3167
+ # `description`: The description for data record. This would be displayed on
3168
+ # search results.
3169
+ # Corresponds to the JSON property `keyPropertyMappings`
3170
+ # @return [Hash<String,String>]
3171
+ attr_accessor :key_property_mappings
3172
+
3173
+ # The parameters for the entity to facilitate data ingestion in structured json
3174
+ # format.
3175
+ # Corresponds to the JSON property `params`
3176
+ # @return [Hash<String,Object>]
3177
+ attr_accessor :params
3178
+
3179
+ # Defines the structure and layout of a type of document data.
3180
+ # Corresponds to the JSON property `startingSchema`
3181
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1Schema]
3182
+ attr_accessor :starting_schema
2486
3183
 
2487
3184
  def initialize(**args)
2488
3185
  update!(**args)
@@ -2490,8 +3187,13 @@ module Google
2490
3187
 
2491
3188
  # Update properties of this object
2492
3189
  def update!(**args)
2493
- @create_time = args[:create_time] if args.key?(:create_time)
2494
- @update_time = args[:update_time] if args.key?(:update_time)
3190
+ @data_store = args[:data_store] if args.key?(:data_store)
3191
+ @entity_name = args[:entity_name] if args.key?(:entity_name)
3192
+ @healthcare_fhir_config = args[:healthcare_fhir_config] if args.key?(:healthcare_fhir_config)
3193
+ @json_params = args[:json_params] if args.key?(:json_params)
3194
+ @key_property_mappings = args[:key_property_mappings] if args.key?(:key_property_mappings)
3195
+ @params = args[:params] if args.key?(:params)
3196
+ @starting_schema = args[:starting_schema] if args.key?(:starting_schema)
2495
3197
  end
2496
3198
  end
2497
3199
 
@@ -2744,6 +3446,34 @@ module Google
2744
3446
  end
2745
3447
  end
2746
3448
 
3449
+ # Metadata related to the progress of the CollectionService.UpdateCollection
3450
+ # operation. This will be returned by the google.longrunning.Operation.metadata
3451
+ # field.
3452
+ class GoogleCloudDiscoveryengineV1DeleteCollectionMetadata
3453
+ include Google::Apis::Core::Hashable
3454
+
3455
+ # Operation create time.
3456
+ # Corresponds to the JSON property `createTime`
3457
+ # @return [String]
3458
+ attr_accessor :create_time
3459
+
3460
+ # Operation last update time. If the operation is done, this is also the finish
3461
+ # time.
3462
+ # Corresponds to the JSON property `updateTime`
3463
+ # @return [String]
3464
+ attr_accessor :update_time
3465
+
3466
+ def initialize(**args)
3467
+ update!(**args)
3468
+ end
3469
+
3470
+ # Update properties of this object
3471
+ def update!(**args)
3472
+ @create_time = args[:create_time] if args.key?(:create_time)
3473
+ @update_time = args[:update_time] if args.key?(:update_time)
3474
+ end
3475
+ end
3476
+
2747
3477
  # Metadata related to the progress of the DataStoreService.DeleteDataStore
2748
3478
  # operation. This will be returned by the google.longrunning.Operation.metadata
2749
3479
  # field.
@@ -2909,6 +3639,69 @@ module Google
2909
3639
  end
2910
3640
  end
2911
3641
 
3642
+ # Defines target endpoints used to connect to third-party sources.
3643
+ class GoogleCloudDiscoveryengineV1DestinationConfig
3644
+ include Google::Apis::Core::Hashable
3645
+
3646
+ # Optional. The destinations for the corresponding key.
3647
+ # Corresponds to the JSON property `destinations`
3648
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1DestinationConfigDestination>]
3649
+ attr_accessor :destinations
3650
+
3651
+ # Additional parameters for this destination config in json string format.
3652
+ # Corresponds to the JSON property `jsonParams`
3653
+ # @return [String]
3654
+ attr_accessor :json_params
3655
+
3656
+ # Optional. Unique destination identifier that is supported by the connector.
3657
+ # Corresponds to the JSON property `key`
3658
+ # @return [String]
3659
+ attr_accessor :key
3660
+
3661
+ # Optional. Additional parameters for this destination config in structured json
3662
+ # format.
3663
+ # Corresponds to the JSON property `params`
3664
+ # @return [Hash<String,Object>]
3665
+ attr_accessor :params
3666
+
3667
+ def initialize(**args)
3668
+ update!(**args)
3669
+ end
3670
+
3671
+ # Update properties of this object
3672
+ def update!(**args)
3673
+ @destinations = args[:destinations] if args.key?(:destinations)
3674
+ @json_params = args[:json_params] if args.key?(:json_params)
3675
+ @key = args[:key] if args.key?(:key)
3676
+ @params = args[:params] if args.key?(:params)
3677
+ end
3678
+ end
3679
+
3680
+ # Defines a target endpoint
3681
+ class GoogleCloudDiscoveryengineV1DestinationConfigDestination
3682
+ include Google::Apis::Core::Hashable
3683
+
3684
+ # Publicly routable host.
3685
+ # Corresponds to the JSON property `host`
3686
+ # @return [String]
3687
+ attr_accessor :host
3688
+
3689
+ # Optional. Target port number accepted by the destination.
3690
+ # Corresponds to the JSON property `port`
3691
+ # @return [Fixnum]
3692
+ attr_accessor :port
3693
+
3694
+ def initialize(**args)
3695
+ update!(**args)
3696
+ end
3697
+
3698
+ # Update properties of this object
3699
+ def update!(**args)
3700
+ @host = args[:host] if args.key?(:host)
3701
+ @port = args[:port] if args.key?(:port)
3702
+ end
3703
+ end
3704
+
2912
3705
  # Metadata related to the progress of the SiteSearchEngineService.
2913
3706
  # DisableAdvancedSiteSearch operation. This will be returned by the google.
2914
3707
  # longrunning.Operation.metadata field.
@@ -3248,6 +4041,12 @@ module Google
3248
4041
  # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1EngineCommonConfig]
3249
4042
  attr_accessor :common_config
3250
4043
 
4044
+ # Optional. Configuration for configurable billing approach. See go/vais-
4045
+ # repricing-billing-dd for more details.
4046
+ # Corresponds to the JSON property `configurableBillingApproach`
4047
+ # @return [String]
4048
+ attr_accessor :configurable_billing_approach
4049
+
3251
4050
  # Output only. Timestamp the Recommendation Engine was created at.
3252
4051
  # Corresponds to the JSON property `createTime`
3253
4052
  # @return [String]
@@ -3280,7 +4079,8 @@ module Google
3280
4079
  # settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-
3281
4080
  # gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-
3282
4081
  # org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `
3283
- # personalization-memory` - Enables personalization based on user preferences.
4082
+ # personalization-memory` * `disable-image-generation` * `disable-video-
4083
+ # generation`
3284
4084
  # Corresponds to the JSON property `features`
3285
4085
  # @return [Hash<String,String>]
3286
4086
  attr_accessor :features
@@ -3331,6 +4131,7 @@ module Google
3331
4131
  @chat_engine_config = args[:chat_engine_config] if args.key?(:chat_engine_config)
3332
4132
  @chat_engine_metadata = args[:chat_engine_metadata] if args.key?(:chat_engine_metadata)
3333
4133
  @common_config = args[:common_config] if args.key?(:common_config)
4134
+ @configurable_billing_approach = args[:configurable_billing_approach] if args.key?(:configurable_billing_approach)
3334
4135
  @create_time = args[:create_time] if args.key?(:create_time)
3335
4136
  @data_store_ids = args[:data_store_ids] if args.key?(:data_store_ids)
3336
4137
  @disable_analytics = args[:disable_analytics] if args.key?(:disable_analytics)
@@ -3721,6 +4522,47 @@ module Google
3721
4522
  end
3722
4523
  end
3723
4524
 
4525
+ # The configuration for the identity data synchronization runs.
4526
+ class GoogleCloudDiscoveryengineV1IdentityScheduleConfig
4527
+ include Google::Apis::Core::Hashable
4528
+
4529
+ # Represents civil time (or occasionally physical time). This type can represent
4530
+ # a civil time in one of a few possible ways: * When utc_offset is set and
4531
+ # time_zone is unset: a civil time on a calendar day with a particular offset
4532
+ # from UTC. * When time_zone is set and utc_offset is unset: a civil time on a
4533
+ # calendar day in a particular time zone. * When neither time_zone nor
4534
+ # utc_offset is set: a civil time on a calendar day in local time. The date is
4535
+ # relative to the Proleptic Gregorian Calendar. If year, month, or day are 0,
4536
+ # the DateTime is considered not to have a specific year, month, or day
4537
+ # respectively. This type may also be used to represent a physical time if all
4538
+ # the date and time fields are set and either case of the `time_offset` oneof is
4539
+ # set. Consider using `Timestamp` message for physical time instead. If your use
4540
+ # case also would like to store the user's timezone, that can be done in another
4541
+ # field. This type is more flexible than some applications may want. Make sure
4542
+ # to document and validate your application's limitations.
4543
+ # Corresponds to the JSON property `nextSyncTime`
4544
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleTypeDateTime]
4545
+ attr_accessor :next_sync_time
4546
+
4547
+ # Optional. The refresh interval to sync the Access Control List information for
4548
+ # the documents ingested by this connector. If not set, the access control list
4549
+ # will be refreshed at the default interval of 30 minutes. The identity refresh
4550
+ # interval can be at least 30 minutes and at most 7 days.
4551
+ # Corresponds to the JSON property `refreshInterval`
4552
+ # @return [String]
4553
+ attr_accessor :refresh_interval
4554
+
4555
+ def initialize(**args)
4556
+ update!(**args)
4557
+ end
4558
+
4559
+ # Update properties of this object
4560
+ def update!(**args)
4561
+ @next_sync_time = args[:next_sync_time] if args.key?(:next_sync_time)
4562
+ @refresh_interval = args[:refresh_interval] if args.key?(:refresh_interval)
4563
+ end
4564
+ end
4565
+
3724
4566
  # Identity Provider Config.
3725
4567
  class GoogleCloudDiscoveryengineV1IdpConfig
3726
4568
  include Google::Apis::Core::Hashable
@@ -4089,6 +4931,11 @@ module Google
4089
4931
  # @return [String]
4090
4932
  attr_accessor :create_time
4091
4933
 
4934
+ # Customer provided configurations.
4935
+ # Corresponds to the JSON property `customerProvidedConfig`
4936
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfig]
4937
+ attr_accessor :customer_provided_config
4938
+
4092
4939
  # Output only. Full resource name of the project, for example `projects/`project`
4093
4940
  # `. Note that when making requests, project number and project id are both
4094
4941
  # acceptable, but the server will always respond in project number.
@@ -4114,12 +4961,84 @@ module Google
4114
4961
  # Update properties of this object
4115
4962
  def update!(**args)
4116
4963
  @create_time = args[:create_time] if args.key?(:create_time)
4964
+ @customer_provided_config = args[:customer_provided_config] if args.key?(:customer_provided_config)
4117
4965
  @name = args[:name] if args.key?(:name)
4118
4966
  @provision_completion_time = args[:provision_completion_time] if args.key?(:provision_completion_time)
4119
4967
  @service_terms_map = args[:service_terms_map] if args.key?(:service_terms_map)
4120
4968
  end
4121
4969
  end
4122
4970
 
4971
+ # Customer provided configurations.
4972
+ class GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfig
4973
+ include Google::Apis::Core::Hashable
4974
+
4975
+ # Configuration for NotebookLM.
4976
+ # Corresponds to the JSON property `notebooklmConfig`
4977
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfigNotebooklmConfig]
4978
+ attr_accessor :notebooklm_config
4979
+
4980
+ def initialize(**args)
4981
+ update!(**args)
4982
+ end
4983
+
4984
+ # Update properties of this object
4985
+ def update!(**args)
4986
+ @notebooklm_config = args[:notebooklm_config] if args.key?(:notebooklm_config)
4987
+ end
4988
+ end
4989
+
4990
+ # Configuration for NotebookLM.
4991
+ class GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfigNotebooklmConfig
4992
+ include Google::Apis::Core::Hashable
4993
+
4994
+ # Configuration for customer defined Model Armor templates to be used for
4995
+ # sanitizing user prompts and LLM responses.
4996
+ # Corresponds to the JSON property `modelArmorConfig`
4997
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfigNotebooklmConfigModelArmorConfig]
4998
+ attr_accessor :model_armor_config
4999
+
5000
+ def initialize(**args)
5001
+ update!(**args)
5002
+ end
5003
+
5004
+ # Update properties of this object
5005
+ def update!(**args)
5006
+ @model_armor_config = args[:model_armor_config] if args.key?(:model_armor_config)
5007
+ end
5008
+ end
5009
+
5010
+ # Configuration for customer defined Model Armor templates to be used for
5011
+ # sanitizing user prompts and LLM responses.
5012
+ class GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfigNotebooklmConfigModelArmorConfig
5013
+ include Google::Apis::Core::Hashable
5014
+
5015
+ # Optional. The resource name of the Model Armor Template for sanitizing LLM
5016
+ # responses. Format: projects/`project`/locations/`location`/templates/`
5017
+ # template_id` If not specified, no sanitization will be applied to the LLM
5018
+ # response.
5019
+ # Corresponds to the JSON property `responseTemplate`
5020
+ # @return [String]
5021
+ attr_accessor :response_template
5022
+
5023
+ # Optional. The resource name of the Model Armor Template for sanitizing user
5024
+ # prompts. Format: projects/`project`/locations/`location`/templates/`
5025
+ # template_id` If not specified, no sanitization will be applied to the user
5026
+ # prompt.
5027
+ # Corresponds to the JSON property `userPromptTemplate`
5028
+ # @return [String]
5029
+ attr_accessor :user_prompt_template
5030
+
5031
+ def initialize(**args)
5032
+ update!(**args)
5033
+ end
5034
+
5035
+ # Update properties of this object
5036
+ def update!(**args)
5037
+ @response_template = args[:response_template] if args.key?(:response_template)
5038
+ @user_prompt_template = args[:user_prompt_template] if args.key?(:user_prompt_template)
5039
+ end
5040
+ end
5041
+
4123
5042
  # Metadata about the terms of service.
4124
5043
  class GoogleCloudDiscoveryengineV1ProjectServiceTerms
4125
5044
  include Google::Apis::Core::Hashable
@@ -5060,6 +5979,19 @@ module Google
5060
5979
  end
5061
5980
  end
5062
5981
 
5982
+ # Metadata for DataConnectorService.SetUpDataConnector method.
5983
+ class GoogleCloudDiscoveryengineV1SetUpDataConnectorMetadata
5984
+ include Google::Apis::Core::Hashable
5985
+
5986
+ def initialize(**args)
5987
+ update!(**args)
5988
+ end
5989
+
5990
+ # Update properties of this object
5991
+ def update!(**args)
5992
+ end
5993
+ end
5994
+
5063
5995
  # Metadata for single-regional CMEKs.
5064
5996
  class GoogleCloudDiscoveryengineV1SingleRegionKey
5065
5997
  include Google::Apis::Core::Hashable
@@ -5242,15 +6174,49 @@ module Google
5242
6174
  end
5243
6175
  end
5244
6176
 
5245
- # Failed due to insufficient quota.
5246
- class GoogleCloudDiscoveryengineV1TargetSiteFailureReasonQuotaFailure
6177
+ # Failed due to insufficient quota.
6178
+ class GoogleCloudDiscoveryengineV1TargetSiteFailureReasonQuotaFailure
6179
+ include Google::Apis::Core::Hashable
6180
+
6181
+ # This number is an estimation on how much total quota this project needs to
6182
+ # successfully complete indexing.
6183
+ # Corresponds to the JSON property `totalRequiredQuota`
6184
+ # @return [Fixnum]
6185
+ attr_accessor :total_required_quota
6186
+
6187
+ def initialize(**args)
6188
+ update!(**args)
6189
+ end
6190
+
6191
+ # Update properties of this object
6192
+ def update!(**args)
6193
+ @total_required_quota = args[:total_required_quota] if args.key?(:total_required_quota)
6194
+ end
6195
+ end
6196
+
6197
+ # Tenant information for a connector source. This includes some of the same
6198
+ # information stored in the Credential message, but is limited to only what is
6199
+ # needed to provide a list of accessible tenants to the user.
6200
+ class GoogleCloudDiscoveryengineV1Tenant
5247
6201
  include Google::Apis::Core::Hashable
5248
6202
 
5249
- # This number is an estimation on how much total quota this project needs to
5250
- # successfully complete indexing.
5251
- # Corresponds to the JSON property `totalRequiredQuota`
5252
- # @return [Fixnum]
5253
- attr_accessor :total_required_quota
6203
+ # Optional display name for the tenant, e.g. "My Slack Team".
6204
+ # Corresponds to the JSON property `displayName`
6205
+ # @return [String]
6206
+ attr_accessor :display_name
6207
+
6208
+ # The tenant's instance ID. Examples: Jira ("8594f221-9797-5f78-1fa4-
6209
+ # 485e198d7cd0"), Slack ("T123456").
6210
+ # Corresponds to the JSON property `id`
6211
+ # @return [String]
6212
+ attr_accessor :id
6213
+
6214
+ # The URI of the tenant, if applicable. For example, the URI of a Jira instance
6215
+ # is https://my-jira-instance.atlassian.net, and a Slack tenant does not have a
6216
+ # URI.
6217
+ # Corresponds to the JSON property `uri`
6218
+ # @return [String]
6219
+ attr_accessor :uri
5254
6220
 
5255
6221
  def initialize(**args)
5256
6222
  update!(**args)
@@ -5258,7 +6224,9 @@ module Google
5258
6224
 
5259
6225
  # Update properties of this object
5260
6226
  def update!(**args)
5261
- @total_required_quota = args[:total_required_quota] if args.key?(:total_required_quota)
6227
+ @display_name = args[:display_name] if args.key?(:display_name)
6228
+ @id = args[:id] if args.key?(:id)
6229
+ @uri = args[:uri] if args.key?(:uri)
5262
6230
  end
5263
6231
  end
5264
6232
 
@@ -7632,6 +8600,11 @@ module Google
7632
8600
  attr_accessor :incremental_sync_disabled
7633
8601
  alias_method :incremental_sync_disabled?, :incremental_sync_disabled
7634
8602
 
8603
+ # Required data connector parameters in json string format.
8604
+ # Corresponds to the JSON property `jsonParams`
8605
+ # @return [String]
8606
+ attr_accessor :json_params
8607
+
7635
8608
  # Input only. The KMS key to be used to protect the DataStores managed by this
7636
8609
  # connector. Must be set for requests that need to comply with CMEK Org Policy
7637
8610
  # protections. If this field is set and processed successfully, the DataStores
@@ -7680,27 +8653,7 @@ module Google
7680
8653
  # @return [Google::Apis::DiscoveryengineV1beta::GoogleTypeDateTime]
7681
8654
  attr_accessor :next_sync_time
7682
8655
 
7683
- # Required. Params needed to access the source in the format of (Key, Value)
7684
- # pairs. Required parameters for all data sources: * Key: `instance_uri` * Value:
7685
- # type STRING. The uri to access the data source. Required parameters for
7686
- # sources that support OAUTH, i.e. `salesforce`: * Key: `client_id` * Value:
7687
- # type STRING. The client ID for the third party service provider to identify
7688
- # your application. * Key: `client_secret` * Value:type STRING. The client
7689
- # secret generated by the third party authorization server. * Key: `access_token`
7690
- # * Value: type STRING. OAuth token for UCS to access to the protected resource.
7691
- # * Key: `refresh_token` * Value: type STRING. OAuth refresh token for UCS to
7692
- # obtain a new access token without user interaction. Required parameters for
7693
- # sources that support basic API token auth, i.e. `jira`, `confluence`: * Key: `
7694
- # user_account` * Value: type STRING. The username or email with the source. *
7695
- # Key: `api_token` * Value: type STRING. The API token generated for the source
7696
- # account, that is used for authenticating anywhere where you would have used a
7697
- # password. Example: ```json ` "instance_uri": "https://xxx.atlassian.net", "
7698
- # user_account": "xxxx.xxx@xxx.com", "api_token": "test-token" ` ``` Optional
7699
- # parameter to specify the authorization type to use for multiple authorization
7700
- # types support: * Key: `auth_type` * Value: type STRING. The authorization type
7701
- # for the data source. Supported values: `BASIC_AUTH`, `OAUTH`, `
7702
- # OAUTH_ACCESS_TOKEN`, `OAUTH_TWO_LEGGED`, `OAUTH_JWT_BEARER`, `
7703
- # OAUTH_PASSWORD_GRANT`, `JWT`, `API_TOKEN`, `FEDERATED_CREDENTIAL`.
8656
+ # Required data connector parameters in structured json format.
7704
8657
  # Corresponds to the JSON property `params`
7705
8658
  # @return [Hash<String,Object>]
7706
8659
  attr_accessor :params
@@ -7794,6 +8747,7 @@ module Google
7794
8747
  @identity_schedule_config = args[:identity_schedule_config] if args.key?(:identity_schedule_config)
7795
8748
  @incremental_refresh_interval = args[:incremental_refresh_interval] if args.key?(:incremental_refresh_interval)
7796
8749
  @incremental_sync_disabled = args[:incremental_sync_disabled] if args.key?(:incremental_sync_disabled)
8750
+ @json_params = args[:json_params] if args.key?(:json_params)
7797
8751
  @kms_key_name = args[:kms_key_name] if args.key?(:kms_key_name)
7798
8752
  @last_sync_time = args[:last_sync_time] if args.key?(:last_sync_time)
7799
8753
  @latest_pause_time = args[:latest_pause_time] if args.key?(:latest_pause_time)
@@ -7961,6 +8915,12 @@ module Google
7961
8915
  # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaHealthcareFhirConfig]
7962
8916
  attr_accessor :healthcare_fhir_config
7963
8917
 
8918
+ # The parameters for the entity to facilitate data ingestion in json string
8919
+ # format.
8920
+ # Corresponds to the JSON property `jsonParams`
8921
+ # @return [String]
8922
+ attr_accessor :json_params
8923
+
7964
8924
  # Attributes for indexing. Key: Field name. Value: The key property to map a
7965
8925
  # field to, such as `title`, and `description`. Supported key properties: * `
7966
8926
  # title`: The title for data record. This would be displayed on search results. *
@@ -7970,9 +8930,8 @@ module Google
7970
8930
  # @return [Hash<String,String>]
7971
8931
  attr_accessor :key_property_mappings
7972
8932
 
7973
- # The parameters for the entity to facilitate data ingestion. E.g. for BigQuery
7974
- # connectors: * Key: `document_id_column` * Value: type STRING. The value of the
7975
- # column ID.
8933
+ # The parameters for the entity to facilitate data ingestion in structured json
8934
+ # format.
7976
8935
  # Corresponds to the JSON property `params`
7977
8936
  # @return [Hash<String,Object>]
7978
8937
  attr_accessor :params
@@ -7991,6 +8950,7 @@ module Google
7991
8950
  @data_store = args[:data_store] if args.key?(:data_store)
7992
8951
  @entity_name = args[:entity_name] if args.key?(:entity_name)
7993
8952
  @healthcare_fhir_config = args[:healthcare_fhir_config] if args.key?(:healthcare_fhir_config)
8953
+ @json_params = args[:json_params] if args.key?(:json_params)
7994
8954
  @key_property_mappings = args[:key_property_mappings] if args.key?(:key_property_mappings)
7995
8955
  @params = args[:params] if args.key?(:params)
7996
8956
  @starting_schema = args[:starting_schema] if args.key?(:starting_schema)
@@ -8526,12 +9486,18 @@ module Google
8526
9486
  # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaDestinationConfigDestination>]
8527
9487
  attr_accessor :destinations
8528
9488
 
9489
+ # Additional parameters for this destination config in json string format.
9490
+ # Corresponds to the JSON property `jsonParams`
9491
+ # @return [String]
9492
+ attr_accessor :json_params
9493
+
8529
9494
  # Optional. Unique destination identifier that is supported by the connector.
8530
9495
  # Corresponds to the JSON property `key`
8531
9496
  # @return [String]
8532
9497
  attr_accessor :key
8533
9498
 
8534
- # Optional. Additional parameters for this destination config.
9499
+ # Optional. Additional parameters for this destination config in structured json
9500
+ # format.
8535
9501
  # Corresponds to the JSON property `params`
8536
9502
  # @return [Hash<String,Object>]
8537
9503
  attr_accessor :params
@@ -8543,6 +9509,7 @@ module Google
8543
9509
  # Update properties of this object
8544
9510
  def update!(**args)
8545
9511
  @destinations = args[:destinations] if args.key?(:destinations)
9512
+ @json_params = args[:json_params] if args.key?(:json_params)
8546
9513
  @key = args[:key] if args.key?(:key)
8547
9514
  @params = args[:params] if args.key?(:params)
8548
9515
  end
@@ -8912,6 +9879,12 @@ module Google
8912
9879
  # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaEngineCommonConfig]
8913
9880
  attr_accessor :common_config
8914
9881
 
9882
+ # Optional. Configuration for configurable billing approach. See go/vais-
9883
+ # repricing-billing-dd for more details.
9884
+ # Corresponds to the JSON property `configurableBillingApproach`
9885
+ # @return [String]
9886
+ attr_accessor :configurable_billing_approach
9887
+
8915
9888
  # Output only. Timestamp the Recommendation Engine was created at.
8916
9889
  # Corresponds to the JSON property `createTime`
8917
9890
  # @return [String]
@@ -8944,7 +9917,8 @@ module Google
8944
9917
  # settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-
8945
9918
  # gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-
8946
9919
  # org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `
8947
- # personalization-memory` - Enables personalization based on user preferences.
9920
+ # personalization-memory` * `disable-image-generation` * `disable-video-
9921
+ # generation`
8948
9922
  # Corresponds to the JSON property `features`
8949
9923
  # @return [Hash<String,String>]
8950
9924
  attr_accessor :features
@@ -9005,6 +9979,7 @@ module Google
9005
9979
  @chat_engine_config = args[:chat_engine_config] if args.key?(:chat_engine_config)
9006
9980
  @chat_engine_metadata = args[:chat_engine_metadata] if args.key?(:chat_engine_metadata)
9007
9981
  @common_config = args[:common_config] if args.key?(:common_config)
9982
+ @configurable_billing_approach = args[:configurable_billing_approach] if args.key?(:configurable_billing_approach)
9008
9983
  @create_time = args[:create_time] if args.key?(:create_time)
9009
9984
  @data_store_ids = args[:data_store_ids] if args.key?(:data_store_ids)
9010
9985
  @disable_analytics = args[:disable_analytics] if args.key?(:disable_analytics)
@@ -10602,6 +11577,11 @@ module Google
10602
11577
  # @return [String]
10603
11578
  attr_accessor :create_time
10604
11579
 
11580
+ # Customer provided configurations.
11581
+ # Corresponds to the JSON property `customerProvidedConfig`
11582
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaProjectCustomerProvidedConfig]
11583
+ attr_accessor :customer_provided_config
11584
+
10605
11585
  # Output only. Full resource name of the project, for example `projects/`project`
10606
11586
  # `. Note that when making requests, project number and project id are both
10607
11587
  # acceptable, but the server will always respond in project number.
@@ -10627,12 +11607,84 @@ module Google
10627
11607
  # Update properties of this object
10628
11608
  def update!(**args)
10629
11609
  @create_time = args[:create_time] if args.key?(:create_time)
11610
+ @customer_provided_config = args[:customer_provided_config] if args.key?(:customer_provided_config)
10630
11611
  @name = args[:name] if args.key?(:name)
10631
11612
  @provision_completion_time = args[:provision_completion_time] if args.key?(:provision_completion_time)
10632
11613
  @service_terms_map = args[:service_terms_map] if args.key?(:service_terms_map)
10633
11614
  end
10634
11615
  end
10635
11616
 
11617
+ # Customer provided configurations.
11618
+ class GoogleCloudDiscoveryengineV1alphaProjectCustomerProvidedConfig
11619
+ include Google::Apis::Core::Hashable
11620
+
11621
+ # Configuration for NotebookLM.
11622
+ # Corresponds to the JSON property `notebooklmConfig`
11623
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaProjectCustomerProvidedConfigNotebooklmConfig]
11624
+ attr_accessor :notebooklm_config
11625
+
11626
+ def initialize(**args)
11627
+ update!(**args)
11628
+ end
11629
+
11630
+ # Update properties of this object
11631
+ def update!(**args)
11632
+ @notebooklm_config = args[:notebooklm_config] if args.key?(:notebooklm_config)
11633
+ end
11634
+ end
11635
+
11636
+ # Configuration for NotebookLM.
11637
+ class GoogleCloudDiscoveryengineV1alphaProjectCustomerProvidedConfigNotebooklmConfig
11638
+ include Google::Apis::Core::Hashable
11639
+
11640
+ # Configuration for customer defined Model Armor templates to be used for
11641
+ # sanitizing user prompts and LLM responses.
11642
+ # Corresponds to the JSON property `modelArmorConfig`
11643
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaProjectCustomerProvidedConfigNotebooklmConfigModelArmorConfig]
11644
+ attr_accessor :model_armor_config
11645
+
11646
+ def initialize(**args)
11647
+ update!(**args)
11648
+ end
11649
+
11650
+ # Update properties of this object
11651
+ def update!(**args)
11652
+ @model_armor_config = args[:model_armor_config] if args.key?(:model_armor_config)
11653
+ end
11654
+ end
11655
+
11656
+ # Configuration for customer defined Model Armor templates to be used for
11657
+ # sanitizing user prompts and LLM responses.
11658
+ class GoogleCloudDiscoveryengineV1alphaProjectCustomerProvidedConfigNotebooklmConfigModelArmorConfig
11659
+ include Google::Apis::Core::Hashable
11660
+
11661
+ # Optional. The resource name of the Model Armor Template for sanitizing LLM
11662
+ # responses. Format: projects/`project`/locations/`location`/templates/`
11663
+ # template_id` If not specified, no sanitization will be applied to the LLM
11664
+ # response.
11665
+ # Corresponds to the JSON property `responseTemplate`
11666
+ # @return [String]
11667
+ attr_accessor :response_template
11668
+
11669
+ # Optional. The resource name of the Model Armor Template for sanitizing user
11670
+ # prompts. Format: projects/`project`/locations/`location`/templates/`
11671
+ # template_id` If not specified, no sanitization will be applied to the user
11672
+ # prompt.
11673
+ # Corresponds to the JSON property `userPromptTemplate`
11674
+ # @return [String]
11675
+ attr_accessor :user_prompt_template
11676
+
11677
+ def initialize(**args)
11678
+ update!(**args)
11679
+ end
11680
+
11681
+ # Update properties of this object
11682
+ def update!(**args)
11683
+ @response_template = args[:response_template] if args.key?(:response_template)
11684
+ @user_prompt_template = args[:user_prompt_template] if args.key?(:user_prompt_template)
11685
+ end
11686
+ end
11687
+
10636
11688
  # Metadata about the terms of service.
10637
11689
  class GoogleCloudDiscoveryengineV1alphaProjectServiceTerms
10638
11690
  include Google::Apis::Core::Hashable
@@ -11514,7 +12566,8 @@ module Google
11514
12566
  # A 0-indexed integer that specifies the current offset (that is, starting
11515
12567
  # result location, amongst the Documents deemed by the API as relevant) in
11516
12568
  # search results. This field is only considered if page_token is unset. If this
11517
- # field is negative, an `INVALID_ARGUMENT` is returned.
12569
+ # field is negative, an `INVALID_ARGUMENT` is returned. A large offset may be
12570
+ # capped to a reasonable threshold.
11518
12571
  # Corresponds to the JSON property `offset`
11519
12572
  # @return [Fixnum]
11520
12573
  attr_accessor :offset
@@ -11667,6 +12720,14 @@ module Google
11667
12720
  attr_accessor :safe_search
11668
12721
  alias_method :safe_search?, :safe_search
11669
12722
 
12723
+ # SearchAddonSpec is used to disable add-ons for search as per new repricing
12724
+ # model. Refer go/vais-repricing-prd. By default if the SearchAddonSpec is not
12725
+ # specified, we consider that the customer wants to enable them wherever
12726
+ # applicable.
12727
+ # Corresponds to the JSON property `searchAddonSpec`
12728
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaSearchRequestSearchAddonSpec]
12729
+ attr_accessor :search_addon_spec
12730
+
11670
12731
  # Specification for search as you type in search requests.
11671
12732
  # Corresponds to the JSON property `searchAsYouTypeSpec`
11672
12733
  # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaSearchRequestSearchAsYouTypeSpec]
@@ -11786,6 +12847,7 @@ module Google
11786
12847
  @relevance_score_spec = args[:relevance_score_spec] if args.key?(:relevance_score_spec)
11787
12848
  @relevance_threshold = args[:relevance_threshold] if args.key?(:relevance_threshold)
11788
12849
  @safe_search = args[:safe_search] if args.key?(:safe_search)
12850
+ @search_addon_spec = args[:search_addon_spec] if args.key?(:search_addon_spec)
11789
12851
  @search_as_you_type_spec = args[:search_as_you_type_spec] if args.key?(:search_as_you_type_spec)
11790
12852
  @serving_config = args[:serving_config] if args.key?(:serving_config)
11791
12853
  @session = args[:session] if args.key?(:session)
@@ -12598,6 +13660,17 @@ module Google
12598
13660
  class GoogleCloudDiscoveryengineV1alphaSearchRequestNaturalLanguageQueryUnderstandingSpec
12599
13661
  include Google::Apis::Core::Hashable
12600
13662
 
13663
+ # Optional. Allowlist of fields that can be used for natural language filter
13664
+ # extraction. By default, if this is unspecified, all indexable fields are
13665
+ # eligible for natural language filter extraction (but are not guaranteed to be
13666
+ # used). If any fields are specified in allowed_field_names, only the fields
13667
+ # that are both marked as indexable in the schema and specified in the allowlist
13668
+ # will be eligible for natural language filter extraction. Note: for multi-
13669
+ # datastore search, this is not yet supported, and will be ignored.
13670
+ # Corresponds to the JSON property `allowedFieldNames`
13671
+ # @return [Array<String>]
13672
+ attr_accessor :allowed_field_names
13673
+
12601
13674
  # Optional. Controls behavior of how extracted filters are applied to the search.
12602
13675
  # The default behavior depends on the request. For single datastore structured
12603
13676
  # search, the default is `HARD_FILTER`. For multi-datastore search, the default
@@ -12630,6 +13703,7 @@ module Google
12630
13703
 
12631
13704
  # Update properties of this object
12632
13705
  def update!(**args)
13706
+ @allowed_field_names = args[:allowed_field_names] if args.key?(:allowed_field_names)
12633
13707
  @extracted_filter_behavior = args[:extracted_filter_behavior] if args.key?(:extracted_filter_behavior)
12634
13708
  @filter_extraction_condition = args[:filter_extraction_condition] if args.key?(:filter_extraction_condition)
12635
13709
  @geo_search_query_detection_field_names = args[:geo_search_query_detection_field_names] if args.key?(:geo_search_query_detection_field_names)
@@ -12705,6 +13779,46 @@ module Google
12705
13779
  end
12706
13780
  end
12707
13781
 
13782
+ # SearchAddonSpec is used to disable add-ons for search as per new repricing
13783
+ # model. Refer go/vais-repricing-prd. By default if the SearchAddonSpec is not
13784
+ # specified, we consider that the customer wants to enable them wherever
13785
+ # applicable.
13786
+ class GoogleCloudDiscoveryengineV1alphaSearchRequestSearchAddonSpec
13787
+ include Google::Apis::Core::Hashable
13788
+
13789
+ # Optional. If true, generative answer add-on is disabled. Generative answer add-
13790
+ # on includes natural language to filters and simple answers.
13791
+ # Corresponds to the JSON property `disableGenerativeAnswerAddOn`
13792
+ # @return [Boolean]
13793
+ attr_accessor :disable_generative_answer_add_on
13794
+ alias_method :disable_generative_answer_add_on?, :disable_generative_answer_add_on
13795
+
13796
+ # Optional. If true, disables event re-ranking and personalization to optimize
13797
+ # KPIs & personalize results.
13798
+ # Corresponds to the JSON property `disableKpiPersonalizationAddOn`
13799
+ # @return [Boolean]
13800
+ attr_accessor :disable_kpi_personalization_add_on
13801
+ alias_method :disable_kpi_personalization_add_on?, :disable_kpi_personalization_add_on
13802
+
13803
+ # Optional. If true, semantic add-on is disabled. Semantic add-on includes
13804
+ # embeddings and jetstream.
13805
+ # Corresponds to the JSON property `disableSemanticAddOn`
13806
+ # @return [Boolean]
13807
+ attr_accessor :disable_semantic_add_on
13808
+ alias_method :disable_semantic_add_on?, :disable_semantic_add_on
13809
+
13810
+ def initialize(**args)
13811
+ update!(**args)
13812
+ end
13813
+
13814
+ # Update properties of this object
13815
+ def update!(**args)
13816
+ @disable_generative_answer_add_on = args[:disable_generative_answer_add_on] if args.key?(:disable_generative_answer_add_on)
13817
+ @disable_kpi_personalization_add_on = args[:disable_kpi_personalization_add_on] if args.key?(:disable_kpi_personalization_add_on)
13818
+ @disable_semantic_add_on = args[:disable_semantic_add_on] if args.key?(:disable_semantic_add_on)
13819
+ end
13820
+ end
13821
+
12708
13822
  # Specification for search as you type in search requests.
12709
13823
  class GoogleCloudDiscoveryengineV1alphaSearchRequestSearchAsYouTypeSpec
12710
13824
  include Google::Apis::Core::Hashable
@@ -15925,6 +17039,12 @@ module Google
15925
17039
  # @return [Array<String>]
15926
17040
  attr_accessor :assist_skipped_reasons
15927
17041
 
17042
+ # Customer policy enforcement results. Contains the results of the various
17043
+ # policy checks, like the banned phrases or the Model Armor checks.
17044
+ # Corresponds to the JSON property `customerPolicyEnforcementResult`
17045
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaAssistAnswerCustomerPolicyEnforcementResult]
17046
+ attr_accessor :customer_policy_enforcement_result
17047
+
15928
17048
  # Immutable. Identifier. Resource name of the `AssistAnswer`. Format: `projects/`
15929
17049
  # project`/locations/`location`/collections/`collection`/engines/`engine`/
15930
17050
  # sessions/`session`/assistAnswers/`assist_answer`` This field must be a UTF-8
@@ -15950,12 +17070,116 @@ module Google
15950
17070
  # Update properties of this object
15951
17071
  def update!(**args)
15952
17072
  @assist_skipped_reasons = args[:assist_skipped_reasons] if args.key?(:assist_skipped_reasons)
17073
+ @customer_policy_enforcement_result = args[:customer_policy_enforcement_result] if args.key?(:customer_policy_enforcement_result)
15953
17074
  @name = args[:name] if args.key?(:name)
15954
17075
  @replies = args[:replies] if args.key?(:replies)
15955
17076
  @state = args[:state] if args.key?(:state)
15956
17077
  end
15957
17078
  end
15958
17079
 
17080
+ # Customer policy enforcement results. Contains the results of the various
17081
+ # policy checks, like the banned phrases or the Model Armor checks.
17082
+ class GoogleCloudDiscoveryengineV1betaAssistAnswerCustomerPolicyEnforcementResult
17083
+ include Google::Apis::Core::Hashable
17084
+
17085
+ # Customer policy enforcement results. Populated only if the assist call was
17086
+ # skipped due to a policy violation. It contains results from those filters that
17087
+ # blocked the processing of the query.
17088
+ # Corresponds to the JSON property `policyResults`
17089
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaAssistAnswerCustomerPolicyEnforcementResultPolicyEnforcementResult>]
17090
+ attr_accessor :policy_results
17091
+
17092
+ # Final verdict of the customer policy enforcement. If only one policy blocked
17093
+ # the processing, the verdict is BLOCK.
17094
+ # Corresponds to the JSON property `verdict`
17095
+ # @return [String]
17096
+ attr_accessor :verdict
17097
+
17098
+ def initialize(**args)
17099
+ update!(**args)
17100
+ end
17101
+
17102
+ # Update properties of this object
17103
+ def update!(**args)
17104
+ @policy_results = args[:policy_results] if args.key?(:policy_results)
17105
+ @verdict = args[:verdict] if args.key?(:verdict)
17106
+ end
17107
+ end
17108
+
17109
+ # Customer policy enforcement result for the banned phrase policy.
17110
+ class GoogleCloudDiscoveryengineV1betaAssistAnswerCustomerPolicyEnforcementResultBannedPhraseEnforcementResult
17111
+ include Google::Apis::Core::Hashable
17112
+
17113
+ # The banned phrases that were found in the query or the answer.
17114
+ # Corresponds to the JSON property `bannedPhrases`
17115
+ # @return [Array<String>]
17116
+ attr_accessor :banned_phrases
17117
+
17118
+ def initialize(**args)
17119
+ update!(**args)
17120
+ end
17121
+
17122
+ # Update properties of this object
17123
+ def update!(**args)
17124
+ @banned_phrases = args[:banned_phrases] if args.key?(:banned_phrases)
17125
+ end
17126
+ end
17127
+
17128
+ # Customer policy enforcement result for the Model Armor policy.
17129
+ class GoogleCloudDiscoveryengineV1betaAssistAnswerCustomerPolicyEnforcementResultModelArmorEnforcementResult
17130
+ include Google::Apis::Core::Hashable
17131
+
17132
+ # The `Status` type defines a logical error model that is suitable for different
17133
+ # programming environments, including REST APIs and RPC APIs. It is used by [
17134
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
17135
+ # data: error code, error message, and error details. You can find out more
17136
+ # about this error model and how to work with it in the [API Design Guide](https:
17137
+ # //cloud.google.com/apis/design/errors).
17138
+ # Corresponds to the JSON property `error`
17139
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleRpcStatus]
17140
+ attr_accessor :error
17141
+
17142
+ # The Model Armor violation that was found.
17143
+ # Corresponds to the JSON property `modelArmorViolation`
17144
+ # @return [String]
17145
+ attr_accessor :model_armor_violation
17146
+
17147
+ def initialize(**args)
17148
+ update!(**args)
17149
+ end
17150
+
17151
+ # Update properties of this object
17152
+ def update!(**args)
17153
+ @error = args[:error] if args.key?(:error)
17154
+ @model_armor_violation = args[:model_armor_violation] if args.key?(:model_armor_violation)
17155
+ end
17156
+ end
17157
+
17158
+ # Customer policy enforcement result for a single policy type.
17159
+ class GoogleCloudDiscoveryengineV1betaAssistAnswerCustomerPolicyEnforcementResultPolicyEnforcementResult
17160
+ include Google::Apis::Core::Hashable
17161
+
17162
+ # Customer policy enforcement result for the banned phrase policy.
17163
+ # Corresponds to the JSON property `bannedPhraseEnforcementResult`
17164
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaAssistAnswerCustomerPolicyEnforcementResultBannedPhraseEnforcementResult]
17165
+ attr_accessor :banned_phrase_enforcement_result
17166
+
17167
+ # Customer policy enforcement result for the Model Armor policy.
17168
+ # Corresponds to the JSON property `modelArmorEnforcementResult`
17169
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaAssistAnswerCustomerPolicyEnforcementResultModelArmorEnforcementResult]
17170
+ attr_accessor :model_armor_enforcement_result
17171
+
17172
+ def initialize(**args)
17173
+ update!(**args)
17174
+ end
17175
+
17176
+ # Update properties of this object
17177
+ def update!(**args)
17178
+ @banned_phrase_enforcement_result = args[:banned_phrase_enforcement_result] if args.key?(:banned_phrase_enforcement_result)
17179
+ @model_armor_enforcement_result = args[:model_armor_enforcement_result] if args.key?(:model_armor_enforcement_result)
17180
+ end
17181
+ end
17182
+
15959
17183
  # One part of the multi-part response of the assist call.
15960
17184
  class GoogleCloudDiscoveryengineV1betaAssistAnswerReply
15961
17185
  include Google::Apis::Core::Hashable
@@ -16218,6 +17442,12 @@ module Google
16218
17442
  # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaAssistantCustomerPolicyBannedPhrase>]
16219
17443
  attr_accessor :banned_phrases
16220
17444
 
17445
+ # Configuration for customer defined Model Armor templates to be used for
17446
+ # sanitizing user prompts and assistant responses.
17447
+ # Corresponds to the JSON property `modelArmorConfig`
17448
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaAssistantCustomerPolicyModelArmorConfig]
17449
+ attr_accessor :model_armor_config
17450
+
16221
17451
  def initialize(**args)
16222
17452
  update!(**args)
16223
17453
  end
@@ -16225,6 +17455,7 @@ module Google
16225
17455
  # Update properties of this object
16226
17456
  def update!(**args)
16227
17457
  @banned_phrases = args[:banned_phrases] if args.key?(:banned_phrases)
17458
+ @model_armor_config = args[:model_armor_config] if args.key?(:model_armor_config)
16228
17459
  end
16229
17460
  end
16230
17461
 
@@ -16263,6 +17494,44 @@ module Google
16263
17494
  end
16264
17495
  end
16265
17496
 
17497
+ # Configuration for customer defined Model Armor templates to be used for
17498
+ # sanitizing user prompts and assistant responses.
17499
+ class GoogleCloudDiscoveryengineV1betaAssistantCustomerPolicyModelArmorConfig
17500
+ include Google::Apis::Core::Hashable
17501
+
17502
+ # Optional. Defines the failure mode for Model Armor sanitization.
17503
+ # Corresponds to the JSON property `failureMode`
17504
+ # @return [String]
17505
+ attr_accessor :failure_mode
17506
+
17507
+ # Optional. The resource name of the Model Armor template for sanitizing
17508
+ # assistant responses. Format: `projects/`project`/locations/`location`/
17509
+ # templates/`template_id`` If not specified, no sanitization will be applied to
17510
+ # the assistant response.
17511
+ # Corresponds to the JSON property `responseTemplate`
17512
+ # @return [String]
17513
+ attr_accessor :response_template
17514
+
17515
+ # Optional. The resource name of the Model Armor template for sanitizing user
17516
+ # prompts. Format: `projects/`project`/locations/`location`/templates/`
17517
+ # template_id`` If not specified, no sanitization will be applied to the user
17518
+ # prompt.
17519
+ # Corresponds to the JSON property `userPromptTemplate`
17520
+ # @return [String]
17521
+ attr_accessor :user_prompt_template
17522
+
17523
+ def initialize(**args)
17524
+ update!(**args)
17525
+ end
17526
+
17527
+ # Update properties of this object
17528
+ def update!(**args)
17529
+ @failure_mode = args[:failure_mode] if args.key?(:failure_mode)
17530
+ @response_template = args[:response_template] if args.key?(:response_template)
17531
+ @user_prompt_template = args[:user_prompt_template] if args.key?(:user_prompt_template)
17532
+ end
17533
+ end
17534
+
16266
17535
  # Configuration for the generation of the assistant response.
16267
17536
  class GoogleCloudDiscoveryengineV1betaAssistantGenerationConfig
16268
17537
  include Google::Apis::Core::Hashable
@@ -16403,6 +17672,12 @@ module Google
16403
17672
  # @return [String]
16404
17673
  attr_accessor :domain
16405
17674
 
17675
+ # The mime type of the document. https://www.iana.org/assignments/media-types/
17676
+ # media-types.xhtml.
17677
+ # Corresponds to the JSON property `mimeType`
17678
+ # @return [String]
17679
+ attr_accessor :mime_type
17680
+
16406
17681
  # Page identifier.
16407
17682
  # Corresponds to the JSON property `pageIdentifier`
16408
17683
  # @return [String]
@@ -16427,6 +17702,7 @@ module Google
16427
17702
  def update!(**args)
16428
17703
  @document = args[:document] if args.key?(:document)
16429
17704
  @domain = args[:domain] if args.key?(:domain)
17705
+ @mime_type = args[:mime_type] if args.key?(:mime_type)
16430
17706
  @page_identifier = args[:page_identifier] if args.key?(:page_identifier)
16431
17707
  @title = args[:title] if args.key?(:title)
16432
17708
  @uri = args[:uri] if args.key?(:uri)
@@ -19822,6 +21098,12 @@ module Google
19822
21098
  # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaEngineCommonConfig]
19823
21099
  attr_accessor :common_config
19824
21100
 
21101
+ # Optional. Configuration for configurable billing approach. See go/vais-
21102
+ # repricing-billing-dd for more details.
21103
+ # Corresponds to the JSON property `configurableBillingApproach`
21104
+ # @return [String]
21105
+ attr_accessor :configurable_billing_approach
21106
+
19825
21107
  # Output only. Timestamp the Recommendation Engine was created at.
19826
21108
  # Corresponds to the JSON property `createTime`
19827
21109
  # @return [String]
@@ -19854,7 +21136,8 @@ module Google
19854
21136
  # settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-
19855
21137
  # gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-
19856
21138
  # org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `
19857
- # personalization-memory` - Enables personalization based on user preferences.
21139
+ # personalization-memory` * `disable-image-generation` * `disable-video-
21140
+ # generation`
19858
21141
  # Corresponds to the JSON property `features`
19859
21142
  # @return [Hash<String,String>]
19860
21143
  attr_accessor :features
@@ -19905,6 +21188,7 @@ module Google
19905
21188
  @chat_engine_config = args[:chat_engine_config] if args.key?(:chat_engine_config)
19906
21189
  @chat_engine_metadata = args[:chat_engine_metadata] if args.key?(:chat_engine_metadata)
19907
21190
  @common_config = args[:common_config] if args.key?(:common_config)
21191
+ @configurable_billing_approach = args[:configurable_billing_approach] if args.key?(:configurable_billing_approach)
19908
21192
  @create_time = args[:create_time] if args.key?(:create_time)
19909
21193
  @data_store_ids = args[:data_store_ids] if args.key?(:data_store_ids)
19910
21194
  @disable_analytics = args[:disable_analytics] if args.key?(:disable_analytics)
@@ -22476,6 +23760,11 @@ module Google
22476
23760
  # @return [String]
22477
23761
  attr_accessor :create_time
22478
23762
 
23763
+ # Customer provided configurations.
23764
+ # Corresponds to the JSON property `customerProvidedConfig`
23765
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaProjectCustomerProvidedConfig]
23766
+ attr_accessor :customer_provided_config
23767
+
22479
23768
  # Output only. Full resource name of the project, for example `projects/`project`
22480
23769
  # `. Note that when making requests, project number and project id are both
22481
23770
  # acceptable, but the server will always respond in project number.
@@ -22501,12 +23790,84 @@ module Google
22501
23790
  # Update properties of this object
22502
23791
  def update!(**args)
22503
23792
  @create_time = args[:create_time] if args.key?(:create_time)
23793
+ @customer_provided_config = args[:customer_provided_config] if args.key?(:customer_provided_config)
22504
23794
  @name = args[:name] if args.key?(:name)
22505
23795
  @provision_completion_time = args[:provision_completion_time] if args.key?(:provision_completion_time)
22506
23796
  @service_terms_map = args[:service_terms_map] if args.key?(:service_terms_map)
22507
23797
  end
22508
23798
  end
22509
23799
 
23800
+ # Customer provided configurations.
23801
+ class GoogleCloudDiscoveryengineV1betaProjectCustomerProvidedConfig
23802
+ include Google::Apis::Core::Hashable
23803
+
23804
+ # Configuration for NotebookLM.
23805
+ # Corresponds to the JSON property `notebooklmConfig`
23806
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaProjectCustomerProvidedConfigNotebooklmConfig]
23807
+ attr_accessor :notebooklm_config
23808
+
23809
+ def initialize(**args)
23810
+ update!(**args)
23811
+ end
23812
+
23813
+ # Update properties of this object
23814
+ def update!(**args)
23815
+ @notebooklm_config = args[:notebooklm_config] if args.key?(:notebooklm_config)
23816
+ end
23817
+ end
23818
+
23819
+ # Configuration for NotebookLM.
23820
+ class GoogleCloudDiscoveryengineV1betaProjectCustomerProvidedConfigNotebooklmConfig
23821
+ include Google::Apis::Core::Hashable
23822
+
23823
+ # Configuration for customer defined Model Armor templates to be used for
23824
+ # sanitizing user prompts and LLM responses.
23825
+ # Corresponds to the JSON property `modelArmorConfig`
23826
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaProjectCustomerProvidedConfigNotebooklmConfigModelArmorConfig]
23827
+ attr_accessor :model_armor_config
23828
+
23829
+ def initialize(**args)
23830
+ update!(**args)
23831
+ end
23832
+
23833
+ # Update properties of this object
23834
+ def update!(**args)
23835
+ @model_armor_config = args[:model_armor_config] if args.key?(:model_armor_config)
23836
+ end
23837
+ end
23838
+
23839
+ # Configuration for customer defined Model Armor templates to be used for
23840
+ # sanitizing user prompts and LLM responses.
23841
+ class GoogleCloudDiscoveryengineV1betaProjectCustomerProvidedConfigNotebooklmConfigModelArmorConfig
23842
+ include Google::Apis::Core::Hashable
23843
+
23844
+ # Optional. The resource name of the Model Armor Template for sanitizing LLM
23845
+ # responses. Format: projects/`project`/locations/`location`/templates/`
23846
+ # template_id` If not specified, no sanitization will be applied to the LLM
23847
+ # response.
23848
+ # Corresponds to the JSON property `responseTemplate`
23849
+ # @return [String]
23850
+ attr_accessor :response_template
23851
+
23852
+ # Optional. The resource name of the Model Armor Template for sanitizing user
23853
+ # prompts. Format: projects/`project`/locations/`location`/templates/`
23854
+ # template_id` If not specified, no sanitization will be applied to the user
23855
+ # prompt.
23856
+ # Corresponds to the JSON property `userPromptTemplate`
23857
+ # @return [String]
23858
+ attr_accessor :user_prompt_template
23859
+
23860
+ def initialize(**args)
23861
+ update!(**args)
23862
+ end
23863
+
23864
+ # Update properties of this object
23865
+ def update!(**args)
23866
+ @response_template = args[:response_template] if args.key?(:response_template)
23867
+ @user_prompt_template = args[:user_prompt_template] if args.key?(:user_prompt_template)
23868
+ end
23869
+ end
23870
+
22510
23871
  # Metadata about the terms of service.
22511
23872
  class GoogleCloudDiscoveryengineV1betaProjectServiceTerms
22512
23873
  include Google::Apis::Core::Hashable
@@ -22616,6 +23977,13 @@ module Google
22616
23977
  attr_accessor :accept_biz_qos
22617
23978
  alias_method :accept_biz_qos?, :accept_biz_qos
22618
23979
 
23980
+ # Optional. Indicates if the current request is for Biz edition (= true) or not (
23981
+ # = false).
23982
+ # Corresponds to the JSON property `isBiz`
23983
+ # @return [Boolean]
23984
+ attr_accessor :is_biz
23985
+ alias_method :is_biz?, :is_biz
23986
+
22619
23987
  def initialize(**args)
22620
23988
  update!(**args)
22621
23989
  end
@@ -22623,6 +23991,7 @@ module Google
22623
23991
  # Update properties of this object
22624
23992
  def update!(**args)
22625
23993
  @accept_biz_qos = args[:accept_biz_qos] if args.key?(:accept_biz_qos)
23994
+ @is_biz = args[:is_biz] if args.key?(:is_biz)
22626
23995
  end
22627
23996
  end
22628
23997
 
@@ -24042,7 +25411,8 @@ module Google
24042
25411
  # A 0-indexed integer that specifies the current offset (that is, starting
24043
25412
  # result location, amongst the Documents deemed by the API as relevant) in
24044
25413
  # search results. This field is only considered if page_token is unset. If this
24045
- # field is negative, an `INVALID_ARGUMENT` is returned.
25414
+ # field is negative, an `INVALID_ARGUMENT` is returned. A large offset may be
25415
+ # capped to a reasonable threshold.
24046
25416
  # Corresponds to the JSON property `offset`
24047
25417
  # @return [Fixnum]
24048
25418
  attr_accessor :offset
@@ -24195,6 +25565,14 @@ module Google
24195
25565
  attr_accessor :safe_search
24196
25566
  alias_method :safe_search?, :safe_search
24197
25567
 
25568
+ # SearchAddonSpec is used to disable add-ons for search as per new repricing
25569
+ # model. Refer go/vais-repricing-prd. By default if the SearchAddonSpec is not
25570
+ # specified, we consider that the customer wants to enable them wherever
25571
+ # applicable.
25572
+ # Corresponds to the JSON property `searchAddonSpec`
25573
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSearchRequestSearchAddonSpec]
25574
+ attr_accessor :search_addon_spec
25575
+
24198
25576
  # Specification for search as you type in search requests.
24199
25577
  # Corresponds to the JSON property `searchAsYouTypeSpec`
24200
25578
  # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSearchRequestSearchAsYouTypeSpec]
@@ -24304,6 +25682,7 @@ module Google
24304
25682
  @relevance_score_spec = args[:relevance_score_spec] if args.key?(:relevance_score_spec)
24305
25683
  @relevance_threshold = args[:relevance_threshold] if args.key?(:relevance_threshold)
24306
25684
  @safe_search = args[:safe_search] if args.key?(:safe_search)
25685
+ @search_addon_spec = args[:search_addon_spec] if args.key?(:search_addon_spec)
24307
25686
  @search_as_you_type_spec = args[:search_as_you_type_spec] if args.key?(:search_as_you_type_spec)
24308
25687
  @serving_config = args[:serving_config] if args.key?(:serving_config)
24309
25688
  @session = args[:session] if args.key?(:session)
@@ -25115,6 +26494,17 @@ module Google
25115
26494
  class GoogleCloudDiscoveryengineV1betaSearchRequestNaturalLanguageQueryUnderstandingSpec
25116
26495
  include Google::Apis::Core::Hashable
25117
26496
 
26497
+ # Optional. Allowlist of fields that can be used for natural language filter
26498
+ # extraction. By default, if this is unspecified, all indexable fields are
26499
+ # eligible for natural language filter extraction (but are not guaranteed to be
26500
+ # used). If any fields are specified in allowed_field_names, only the fields
26501
+ # that are both marked as indexable in the schema and specified in the allowlist
26502
+ # will be eligible for natural language filter extraction. Note: for multi-
26503
+ # datastore search, this is not yet supported, and will be ignored.
26504
+ # Corresponds to the JSON property `allowedFieldNames`
26505
+ # @return [Array<String>]
26506
+ attr_accessor :allowed_field_names
26507
+
25118
26508
  # Optional. Controls behavior of how extracted filters are applied to the search.
25119
26509
  # The default behavior depends on the request. For single datastore structured
25120
26510
  # search, the default is `HARD_FILTER`. For multi-datastore search, the default
@@ -25147,6 +26537,7 @@ module Google
25147
26537
 
25148
26538
  # Update properties of this object
25149
26539
  def update!(**args)
26540
+ @allowed_field_names = args[:allowed_field_names] if args.key?(:allowed_field_names)
25150
26541
  @extracted_filter_behavior = args[:extracted_filter_behavior] if args.key?(:extracted_filter_behavior)
25151
26542
  @filter_extraction_condition = args[:filter_extraction_condition] if args.key?(:filter_extraction_condition)
25152
26543
  @geo_search_query_detection_field_names = args[:geo_search_query_detection_field_names] if args.key?(:geo_search_query_detection_field_names)
@@ -25222,6 +26613,46 @@ module Google
25222
26613
  end
25223
26614
  end
25224
26615
 
26616
+ # SearchAddonSpec is used to disable add-ons for search as per new repricing
26617
+ # model. Refer go/vais-repricing-prd. By default if the SearchAddonSpec is not
26618
+ # specified, we consider that the customer wants to enable them wherever
26619
+ # applicable.
26620
+ class GoogleCloudDiscoveryengineV1betaSearchRequestSearchAddonSpec
26621
+ include Google::Apis::Core::Hashable
26622
+
26623
+ # Optional. If true, generative answer add-on is disabled. Generative answer add-
26624
+ # on includes natural language to filters and simple answers.
26625
+ # Corresponds to the JSON property `disableGenerativeAnswerAddOn`
26626
+ # @return [Boolean]
26627
+ attr_accessor :disable_generative_answer_add_on
26628
+ alias_method :disable_generative_answer_add_on?, :disable_generative_answer_add_on
26629
+
26630
+ # Optional. If true, disables event re-ranking and personalization to optimize
26631
+ # KPIs & personalize results.
26632
+ # Corresponds to the JSON property `disableKpiPersonalizationAddOn`
26633
+ # @return [Boolean]
26634
+ attr_accessor :disable_kpi_personalization_add_on
26635
+ alias_method :disable_kpi_personalization_add_on?, :disable_kpi_personalization_add_on
26636
+
26637
+ # Optional. If true, semantic add-on is disabled. Semantic add-on includes
26638
+ # embeddings and jetstream.
26639
+ # Corresponds to the JSON property `disableSemanticAddOn`
26640
+ # @return [Boolean]
26641
+ attr_accessor :disable_semantic_add_on
26642
+ alias_method :disable_semantic_add_on?, :disable_semantic_add_on
26643
+
26644
+ def initialize(**args)
26645
+ update!(**args)
26646
+ end
26647
+
26648
+ # Update properties of this object
26649
+ def update!(**args)
26650
+ @disable_generative_answer_add_on = args[:disable_generative_answer_add_on] if args.key?(:disable_generative_answer_add_on)
26651
+ @disable_kpi_personalization_add_on = args[:disable_kpi_personalization_add_on] if args.key?(:disable_kpi_personalization_add_on)
26652
+ @disable_semantic_add_on = args[:disable_semantic_add_on] if args.key?(:disable_semantic_add_on)
26653
+ end
26654
+ end
26655
+
25225
26656
  # Specification for search as you type in search requests.
25226
26657
  class GoogleCloudDiscoveryengineV1betaSearchRequestSearchAsYouTypeSpec
25227
26658
  include Google::Apis::Core::Hashable