google-apis-discoveryengine_v1alpha 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.
@@ -4148,6 +4148,12 @@ module Google
4148
4148
  attr_accessor :enable_image_annotation
4149
4149
  alias_method :enable_image_annotation?, :enable_image_annotation
4150
4150
 
4151
+ # Optional. If true, the pdf layout will be refined using an LLM.
4152
+ # Corresponds to the JSON property `enableLlmLayoutParsing`
4153
+ # @return [Boolean]
4154
+ attr_accessor :enable_llm_layout_parsing
4155
+ alias_method :enable_llm_layout_parsing?, :enable_llm_layout_parsing
4156
+
4151
4157
  # Optional. If true, the LLM based annotation is added to the table during
4152
4158
  # parsing.
4153
4159
  # Corresponds to the JSON property `enableTableAnnotation`
@@ -4184,6 +4190,7 @@ module Google
4184
4190
  def update!(**args)
4185
4191
  @enable_get_processed_document = args[:enable_get_processed_document] if args.key?(:enable_get_processed_document)
4186
4192
  @enable_image_annotation = args[:enable_image_annotation] if args.key?(:enable_image_annotation)
4193
+ @enable_llm_layout_parsing = args[:enable_llm_layout_parsing] if args.key?(:enable_llm_layout_parsing)
4187
4194
  @enable_table_annotation = args[:enable_table_annotation] if args.key?(:enable_table_annotation)
4188
4195
  @exclude_html_classes = args[:exclude_html_classes] if args.key?(:exclude_html_classes)
4189
4196
  @exclude_html_elements = args[:exclude_html_elements] if args.key?(:exclude_html_elements)
@@ -4283,6 +4290,11 @@ module Google
4283
4290
  # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1EngineChatEngineMetadata]
4284
4291
  attr_accessor :chat_engine_metadata
4285
4292
 
4293
+ # Configurations used to enable CMEK data encryption with Cloud KMS keys.
4294
+ # Corresponds to the JSON property `cmekConfig`
4295
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1CmekConfig]
4296
+ attr_accessor :cmek_config
4297
+
4286
4298
  # Common configurations for an Engine.
4287
4299
  # Corresponds to the JSON property `commonConfig`
4288
4300
  # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1EngineCommonConfig]
@@ -4344,6 +4356,17 @@ module Google
4344
4356
  # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1EngineMediaRecommendationEngineConfig]
4345
4357
  attr_accessor :media_recommendation_engine_config
4346
4358
 
4359
+ # Optional. Maps a model name to its specific configuration for this engine.
4360
+ # This allows admin users to turn on/off individual models. This only stores
4361
+ # models whose states are overridden by the admin. When the state is unspecified,
4362
+ # or model_configs is empty for this model, the system will decide if this
4363
+ # model should be available or not based on the default configuration. For
4364
+ # example, a preview model should be disabled by default if the admin has not
4365
+ # chosen to enable it.
4366
+ # Corresponds to the JSON property `modelConfigs`
4367
+ # @return [Hash<String,String>]
4368
+ attr_accessor :model_configs
4369
+
4347
4370
  # Immutable. Identifier. The fully qualified resource name of the engine. This
4348
4371
  # field must be a UTF-8 encoded string with a length limit of 1024 characters.
4349
4372
  # Format: `projects/`project`/locations/`location`/collections/`collection`/
@@ -4377,6 +4400,7 @@ module Google
4377
4400
  @app_type = args[:app_type] if args.key?(:app_type)
4378
4401
  @chat_engine_config = args[:chat_engine_config] if args.key?(:chat_engine_config)
4379
4402
  @chat_engine_metadata = args[:chat_engine_metadata] if args.key?(:chat_engine_metadata)
4403
+ @cmek_config = args[:cmek_config] if args.key?(:cmek_config)
4380
4404
  @common_config = args[:common_config] if args.key?(:common_config)
4381
4405
  @configurable_billing_approach = args[:configurable_billing_approach] if args.key?(:configurable_billing_approach)
4382
4406
  @create_time = args[:create_time] if args.key?(:create_time)
@@ -4386,6 +4410,7 @@ module Google
4386
4410
  @features = args[:features] if args.key?(:features)
4387
4411
  @industry_vertical = args[:industry_vertical] if args.key?(:industry_vertical)
4388
4412
  @media_recommendation_engine_config = args[:media_recommendation_engine_config] if args.key?(:media_recommendation_engine_config)
4413
+ @model_configs = args[:model_configs] if args.key?(:model_configs)
4389
4414
  @name = args[:name] if args.key?(:name)
4390
4415
  @search_engine_config = args[:search_engine_config] if args.key?(:search_engine_config)
4391
4416
  @solution_type = args[:solution_type] if args.key?(:solution_type)
@@ -7637,6 +7662,11 @@ module Google
7637
7662
  # @return [String]
7638
7663
  attr_accessor :rejection_reason
7639
7664
 
7665
+ # Sharing related configuration.
7666
+ # Corresponds to the JSON property `sharingConfig`
7667
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaAgentSharingConfig]
7668
+ attr_accessor :sharing_config
7669
+
7640
7670
  # Optional. The starter prompt suggestions to show the user on the landing page
7641
7671
  # of the agent.
7642
7672
  # Corresponds to the JSON property `starterPrompts`
@@ -7678,6 +7708,7 @@ module Google
7678
7708
  @language_code = args[:language_code] if args.key?(:language_code)
7679
7709
  @name = args[:name] if args.key?(:name)
7680
7710
  @rejection_reason = args[:rejection_reason] if args.key?(:rejection_reason)
7711
+ @sharing_config = args[:sharing_config] if args.key?(:sharing_config)
7681
7712
  @starter_prompts = args[:starter_prompts] if args.key?(:starter_prompts)
7682
7713
  @state = args[:state] if args.key?(:state)
7683
7714
  @suspension_reason = args[:suspension_reason] if args.key?(:suspension_reason)
@@ -7743,6 +7774,25 @@ module Google
7743
7774
  end
7744
7775
  end
