google-apis-discoveryengine_v1beta 0.82.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
@@ -1812,6 +1911,25 @@ module Google
1812
1911
  end
1813
1912
  end
1814
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
+
1815
1933
  # Metadata related to the progress of the SiteSearchEngineService.
1816
1934
  # BatchCreateTargetSites operation. This will be returned by the google.
1817
1935
  # longrunning.Operation.metadata field.
@@ -1990,6 +2108,42 @@ module Google
1990
2108
  end
1991
2109
  end
1992
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
+
1993
2147
  # Defines circumstances to be checked before allowing a behavior
1994
2148
  class GoogleCloudDiscoveryengineV1Condition
1995
2149
  include Google::Apis::Core::Hashable
@@ -2512,22 +2666,520 @@ module Google
2512
2666
  end
2513
2667
  end
2514
2668
 
2515
- # Metadata related to the progress of the SiteSearchEngineService.
2516
- # CreateTargetSite operation. This will be returned by the google.longrunning.
2517
- # Operation.metadata field.
2518
- 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
2519
3135
  include Google::Apis::Core::Hashable
2520
3136
 
2521
- # Operation create time.
2522
- # 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`
2523
3143
  # @return [String]
2524
- attr_accessor :create_time
3144
+ attr_accessor :data_store
2525
3145
 
2526
- # Operation last update time. If the operation is done, this is also the finish
2527
- # time.
2528
- # 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`
2529
3150
  # @return [String]
2530
- 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
2531
3183
 
2532
3184
  def initialize(**args)
2533
3185
  update!(**args)
@@ -2535,8 +3187,13 @@ module Google
2535
3187
 
2536
3188
  # Update properties of this object
2537
3189
  def update!(**args)
2538
- @create_time = args[:create_time] if args.key?(:create_time)
2539
- @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)
2540
3197
  end
2541
3198
  end
2542
3199
 
@@ -2789,6 +3446,34 @@ module Google
2789
3446
  end
2790
3447
  end
2791
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
+
2792
3477
  # Metadata related to the progress of the DataStoreService.DeleteDataStore
2793
3478
  # operation. This will be returned by the google.longrunning.Operation.metadata
2794
3479
  # field.
@@ -2954,6 +3639,69 @@ module Google
2954
3639
  end
2955
3640
  end
2956
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
+
2957
3705
  # Metadata related to the progress of the SiteSearchEngineService.
2958
3706
  # DisableAdvancedSiteSearch operation. This will be returned by the google.
2959
3707
  # longrunning.Operation.metadata field.
@@ -3293,6 +4041,12 @@ module Google
3293
4041
  # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1EngineCommonConfig]
3294
4042
  attr_accessor :common_config
3295
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
+
3296
4050
  # Output only. Timestamp the Recommendation Engine was created at.
3297
4051
  # Corresponds to the JSON property `createTime`
3298
4052
  # @return [String]
@@ -3325,7 +4079,8 @@ module Google
3325
4079
  # settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-
3326
4080
  # gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-
3327
4081
  # org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `
3328
- # personalization-memory` - Enables personalization based on user preferences.
4082
+ # personalization-memory` * `disable-image-generation` * `disable-video-
4083
+ # generation`
3329
4084
  # Corresponds to the JSON property `features`
3330
4085
  # @return [Hash<String,String>]
3331
4086
  attr_accessor :features
@@ -3376,6 +4131,7 @@ module Google
3376
4131
  @chat_engine_config = args[:chat_engine_config] if args.key?(:chat_engine_config)
3377
4132
  @chat_engine_metadata = args[:chat_engine_metadata] if args.key?(:chat_engine_metadata)
3378
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)
3379
4135
  @create_time = args[:create_time] if args.key?(:create_time)
3380
4136
  @data_store_ids = args[:data_store_ids] if args.key?(:data_store_ids)
3381
4137
  @disable_analytics = args[:disable_analytics] if args.key?(:disable_analytics)
@@ -3766,6 +4522,47 @@ module Google
3766
4522
  end
3767
4523
  end
3768
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
+
3769
4566
  # Identity Provider Config.
3770
4567
  class GoogleCloudDiscoveryengineV1IdpConfig
3771
4568
  include Google::Apis::Core::Hashable
@@ -4106,11 +4903,99 @@ module Google
4106
4903
  # @return [Fixnum]
4107
4904
  attr_accessor :joined_events_count
4108
4905
 
4109
- # Count of user events imported, but with Document information not found in the
4110
- # existing Branch.
4111
- # Corresponds to the JSON property `unjoinedEventsCount`
4112
- # @return [Fixnum]
4113
- attr_accessor :unjoined_events_count
4906
+ # Count of user events imported, but with Document information not found in the
4907
+ # existing Branch.
4908
+ # Corresponds to the JSON property `unjoinedEventsCount`
4909
+ # @return [Fixnum]
4910
+ attr_accessor :unjoined_events_count
4911
+
4912
+ def initialize(**args)
4913
+ update!(**args)
4914
+ end
4915
+
4916
+ # Update properties of this object
4917
+ def update!(**args)
4918
+ @error_config = args[:error_config] if args.key?(:error_config)
4919
+ @error_samples = args[:error_samples] if args.key?(:error_samples)
4920
+ @joined_events_count = args[:joined_events_count] if args.key?(:joined_events_count)
4921
+ @unjoined_events_count = args[:unjoined_events_count] if args.key?(:unjoined_events_count)
4922
+ end
4923
+ end
4924
+
4925
+ # Metadata and configurations for a Google Cloud project in the service.
4926
+ class GoogleCloudDiscoveryengineV1Project
4927
+ include Google::Apis::Core::Hashable
4928
+
4929
+ # Output only. The timestamp when this project is created.
4930
+ # Corresponds to the JSON property `createTime`
4931
+ # @return [String]
4932
+ attr_accessor :create_time
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
+
4939
+ # Output only. Full resource name of the project, for example `projects/`project`
4940
+ # `. Note that when making requests, project number and project id are both
4941
+ # acceptable, but the server will always respond in project number.
4942
+ # Corresponds to the JSON property `name`
4943
+ # @return [String]
4944
+ attr_accessor :name
4945
+
4946
+ # Output only. The timestamp when this project is successfully provisioned.
4947
+ # Empty value means this project is still provisioning and is not ready for use.
4948
+ # Corresponds to the JSON property `provisionCompletionTime`
4949
+ # @return [String]
4950
+ attr_accessor :provision_completion_time
4951
+
4952
+ # Output only. A map of terms of services. The key is the `id` of ServiceTerms.
4953
+ # Corresponds to the JSON property `serviceTermsMap`
4954
+ # @return [Hash<String,Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1ProjectServiceTerms>]
4955
+ attr_accessor :service_terms_map
4956
+
4957
+ def initialize(**args)
4958
+ update!(**args)
4959
+ end
4960
+
4961
+ # Update properties of this object
4962
+ def update!(**args)
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)
4965
+ @name = args[:name] if args.key?(:name)
4966
+ @provision_completion_time = args[:provision_completion_time] if args.key?(:provision_completion_time)
4967
+ @service_terms_map = args[:service_terms_map] if args.key?(:service_terms_map)
4968
+ end
4969
+ end
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
4114
4999
 
4115
5000
  def initialize(**args)
4116
5001
  update!(**args)
@@ -4118,39 +5003,30 @@ module Google
4118
5003
 
4119
5004
  # Update properties of this object
4120
5005
  def update!(**args)
4121
- @error_config = args[:error_config] if args.key?(:error_config)
4122
- @error_samples = args[:error_samples] if args.key?(:error_samples)
4123
- @joined_events_count = args[:joined_events_count] if args.key?(:joined_events_count)
4124
- @unjoined_events_count = args[:unjoined_events_count] if args.key?(:unjoined_events_count)
5006
+ @model_armor_config = args[:model_armor_config] if args.key?(:model_armor_config)
4125
5007
  end
4126
5008
  end
4127
5009
 
4128
- # Metadata and configurations for a Google Cloud project in the service.
4129
- class GoogleCloudDiscoveryengineV1Project
5010
+ # Configuration for customer defined Model Armor templates to be used for
5011
+ # sanitizing user prompts and LLM responses.
5012
+ class GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfigNotebooklmConfigModelArmorConfig
4130
5013
  include Google::Apis::Core::Hashable