7745
7776
 
7777
+ # Sharing related configuration.
7778
+ class GoogleCloudDiscoveryengineV1alphaAgentSharingConfig
7779
+ include Google::Apis::Core::Hashable
7780
+
7781
+ # Optional. The sharing scope of the agent.
7782
+ # Corresponds to the JSON property `scope`
7783
+ # @return [String]
7784
+ attr_accessor :scope
7785
+
7786
+ def initialize(**args)
7787
+ update!(**args)
7788
+ end
7789
+
7790
+ # Update properties of this object
7791
+ def update!(**args)
7792
+ @scope = args[:scope] if args.key?(:scope)
7793
+ end
7794
+ end
7795
+
7746
7796
  # The starter prompt suggestion to show the user on the landing page of the
7747
7797
  # agent.
7748
7798
  class GoogleCloudDiscoveryengineV1alphaAgentStarterPrompt
@@ -7763,6 +7813,204 @@ module Google
7763
7813
  end
7764
7814
  end
7765
7815
 
7816
+ # The data for displaying an Agent.
7817
+ class GoogleCloudDiscoveryengineV1alphaAgentView
7818
+ include Google::Apis::Core::Hashable
7819
+
7820
+ # Immutable. The origin of the Agent.
7821
+ # Corresponds to the JSON property `agentOrigin`
7822
+ # @return [String]
7823
+ attr_accessor :agent_origin
7824
+
7825
+ # Output only. The sharing state of the agent.
7826
+ # Corresponds to the JSON property `agentSharingState`
7827
+ # @return [String]
7828
+ attr_accessor :agent_sharing_state
7829
+
7830
+ # Output only. The type of the agent.
7831
+ # Corresponds to the JSON property `agentType`
7832
+ # @return [String]
7833
+ attr_accessor :agent_type
7834
+
7835
+ # The custom placeholder text that appears in the text box before the user
7836
+ # enters any text.
7837
+ # Corresponds to the JSON property `customPlaceholderText`
7838
+ # @return [String]
7839
+ attr_accessor :custom_placeholder_text
7840
+
7841
+ # The reason why the agent deployment failed. Only set if the state is
7842
+ # DEPLOYMENT_FAILED.
7843
+ # Corresponds to the JSON property `deploymentFailureReason`
7844
+ # @return [String]
7845
+ attr_accessor :deployment_failure_reason
7846
+
7847
+ # Required. Human-readable description of the agent. This might be used by an
7848
+ # LLM to automatically select an agent to respond to a user query and to
7849
+ # generate the first version of the steps for the agent that can be modified by
7850
+ # the user. The language of this is either Agent.language_code, or
7851
+ # ListAvailableAgentViewsRequest.language_code if translations are enabled.
7852
+ # Corresponds to the JSON property `description`
7853
+ # @return [String]
7854
+ attr_accessor :description
7855
+
7856
+ # Required. Display name of the agent. The language of this is either Agent.
7857
+ # language_code, or ListAvailableAgentViewsRequest.language_code if translations
7858
+ # are enabled.
7859
+ # Corresponds to the JSON property `displayName`
7860
+ # @return [String]
7861
+ attr_accessor :display_name
7862
+
7863
+ # Represents an image.
7864
+ # Corresponds to the JSON property `icon`
7865
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaAgentImage]
7866
+ attr_accessor :icon
7867
+
7868
+ # Resource name of the agent. Format: `projects/`project`/locations/`location`/
7869
+ # collections/`collection`/engines/`engine`/assistants/`assistant`/agents/`agent`
7870
+ # `
7871
+ # Corresponds to the JSON property `name`
7872
+ # @return [String]
7873
+ attr_accessor :name
7874
+
7875
+ # The reason why the agent was rejected. Only set if the state is PRIVATE, and
7876
+ # got there via rejection.
7877
+ # Corresponds to the JSON property `rejectionReason`
7878
+ # @return [String]
7879
+ attr_accessor :rejection_reason
7880
+
7881
+ # Output only. The state of the Agent.
7882
+ # Corresponds to the JSON property `state`
7883
+ # @return [String]
7884
+ attr_accessor :state
7885
+
7886
+ # Optional. The suggested prompts for the agent, to be shown on the agent
7887
+ # landing page.
7888
+ # Corresponds to the JSON property `suggestedPrompts`
7889
+ # @return [Array<Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaAgentViewSuggestedPrompt>]
7890
+ attr_accessor :suggested_prompts
7891
+
7892
+ # The reason why the agent was suspended. Only set if the state is SUSPENDED.
7893
+ # Corresponds to the JSON property `suspensionReason`
7894
+ # @return [String]
7895
+ attr_accessor :suspension_reason
7896
+
7897
+ # Per-user annotations for an Agent, based on UserAnnotation.
7898
+ # Corresponds to the JSON property `userAnnotations`
7899
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaUserAnnotations]
7900
+ attr_accessor :user_annotations
7901
+
7902
+ # The permissions of the user on an Agent.
7903
+ # Corresponds to the JSON property `userPermissions`
7904
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaAgentViewUserPermissions]
7905
+ attr_accessor :user_permissions
7906
+
7907
+ def initialize(**args)
7908
+ update!(**args)
7909
+ end
7910
+
7911
+ # Update properties of this object
7912
+ def update!(**args)
7913
+ @agent_origin = args[:agent_origin] if args.key?(:agent_origin)
7914
+ @agent_sharing_state = args[:agent_sharing_state] if args.key?(:agent_sharing_state)
7915
+ @agent_type = args[:agent_type] if args.key?(:agent_type)
7916
+ @custom_placeholder_text = args[:custom_placeholder_text] if args.key?(:custom_placeholder_text)
7917
+ @deployment_failure_reason = args[:deployment_failure_reason] if args.key?(:deployment_failure_reason)
7918
+ @description = args[:description] if args.key?(:description)
7919
+ @display_name = args[:display_name] if args.key?(:display_name)
7920
+ @icon = args[:icon] if args.key?(:icon)
7921
+ @name = args[:name] if args.key?(:name)
7922
+ @rejection_reason = args[:rejection_reason] if args.key?(:rejection_reason)
7923
+ @state = args[:state] if args.key?(:state)
7924
+ @suggested_prompts = args[:suggested_prompts] if args.key?(:suggested_prompts)
7925
+ @suspension_reason = args[:suspension_reason] if args.key?(:suspension_reason)
7926
+ @user_annotations = args[:user_annotations] if args.key?(:user_annotations)
7927
+ @user_permissions = args[:user_permissions] if args.key?(:user_permissions)
7928
+ end
7929
+ end
7930
+
7931
+ # A suggested prompt for the agent, to be shown on the agent landing page.
7932
+ class GoogleCloudDiscoveryengineV1alphaAgentViewSuggestedPrompt
7933
+ include Google::Apis::Core::Hashable
7934
+
7935
+ # Required. The text of the suggested prompt. The language of this is either
7936
+ # Agent.language_code, or ListAvailableAgentViewsRequest.language_code if
7937
+ # translations are enabled.
7938
+ # Corresponds to the JSON property `text`
7939
+ # @return [String]
7940
+ attr_accessor :text
7941
+
7942
+ def initialize(**args)
7943
+ update!(**args)
7944
+ end
7945
+
7946
+ # Update properties of this object
7947
+ def update!(**args)
7948
+ @text = args[:text] if args.key?(:text)
7949
+ end
7950
+ end
7951
+
7952
+ # The permissions of the user on an Agent.
7953
+ class GoogleCloudDiscoveryengineV1alphaAgentViewUserPermissions
7954
+ include Google::Apis::Core::Hashable
7955
+
7956
+ # If the user can delete this Agent.
7957
+ # Corresponds to the JSON property `canDelete`
7958
+ # @return [Boolean]
7959
+ attr_accessor :can_delete
7960
+ alias_method :can_delete?, :can_delete
7961
+
7962
+ # If the user can edit this Agent.
7963
+ # Corresponds to the JSON property `canEdit`
7964
+ # @return [Boolean]
7965
+ attr_accessor :can_edit
7966
+ alias_method :can_edit?, :can_edit
7967
+
7968
+ # If the user can propose other users to share the Agent with.
7969
+ # Corresponds to the JSON property `canProposeUsers`
7970
+ # @return [Boolean]
7971
+ attr_accessor :can_propose_users
7972
+ alias_method :can_propose_users?, :can_propose_users
7973
+
7974
+ # If the user can request a review for this Agent.
7975
+ # Corresponds to the JSON property `canRequestReview`
7976
+ # @return [Boolean]
7977
+ attr_accessor :can_request_review
7978
+ alias_method :can_request_review?, :can_request_review
7979
+
7980
+ # If the user can run this Agent.
7981
+ # Corresponds to the JSON property `canRun`
7982
+ # @return [Boolean]
7983
+ attr_accessor :can_run
7984
+ alias_method :can_run?, :can_run
7985
+
7986
+ # If the user can view the source of this Agent.
7987
+ # Corresponds to the JSON property `canView`
7988
+ # @return [Boolean]
7989
+ attr_accessor :can_view
7990
+ alias_method :can_view?, :can_view
7991
+
7992
+ # If the user can withdraw this Agent.
7993
+ # Corresponds to the JSON property `canWithdraw`
7994
+ # @return [Boolean]
7995
+ attr_accessor :can_withdraw
7996
+ alias_method :can_withdraw?, :can_withdraw
7997
+
7998
+ def initialize(**args)
7999
+ update!(**args)
8000
+ end
8001
+
8002
+ # Update properties of this object
8003
+ def update!(**args)
8004
+ @can_delete = args[:can_delete] if args.key?(:can_delete)
8005
+ @can_edit = args[:can_edit] if args.key?(:can_edit)
8006
+ @can_propose_users = args[:can_propose_users] if args.key?(:can_propose_users)
8007
+ @can_request_review = args[:can_request_review] if args.key?(:can_request_review)
8008
+ @can_run = args[:can_run] if args.key?(:can_run)
8009
+ @can_view = args[:can_view] if args.key?(:can_view)
8010
+ @can_withdraw = args[:can_withdraw] if args.key?(:can_withdraw)
8011
+ end
8012
+ end
8013
+
7766
8014
  # The connector level alert config.