4131
5014
 
4132
- # Output only. The timestamp when this project is created.
4133
- # Corresponds to the JSON property `createTime`
4134
- # @return [String]
4135
- attr_accessor :create_time
4136
-
4137
- # Output only. Full resource name of the project, for example `projects/`project`
4138
- # `. Note that when making requests, project number and project id are both
4139
- # acceptable, but the server will always respond in project number.
4140
- # Corresponds to the JSON property `name`
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`
4141
5020
  # @return [String]
4142
- attr_accessor :name
5021
+ attr_accessor :response_template
4143
5022
 
4144
- # Output only. The timestamp when this project is successfully provisioned.
4145
- # Empty value means this project is still provisioning and is not ready for use.
4146
- # Corresponds to the JSON property `provisionCompletionTime`
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`
4147
5028
  # @return [String]
4148
- attr_accessor :provision_completion_time
4149
-
4150
- # Output only. A map of terms of services. The key is the `id` of ServiceTerms.
4151
- # Corresponds to the JSON property `serviceTermsMap`
4152
- # @return [Hash<String,Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1ProjectServiceTerms>]
4153
- attr_accessor :service_terms_map
5029
+ attr_accessor :user_prompt_template
4154
5030
 
4155
5031
  def initialize(**args)
4156
5032
  update!(**args)
@@ -4158,10 +5034,8 @@ module Google
4158
5034
 
4159
5035
  # Update properties of this object
4160
5036
  def update!(**args)
4161
- @create_time = args[:create_time] if args.key?(:create_time)
4162
- @name = args[:name] if args.key?(:name)
4163
- @provision_completion_time = args[:provision_completion_time] if args.key?(:provision_completion_time)
4164
- @service_terms_map = args[:service_terms_map] if args.key?(:service_terms_map)
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)
4165
5039
  end
4166
5040
  end
4167
5041
 
@@ -5105,6 +5979,19 @@ module Google
5105
5979
  end
5106
5980
  end
5107
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
+
5108
5995
  # Metadata for single-regional CMEKs.
5109
5996
  class GoogleCloudDiscoveryengineV1SingleRegionKey
5110
5997
  include Google::Apis::Core::Hashable
@@ -5307,6 +6194,42 @@ module Google
5307
6194
  end
5308
6195
  end
5309
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
6201
+ include Google::Apis::Core::Hashable
6202
+
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
6220
+
6221
+ def initialize(**args)
6222
+ update!(**args)
6223
+ end
6224
+
6225
+ # Update properties of this object
6226
+ def update!(**args)
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)
6230
+ end
6231
+ end
6232
+
5310
6233
  # Metadata related to the progress of the TrainCustomModel operation. This is
5311
6234
  # returned by the google.longrunning.Operation.metadata field.
5312
6235
  class GoogleCloudDiscoveryengineV1TrainCustomModelMetadata
@@ -7677,6 +8600,11 @@ module Google
7677
8600
  attr_accessor :incremental_sync_disabled
7678
8601
  alias_method :incremental_sync_disabled?, :incremental_sync_disabled
7679
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
+
7680
8608
  # Input only. The KMS key to be used to protect the DataStores managed by this
7681
8609
  # connector. Must be set for requests that need to comply with CMEK Org Policy
7682
8610
  # protections. If this field is set and processed successfully, the DataStores
@@ -7725,27 +8653,7 @@ module Google
7725
8653
  # @return [Google::Apis::DiscoveryengineV1beta::GoogleTypeDateTime]
7726
8654
  attr_accessor :next_sync_time
7727
8655
 
7728
- # Required. Params needed to access the source in the format of (Key, Value)
7729
- # pairs. Required parameters for all data sources: * Key: `instance_uri` * Value:
7730
- # type STRING. The uri to access the data source. Required parameters for
7731
- # sources that support OAUTH, i.e. `salesforce`: * Key: `client_id` * Value:
7732
- # type STRING. The client ID for the third party service provider to identify
7733
- # your application. * Key: `client_secret` * Value:type STRING. The client
7734
- # secret generated by the third party authorization server. * Key: `access_token`
7735
- # * Value: type STRING. OAuth token for UCS to access to the protected resource.
7736
- # * Key: `refresh_token` * Value: type STRING. OAuth refresh token for UCS to
7737
- # obtain a new access token without user interaction. Required parameters for
7738
- # sources that support basic API token auth, i.e. `jira`, `confluence`: * Key: `
7739
- # user_account` * Value: type STRING. The username or email with the source. *
7740
- # Key: `api_token` * Value: type STRING. The API token generated for the source
7741
- # account, that is used for authenticating anywhere where you would have used a
7742
- # password. Example: ```json ` "instance_uri": "https://xxx.atlassian.net", "
7743
- # user_account": "xxxx.xxx@xxx.com", "api_token": "test-token" ` ``` Optional
7744
- # parameter to specify the authorization type to use for multiple authorization
7745
- # types support: * Key: `auth_type` * Value: type STRING. The authorization type
7746
- # for the data source. Supported values: `BASIC_AUTH`, `OAUTH`, `
7747
- # OAUTH_ACCESS_TOKEN`, `OAUTH_TWO_LEGGED`, `OAUTH_JWT_BEARER`, `
7748
- # OAUTH_PASSWORD_GRANT`, `JWT`, `API_TOKEN`, `FEDERATED_CREDENTIAL`.
8656
+ # Required data connector parameters in structured json format.
7749
8657
  # Corresponds to the JSON property `params`
7750
8658
  # @return [Hash<String,Object>]
7751
8659
  attr_accessor :params
@@ -7839,6 +8747,7 @@ module Google
7839
8747
  @identity_schedule_config = args[:identity_schedule_config] if args.key?(:identity_schedule_config)
7840
8748
  @incremental_refresh_interval = args[:incremental_refresh_interval] if args.key?(:incremental_refresh_interval)
7841
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)
7842
8751
  @kms_key_name = args[:kms_key_name] if args.key?(:kms_key_name)
7843
8752
  @last_sync_time = args[:last_sync_time] if args.key?(:last_sync_time)
7844
8753
  @latest_pause_time = args[:latest_pause_time] if args.key?(:latest_pause_time)
@@ -8006,6 +8915,12 @@ module Google
8006
8915
  # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaHealthcareFhirConfig]
8007
8916
  attr_accessor :healthcare_fhir_config
8008
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
+
8009
8924
  # Attributes for indexing. Key: Field name. Value: The key property to map a
8010
8925
  # field to, such as `title`, and `description`. Supported key properties: * `
8011
8926
  # title`: The title for data record. This would be displayed on search results. *
@@ -8015,9 +8930,8 @@ module Google
8015
8930
  # @return [Hash<String,String>]
8016
8931
  attr_accessor :key_property_mappings
8017
8932
 
8018
- # The parameters for the entity to facilitate data ingestion. E.g. for BigQuery
8019
- # connectors: * Key: `document_id_column` * Value: type STRING. The value of the
8020
- # column ID.
8933
+ # The parameters for the entity to facilitate data ingestion in structured json
8934
+ # format.
8021
8935
  # Corresponds to the JSON property `params`
8022
8936
  # @return [Hash<String,Object>]
8023
8937
  attr_accessor :params
@@ -8036,6 +8950,7 @@ module Google
8036
8950
  @data_store = args[:data_store] if args.key?(:data_store)
8037
8951
  @entity_name = args[:entity_name] if args.key?(:entity_name)
8038
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)
8039
8954
  @key_property_mappings = args[:key_property_mappings] if args.key?(:key_property_mappings)
8040
8955
  @params = args[:params] if args.key?(:params)
8041
8956
  @starting_schema = args[:starting_schema] if args.key?(:starting_schema)
@@ -8571,12 +9486,18 @@ module Google
8571
9486
  # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaDestinationConfigDestination>]
8572
9487
  attr_accessor :destinations
8573
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
+
8574
9494
  # Optional. Unique destination identifier that is supported by the connector.
8575
9495
  # Corresponds to the JSON property `key`
8576
9496
  # @return [String]
8577
9497
  attr_accessor :key
8578
9498
 
8579
- # Optional. Additional parameters for this destination config.
9499
+ # Optional. Additional parameters for this destination config in structured json
9500
+ # format.
8580
9501
  # Corresponds to the JSON property `params`
8581
9502
  # @return [Hash<String,Object>]