7767
8015
  class GoogleCloudDiscoveryengineV1alphaAlertPolicyConfig
7768
8016
  include Google::Apis::Core::Hashable
@@ -15508,6 +15756,12 @@ module Google
15508
15756
  attr_accessor :enable_image_annotation
15509
15757
  alias_method :enable_image_annotation?, :enable_image_annotation
15510
15758
 
15759
+ # Optional. If true, the pdf layout will be refined using an LLM.
15760
+ # Corresponds to the JSON property `enableLlmLayoutParsing`
15761
+ # @return [Boolean]
15762
+ attr_accessor :enable_llm_layout_parsing
15763
+ alias_method :enable_llm_layout_parsing?, :enable_llm_layout_parsing
15764
+
15511
15765
  # Optional. If true, the LLM based annotation is added to the table during
15512
15766
  # parsing.
15513
15767
  # Corresponds to the JSON property `enableTableAnnotation`
@@ -15544,6 +15798,7 @@ module Google
15544
15798
  def update!(**args)
15545
15799
  @enable_get_processed_document = args[:enable_get_processed_document] if args.key?(:enable_get_processed_document)
15546
15800
  @enable_image_annotation = args[:enable_image_annotation] if args.key?(:enable_image_annotation)
15801
+ @enable_llm_layout_parsing = args[:enable_llm_layout_parsing] if args.key?(:enable_llm_layout_parsing)
15547
15802
  @enable_table_annotation = args[:enable_table_annotation] if args.key?(:enable_table_annotation)
15548
15803
  @exclude_html_classes = args[:exclude_html_classes] if args.key?(:exclude_html_classes)
15549
15804
  @exclude_html_elements = args[:exclude_html_elements] if args.key?(:exclude_html_elements)
@@ -15694,6 +15949,11 @@ module Google
15694
15949
  # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaEngineChatEngineMetadata]
15695
15950
  attr_accessor :chat_engine_metadata
15696
15951
 
15952
+ # Configurations used to enable CMEK data encryption with Cloud KMS keys.
15953
+ # Corresponds to the JSON property `cmekConfig`
15954
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaCmekConfig]
15955
+ attr_accessor :cmek_config
15956
+
15697
15957
  # Common configurations for an Engine.
15698
15958
  # Corresponds to the JSON property `commonConfig`
15699
15959
  # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaEngineCommonConfig]
@@ -15755,6 +16015,17 @@ module Google
15755
16015
  # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaEngineMediaRecommendationEngineConfig]
15756
16016
  attr_accessor :media_recommendation_engine_config
15757
16017
 
16018
+ # Optional. Maps a model name to its specific configuration for this engine.
16019
+ # This allows admin users to turn on/off individual models. This only stores
16020
+ # models whose states are overridden by the admin. When the state is unspecified,
16021
+ # or model_configs is empty for this model, the system will decide if this
16022
+ # model should be available or not based on the default configuration. For
16023
+ # example, a preview model should be disabled by default if the admin has not
16024
+ # chosen to enable it.
16025
+ # Corresponds to the JSON property `modelConfigs`
16026
+ # @return [Hash<String,String>]
16027
+ attr_accessor :model_configs
16028
+
15758
16029
  # Immutable. Identifier. The fully qualified resource name of the engine. This
15759
16030
  # field must be a UTF-8 encoded string with a length limit of 1024 characters.
15760
16031
  # Format: `projects/`project`/locations/`location`/collections/`collection`/
@@ -15798,6 +16069,7 @@ module Google
15798
16069
  @app_type = args[:app_type] if args.key?(:app_type)
15799
16070
  @chat_engine_config = args[:chat_engine_config] if args.key?(:chat_engine_config)
15800
16071
  @chat_engine_metadata = args[:chat_engine_metadata] if args.key?(:chat_engine_metadata)
16072
+ @cmek_config = args[:cmek_config] if args.key?(:cmek_config)
15801
16073
  @common_config = args[:common_config] if args.key?(:common_config)
15802
16074
  @configurable_billing_approach = args[:configurable_billing_approach] if args.key?(:configurable_billing_approach)
15803
16075
  @create_time = args[:create_time] if args.key?(:create_time)
@@ -15807,6 +16079,7 @@ module Google
15807
16079
  @features = args[:features] if args.key?(:features)
15808
16080
  @industry_vertical = args[:industry_vertical] if args.key?(:industry_vertical)
15809
16081
  @media_recommendation_engine_config = args[:media_recommendation_engine_config] if args.key?(:media_recommendation_engine_config)
16082
+ @model_configs = args[:model_configs] if args.key?(:model_configs)
15810
16083
  @name = args[:name] if args.key?(:name)
15811
16084
  @recommendation_metadata = args[:recommendation_metadata] if args.key?(:recommendation_metadata)
15812
16085
  @search_engine_config = args[:search_engine_config] if args.key?(:search_engine_config)
@@ -17120,6 +17393,25 @@ module Google
17120
17393
  end
17121
17394
  end
17122
17395
 
17396
+ # Response message for the AgentService.GetAgentView method.
17397
+ class GoogleCloudDiscoveryengineV1alphaGetAgentViewResponse
17398
+ include Google::Apis::Core::Hashable
17399
+
17400
+ # The data for displaying an Agent.
17401
+ # Corresponds to the JSON property `agentView`
17402
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaAgentView]
17403
+ attr_accessor :agent_view
17404
+
17405
+ def initialize(**args)
17406
+ update!(**args)
17407
+ end
17408
+
17409
+ # Update properties of this object
17410
+ def update!(**args)
17411
+ @agent_view = args[:agent_view] if args.key?(:agent_view)
17412
+ end
17413
+ end
17414
+
17123
17415
  # Response message for DataConnectorService.GetConnectorSecret.
17124
17416
  class GoogleCloudDiscoveryengineV1alphaGetConnectorSecretResponse
17125
17417
  include Google::Apis::Core::Hashable
@@ -18560,6 +18852,31 @@ module Google
18560
18852
  end
18561
18853
  end
18562
18854
 
18855
+ # Stats about users' licenses.
18856
+ class GoogleCloudDiscoveryengineV1alphaLicenseConfigUsageStats
18857
+ include Google::Apis::Core::Hashable
18858
+
18859
+ # Required. The LicenseConfig name.
18860
+ # Corresponds to the JSON property `licenseConfig`
18861
+ # @return [String]
18862
+ attr_accessor :license_config
18863
+
18864
+ # Required. The number of licenses used.
18865
+ # Corresponds to the JSON property `usedLicenseCount`
18866
+ # @return [Fixnum]
18867
+ attr_accessor :used_license_count
18868
+
18869
+ def initialize(**args)
18870
+ update!(**args)
18871
+ end
18872
+
18873
+ # Update properties of this object
18874
+ def update!(**args)
18875
+ @license_config = args[:license_config] if args.key?(:license_config)
18876
+ @used_license_count = args[:used_license_count] if args.key?(:used_license_count)
18877
+ end
18878
+ end
18879
+
18563
18880
  # Response message for the AgentService.ListAgents method.
18564
18881
  class GoogleCloudDiscoveryengineV1alphaListAgentsResponse
18565
18882
  include Google::Apis::Core::Hashable
@@ -18612,6 +18929,33 @@ module Google
18612
18929
  end
18613
18930
  end
18614
18931
 