8582
9503
  attr_accessor :params
@@ -8588,6 +9509,7 @@ module Google
8588
9509
  # Update properties of this object
8589
9510
  def update!(**args)
8590
9511
  @destinations = args[:destinations] if args.key?(:destinations)
9512
+ @json_params = args[:json_params] if args.key?(:json_params)
8591
9513
  @key = args[:key] if args.key?(:key)
8592
9514
  @params = args[:params] if args.key?(:params)
8593
9515
  end
@@ -8957,6 +9879,12 @@ module Google
8957
9879
  # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaEngineCommonConfig]
8958
9880
  attr_accessor :common_config
8959
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
+
8960
9888
  # Output only. Timestamp the Recommendation Engine was created at.
8961
9889
  # Corresponds to the JSON property `createTime`
8962
9890
  # @return [String]
@@ -8989,7 +9917,8 @@ module Google
8989
9917
  # settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-
8990
9918
  # gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-
8991
9919
  # org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `
8992
- # personalization-memory` - Enables personalization based on user preferences.
9920
+ # personalization-memory` * `disable-image-generation` * `disable-video-
9921
+ # generation`
8993
9922
  # Corresponds to the JSON property `features`
8994
9923
  # @return [Hash<String,String>]
8995
9924
  attr_accessor :features
@@ -9050,6 +9979,7 @@ module Google
9050
9979
  @chat_engine_config = args[:chat_engine_config] if args.key?(:chat_engine_config)
9051
9980
  @chat_engine_metadata = args[:chat_engine_metadata] if args.key?(:chat_engine_metadata)
9052
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)
9053
9983
  @create_time = args[:create_time] if args.key?(:create_time)
9054
9984
  @data_store_ids = args[:data_store_ids] if args.key?(:data_store_ids)
9055
9985
  @disable_analytics = args[:disable_analytics] if args.key?(:disable_analytics)
@@ -10647,6 +11577,11 @@ module Google
10647
11577
  # @return [String]
10648
11578
  attr_accessor :create_time
10649
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
+
10650
11585
  # Output only. Full resource name of the project, for example `projects/`project`
10651
11586
  # `. Note that when making requests, project number and project id are both
10652
11587
  # acceptable, but the server will always respond in project number.
@@ -10672,12 +11607,84 @@ module Google
10672
11607
  # Update properties of this object
10673
11608
  def update!(**args)
10674
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)
10675
11611
  @name = args[:name] if args.key?(:name)
10676
11612
  @provision_completion_time = args[:provision_completion_time] if args.key?(:provision_completion_time)
10677
11613
  @service_terms_map = args[:service_terms_map] if args.key?(:service_terms_map)
10678
11614
  end
10679
11615
  end
10680
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
+
10681
11688
  # Metadata about the terms of service.
10682
11689
  class GoogleCloudDiscoveryengineV1alphaProjectServiceTerms
10683
11690
  include Google::Apis::Core::Hashable
@@ -11559,7 +12566,8 @@ module Google
11559
12566
  # A 0-indexed integer that specifies the current offset (that is, starting
11560
12567
  # result location, amongst the Documents deemed by the API as relevant) in
11561
12568
  # search results. This field is only considered if page_token is unset. If this
11562
- # 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.
11563
12571
  # Corresponds to the JSON property `offset`
11564
12572
  # @return [Fixnum]
11565
12573
  attr_accessor :offset
@@ -11712,6 +12720,14 @@ module Google
11712
12720
  attr_accessor :safe_search
11713
12721
  alias_method :safe_search?, :safe_search
11714
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
+
11715
12731
  # Specification for search as you type in search requests.
11716
12732
  # Corresponds to the JSON property `searchAsYouTypeSpec`
11717
12733
  # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaSearchRequestSearchAsYouTypeSpec]
@@ -11831,6 +12847,7 @@ module Google
11831
12847
  @relevance_score_spec = args[:relevance_score_spec] if args.key?(:relevance_score_spec)
11832
12848
  @relevance_threshold = args[:relevance_threshold] if args.key?(:relevance_threshold)
11833
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)
11834
12851
  @search_as_you_type_spec = args[:search_as_you_type_spec] if args.key?(:search_as_you_type_spec)