18932
+ # Response message for the AgentService.ListAvailableAgentViews method.
18933
+ class GoogleCloudDiscoveryengineV1alphaListAvailableAgentViewsResponse
18934
+ include Google::Apis::Core::Hashable
18935
+
18936
+ # The agent sources visible to the caller under the parent Assistant.
18937
+ # Corresponds to the JSON property `agentViews`
18938
+ # @return [Array<Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaAgentView>]
18939
+ attr_accessor :agent_views
18940
+
18941
+ # A token that can be sent as ListAvailableAgentViewsRequest.page_token to
18942
+ # retrieve the next page. If this field is omitted, there are no subsequent
18943
+ # pages.
18944
+ # Corresponds to the JSON property `nextPageToken`
18945
+ # @return [String]
18946
+ attr_accessor :next_page_token
18947
+
18948
+ def initialize(**args)
18949
+ update!(**args)
18950
+ end
18951
+
18952
+ # Update properties of this object
18953
+ def update!(**args)
18954
+ @agent_views = args[:agent_views] if args.key?(:agent_views)
18955
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
18956
+ end
18957
+ end
18958
+
18615
18959
  # Response message for LicenseConfigService.ListBillingAccountLicenseConfigs
18616
18960
  # method.
18617
18961
  class GoogleCloudDiscoveryengineV1alphaListBillingAccountLicenseConfigsResponse
@@ -19085,6 +19429,25 @@ module Google
19085
19429
  end
19086
19430
  end
19087
19431
 
19432
+ # Response message for UserLicenseService.ListLicenseConfigUsageStats method.
19433
+ class GoogleCloudDiscoveryengineV1alphaListLicenseConfigsUsageStatsResponse
19434
+ include Google::Apis::Core::Hashable
19435
+
19436
+ # All the customer's LicenseConfigUsageStats.
19437
+ # Corresponds to the JSON property `licenseConfigUsageStats`
19438
+ # @return [Array<Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1alphaLicenseConfigUsageStats>]
19439
+ attr_accessor :license_config_usage_stats
19440
+
19441
+ def initialize(**args)
19442
+ update!(**args)
19443
+ end
19444
+
19445
+ # Update properties of this object
19446
+ def update!(**args)
19447
+ @license_config_usage_stats = args[:license_config_usage_stats] if args.key?(:license_config_usage_stats)
19448
+ end
19449
+ end
19450
+
19088
19451
  # Response message for SampleQueryService.ListSampleQueries method.
19089
19452
  class GoogleCloudDiscoveryengineV1alphaListSampleQueriesResponse
19090
19453
  include Google::Apis::Core::Hashable
@@ -26218,6 +26581,34 @@ module Google
26218
26581
  end
26219
26582
  end
26220
26583
 
26584
+ # Per-user annotations for an Agent, based on UserAnnotation.
26585
+ class GoogleCloudDiscoveryengineV1alphaUserAnnotations
26586
+ include Google::Apis::Core::Hashable
26587
+
26588
+ # Optional. Whether the agent is pinned, pinned agent will be displayed on the
26589
+ # top of the agent list.
26590
+ # Corresponds to the JSON property `pinned`
26591
+ # @return [Boolean]
26592
+ attr_accessor :pinned
26593
+ alias_method :pinned?, :pinned
26594
+
26595
+ # Optional. Whether the agent has been viewed by the user.
26596
+ # Corresponds to the JSON property `viewed`
26597
+ # @return [Boolean]
26598
+ attr_accessor :viewed
26599
+ alias_method :viewed?, :viewed
26600
+
26601
+ def initialize(**args)
26602
+ update!(**args)
26603
+ end
26604
+
26605
+ # Update properties of this object
26606
+ def update!(**args)
26607
+ @pinned = args[:pinned] if args.key?(:pinned)
26608
+ @viewed = args[:viewed] if args.key?(:viewed)
26609
+ end
26610
+ end
26611
+
26221
26612
  # UserEvent captures all metadata information Discovery Engine API needs to know
26222
26613
  # about how end users interact with your website.
26223
26614
  class GoogleCloudDiscoveryengineV1alphaUserEvent
@@ -27462,6 +27853,17 @@ module Google
27462
27853
  # @return [String]
27463
27854
  attr_accessor :interaction_type
27464
27855
 
27856
+ # Output only. Maps a model name to its specific configuration for this engine.
27857
+ # This allows admin users to turn on/off individual models. This only stores
27858
+ # models whose states are overridden by the admin. When the state is unspecified,
27859
+ # or model_configs is empty for this model, the system will decide if this
27860
+ # model should be available or not based on the default configuration. For
27861
+ # example, a preview model should be disabled by default if the admin has not
27862
+ # chosen to enable it.
27863
+ # Corresponds to the JSON property `modelConfigs`
27864
+ # @return [Hash<String,String>]
27865
+ attr_accessor :model_configs
27866
+
27465
27867
  # Controls whether result extract is display and how (snippet or extractive
27466
27868
  # answer). Default to no result if unspecified.
27467
27869
  # Corresponds to the JSON property `resultDescriptionType`
@@ -27493,6 +27895,7 @@ module Google
27493
27895
  @features = args[:features] if args.key?(:features)
27494
27896
  @generative_answer_config = args[:generative_answer_config] if args.key?(:generative_answer_config)
27495
27897
  @interaction_type = args[:interaction_type] if args.key?(:interaction_type)
27898
+ @model_configs = args[:model_configs] if args.key?(:model_configs)
27496
27899
  @result_description_type = args[:result_description_type] if args.key?(:result_description_type)
27497
27900
  @search_addon_spec = args[:search_addon_spec] if args.key?(:search_addon_spec)
27498
27901
  end
@@ -29147,6 +29550,12 @@ module Google
29147
29550
  attr_accessor :enable_image_annotation
29148
29551
  alias_method :enable_image_annotation?, :enable_image_annotation
29149
29552
 
29553
+ # Optional. If true, the pdf layout will be refined using an LLM.
29554
+ # Corresponds to the JSON property `enableLlmLayoutParsing`
29555
+ # @return [Boolean]
29556
+ attr_accessor :enable_llm_layout_parsing
29557
+ alias_method :enable_llm_layout_parsing?, :enable_llm_layout_parsing
29558
+
29150
29559
  # Optional. If true, the LLM based annotation is added to the table during
29151
29560
  # parsing.
29152
29561
  # Corresponds to the JSON property `enableTableAnnotation`
@@ -29183,6 +29592,7 @@ module Google
29183
29592
  def update!(**args)
29184
29593
  @enable_get_processed_document = args[:enable_get_processed_document] if args.key?(:enable_get_processed_document)
29185
29594
  @enable_image_annotation = args[:enable_image_annotation] if args.key?(:enable_image_annotation)
29595
+ @enable_llm_layout_parsing = args[:enable_llm_layout_parsing] if args.key?(:enable_llm_layout_parsing)
29186
29596
  @enable_table_annotation = args[:enable_table_annotation] if args.key?(:enable_table_annotation)
29187
29597
  @exclude_html_classes = args[:exclude_html_classes] if args.key?(:exclude_html_classes)
29188
29598
  @exclude_html_elements = args[:exclude_html_elements] if args.key?(:exclude_html_elements)
@@ -29282,6 +29692,11 @@ module Google
29282
29692
  # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1betaEngineChatEngineMetadata]
29283
29693
  attr_accessor :chat_engine_metadata
29284
29694
 
29695
+ # Configurations used to enable CMEK data encryption with Cloud KMS keys.
29696
+ # Corresponds to the JSON property `cmekConfig`
29697
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1betaCmekConfig]
29698
+ attr_accessor :cmek_config
29699
+
29285
29700
  # Common configurations for an Engine.
29286
29701
  # Corresponds to the JSON property `commonConfig`
29287
29702
  # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1betaEngineCommonConfig]
@@ -29343,6 +29758,17 @@ module Google
29343
29758
  # @return [Google::Apis::DiscoveryengineV1alpha::GoogleCloudDiscoveryengineV1betaEngineMediaRecommendationEngineConfig]
29344
29759
  attr_accessor :media_recommendation_engine_config
29345
29760
 
29761
+ # Optional. Maps a model name to its specific configuration for this engine.
29762
+ # This allows admin users to turn on/off individual models. This only stores
29763
+ # models whose states are overridden by the admin. When the state is unspecified,
29764
+ # or model_configs is empty for this model, the system will decide if this
29765
+ # model should be available or not based on the default configuration. For
29766
+ # example, a preview model should be disabled by default if the admin has not
29767
+ # chosen to enable it.
29768
+ # Corresponds to the JSON property `modelConfigs`
29769
+ # @return [Hash<String,String>]
29770
+ attr_accessor :model_configs
29771
+
29346
29772
  # Immutable. Identifier. The fully qualified resource name of the engine. This
29347
29773
  # field must be a UTF-8 encoded string with a length limit of 1024 characters.
29348
29774
  # Format: `projects/`project`/locations/`location`/collections/`collection`/
@@ -29376,6 +29802,7 @@ module Google
29376
29802
  @app_type = args[:app_type] if args.key?(:app_type)
29377
29803
  @chat_engine_config = args[:chat_engine_config] if args.key?(:chat_engine_config)
29378
29804
  @chat_engine_metadata = args[:chat_engine_metadata] if args.key?(:chat_engine_metadata)
29805
+ @cmek_config = args[:cmek_config] if args.key?(:cmek_config)
29379
29806
  @common_config = args[:common_config] if args.key?(:common_config)
29380
29807
  @configurable_billing_approach = args[:configurable_billing_approach] if args.key?(:configurable_billing_approach)
29381
29808
  @create_time = args[:create_time] if args.key?(:create_time)
@@ -29385,6 +29812,7 @@ module Google
29385
29812
  @features = args[:features] if args.key?(:features)
29386
29813
  @industry_vertical = args[:industry_vertical] if args.key?(:industry_vertical)
29387
29814
  @media_recommendation_engine_config = args[:media_recommendation_engine_config] if args.key?(:media_recommendation_engine_config)
29815
+ @model_configs = args[:model_configs] if args.key?(:model_configs)
29388
29816
  @name = args[:name] if args.key?(:name)
29389
29817
  @search_engine_config = args[:search_engine_config] if args.key?(:search_engine_config)
29390
29818
  @solution_type = args[:solution_type] if args.key?(:solution_type)
@@ -34426,6 +34854,241 @@ module Google
34426
34854
  end
34427
34855
  end
34428
34856
 