11835
12852
  @serving_config = args[:serving_config] if args.key?(:serving_config)
11836
12853
  @session = args[:session] if args.key?(:session)
@@ -12643,6 +13660,17 @@ module Google
12643
13660
  class GoogleCloudDiscoveryengineV1alphaSearchRequestNaturalLanguageQueryUnderstandingSpec
12644
13661
  include Google::Apis::Core::Hashable
12645
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
+
12646
13674
  # Optional. Controls behavior of how extracted filters are applied to the search.
12647
13675
  # The default behavior depends on the request. For single datastore structured
12648
13676
  # search, the default is `HARD_FILTER`. For multi-datastore search, the default
@@ -12675,6 +13703,7 @@ module Google
12675
13703
 
12676
13704
  # Update properties of this object
12677
13705
  def update!(**args)
13706
+ @allowed_field_names = args[:allowed_field_names] if args.key?(:allowed_field_names)
12678
13707
  @extracted_filter_behavior = args[:extracted_filter_behavior] if args.key?(:extracted_filter_behavior)
12679
13708
  @filter_extraction_condition = args[:filter_extraction_condition] if args.key?(:filter_extraction_condition)
12680
13709
  @geo_search_query_detection_field_names = args[:geo_search_query_detection_field_names] if args.key?(:geo_search_query_detection_field_names)
@@ -12750,6 +13779,46 @@ module Google
12750
13779
  end
12751
13780
  end
12752
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
+
12753
13822
  # Specification for search as you type in search requests.
12754
13823
  class GoogleCloudDiscoveryengineV1alphaSearchRequestSearchAsYouTypeSpec
12755
13824
  include Google::Apis::Core::Hashable
@@ -16603,6 +17672,12 @@ module Google
16603
17672
  # @return [String]
16604
17673
  attr_accessor :domain
16605
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
+
16606
17681
  # Page identifier.
16607
17682
  # Corresponds to the JSON property `pageIdentifier`
16608
17683
  # @return [String]
@@ -16627,6 +17702,7 @@ module Google
16627
17702
  def update!(**args)
16628
17703
  @document = args[:document] if args.key?(:document)
16629
17704
  @domain = args[:domain] if args.key?(:domain)
17705
+ @mime_type = args[:mime_type] if args.key?(:mime_type)
16630
17706
  @page_identifier = args[:page_identifier] if args.key?(:page_identifier)
16631
17707
  @title = args[:title] if args.key?(:title)
16632
17708
  @uri = args[:uri] if args.key?(:uri)
@@ -20022,6 +21098,12 @@ module Google
20022
21098
  # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaEngineCommonConfig]
20023
21099
  attr_accessor :common_config
20024
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
+
20025
21107
  # Output only. Timestamp the Recommendation Engine was created at.
20026
21108
  # Corresponds to the JSON property `createTime`
20027
21109
  # @return [String]
@@ -20054,7 +21136,8 @@ module Google
20054
21136
  # settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-
20055
21137
  # gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-
20056
21138
  # org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `
20057
- # personalization-memory` - Enables personalization based on user preferences.
21139
+ # personalization-memory` * `disable-image-generation` * `disable-video-
21140
+ # generation`
20058
21141
  # Corresponds to the JSON property `features`
20059
21142
  # @return [Hash<String,String>]
20060
21143
  attr_accessor :features
@@ -20105,6 +21188,7 @@ module Google
20105
21188
  @chat_engine_config = args[:chat_engine_config] if args.key?(:chat_engine_config)
20106
21189
  @chat_engine_metadata = args[:chat_engine_metadata] if args.key?(:chat_engine_metadata)
20107
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)
20108
21192
  @create_time = args[:create_time] if args.key?(:create_time)
20109
21193
  @data_store_ids = args[:data_store_ids] if args.key?(:data_store_ids)
20110
21194
  @disable_analytics = args[:disable_analytics] if args.key?(:disable_analytics)
@@ -22676,6 +23760,11 @@ module Google
22676
23760
  # @return [String]
22677
23761
  attr_accessor :create_time
22678
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
+
22679
23768
  # Output only. Full resource name of the project, for example `projects/`project`
22680
23769
  # `. Note that when making requests, project number and project id are both
22681
23770
  # acceptable, but the server will always respond in project number.
@@ -22701,12 +23790,84 @@ module Google
22701
23790
  # Update properties of this object
22702
23791
  def update!(**args)
22703
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)
22704
23794
  @name = args[:name] if args.key?(:name)
22705
23795
  @provision_completion_time = args[:provision_completion_time] if args.key?(:provision_completion_time)
22706
23796
  @service_terms_map = args[:service_terms_map] if args.key?(:service_terms_map)
22707
23797
  end
22708
23798
  end
22709
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
+
22710
23871
  # Metadata about the terms of service.
22711
23872
  class GoogleCloudDiscoveryengineV1betaProjectServiceTerms
22712
23873
  include Google::Apis::Core::Hashable
@@ -22816,6 +23977,13 @@ module Google
22816
23977
  attr_accessor :accept_biz_qos
22817
23978
  alias_method :accept_biz_qos?, :accept_biz_qos
22818
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
+
22819
23987
  def initialize(**args)
22820
23988
  update!(**args)
22821
23989
  end
@@ -22823,6 +23991,7 @@ module Google
22823
23991
  # Update properties of this object
22824
23992
  def update!(**args)
22825
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)
22826
23995
  end
22827
23996
  end
22828
23997
 
@@ -24242,7 +25411,8 @@ module Google
24242
25411
  # A 0-indexed integer that specifies the current offset (that is, starting
24243
25412
  # result location, amongst the Documents deemed by the API as relevant) in
24244
25413
  # search results. This field is only considered if page_token is unset. If this
24245
- # 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.
24246
25416
  # Corresponds to the JSON property `offset`
24247
25417
  # @return [Fixnum]
24248
25418
  attr_accessor :offset
@@ -24395,6 +25565,14 @@ module Google
24395
25565
  attr_accessor :safe_search
24396
25566
  alias_method :safe_search?, :safe_search
24397
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
+
24398
25576
  # Specification for search as you type in search requests.
24399
25577
  # Corresponds to the JSON property `searchAsYouTypeSpec`
24400
25578
  # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSearchRequestSearchAsYouTypeSpec]
@@ -24504,6 +25682,7 @@ module Google
24504
25682
  @relevance_score_spec = args[:relevance_score_spec] if args.key?(:relevance_score_spec)
24505
25683
  @relevance_threshold = args[:relevance_threshold] if args.key?(:relevance_threshold)
24506
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)
24507
25686
  @search_as_you_type_spec = args[:search_as_you_type_spec] if args.key?(:search_as_you_type_spec)
24508
25687
  @serving_config = args[:serving_config] if args.key?(:serving_config)
24509
25688
  @session = args[:session] if args.key?(:session)
@@ -25315,6 +26494,17 @@ module Google
25315
26494
  class GoogleCloudDiscoveryengineV1betaSearchRequestNaturalLanguageQueryUnderstandingSpec
25316
26495
  include Google::Apis::Core::Hashable
25317
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
+
25318
26508
  # Optional. Controls behavior of how extracted filters are applied to the search.
25319
26509
  # The default behavior depends on the request. For single datastore structured
25320
26510
  # search, the default is `HARD_FILTER`. For multi-datastore search, the default
@@ -25347,6 +26537,7 @@ module Google
25347
26537
 
25348
26538
  # Update properties of this object
25349
26539
  def update!(**args)
26540
+ @allowed_field_names = args[:allowed_field_names] if args.key?(:allowed_field_names)
25350
26541
  @extracted_filter_behavior = args[:extracted_filter_behavior] if args.key?(:extracted_filter_behavior)
25351
26542
  @filter_extraction_condition = args[:filter_extraction_condition] if args.key?(:filter_extraction_condition)
25352
26543
  @geo_search_query_detection_field_names = args[:geo_search_query_detection_field_names] if args.key?(:geo_search_query_detection_field_names)
@@ -25422,6 +26613,46 @@ module Google
25422
26613
  end
25423
26614
  end
25424
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
+
25425
26656
  # Specification for search as you type in search requests.
25426
26657
  class GoogleCloudDiscoveryengineV1betaSearchRequestSearchAsYouTypeSpec
25427
26658
  include Google::Apis::Core::Hashable