34857
+ # Associates `members`, or principals, with a `role`.
34858
+ class GoogleIamV1Binding
34859
+ include Google::Apis::Core::Hashable
34860
+
34861
+ # Represents a textual expression in the Common Expression Language (CEL) syntax.
34862
+ # CEL is a C-like expression language. The syntax and semantics of CEL are
34863
+ # documented at https://github.com/google/cel-spec. Example (Comparison): title:
34864
+ # "Summary size limit" description: "Determines if a summary is less than 100
34865
+ # chars" expression: "document.summary.size() < 100" Example (Equality): title: "
34866
+ # Requestor is owner" description: "Determines if requestor is the document
34867
+ # owner" expression: "document.owner == request.auth.claims.email" Example (
34868
+ # Logic): title: "Public documents" description: "Determine whether the document
34869
+ # should be publicly visible" expression: "document.type != 'private' &&
34870
+ # document.type != 'internal'" Example (Data Manipulation): title: "Notification
34871
+ # string" description: "Create a notification string with a timestamp."
34872
+ # expression: "'New message received at ' + string(document.create_time)" The
34873
+ # exact variables and functions that may be referenced within an expression are
34874
+ # determined by the service that evaluates it. See the service documentation for
34875
+ # additional information.
34876
+ # Corresponds to the JSON property `condition`
34877
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleTypeExpr]
34878
+ attr_accessor :condition
34879
+
34880
+ # Specifies the principals requesting access for a Google Cloud resource. `
34881
+ # members` can have the following values: * `allUsers`: A special identifier
34882
+ # that represents anyone who is on the internet; with or without a Google
34883
+ # account. * `allAuthenticatedUsers`: A special identifier that represents
34884
+ # anyone who is authenticated with a Google account or a service account. Does
34885
+ # not include identities that come from external identity providers (IdPs)
34886
+ # through identity federation. * `user:`emailid``: An email address that
34887
+ # represents a specific Google account. For example, `alice@example.com` . * `
34888
+ # serviceAccount:`emailid``: An email address that represents a Google service
34889
+ # account. For example, `my-other-app@appspot.gserviceaccount.com`. * `
34890
+ # serviceAccount:`projectid`.svc.id.goog[`namespace`/`kubernetes-sa`]`: An
34891
+ # identifier for a [Kubernetes service account](https://cloud.google.com/
34892
+ # kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-
34893
+ # project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:`emailid``: An
34894
+ # email address that represents a Google group. For example, `admins@example.com`
34895
+ # . * `domain:`domain``: The G Suite domain (primary) that represents all the
34896
+ # users of that domain. For example, `google.com` or `example.com`. * `principal:
34897
+ # //iam.googleapis.com/locations/global/workforcePools/`pool_id`/subject/`
34898
+ # subject_attribute_value``: A single identity in a workforce identity pool. * `
34899
+ # principalSet://iam.googleapis.com/locations/global/workforcePools/`pool_id`/
34900
+ # group/`group_id``: All workforce identities in a group. * `principalSet://iam.
34901
+ # googleapis.com/locations/global/workforcePools/`pool_id`/attribute.`
34902
+ # attribute_name`/`attribute_value``: All workforce identities with a specific
34903
+ # attribute value. * `principalSet://iam.googleapis.com/locations/global/
34904
+ # workforcePools/`pool_id`/*`: All identities in a workforce identity pool. * `
34905
+ # principal://iam.googleapis.com/projects/`project_number`/locations/global/
34906
+ # workloadIdentityPools/`pool_id`/subject/`subject_attribute_value``: A single
34907
+ # identity in a workload identity pool. * `principalSet://iam.googleapis.com/
34908
+ # projects/`project_number`/locations/global/workloadIdentityPools/`pool_id`/
34909
+ # group/`group_id``: A workload identity pool group. * `principalSet://iam.
34910
+ # googleapis.com/projects/`project_number`/locations/global/
34911
+ # workloadIdentityPools/`pool_id`/attribute.`attribute_name`/`attribute_value``:
34912
+ # All identities in a workload identity pool with a certain attribute. * `
34913
+ # principalSet://iam.googleapis.com/projects/`project_number`/locations/global/
34914
+ # workloadIdentityPools/`pool_id`/*`: All identities in a workload identity pool.
34915
+ # * `deleted:user:`emailid`?uid=`uniqueid``: An email address (plus unique
34916
+ # identifier) representing a user that has been recently deleted. For example, `
34917
+ # alice@example.com?uid=123456789012345678901`. If the user is recovered, this
34918
+ # value reverts to `user:`emailid`` and the recovered user retains the role in
34919
+ # the binding. * `deleted:serviceAccount:`emailid`?uid=`uniqueid``: An email
34920
+ # address (plus unique identifier) representing a service account that has been
34921
+ # recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=
34922
+ # 123456789012345678901`. If the service account is undeleted, this value
34923
+ # reverts to `serviceAccount:`emailid`` and the undeleted service account
34924
+ # retains the role in the binding. * `deleted:group:`emailid`?uid=`uniqueid``:
34925
+ # An email address (plus unique identifier) representing a Google group that has
34926
+ # been recently deleted. For example, `admins@example.com?uid=
34927
+ # 123456789012345678901`. If the group is recovered, this value reverts to `
34928
+ # group:`emailid`` and the recovered group retains the role in the binding. * `
34929
+ # deleted:principal://iam.googleapis.com/locations/global/workforcePools/`
34930
+ # pool_id`/subject/`subject_attribute_value``: Deleted single identity in a
34931
+ # workforce identity pool. For example, `deleted:principal://iam.googleapis.com/
34932
+ # locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.
34933
+ # Corresponds to the JSON property `members`
34934
+ # @return [Array<String>]
34935
+ attr_accessor :members
34936
+
34937
+ # Role that is assigned to the list of `members`, or principals. For example, `
34938
+ # roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM
34939
+ # roles and permissions, see the [IAM documentation](https://cloud.google.com/
34940
+ # iam/docs/roles-overview). For a list of the available pre-defined roles, see [
34941
+ # here](https://cloud.google.com/iam/docs/understanding-roles).
34942
+ # Corresponds to the JSON property `role`
34943
+ # @return [String]
34944
+ attr_accessor :role
34945
+
34946
+ def initialize(**args)
34947
+ update!(**args)
34948
+ end
34949
+
34950
+ # Update properties of this object
34951
+ def update!(**args)
34952
+ @condition = args[:condition] if args.key?(:condition)
34953
+ @members = args[:members] if args.key?(:members)
34954
+ @role = args[:role] if args.key?(:role)
34955
+ end
34956
+ end
34957
+
34958
+ # An Identity and Access Management (IAM) policy, which specifies access
34959
+ # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
34960
+ # A `binding` binds one or more `members`, or principals, to a single `role`.
34961
+ # Principals can be user accounts, service accounts, Google groups, and domains (
34962
+ # such as G Suite). A `role` is a named list of permissions; each `role` can be
34963
+ # an IAM predefined role or a user-created custom role. For some types of Google
34964
+ # Cloud resources, a `binding` can also specify a `condition`, which is a
34965
+ # logical expression that allows access to a resource only if the expression
34966
+ # evaluates to `true`. A condition can add constraints based on attributes of
34967
+ # the request, the resource, or both. To learn which resources support
34968
+ # conditions in their IAM policies, see the [IAM documentation](https://cloud.
34969
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ``` ` "
34970
+ # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
34971
+ # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
34972
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
34973
+ # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
34974
+ # ], "condition": ` "title": "expirable access", "description": "Does not grant
34975
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
34976
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` ``` **YAML
34977
+ # example:** ``` bindings: - members: - user:mike@example.com - group:admins@
34978
+ # example.com - domain:google.com - serviceAccount:my-project-id@appspot.
34979
+ # gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: -
34980
+ # user:eve@example.com role: roles/resourcemanager.organizationViewer condition:
34981
+ # title: expirable access description: Does not grant access after Sep 2020
34982
+ # expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag:
34983
+ # BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the
34984
+ # [IAM documentation](https://cloud.google.com/iam/docs/).
34985
+ class GoogleIamV1Policy
34986
+ include Google::Apis::Core::Hashable
34987
+
34988
+ # Associates a list of `members`, or principals, with a `role`. Optionally, may
34989
+ # specify a `condition` that determines how and when the `bindings` are applied.
34990
+ # Each of the `bindings` must contain at least one principal. The `bindings` in
34991
+ # a `Policy` can refer to up to 1,500 principals; up to 250 of these principals
34992
+ # can be Google groups. Each occurrence of a principal counts towards these
34993
+ # limits. For example, if the `bindings` grant 50 different roles to `user:alice@
34994
+ # example.com`, and not to any other principal, then you can add another 1,450
34995
+ # principals to the `bindings` in the `Policy`.
34996
+ # Corresponds to the JSON property `bindings`
34997
+ # @return [Array<Google::Apis::DiscoveryengineV1alpha::GoogleIamV1Binding>]
34998
+ attr_accessor :bindings
34999
+
35000
+ # `etag` is used for optimistic concurrency control as a way to help prevent
35001
+ # simultaneous updates of a policy from overwriting each other. It is strongly
35002
+ # suggested that systems make use of the `etag` in the read-modify-write cycle
35003
+ # to perform policy updates in order to avoid race conditions: An `etag` is
35004
+ # returned in the response to `getIamPolicy`, and systems are expected to put
35005
+ # that etag in the request to `setIamPolicy` to ensure that their change will be
35006
+ # applied to the same version of the policy. **Important:** If you use IAM
35007
+ # Conditions, you must include the `etag` field whenever you call `setIamPolicy`.
35008
+ # If you omit this field, then IAM allows you to overwrite a version `3` policy
35009
+ # with a version `1` policy, and all of the conditions in the version `3` policy
35010
+ # are lost.
35011
+ # Corresponds to the JSON property `etag`
35012
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
35013
+ # @return [String]
35014
+ attr_accessor :etag
35015
+
35016
+ # Specifies the format of the policy. Valid values are `0`, `1`, and `3`.
35017
+ # Requests that specify an invalid value are rejected. Any operation that
35018
+ # affects conditional role bindings must specify version `3`. This requirement
35019
+ # applies to the following operations: * Getting a policy that includes a
35020
+ # conditional role binding * Adding a conditional role binding to a policy *
35021
+ # Changing a conditional role binding in a policy * Removing any role binding,
35022
+ # with or without a condition, from a policy that includes conditions **
35023
+ # Important:** If you use IAM Conditions, you must include the `etag` field
35024
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows you
35025
+ # to overwrite a version `3` policy with a version `1` policy, and all of the
35026
+ # conditions in the version `3` policy are lost. If a policy does not include
35027
+ # any conditions, operations on that policy may specify any valid version or
35028
+ # leave the field unset. To learn which resources support conditions in their
35029
+ # IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/
35030
+ # conditions/resource-policies).
35031
+ # Corresponds to the JSON property `version`
35032
+ # @return [Fixnum]
35033
+ attr_accessor :version
35034
+
35035
+ def initialize(**args)
35036
+ update!(**args)
35037
+ end
35038
+
35039
+ # Update properties of this object
35040
+ def update!(**args)
35041
+ @bindings = args[:bindings] if args.key?(:bindings)
35042
+ @etag = args[:etag] if args.key?(:etag)
35043
+ @version = args[:version] if args.key?(:version)
35044
+ end
35045
+ end
35046
+
35047
+ # Request message for `SetIamPolicy` method.
35048
+ class GoogleIamV1SetIamPolicyRequest
35049
+ include Google::Apis::Core::Hashable
35050
+
35051
+ # An Identity and Access Management (IAM) policy, which specifies access
35052
+ # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
35053
+ # A `binding` binds one or more `members`, or principals, to a single `role`.
35054
+ # Principals can be user accounts, service accounts, Google groups, and domains (
35055
+ # such as G Suite). A `role` is a named list of permissions; each `role` can be
35056
+ # an IAM predefined role or a user-created custom role. For some types of Google
35057
+ # Cloud resources, a `binding` can also specify a `condition`, which is a
35058
+ # logical expression that allows access to a resource only if the expression
35059
+ # evaluates to `true`. A condition can add constraints based on attributes of
35060
+ # the request, the resource, or both. To learn which resources support
35061
+ # conditions in their IAM policies, see the [IAM documentation](https://cloud.
35062
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ``` ` "
35063
+ # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
35064
+ # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
35065
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
35066
+ # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
35067
+ # ], "condition": ` "title": "expirable access", "description": "Does not grant
35068
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
35069
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` ``` **YAML
35070
+ # example:** ``` bindings: - members: - user:mike@example.com - group:admins@
35071
+ # example.com - domain:google.com - serviceAccount:my-project-id@appspot.
35072
+ # gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: -
35073
+ # user:eve@example.com role: roles/resourcemanager.organizationViewer condition:
35074
+ # title: expirable access description: Does not grant access after Sep 2020
35075
+ # expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag:
35076
+ # BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the
35077
+ # [IAM documentation](https://cloud.google.com/iam/docs/).
35078
+ # Corresponds to the JSON property `policy`
35079
+ # @return [Google::Apis::DiscoveryengineV1alpha::GoogleIamV1Policy]
35080
+ attr_accessor :policy
35081
+
35082
+ def initialize(**args)
35083
+ update!(**args)
35084
+ end
35085
+
35086
+ # Update properties of this object
35087
+ def update!(**args)
35088
+ @policy = args[:policy] if args.key?(:policy)
35089
+ end
35090
+ end
35091
+
34429
35092
  # The request message for Operations.CancelOperation.
34430
35093
  class GoogleLongrunningCancelOperationRequest
34431
35094
  include Google::Apis::Core::Hashable