google-apis-discoveryengine_v1beta 0.104.0 → 0.106.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.
@@ -2457,6 +2457,15 @@ module Google
2457
2457
  # @return [Google::Apis::DiscoveryengineV1beta::GoogleTypeDateTime]
2458
2458
  attr_accessor :next_sync_time
2459
2459
 
2460
+ # Output only. The static IP addresses used by this connector for OAuth APIs (e.
2461
+ # g. end user authentication). These are surfaced separately from `
2462
+ # static_ip_addresses` so that customers can apply granular firewall settings
2463
+ # for OAuth endpoints. Only populated for connectors that have static IP enabled
2464
+ # and are used for actions and/or federated search.
2465
+ # Corresponds to the JSON property `oauthStaticIpAddresses`
2466
+ # @return [Array<String>]
2467
+ attr_accessor :oauth_static_ip_addresses
2468
+
2460
2469
  # Required data connector parameters in structured json format.
2461
2470
  # Corresponds to the JSON property `params`
2462
2471
  # @return [Hash<String,Object>]
@@ -2567,6 +2576,7 @@ module Google
2567
2576
  @latest_pause_time = args[:latest_pause_time] if args.key?(:latest_pause_time)
2568
2577
  @name = args[:name] if args.key?(:name)
2569
2578
  @next_sync_time = args[:next_sync_time] if args.key?(:next_sync_time)
2579
+ @oauth_static_ip_addresses = args[:oauth_static_ip_addresses] if args.key?(:oauth_static_ip_addresses)
2570
2580
  @params = args[:params] if args.key?(:params)
2571
2581
  @private_connectivity_project_id = args[:private_connectivity_project_id] if args.key?(:private_connectivity_project_id)
2572
2582
  @realtime_state = args[:realtime_state] if args.key?(:realtime_state)
@@ -3874,6 +3884,13 @@ module Google
3874
3884
  # @return [String]
3875
3885
  attr_accessor :app_type
3876
3886
 
3887
+ # Output only. The Agent registry containing the agents, MCP servers and tools
3888
+ # associated with this engine. Derived server-side from the linked Agent Gateway'
3889
+ # s registry.
3890
+ # Corresponds to the JSON property `associatedAgentRegistry`
3891
+ # @return [String]
3892
+ attr_accessor :associated_agent_registry
3893
+
3877
3894
  # Configurations for a Chat Engine.
3878
3895
  # Corresponds to the JSON property `chatEngineConfig`
3879
3896
  # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1EngineChatEngineConfig]
@@ -3939,13 +3956,13 @@ module Google
3939
3956
  # settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-
3940
3957
  # gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-
3941
3958
  # org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `
3942
- # personalization-memory` * `personalization-suggested-highlights` * `disable-
3943
- # mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `
3944
- # disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-
3945
- # content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-
3946
- # canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-
3959
+ # personalization-memory` * `personalization-suggested-highlights` * `mobile-app-
3960
+ # access` * `disable-agent-sharing` * `disable-image-generation` * `disable-
3961
+ # video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `
3962
+ # disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `
3963
+ # canvas-workspace` * `disable-skills` * `disable-projects` * `enable-end-user-
3947
3964
  # sharing-with-groups` * `single-agent-orchestration` * `multi-agent-
3948
- # orchestration` * `cross-product-intelligence`
3965
+ # orchestration` * `cross-product-intelligence` * `deep-research`
3949
3966
  # Corresponds to the JSON property `features`
3950
3967
  # @return [Hash<String,String>]
3951
3968
  attr_accessor :features
@@ -4025,6 +4042,7 @@ module Google
4025
4042
  def update!(**args)
4026
4043
  @agent_gateway_setting = args[:agent_gateway_setting] if args.key?(:agent_gateway_setting)
4027
4044
  @app_type = args[:app_type] if args.key?(:app_type)
4045
+ @associated_agent_registry = args[:associated_agent_registry] if args.key?(:associated_agent_registry)
4028
4046
  @chat_engine_config = args[:chat_engine_config] if args.key?(:chat_engine_config)
4029
4047
  @chat_engine_metadata = args[:chat_engine_metadata] if args.key?(:chat_engine_metadata)
4030
4048
  @cmek_config = args[:cmek_config] if args.key?(:cmek_config)
@@ -4431,10 +4449,11 @@ module Google
4431
4449
  class GoogleCloudDiscoveryengineV1EngineSearchEngineConfig
4432
4450
  include Google::Apis::Core::Hashable
4433
4451
 
4434
- # Optional. The required subscription tier of this engine. They cannot be
4435
- # modified after engine creation. If the required subscription tier is search,
4436
- # user with higher license tier like assist can still access the standalone app
4437
- # associated with this engine.
4452
+ # Optional. The required subscription tier of this engine. If the required
4453
+ # subscription tier is search, user with higher license tier like assist can
4454
+ # still access the standalone app associated with this engine. Web grounding
4455
+ # feature is only available on the app if it is set as SubscriptionTier.
4456
+ # SUBSCRIPTION_TIER_SEARCH_AND_ASSISTANT.
4438
4457
  # Corresponds to the JSON property `requiredSubscriptionTier`
4439
4458
  # @return [String]
4440
4459
  attr_accessor :required_subscription_tier
@@ -5172,6 +5191,11 @@ module Google
5172
5191
  class GoogleCloudDiscoveryengineV1ProjectConfigurableBillingStatus
5173
5192
  include Google::Apis::Core::Hashable
5174
5193
 
5194
+ # Output only. Per-model Agent Search TPM subscription status.
5195
+ # Corresponds to the JSON property `agentSearchTokenSubscriptionStatuses`
5196
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1ProjectConfigurableBillingStatusAgentSearchTokenSubscriptionStatus>]
5197
+ attr_accessor :agent_search_token_subscription_statuses
5198
+
5175
5199
  # Optional. The currently effective Indexing Core threshold. This is the
5176
5200
  # threshold against which Indexing Core usage is compared for overage
5177
5201
  # calculations.
@@ -5225,6 +5249,7 @@ module Google
5225
5249
 
5226
5250
  # Update properties of this object
5227
5251
  def update!(**args)
5252
+ @agent_search_token_subscription_statuses = args[:agent_search_token_subscription_statuses] if args.key?(:agent_search_token_subscription_statuses)
5228
5253
  @effective_indexing_core_threshold = args[:effective_indexing_core_threshold] if args.key?(:effective_indexing_core_threshold)
5229
5254
  @effective_search_qpm_threshold = args[:effective_search_qpm_threshold] if args.key?(:effective_search_qpm_threshold)
5230
5255
  @indexing_core_threshold_next_update_time = args[:indexing_core_threshold_next_update_time] if args.key?(:indexing_core_threshold_next_update_time)
@@ -5235,6 +5260,94 @@ module Google
5235
5260
  end
5236
5261
  end
5237
5262
 
5263
+ # Per-model Agent Search TPM subscription status. One entry per active `
5264
+ # core_subscription.agent_search_token_subscriptions[*]` entry in the customer-
5265
+ # provided config; populated by UpdateProject and GetProject. The lifecycle
5266
+ # scalars on this message (`start_time`, `terminate_time`, `update_type`, `
5267
+ # tpm_threshold_next_update_time`) are per (project, model_version) — siblings
5268
+ # of the whole-relationship `start_time` / `terminate_time` / `update_type` on
5269
+ # the enclosing ConfigurableBillingStatus, but scoped to this specific Agent
5270
+ # Search TPM subscription instead of to the overall customer-configurable-
5271
+ # pricing relationship. This per-instance granularity is intentional: the
5272
+ # underlying SubV3 storage is per-(project, model_version), so each model has
5273
+ # its own activation, termination, and deferred-update clock; surfacing that on
5274
+ # the response gives customers the granularity they need to manage per-model
5275
+ # commitments independently. QPM / IndexingCore differ — their storage is one
5276
+ # row per (project, location), so their lifecycle is represented only by the
5277
+ # whole- relationship scalars on ConfigurableBillingStatus.
5278
+ class GoogleCloudDiscoveryengineV1ProjectConfigurableBillingStatusAgentSearchTokenSubscriptionStatus
5279
+ include Google::Apis::Core::Hashable
5280
+
5281
+ # Output only. The currently effective TPM threshold. Reflects scale-up
5282
+ # immediately and scale-down at the next billing cycle, matching `
5283
+ # effective_search_qpm_threshold` semantics.
5284
+ # Corresponds to the JSON property `effectiveTpmThreshold`
5285
+ # @return [Fixnum]
5286
+ attr_accessor :effective_tpm_threshold
5287
+
5288
+ # Output only. The Gemini model version this status corresponds to. Matches
5289
+ # CoreSubscription.AgentSearchTokenSubscription.model_version (a stable Gemini
5290
+ # model version from the Gemini Enterprise Agent Platform model-versions
5291
+ # registry; see https://docs.cloud.google.com/gemini-enterprise-agent-platform/
5292
+ # models/model-versions#gemini-models).
5293
+ # Corresponds to the JSON property `modelVersion`
5294
+ # @return [String]
5295
+ attr_accessor :model_version
5296
+
5297
+ # Output only. When this (project, model_version) Agent Search TPM subscription
5298
+ # was first activated. Set once on first activation of this model version and
5299
+ # never moved by subsequent threshold updates; on termination + re-activation a
5300
+ # new value is recorded. Does NOT move the whole-relationship `start_time` on
5301
+ # the enclosing ConfigurableBillingStatus, which continues to represent the
5302
+ # first activation of the overall customer-configurable-pricing relationship.
5303
+ # Corresponds to the JSON property `startTime`
5304
+ # @return [String]
5305
+ attr_accessor :start_time
5306
+
5307
+ # Output only. If set, the scheduled effective time at which this (project,
5308
+ # model_version) Agent Search TPM subscription will terminate. Populated when
5309
+ # the customer removes this entry from `core_subscription.
5310
+ # agent_search_token_subscriptions[*]`. Does NOT move the whole-relationship `
5311
+ # terminate_time` on the enclosing ConfigurableBillingStatus, which is populated
5312
+ # only when the entire customer-configurable-pricing relationship is being torn
5313
+ # down.
5314
+ # Corresponds to the JSON property `terminateTime`
5315
+ # @return [String]
5316
+ attr_accessor :terminate_time
5317
+
5318
+ # Output only. The earliest next update time for the TPM subscription threshold
5319
+ # for this (project, model_version). Populated only after a successful update.
5320
+ # Corresponds to the JSON property `tpmThresholdNextUpdateTime`
5321
+ # @return [String]
5322
+ attr_accessor :tpm_threshold_next_update_time
5323
+
5324
+ # Output only. The type of the most recent update to this (project,
5325
+ # model_version) subscription, as performed by the most recent UpdateProject
5326
+ # call. `UPDATE_TYPE_UNSPECIFIED` indicates this model_version was not touched
5327
+ # by the most recent UpdateProject (its `effective_tpm_threshold` reflects an
5328
+ # earlier update). The whole-relationship `update_type` on the enclosing
5329
+ # ConfigurableBillingStatus continues to summarize the direction of the most
5330
+ # recent update across all surfaces in the project (QPM, IndexingCore, and Agent
5331
+ # Search TPM together).
5332
+ # Corresponds to the JSON property `updateType`
5333
+ # @return [String]
5334
+ attr_accessor :update_type
5335
+
5336
+ def initialize(**args)
5337
+ update!(**args)
5338
+ end
5339
+
5340
+ # Update properties of this object
5341
+ def update!(**args)
5342
+ @effective_tpm_threshold = args[:effective_tpm_threshold] if args.key?(:effective_tpm_threshold)
5343
+ @model_version = args[:model_version] if args.key?(:model_version)
5344
+ @start_time = args[:start_time] if args.key?(:start_time)
5345
+ @terminate_time = args[:terminate_time] if args.key?(:terminate_time)
5346
+ @tpm_threshold_next_update_time = args[:tpm_threshold_next_update_time] if args.key?(:tpm_threshold_next_update_time)
5347
+ @update_type = args[:update_type] if args.key?(:update_type)
5348
+ end
5349
+ end
5350
+
5238
5351
  # Customer provided configurations.
5239
5352
  class GoogleCloudDiscoveryengineV1ProjectCustomerProvidedConfig
5240
5353
  include Google::Apis::Core::Hashable
@@ -7100,15 +7213,567 @@ module Google
7100
7213
  class GoogleCloudDiscoveryengineV1alphaAlertPolicyConfig
7101
7214
  include Google::Apis::Core::Hashable
7102
7215
 
7103
- # Optional. The enrollment states of each alert.
7104
- # Corresponds to the JSON property `alertEnrollments`
7105
- # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaAlertPolicyConfigAlertEnrollment>]
7106
- attr_accessor :alert_enrollments
7216
+ # Optional. The enrollment states of each alert.
7217
+ # Corresponds to the JSON property `alertEnrollments`
7218
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaAlertPolicyConfigAlertEnrollment>]
7219
+ attr_accessor :alert_enrollments
7220
+
7221
+ # Immutable. The fully qualified resource name of the AlertPolicy.
7222
+ # Corresponds to the JSON property `alertPolicyName`
7223
+ # @return [String]
7224
+ attr_accessor :alert_policy_name
7225
+
7226
+ def initialize(**args)
7227
+ update!(**args)
7228
+ end
7229
+
7230
+ # Update properties of this object
7231
+ def update!(**args)
7232
+ @alert_enrollments = args[:alert_enrollments] if args.key?(:alert_enrollments)
7233
+ @alert_policy_name = args[:alert_policy_name] if args.key?(:alert_policy_name)
7234
+ end
7235
+ end
7236
+
7237
+ # The alert enrollment status.
7238
+ class GoogleCloudDiscoveryengineV1alphaAlertPolicyConfigAlertEnrollment
7239
+ include Google::Apis::Core::Hashable
7240
+
7241
+ # Immutable. The id of an alert.
7242
+ # Corresponds to the JSON property `alertId`
7243
+ # @return [String]
7244
+ attr_accessor :alert_id
7245
+
7246
+ # Required. The enrollment status of a customer.
7247
+ # Corresponds to the JSON property `enrollState`
7248
+ # @return [String]
7249
+ attr_accessor :enroll_state
7250
+
7251
+ def initialize(**args)
7252
+ update!(**args)
7253
+ end
7254
+
7255
+ # Update properties of this object
7256
+ def update!(**args)
7257
+ @alert_id = args[:alert_id] if args.key?(:alert_id)
7258
+ @enroll_state = args[:enroll_state] if args.key?(:enroll_state)
7259
+ end
7260
+ end
7261
+
7262
+ # The resource level alert config. Used in: * UserLicense * EngineUserData The
7263
+ # AlertPolicyConfig in data connector is of same usage. No easy way to migrate.
7264
+ class GoogleCloudDiscoveryengineV1alphaAlertPolicyResourceConfig
7265
+ include Google::Apis::Core::Hashable
7266
+
7267
+ # Optional. The enrollment state of each alert.
7268
+ # Corresponds to the JSON property `alertEnrollments`
7269
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaAlertPolicyResourceConfigAlertEnrollment>]
7270
+ attr_accessor :alert_enrollments
7271
+
7272
+ # Immutable. The fully qualified resource name of the AlertPolicy.
7273
+ # Corresponds to the JSON property `alertPolicy`
7274
+ # @return [String]
7275
+ attr_accessor :alert_policy
7276
+
7277
+ # Optional. The contact details for each alert policy.
7278
+ # Corresponds to the JSON property `contactDetails`
7279
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaContactDetails>]
7280
+ attr_accessor :contact_details
7281
+
7282
+ # Optional. The language code used for notifications
7283
+ # Corresponds to the JSON property `languageCode`
7284
+ # @return [String]
7285
+ attr_accessor :language_code
7286
+
7287
+ # Optional. The region code used of the user that subscribed to the alert policy.
7288
+ # Corresponds to the JSON property `regionCode`
7289
+ # @return [String]
7290
+ attr_accessor :region_code
7291
+
7292
+ def initialize(**args)
7293
+ update!(**args)
7294
+ end
7295
+
7296
+ # Update properties of this object
7297
+ def update!(**args)
7298
+ @alert_enrollments = args[:alert_enrollments] if args.key?(:alert_enrollments)
7299
+ @alert_policy = args[:alert_policy] if args.key?(:alert_policy)
7300
+ @contact_details = args[:contact_details] if args.key?(:contact_details)
7301
+ @language_code = args[:language_code] if args.key?(:language_code)
7302
+ @region_code = args[:region_code] if args.key?(:region_code)
7303
+ end
7304
+ end
7305
+
7306
+ # The alert enrollment status.
7307
+ class GoogleCloudDiscoveryengineV1alphaAlertPolicyResourceConfigAlertEnrollment
7308
+ include Google::Apis::Core::Hashable
7309
+
7310
+ # Immutable. The id of an alert.
7311
+ # Corresponds to the JSON property `alertId`
7312
+ # @return [String]
7313
+ attr_accessor :alert_id
7314
+
7315
+ # Required. The enrollment status of a customer.
7316
+ # Corresponds to the JSON property `enrollState`
7317
+ # @return [String]
7318
+ attr_accessor :enroll_state
7319
+
7320
+ # Optional. Parameters used to instantiate a notification. Used for
7321
+ # notifications that are triggered when registered. Not stored. * Gemini
7322
+ # Business welcome emails. * Gemini Business user invitation emails.
7323
+ # Corresponds to the JSON property `notificationParams`
7324
+ # @return [Hash<String,String>]
7325
+ attr_accessor :notification_params
7326
+
7327
+ def initialize(**args)
7328
+ update!(**args)
7329
+ end
7330
+
7331
+ # Update properties of this object
7332
+ def update!(**args)
7333
+ @alert_id = args[:alert_id] if args.key?(:alert_id)
7334
+ @enroll_state = args[:enroll_state] if args.key?(:enroll_state)
7335
+ @notification_params = args[:notification_params] if args.key?(:notification_params)
7336
+ end
7337
+ end
7338
+
7339
+ # Evaluation insights for a program.
7340
+ class GoogleCloudDiscoveryengineV1alphaAlphaEvolveEvaluationInsights
7341
+ include Google::Apis::Core::Hashable
7342
+
7343
+ # Optional. List of evaluation insights.
7344
+ # Corresponds to the JSON property `insights`
7345
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaAlphaEvolveEvaluationInsightsAlphaEvolveEvaluationInsight>]
7346
+ attr_accessor :insights
7347
+
7348
+ def initialize(**args)
7349
+ update!(**args)
7350
+ end
7351
+
7352
+ # Update properties of this object
7353
+ def update!(**args)
7354
+ @insights = args[:insights] if args.key?(:insights)
7355
+ end
7356
+ end
7357
+
7358
+ # A single evaluation insight.
7359
+ class GoogleCloudDiscoveryengineV1alphaAlphaEvolveEvaluationInsightsAlphaEvolveEvaluationInsight
7360
+ include Google::Apis::Core::Hashable
7361
+
7362
+ # Optional. Label of the insight.
7363
+ # Corresponds to the JSON property `label`
7364
+ # @return [String]
7365
+ attr_accessor :label
7366
+
7367
+ # Optional. Text of the insight.
7368
+ # Corresponds to the JSON property `text`
7369
+ # @return [String]
7370
+ attr_accessor :text
7371
+
7372
+ def initialize(**args)
7373
+ update!(**args)
7374
+ end
7375
+
7376
+ # Update properties of this object
7377
+ def update!(**args)
7378
+ @label = args[:label] if args.key?(:label)
7379
+ @text = args[:text] if args.key?(:text)
7380
+ end
7381
+ end
7382
+
7383
+ # Contains the evaluation scores for the target metrics to optimize.
7384
+ class GoogleCloudDiscoveryengineV1alphaAlphaEvolveEvaluationScores
7385
+ include Google::Apis::Core::Hashable
7386
+
7387
+ # Required. List of evaluation scores.
7388
+ # Corresponds to the JSON property `scores`
7389
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaAlphaEvolveEvaluationScoresAlphaEvolveEvaluationScore>]
7390
+ attr_accessor :scores
7391
+
7392
+ def initialize(**args)
7393
+ update!(**args)
7394
+ end
7395
+
7396
+ # Update properties of this object
7397
+ def update!(**args)
7398
+ @scores = args[:scores] if args.key?(:scores)
7399
+ end
7400
+ end
7401
+
7402
+ # Score for a single metric.
7403
+ class GoogleCloudDiscoveryengineV1alphaAlphaEvolveEvaluationScoresAlphaEvolveEvaluationScore
7404
+ include Google::Apis::Core::Hashable
7405
+
7406
+ # Required. Name of the metric.
7407
+ # Corresponds to the JSON property `metric`
7408
+ # @return [String]
7409
+ attr_accessor :metric
7410
+
7411
+ # Required. Score of a program for this metric.
7412
+ # Corresponds to the JSON property `score`
7413
+ # @return [Float]
7414
+ attr_accessor :score
7415
+
7416
+ def initialize(**args)
7417
+ update!(**args)
7418
+ end
7419
+
7420
+ # Update properties of this object
7421
+ def update!(**args)
7422
+ @metric = args[:metric] if args.key?(:metric)
7423
+ @score = args[:score] if args.key?(:score)
7424
+ end
7425
+ end
7426
+
7427
+ # An experiment is a single run of the AlphaEvolve agent, an evolutionary coding
7428
+ # agent powered by LLM for algorithm discovery and optimization.
7429
+ class GoogleCloudDiscoveryengineV1alphaAlphaEvolveExperiment
7430
+ include Google::Apis::Core::Hashable
7431
+
7432
+ # Configuration of an experiment.
7433
+ # Corresponds to the JSON property `config`
7434
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaAlphaEvolveExperimentConfig]
7435
+ attr_accessor :config
7436
+
7437
+ # Output only. Time when the experiment was created.
7438
+ # Corresponds to the JSON property `createTime`
7439
+ # @return [String]
7440
+ attr_accessor :create_time
7441
+
7442
+ # Output only. Specifies the name of the seed program used to start the
7443
+ # experiment.
7444
+ # Corresponds to the JSON property `initialAlphaEvolveProgram`
7445
+ # @return [String]
7446
+ attr_accessor :initial_alpha_evolve_program
7447
+
7448
+ # Identifier. The full resource name of the experiment. Format: `projects/`
7449
+ # project`/locations/`location`/collections/`collection`/engines/`engine`/
7450
+ # sessions/`session`/alphaEvolveExperiments/`alpha_evolve_experiment``
7451
+ # Corresponds to the JSON property `name`
7452
+ # @return [String]
7453
+ attr_accessor :name
7454
+
7455
+ # Output only. The state of the experiment.
7456
+ # Corresponds to the JSON property `state`
7457
+ # @return [String]
7458
+ attr_accessor :state
7459
+
7460
+ # Stats about the experiment.
7461
+ # Corresponds to the JSON property `stats`
7462
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaAlphaEvolveExperimentStats]
7463
+ attr_accessor :stats
7464
+
7465
+ def initialize(**args)
7466
+ update!(**args)
7467
+ end
7468
+
7469
+ # Update properties of this object
7470
+ def update!(**args)
7471
+ @config = args[:config] if args.key?(:config)
7472
+ @create_time = args[:create_time] if args.key?(:create_time)
7473
+ @initial_alpha_evolve_program = args[:initial_alpha_evolve_program] if args.key?(:initial_alpha_evolve_program)
7474
+ @name = args[:name] if args.key?(:name)
7475
+ @state = args[:state] if args.key?(:state)
7476
+ @stats = args[:stats] if args.key?(:stats)
7477
+ end
7478
+ end
7479
+
7480
+ # Configuration of an experiment.
7481
+ class GoogleCloudDiscoveryengineV1alphaAlphaEvolveExperimentConfig
7482
+ include Google::Apis::Core::Hashable
7483
+
7484
+ # Evolution settings for the experiment.
7485
+ # Corresponds to the JSON property `evolutionSettings`
7486
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaAlphaEvolveExperimentConfigEvolutionSettings]
7487
+ attr_accessor :evolution_settings
7488
+
7489
+ # Generation settings for the experiment.
7490
+ # Corresponds to the JSON property `generationSettings`
7491
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaAlphaEvolveExperimentConfigGenerationSettings]
7492
+ attr_accessor :generation_settings
7493
+
7494
+ # Required. Description of the problem to be solved by the experiment.
7495
+ # Corresponds to the JSON property `problemDescription`
7496
+ # @return [String]
7497
+ attr_accessor :problem_description
7498
+
7499
+ # Required. Primary programming language of the code being optimized.
7500
+ # Corresponds to the JSON property `programLanguage`
7501
+ # @return [String]
7502
+ attr_accessor :program_language
7503
+
7504
+ # Run settings for the experiment.
7505
+ # Corresponds to the JSON property `runSettings`
7506
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaAlphaEvolveExperimentConfigRunSettings]
7507
+ attr_accessor :run_settings
7508
+
7509
+ # Required. Title of the experiment.
7510
+ # Corresponds to the JSON property `title`
7511
+ # @return [String]
7512
+ attr_accessor :title
7513
+
7514
+ def initialize(**args)
7515
+ update!(**args)
7516
+ end
7517
+
7518
+ # Update properties of this object
7519
+ def update!(**args)
7520
+ @evolution_settings = args[:evolution_settings] if args.key?(:evolution_settings)
7521
+ @generation_settings = args[:generation_settings] if args.key?(:generation_settings)
7522
+ @problem_description = args[:problem_description] if args.key?(:problem_description)
7523
+ @program_language = args[:program_language] if args.key?(:program_language)
7524
+ @run_settings = args[:run_settings] if args.key?(:run_settings)
7525
+ @title = args[:title] if args.key?(:title)
7526
+ end
7527
+ end
7528
+
7529
+ # Evolution settings for the experiment.
7530
+ class GoogleCloudDiscoveryengineV1alphaAlphaEvolveExperimentConfigEvolutionSettings
7531
+ include Google::Apis::Core::Hashable
7532
+
7533
+ # Configuration for parent sampling.
7534
+ # Corresponds to the JSON property `parentSamplingConfig`
7535
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaAlphaEvolveExperimentConfigEvolutionSettingsParentSamplingConfig]
7536
+ attr_accessor :parent_sampling_config
7537
+
7538
+ def initialize(**args)
7539
+ update!(**args)
7540
+ end
7541
+
7542
+ # Update properties of this object
7543
+ def update!(**args)
7544
+ @parent_sampling_config = args[:parent_sampling_config] if args.key?(:parent_sampling_config)
7545
+ end
7546
+ end
7547
+
7548
+ # Configuration for parent sampling.
7549
+ class GoogleCloudDiscoveryengineV1alphaAlphaEvolveExperimentConfigEvolutionSettingsParentSamplingConfig
7550
+ include Google::Apis::Core::Hashable
7551
+
7552
+ # Configuration for Pareto sampling.
7553
+ # Corresponds to the JSON property `paretoSamplingConfig`
7554
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaAlphaEvolveExperimentConfigEvolutionSettingsParentSamplingConfigParetoSamplingConfig]
7555
+ attr_accessor :pareto_sampling_config
7556
+
7557
+ def initialize(**args)
7558
+ update!(**args)
7559
+ end
7560
+
7561
+ # Update properties of this object
7562
+ def update!(**args)
7563
+ @pareto_sampling_config = args[:pareto_sampling_config] if args.key?(:pareto_sampling_config)
7564
+ end
7565
+ end
7566
+
7567
+ # Configuration for Pareto sampling.
7568
+ class GoogleCloudDiscoveryengineV1alphaAlphaEvolveExperimentConfigEvolutionSettingsParentSamplingConfigParetoSamplingConfig
7569
+ include Google::Apis::Core::Hashable
7570
+
7571
+ # Optional. Probability [0.0, 1.0] of sampling parent programs from the Pareto
7572
+ # frontier instead of normal fitness-based sampling during candidate generation.
7573
+ # Useful when optimizing multiple metrics simultaneously. Default 0.0 (disabled).
7574
+ # Only effective when evaluation returns multiple metrics in scores_to_optimize.
7575
+ # Corresponds to the JSON property `paretoSamplingProbability`
7576
+ # @return [Float]
7577
+ attr_accessor :pareto_sampling_probability
7578
+
7579
+ def initialize(**args)
7580
+ update!(**args)
7581
+ end
7582
+
7583
+ # Update properties of this object
7584
+ def update!(**args)
7585
+ @pareto_sampling_probability = args[:pareto_sampling_probability] if args.key?(:pareto_sampling_probability)
7586
+ end
7587
+ end
7588
+
7589
+ # Generation settings for the experiment.
7590
+ class GoogleCloudDiscoveryengineV1alphaAlphaEvolveExperimentConfigGenerationSettings
7591
+ include Google::Apis::Core::Hashable
7592
+
7593
+ # Optional. Additional user-provided context to be used during generation.
7594
+ # Corresponds to the JSON property `context`
7595
+ # @return [String]
7596
+ attr_accessor :context
7597
+
7598
+ # Optional. When true, the LLM prompt includes the full program text (both
7599
+ # mutable EVOLVE-BLOCK regions and immutable boilerplate). When false (default),
7600
+ # only the mutable EVOLVE-BLOCK regions are shown, saving context window.
7601
+ # Corresponds to the JSON property `includeFullProgramInPrompt`
7602
+ # @return [Boolean]
7603
+ attr_accessor :include_full_program_in_prompt
7604
+ alias_method :include_full_program_in_prompt?, :include_full_program_in_prompt
7605
+
7606
+ # Optional. Per-model configuration. See `ModelConfig` for details. If left
7607
+ # unset, the server selects a default model.
7608
+ # Corresponds to the JSON property `models`
7609
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaAlphaEvolveExperimentConfigGenerationSettingsModelConfig>]
7610
+ attr_accessor :models
7611
+
7612
+ def initialize(**args)
7613
+ update!(**args)
7614
+ end
7615
+
7616
+ # Update properties of this object
7617
+ def update!(**args)
7618
+ @context = args[:context] if args.key?(:context)
7619
+ @include_full_program_in_prompt = args[:include_full_program_in_prompt] if args.key?(:include_full_program_in_prompt)
7620
+ @models = args[:models] if args.key?(:models)
7621
+ end
7622
+ end
7623
+
7624
+ # Per-model configuration. Mutually exclusive with `model_mixture` and `model`:
7625
+ # when `models` is set, both `model_mixture` and `model` must be left unset. The
7626
+ # same allowed-model list and at-most-2-models rule as for `model_mixture` apply.
7627
+ # In addition, each entry may specify a per-model `temperature` for LLM
7628
+ # sampling. Unlike `model_mixture`, weights here are *relative*: only their
7629
+ # ratios matter (the server normalizes them), so callers may use any positive
7630
+ # numbers without having to ensure they sum to 1.0.
7631
+ class GoogleCloudDiscoveryengineV1alphaAlphaEvolveExperimentConfigGenerationSettingsModelConfig
7632
+ include Google::Apis::Core::Hashable
7633
+
7634
+ # Required. Model name (e.g. `gemini-2.5-flash`, `gemini-3.1-pro-preview`). See `
7635
+ # model_mixture` for the list of allowed models.
7636
+ # Corresponds to the JSON property `name`
7637
+ # @return [String]
7638
+ attr_accessor :name
7639
+
7640
+ # Optional. Relative weight for this model in the mixture. Must be a finite,
7641
+ # strictly positive value. Weights across all entries are normalized server-side,
7642
+ # so they need not sum to 1.0. Defaults to 1.0 when unset, which is convenient
7643
+ # when configuring a single model or an even mixture. Some Pro-tier models are
7644
+ # capped at most 50% of the total weight; requests violating that cap are
7645
+ # rejected with INVALID_ARGUMENT.
7646
+ # Corresponds to the JSON property `weight`
7647
+ # @return [Float]
7648
+ attr_accessor :weight
7649
+
7650
+ def initialize(**args)
7651
+ update!(**args)
7652
+ end
7653
+
7654
+ # Update properties of this object
7655
+ def update!(**args)
7656
+ @name = args[:name] if args.key?(:name)
7657
+ @weight = args[:weight] if args.key?(:weight)
7658
+ end
7659
+ end
7660
+
7661
+ # Run settings for the experiment.
7662
+ class GoogleCloudDiscoveryengineV1alphaAlphaEvolveExperimentConfigRunSettings
7663
+ include Google::Apis::Core::Hashable
7664
+
7665
+ # Required. Maximum number of programs that can be generated in parallel. Must
7666
+ # be positive.
7667
+ # Corresponds to the JSON property `concurrency`
7668
+ # @return [Fixnum]
7669
+ attr_accessor :concurrency
7670
+
7671
+ # Optional. Maximum duration of the experiment. If unset, defaults to 24 hours.
7672
+ # Corresponds to the JSON property `maxDuration`
7673
+ # @return [String]
7674
+ attr_accessor :max_duration
7675
+
7676
+ # Required. Maximum number of programs to generate during the experiment run.
7677
+ # The initial program counts towards this limit. Must be greater than 1.
7678
+ # Corresponds to the JSON property `maxPrograms`
7679
+ # @return [Fixnum]
7680
+ attr_accessor :max_programs
7681
+
7682
+ def initialize(**args)
7683
+ update!(**args)
7684
+ end
7685
+
7686
+ # Update properties of this object
7687
+ def update!(**args)
7688
+ @concurrency = args[:concurrency] if args.key?(:concurrency)
7689
+ @max_duration = args[:max_duration] if args.key?(:max_duration)
7690
+ @max_programs = args[:max_programs] if args.key?(:max_programs)
7691
+ end
7692
+ end
7693
+
7694
+ # Stats about the experiment.
7695
+ class GoogleCloudDiscoveryengineV1alphaAlphaEvolveExperimentStats
7696
+ include Google::Apis::Core::Hashable
7697
+
7698
+ # Output only. Number of candidates generated.
7699
+ # Corresponds to the JSON property `candidatesCount`
7700
+ # @return [Fixnum]
7701
+ attr_accessor :candidates_count
7702
+
7703
+ # Output only. Number of candidates evaluated.
7704
+ # Corresponds to the JSON property `evaluatedCandidatesCount`
7705
+ # @return [Fixnum]
7706
+ attr_accessor :evaluated_candidates_count
7707
+
7708
+ # Output only. Number of billed input tokens consumed by the experiment.
7709
+ # Corresponds to the JSON property `inputTokenCount`
7710
+ # @return [Fixnum]
7711
+ attr_accessor :input_token_count
7712
+
7713
+ # Output only. Number of billed output tokens consumed by the experiment.
7714
+ # Corresponds to the JSON property `outputTokenCount`
7715
+ # @return [Fixnum]
7716
+ attr_accessor :output_token_count
7717
+
7718
+ def initialize(**args)
7719
+ update!(**args)
7720
+ end
7721
+
7722
+ # Update properties of this object
7723
+ def update!(**args)
7724
+ @candidates_count = args[:candidates_count] if args.key?(:candidates_count)
7725
+ @evaluated_candidates_count = args[:evaluated_candidates_count] if args.key?(:evaluated_candidates_count)
7726
+ @input_token_count = args[:input_token_count] if args.key?(:input_token_count)
7727
+ @output_token_count = args[:output_token_count] if args.key?(:output_token_count)
7728
+ end
7729
+ end
7730
+
7731
+ # Represents a single program to be used within the context of an AlphaEvolve
7732
+ # experiment.
7733
+ class GoogleCloudDiscoveryengineV1alphaAlphaEvolveProgram
7734
+ include Google::Apis::Core::Hashable
7735
+
7736
+ # A self-contained message containing the content of a program. Can represent a
7737
+ # collection of files.
7738
+ # Corresponds to the JSON property `content`
7739
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaAlphaEvolveProgramContent]
7740
+ attr_accessor :content
7741
+
7742
+ # Output only. Time when the program was created.
7743
+ # Corresponds to the JSON property `createTime`
7744
+ # @return [String]
7745
+ attr_accessor :create_time
7746
+
7747
+ # Evaluation results for a program candidate.
7748
+ # Corresponds to the JSON property `evaluation`
7749
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaAlphaEvolveProgramEvaluation]
7750
+ attr_accessor :evaluation
7751
+
7752
+ # Optional. Lock token for the program.
7753
+ # Corresponds to the JSON property `lockToken`
7754
+ # @return [String]
7755
+ attr_accessor :lock_token
7756
+
7757
+ # Identifier. Unique identifier for the program. Format: `projects/`project`/
7758
+ # locations/`location`/collections/`collection`/engines/`engine`/sessions/`
7759
+ # session`/alphaEvolveExperiments/`alpha_evolve_experiment`/alphaEvolvePrograms/`
7760
+ # alpha_evolve_program``
7761
+ # Corresponds to the JSON property `name`
7762
+ # @return [String]
7763
+ attr_accessor :name
7764
+
7765
+ # Output only. Optionally specifies which parent programs this program was
7766
+ # evolved from. Format: `projects/`project`/locations/`location`/collections/`
7767
+ # collection`/engines/`engine`/sessions/`session`/alphaEvolveExperiments/`
7768
+ # alpha_evolve_experiment`/alphaEvolvePrograms/`alpha_evolve_program``
7769
+ # Corresponds to the JSON property `parentPrograms`
7770
+ # @return [Array<String>]
7771
+ attr_accessor :parent_programs
7107
7772
 
7108
- # Immutable. The fully qualified resource name of the AlertPolicy.
7109
- # Corresponds to the JSON property `alertPolicyName`
7773
+ # Output only. State of the program.
7774
+ # Corresponds to the JSON property `state`
7110
7775
  # @return [String]
7111
- attr_accessor :alert_policy_name
7776
+ attr_accessor :state
7112
7777
 
7113
7778
  def initialize(**args)
7114
7779
  update!(**args)
@@ -7116,24 +7781,30 @@ module Google
7116
7781
 
7117
7782
  # Update properties of this object
7118
7783
  def update!(**args)
7119
- @alert_enrollments = args[:alert_enrollments] if args.key?(:alert_enrollments)
7120
- @alert_policy_name = args[:alert_policy_name] if args.key?(:alert_policy_name)
7784
+ @content = args[:content] if args.key?(:content)
7785
+ @create_time = args[:create_time] if args.key?(:create_time)
7786
+ @evaluation = args[:evaluation] if args.key?(:evaluation)
7787
+ @lock_token = args[:lock_token] if args.key?(:lock_token)
7788
+ @name = args[:name] if args.key?(:name)
7789
+ @parent_programs = args[:parent_programs] if args.key?(:parent_programs)
7790
+ @state = args[:state] if args.key?(:state)
7121
7791
  end
7122
7792
  end
7123
7793
 
7124
- # The alert enrollment status.
7125
- class GoogleCloudDiscoveryengineV1alphaAlertPolicyConfigAlertEnrollment
7794
+ # A self-contained message containing the content of a program. Can represent a
7795
+ # collection of files.
7796
+ class GoogleCloudDiscoveryengineV1alphaAlphaEvolveProgramContent
7126
7797
  include Google::Apis::Core::Hashable
7127
7798
 
7128
- # Immutable. The id of an alert.
7129
- # Corresponds to the JSON property `alertId`
7799
+ # Optional. Description of the program.
7800
+ # Corresponds to the JSON property `description`
7130
7801
  # @return [String]
7131
- attr_accessor :alert_id
7802
+ attr_accessor :description
7132
7803
 
7133
- # Required. The enrollment status of a customer.
7134
- # Corresponds to the JSON property `enrollState`
7135
- # @return [String]
7136
- attr_accessor :enroll_state
7804
+ # Required. A list of source files that make up the overall program.
7805
+ # Corresponds to the JSON property `files`
7806
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaAlphaEvolveSourceFile>]
7807
+ attr_accessor :files
7137
7808
 
7138
7809
  def initialize(**args)
7139
7810
  update!(**args)
@@ -7141,40 +7812,24 @@ module Google
7141
7812
 
7142
7813
  # Update properties of this object
7143
7814
  def update!(**args)
7144
- @alert_id = args[:alert_id] if args.key?(:alert_id)
7145
- @enroll_state = args[:enroll_state] if args.key?(:enroll_state)
7815
+ @description = args[:description] if args.key?(:description)
7816
+ @files = args[:files] if args.key?(:files)
7146
7817
  end
7147
7818
  end
7148
7819
 
7149
- # The resource level alert config. Used in: * UserLicense * EngineUserData The
7150
- # AlertPolicyConfig in data connector is of same usage. No easy way to migrate.
7151
- class GoogleCloudDiscoveryengineV1alphaAlertPolicyResourceConfig
7820
+ # Evaluation results for a program candidate.
7821
+ class GoogleCloudDiscoveryengineV1alphaAlphaEvolveProgramEvaluation
7152
7822
  include Google::Apis::Core::Hashable
7153
7823
 
7154
- # Optional. The enrollment state of each alert.
7155
- # Corresponds to the JSON property `alertEnrollments`
7156
- # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaAlertPolicyResourceConfigAlertEnrollment>]
7157
- attr_accessor :alert_enrollments
7158
-
7159
- # Immutable. The fully qualified resource name of the AlertPolicy.
7160
- # Corresponds to the JSON property `alertPolicy`
7161
- # @return [String]
7162
- attr_accessor :alert_policy
7163
-
7164
- # Optional. The contact details for each alert policy.
7165
- # Corresponds to the JSON property `contactDetails`
7166
- # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaContactDetails>]
7167
- attr_accessor :contact_details
7168
-
7169
- # Optional. The language code used for notifications
7170
- # Corresponds to the JSON property `languageCode`
7171
- # @return [String]
7172
- attr_accessor :language_code
7824
+ # Evaluation insights for a program.
7825
+ # Corresponds to the JSON property `insights`
7826
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaAlphaEvolveEvaluationInsights]
7827
+ attr_accessor :insights
7173
7828
 
7174
- # Optional. The region code used of the user that subscribed to the alert policy.
7175
- # Corresponds to the JSON property `regionCode`
7176
- # @return [String]
7177
- attr_accessor :region_code
7829
+ # Contains the evaluation scores for the target metrics to optimize.
7830
+ # Corresponds to the JSON property `scores`
7831
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaAlphaEvolveEvaluationScores]
7832
+ attr_accessor :scores
7178
7833
 
7179
7834
  def initialize(**args)
7180
7835
  update!(**args)
@@ -7182,34 +7837,36 @@ module Google
7182
7837
 
7183
7838
  # Update properties of this object
7184
7839
  def update!(**args)
7185
- @alert_enrollments = args[:alert_enrollments] if args.key?(:alert_enrollments)
7186
- @alert_policy = args[:alert_policy] if args.key?(:alert_policy)
7187
- @contact_details = args[:contact_details] if args.key?(:contact_details)
7188
- @language_code = args[:language_code] if args.key?(:language_code)
7189
- @region_code = args[:region_code] if args.key?(:region_code)
7840
+ @insights = args[:insights] if args.key?(:insights)
7841
+ @scores = args[:scores] if args.key?(:scores)
7190
7842
  end
7191
7843
  end
7192
7844
 
7193
- # The alert enrollment status.
7194
- class GoogleCloudDiscoveryengineV1alphaAlertPolicyResourceConfigAlertEnrollment
7845
+ # A single source file with its path, content and metadata.
7846
+ class GoogleCloudDiscoveryengineV1alphaAlphaEvolveSourceFile
7195
7847
  include Google::Apis::Core::Hashable
7196
7848
 
7197
- # Immutable. The id of an alert.
7198
- # Corresponds to the JSON property `alertId`
7849
+ # Required. The raw content of the file. This is a string and not bytes, because
7850
+ # it should be ultimately processed by the LLM as text.
7851
+ # Corresponds to the JSON property `content`
7199
7852
  # @return [String]
7200
- attr_accessor :alert_id
7853
+ attr_accessor :content
7201
7854
 
7202
- # Required. The enrollment status of a customer.
7203
- # Corresponds to the JSON property `enrollState`
7855
+ # Optional. Additional description of the file.
7856
+ # Corresponds to the JSON property `description`
7204
7857
  # @return [String]
7205
- attr_accessor :enroll_state
7858
+ attr_accessor :description
7206
7859
 
7207
- # Optional. Parameters used to instantiate a notification. Used for
7208
- # notifications that are triggered when registered. Not stored. * Gemini
7209
- # Business welcome emails. * Gemini Business user invitation emails.
7210
- # Corresponds to the JSON property `notificationParams`
7211
- # @return [Hash<String,String>]
7212
- attr_accessor :notification_params
7860
+ # Required. The relative path of the file, including the filename. e.g., "src/
7861
+ # main.py", "utils/helpers.js", "README.md"
7862
+ # Corresponds to the JSON property `path`
7863
+ # @return [String]
7864
+ attr_accessor :path
7865
+
7866
+ # Optional. The programming language of the file.
7867
+ # Corresponds to the JSON property `programLanguage`
7868
+ # @return [String]
7869
+ attr_accessor :program_language
7213
7870
 
7214
7871
  def initialize(**args)
7215
7872
  update!(**args)
@@ -7217,9 +7874,10 @@ module Google
7217
7874
 
7218
7875
  # Update properties of this object
7219
7876
  def update!(**args)
7220
- @alert_id = args[:alert_id] if args.key?(:alert_id)
7221
- @enroll_state = args[:enroll_state] if args.key?(:enroll_state)
7222
- @notification_params = args[:notification_params] if args.key?(:notification_params)
7877
+ @content = args[:content] if args.key?(:content)
7878
+ @description = args[:description] if args.key?(:description)
7879
+ @path = args[:path] if args.key?(:path)
7880
+ @program_language = args[:program_language] if args.key?(:program_language)
7223
7881
  end
7224
7882
  end
7225
7883
 
@@ -10007,6 +10665,15 @@ module Google
10007
10665
  # @return [Google::Apis::DiscoveryengineV1beta::GoogleTypeDateTime]
10008
10666
  attr_accessor :next_sync_time
10009
10667
 
10668
+ # Output only. The static IP addresses used by this connector for OAuth APIs (e.
10669
+ # g. end user authentication). These are surfaced separately from `
10670
+ # static_ip_addresses` so that customers can apply granular firewall settings
10671
+ # for OAuth endpoints. Only populated for connectors that have static IP enabled
10672
+ # and are used for actions and/or federated search.
10673
+ # Corresponds to the JSON property `oauthStaticIpAddresses`
10674
+ # @return [Array<String>]
10675
+ attr_accessor :oauth_static_ip_addresses
10676
+
10010
10677
  # Required data connector parameters in structured json format.
10011
10678
  # Corresponds to the JSON property `params`
10012
10679
  # @return [Hash<String,Object>]
@@ -10118,6 +10785,7 @@ module Google
10118
10785
  @latest_pause_time = args[:latest_pause_time] if args.key?(:latest_pause_time)
10119
10786
  @name = args[:name] if args.key?(:name)
10120
10787
  @next_sync_time = args[:next_sync_time] if args.key?(:next_sync_time)
10788
+ @oauth_static_ip_addresses = args[:oauth_static_ip_addresses] if args.key?(:oauth_static_ip_addresses)
10121
10789
  @params = args[:params] if args.key?(:params)
10122
10790
  @private_connectivity_project_id = args[:private_connectivity_project_id] if args.key?(:private_connectivity_project_id)
10123
10791
  @realtime_state = args[:realtime_state] if args.key?(:realtime_state)
@@ -11176,6 +11844,12 @@ module Google
11176
11844
  # @return [Fixnum]
11177
11845
  attr_accessor :success_count
11178
11846
 
11847
+ # Operation last update time. If the operation is done, this is also the finish
11848
+ # time.
11849
+ # Corresponds to the JSON property `updateTime`
11850
+ # @return [String]
11851
+ attr_accessor :update_time
11852
+
11179
11853
  def initialize(**args)
11180
11854
  update!(**args)
11181
11855
  end
@@ -11184,6 +11858,7 @@ module Google
11184
11858
  def update!(**args)
11185
11859
  @failure_count = args[:failure_count] if args.key?(:failure_count)
11186
11860
  @success_count = args[:success_count] if args.key?(:success_count)
11861
+ @update_time = args[:update_time] if args.key?(:update_time)
11187
11862
  end
11188
11863
  end
11189
11864
 
@@ -11625,6 +12300,13 @@ module Google
11625
12300
  # @return [String]
11626
12301
  attr_accessor :app_type
11627
12302
 
12303
+ # Output only. The Agent registry containing the agents, MCP servers and tools
12304
+ # associated with this engine. Derived server-side from the linked Agent Gateway'
12305
+ # s registry.
12306
+ # Corresponds to the JSON property `associatedAgentRegistry`
12307
+ # @return [String]
12308
+ attr_accessor :associated_agent_registry
12309
+
11628
12310
  # Configurations for a Chat Engine.
11629
12311
  # Corresponds to the JSON property `chatEngineConfig`
11630
12312
  # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaEngineChatEngineConfig]
@@ -11690,13 +12372,13 @@ module Google
11690
12372
  # settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-
11691
12373
  # gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-
11692
12374
  # org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `
11693
- # personalization-memory` * `personalization-suggested-highlights` * `disable-
11694
- # mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `
11695
- # disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-
11696
- # content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-
11697
- # canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-
12375
+ # personalization-memory` * `personalization-suggested-highlights` * `mobile-app-
12376
+ # access` * `disable-agent-sharing` * `disable-image-generation` * `disable-
12377
+ # video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `
12378
+ # disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `
12379
+ # canvas-workspace` * `disable-skills` * `disable-projects` * `enable-end-user-
11698
12380
  # sharing-with-groups` * `single-agent-orchestration` * `multi-agent-
11699
- # orchestration` * `cross-product-intelligence`
12381
+ # orchestration` * `cross-product-intelligence` * `deep-research`
11700
12382
  # Corresponds to the JSON property `features`
11701
12383
  # @return [Hash<String,String>]
11702
12384
  attr_accessor :features
@@ -11786,6 +12468,7 @@ module Google
11786
12468
  def update!(**args)
11787
12469
  @agent_gateway_setting = args[:agent_gateway_setting] if args.key?(:agent_gateway_setting)
11788
12470
  @app_type = args[:app_type] if args.key?(:app_type)
12471
+ @associated_agent_registry = args[:associated_agent_registry] if args.key?(:associated_agent_registry)
11789
12472
  @chat_engine_config = args[:chat_engine_config] if args.key?(:chat_engine_config)
11790
12473
  @chat_engine_metadata = args[:chat_engine_metadata] if args.key?(:chat_engine_metadata)
11791
12474
  @cmek_config = args[:cmek_config] if args.key?(:cmek_config)
@@ -12248,10 +12931,11 @@ module Google
12248
12931
  class GoogleCloudDiscoveryengineV1alphaEngineSearchEngineConfig
12249
12932
  include Google::Apis::Core::Hashable
12250
12933
 
12251
- # Optional. The required subscription tier of this engine. They cannot be
12252
- # modified after engine creation. If the required subscription tier is search,
12253
- # user with higher license tier like assist can still access the standalone app
12254
- # associated with this engine.
12934
+ # Optional. The required subscription tier of this engine. If the required
12935
+ # subscription tier is search, user with higher license tier like assist can
12936
+ # still access the standalone app associated with this engine. Web grounding
12937
+ # feature is only available on the app if it is set as SubscriptionTier.
12938
+ # SUBSCRIPTION_TIER_SEARCH_AND_ASSISTANT.
12255
12939
  # Corresponds to the JSON property `requiredSubscriptionTier`
12256
12940
  # @return [String]
12257
12941
  attr_accessor :required_subscription_tier
@@ -13770,6 +14454,11 @@ module Google
13770
14454
  class GoogleCloudDiscoveryengineV1alphaProjectConfigurableBillingStatus
13771
14455
  include Google::Apis::Core::Hashable
13772
14456
 
14457
+ # Output only. Per-model Agent Search TPM subscription status.
14458
+ # Corresponds to the JSON property `agentSearchTokenSubscriptionStatuses`
14459
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaProjectConfigurableBillingStatusAgentSearchTokenSubscriptionStatus>]
14460
+ attr_accessor :agent_search_token_subscription_statuses
14461
+
13773
14462
  # Optional. The currently effective Indexing Core threshold. This is the
13774
14463
  # threshold against which Indexing Core usage is compared for overage
13775
14464
  # calculations.
@@ -13823,6 +14512,7 @@ module Google
13823
14512
 
13824
14513
  # Update properties of this object
13825
14514
  def update!(**args)
14515
+ @agent_search_token_subscription_statuses = args[:agent_search_token_subscription_statuses] if args.key?(:agent_search_token_subscription_statuses)
13826
14516
  @effective_indexing_core_threshold = args[:effective_indexing_core_threshold] if args.key?(:effective_indexing_core_threshold)
13827
14517
  @effective_search_qpm_threshold = args[:effective_search_qpm_threshold] if args.key?(:effective_search_qpm_threshold)
13828
14518
  @indexing_core_threshold_next_update_time = args[:indexing_core_threshold_next_update_time] if args.key?(:indexing_core_threshold_next_update_time)
@@ -13833,6 +14523,94 @@ module Google
13833
14523
  end
13834
14524
  end
13835
14525
 
14526
+ # Per-model Agent Search TPM subscription status. One entry per active `
14527
+ # core_subscription.agent_search_token_subscriptions[*]` entry in the customer-
14528
+ # provided config; populated by UpdateProject and GetProject. The lifecycle
14529
+ # scalars on this message (`start_time`, `terminate_time`, `update_type`, `
14530
+ # tpm_threshold_next_update_time`) are per (project, model_version) — siblings
14531
+ # of the whole-relationship `start_time` / `terminate_time` / `update_type` on
14532
+ # the enclosing ConfigurableBillingStatus, but scoped to this specific Agent
14533
+ # Search TPM subscription instead of to the overall customer-configurable-
14534
+ # pricing relationship. This per-instance granularity is intentional: the
14535
+ # underlying SubV3 storage is per-(project, model_version), so each model has
14536
+ # its own activation, termination, and deferred-update clock; surfacing that on
14537
+ # the response gives customers the granularity they need to manage per-model
14538
+ # commitments independently. QPM / IndexingCore differ — their storage is one
14539
+ # row per (project, location), so their lifecycle is represented only by the
14540
+ # whole- relationship scalars on ConfigurableBillingStatus.
14541
+ class GoogleCloudDiscoveryengineV1alphaProjectConfigurableBillingStatusAgentSearchTokenSubscriptionStatus
14542
+ include Google::Apis::Core::Hashable
14543
+
14544
+ # Output only. The currently effective TPM threshold. Reflects scale-up
14545
+ # immediately and scale-down at the next billing cycle, matching `
14546
+ # effective_search_qpm_threshold` semantics.
14547
+ # Corresponds to the JSON property `effectiveTpmThreshold`
14548
+ # @return [Fixnum]
14549
+ attr_accessor :effective_tpm_threshold
14550
+
14551
+ # Output only. The Gemini model version this status corresponds to. Matches
14552
+ # CoreSubscription.AgentSearchTokenSubscription.model_version (a stable Gemini
14553
+ # model version from the Gemini Enterprise Agent Platform model-versions
14554
+ # registry; see https://docs.cloud.google.com/gemini-enterprise-agent-platform/
14555
+ # models/model-versions#gemini-models).
14556
+ # Corresponds to the JSON property `modelVersion`
14557
+ # @return [String]
14558
+ attr_accessor :model_version
14559
+
14560
+ # Output only. When this (project, model_version) Agent Search TPM subscription
14561
+ # was first activated. Set once on first activation of this model version and
14562
+ # never moved by subsequent threshold updates; on termination + re-activation a
14563
+ # new value is recorded. Does NOT move the whole-relationship `start_time` on
14564
+ # the enclosing ConfigurableBillingStatus, which continues to represent the
14565
+ # first activation of the overall customer-configurable-pricing relationship.
14566
+ # Corresponds to the JSON property `startTime`
14567
+ # @return [String]
14568
+ attr_accessor :start_time
14569
+
14570
+ # Output only. If set, the scheduled effective time at which this (project,
14571
+ # model_version) Agent Search TPM subscription will terminate. Populated when
14572
+ # the customer removes this entry from `core_subscription.
14573
+ # agent_search_token_subscriptions[*]`. Does NOT move the whole-relationship `
14574
+ # terminate_time` on the enclosing ConfigurableBillingStatus, which is populated
14575
+ # only when the entire customer-configurable-pricing relationship is being torn
14576
+ # down.
14577
+ # Corresponds to the JSON property `terminateTime`
14578
+ # @return [String]
14579
+ attr_accessor :terminate_time
14580
+
14581
+ # Output only. The earliest next update time for the TPM subscription threshold
14582
+ # for this (project, model_version). Populated only after a successful update.
14583
+ # Corresponds to the JSON property `tpmThresholdNextUpdateTime`
14584
+ # @return [String]
14585
+ attr_accessor :tpm_threshold_next_update_time
14586
+
14587
+ # Output only. The type of the most recent update to this (project,
14588
+ # model_version) subscription, as performed by the most recent UpdateProject
14589
+ # call. `UPDATE_TYPE_UNSPECIFIED` indicates this model_version was not touched
14590
+ # by the most recent UpdateProject (its `effective_tpm_threshold` reflects an
14591
+ # earlier update). The whole-relationship `update_type` on the enclosing
14592
+ # ConfigurableBillingStatus continues to summarize the direction of the most
14593
+ # recent update across all surfaces in the project (QPM, IndexingCore, and Agent
14594
+ # Search TPM together).
14595
+ # Corresponds to the JSON property `updateType`
14596
+ # @return [String]
14597
+ attr_accessor :update_type
14598
+
14599
+ def initialize(**args)
14600
+ update!(**args)
14601
+ end
14602
+
14603
+ # Update properties of this object
14604
+ def update!(**args)
14605
+ @effective_tpm_threshold = args[:effective_tpm_threshold] if args.key?(:effective_tpm_threshold)
14606
+ @model_version = args[:model_version] if args.key?(:model_version)
14607
+ @start_time = args[:start_time] if args.key?(:start_time)
14608
+ @terminate_time = args[:terminate_time] if args.key?(:terminate_time)
14609
+ @tpm_threshold_next_update_time = args[:tpm_threshold_next_update_time] if args.key?(:tpm_threshold_next_update_time)
14610
+ @update_type = args[:update_type] if args.key?(:update_type)
14611
+ end
14612
+ end
14613
+
13836
14614
  # Customer provided configurations.
13837
14615
  class GoogleCloudDiscoveryengineV1alphaProjectCustomerProvidedConfig
13838
14616
  include Google::Apis::Core::Hashable
@@ -14904,6 +15682,31 @@ module Google
14904
15682
  end
14905
15683
  end
14906
15684
 
15685
+ # Metadata for AlphaEvolveService.ResumeExperiment long running operation.
15686
+ class GoogleCloudDiscoveryengineV1alphaResumeExperimentMetadata
15687
+ include Google::Apis::Core::Hashable
15688
+
15689
+ # Output only. The time the operation was created.
15690
+ # Corresponds to the JSON property `createTime`
15691
+ # @return [String]
15692
+ attr_accessor :create_time
15693
+
15694
+ # Output only. The time the operation was last updated.
15695
+ # Corresponds to the JSON property `updateTime`
15696
+ # @return [String]
15697
+ attr_accessor :update_time
15698
+
15699
+ def initialize(**args)
15700
+ update!(**args)
15701
+ end
15702
+
15703
+ # Update properties of this object
15704
+ def update!(**args)
15705
+ @create_time = args[:create_time] if args.key?(:create_time)
15706
+ @update_time = args[:update_time] if args.key?(:update_time)
15707
+ end
15708
+ end
15709
+
14907
15710
  # Safety rating corresponding to the generated content.
14908
15711
  class GoogleCloudDiscoveryengineV1alphaSafetyRating
14909
15712
  include Google::Apis::Core::Hashable
@@ -16987,6 +17790,52 @@ module Google
16987
17790
  end
16988
17791
  end
16989
17792
 
17793
+ # Metadata for AlphaEvolveService.StartExperiment long running operation.
17794
+ class GoogleCloudDiscoveryengineV1alphaStartExperimentMetadata
17795
+ include Google::Apis::Core::Hashable
17796
+
17797
+ # Output only. The time the operation was created.
17798
+ # Corresponds to the JSON property `createTime`
17799
+ # @return [String]
17800
+ attr_accessor :create_time
17801
+
17802
+ # Output only. The time the operation was last updated.
17803
+ # Corresponds to the JSON property `updateTime`
17804
+ # @return [String]
17805
+ attr_accessor :update_time
17806
+
17807
+ def initialize(**args)
17808
+ update!(**args)
17809
+ end
17810
+
17811
+ # Update properties of this object
17812
+ def update!(**args)
17813
+ @create_time = args[:create_time] if args.key?(:create_time)
17814
+ @update_time = args[:update_time] if args.key?(:update_time)
17815
+ end
17816
+ end
17817
+
17818
+ # Request message for AlphaEvolveService.StartExperiment.
17819
+ class GoogleCloudDiscoveryengineV1alphaStartExperimentRequest
17820
+ include Google::Apis::Core::Hashable
17821
+
17822
+ # Required. Experiment to start. Format: `projects/`project`/locations/`location`
17823
+ # /collections/`collection`/engines/`engine`/sessions/`session`/
17824
+ # alphaEvolveExperiments/`alpha_evolve_experiment``
17825
+ # Corresponds to the JSON property `name`
17826
+ # @return [String]
17827
+ attr_accessor :name
17828
+
17829
+ def initialize(**args)
17830
+ update!(**args)
17831
+ end
17832
+
17833
+ # Update properties of this object
17834
+ def update!(**args)
17835
+ @name = args[:name] if args.key?(:name)
17836
+ end
17837
+ end
17838
+
16990
17839
  # A target site for the SiteSearchEngine.
16991
17840
  class GoogleCloudDiscoveryengineV1alphaTargetSite
16992
17841
  include Google::Apis::Core::Hashable
@@ -24415,6 +25264,13 @@ module Google
24415
25264
  # @return [String]
24416
25265
  attr_accessor :app_type
24417
25266
 
25267
+ # Output only. The Agent registry containing the agents, MCP servers and tools
25268
+ # associated with this engine. Derived server-side from the linked Agent Gateway'
25269
+ # s registry.
25270
+ # Corresponds to the JSON property `associatedAgentRegistry`
25271
+ # @return [String]
25272
+ attr_accessor :associated_agent_registry
25273
+
24418
25274
  # Configurations for a Chat Engine.
24419
25275
  # Corresponds to the JSON property `chatEngineConfig`
24420
25276
  # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaEngineChatEngineConfig]
@@ -24480,13 +25336,13 @@ module Google
24480
25336
  # settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-
24481
25337
  # gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-
24482
25338
  # org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `
24483
- # personalization-memory` * `personalization-suggested-highlights` * `disable-
24484
- # mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `
24485
- # disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-
24486
- # content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-
24487
- # canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-
25339
+ # personalization-memory` * `personalization-suggested-highlights` * `mobile-app-
25340
+ # access` * `disable-agent-sharing` * `disable-image-generation` * `disable-
25341
+ # video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `
25342
+ # disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `
25343
+ # canvas-workspace` * `disable-skills` * `disable-projects` * `enable-end-user-
24488
25344
  # sharing-with-groups` * `single-agent-orchestration` * `multi-agent-
24489
- # orchestration` * `cross-product-intelligence`
25345
+ # orchestration` * `cross-product-intelligence` * `deep-research`
24490
25346
  # Corresponds to the JSON property `features`
24491
25347
  # @return [Hash<String,String>]
24492
25348
  attr_accessor :features
@@ -24566,6 +25422,7 @@ module Google
24566
25422
  def update!(**args)
24567
25423
  @agent_gateway_setting = args[:agent_gateway_setting] if args.key?(:agent_gateway_setting)
24568
25424
  @app_type = args[:app_type] if args.key?(:app_type)
25425
+ @associated_agent_registry = args[:associated_agent_registry] if args.key?(:associated_agent_registry)
24569
25426
  @chat_engine_config = args[:chat_engine_config] if args.key?(:chat_engine_config)
24570
25427
  @chat_engine_metadata = args[:chat_engine_metadata] if args.key?(:chat_engine_metadata)
24571
25428
  @cmek_config = args[:cmek_config] if args.key?(:cmek_config)
@@ -24972,10 +25829,11 @@ module Google
24972
25829
  class GoogleCloudDiscoveryengineV1betaEngineSearchEngineConfig
24973
25830
  include Google::Apis::Core::Hashable
24974
25831
 
24975
- # Optional. The required subscription tier of this engine. They cannot be
24976
- # modified after engine creation. If the required subscription tier is search,
24977
- # user with higher license tier like assist can still access the standalone app
24978
- # associated with this engine.
25832
+ # Optional. The required subscription tier of this engine. If the required
25833
+ # subscription tier is search, user with higher license tier like assist can
25834
+ # still access the standalone app associated with this engine. Web grounding
25835
+ # feature is only available on the app if it is set as SubscriptionTier.
25836
+ # SUBSCRIPTION_TIER_SEARCH_AND_ASSISTANT.
24979
25837
  # Corresponds to the JSON property `requiredSubscriptionTier`
24980
25838
  # @return [String]
24981
25839
  attr_accessor :required_subscription_tier
@@ -27675,6 +28533,11 @@ module Google
27675
28533
  class GoogleCloudDiscoveryengineV1betaProjectConfigurableBillingStatus
27676
28534
  include Google::Apis::Core::Hashable
27677
28535
 
28536
+ # Output only. Per-model Agent Search TPM subscription status.
28537
+ # Corresponds to the JSON property `agentSearchTokenSubscriptionStatuses`
28538
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaProjectConfigurableBillingStatusAgentSearchTokenSubscriptionStatus>]
28539
+ attr_accessor :agent_search_token_subscription_statuses
28540
+
27678
28541
  # Optional. The currently effective Indexing Core threshold. This is the
27679
28542
  # threshold against which Indexing Core usage is compared for overage
27680
28543
  # calculations.
@@ -27728,6 +28591,7 @@ module Google
27728
28591
 
27729
28592
  # Update properties of this object
27730
28593
  def update!(**args)
28594
+ @agent_search_token_subscription_statuses = args[:agent_search_token_subscription_statuses] if args.key?(:agent_search_token_subscription_statuses)
27731
28595
  @effective_indexing_core_threshold = args[:effective_indexing_core_threshold] if args.key?(:effective_indexing_core_threshold)
27732
28596
  @effective_search_qpm_threshold = args[:effective_search_qpm_threshold] if args.key?(:effective_search_qpm_threshold)
27733
28597
  @indexing_core_threshold_next_update_time = args[:indexing_core_threshold_next_update_time] if args.key?(:indexing_core_threshold_next_update_time)
@@ -27738,6 +28602,94 @@ module Google
27738
28602
  end
27739
28603
  end
27740
28604
 
28605
+ # Per-model Agent Search TPM subscription status. One entry per active `
28606
+ # core_subscription.agent_search_token_subscriptions[*]` entry in the customer-
28607
+ # provided config; populated by UpdateProject and GetProject. The lifecycle
28608
+ # scalars on this message (`start_time`, `terminate_time`, `update_type`, `
28609
+ # tpm_threshold_next_update_time`) are per (project, model_version) — siblings
28610
+ # of the whole-relationship `start_time` / `terminate_time` / `update_type` on
28611
+ # the enclosing ConfigurableBillingStatus, but scoped to this specific Agent
28612
+ # Search TPM subscription instead of to the overall customer-configurable-
28613
+ # pricing relationship. This per-instance granularity is intentional: the
28614
+ # underlying SubV3 storage is per-(project, model_version), so each model has
28615
+ # its own activation, termination, and deferred-update clock; surfacing that on
28616
+ # the response gives customers the granularity they need to manage per-model
28617
+ # commitments independently. QPM / IndexingCore differ — their storage is one
28618
+ # row per (project, location), so their lifecycle is represented only by the
28619
+ # whole- relationship scalars on ConfigurableBillingStatus.
28620
+ class GoogleCloudDiscoveryengineV1betaProjectConfigurableBillingStatusAgentSearchTokenSubscriptionStatus
28621
+ include Google::Apis::Core::Hashable
28622
+
28623
+ # Output only. The currently effective TPM threshold. Reflects scale-up
28624
+ # immediately and scale-down at the next billing cycle, matching `
28625
+ # effective_search_qpm_threshold` semantics.
28626
+ # Corresponds to the JSON property `effectiveTpmThreshold`
28627
+ # @return [Fixnum]
28628
+ attr_accessor :effective_tpm_threshold
28629
+
28630
+ # Output only. The Gemini model version this status corresponds to. Matches
28631
+ # CoreSubscription.AgentSearchTokenSubscription.model_version (a stable Gemini
28632
+ # model version from the Gemini Enterprise Agent Platform model-versions
28633
+ # registry; see https://docs.cloud.google.com/gemini-enterprise-agent-platform/
28634
+ # models/model-versions#gemini-models).
28635
+ # Corresponds to the JSON property `modelVersion`
28636
+ # @return [String]
28637
+ attr_accessor :model_version
28638
+
28639
+ # Output only. When this (project, model_version) Agent Search TPM subscription
28640
+ # was first activated. Set once on first activation of this model version and
28641
+ # never moved by subsequent threshold updates; on termination + re-activation a
28642
+ # new value is recorded. Does NOT move the whole-relationship `start_time` on
28643
+ # the enclosing ConfigurableBillingStatus, which continues to represent the
28644
+ # first activation of the overall customer-configurable-pricing relationship.
28645
+ # Corresponds to the JSON property `startTime`
28646
+ # @return [String]
28647
+ attr_accessor :start_time
28648
+
28649
+ # Output only. If set, the scheduled effective time at which this (project,
28650
+ # model_version) Agent Search TPM subscription will terminate. Populated when
28651
+ # the customer removes this entry from `core_subscription.
28652
+ # agent_search_token_subscriptions[*]`. Does NOT move the whole-relationship `
28653
+ # terminate_time` on the enclosing ConfigurableBillingStatus, which is populated
28654
+ # only when the entire customer-configurable-pricing relationship is being torn
28655
+ # down.
28656
+ # Corresponds to the JSON property `terminateTime`
28657
+ # @return [String]
28658
+ attr_accessor :terminate_time
28659
+
28660
+ # Output only. The earliest next update time for the TPM subscription threshold
28661
+ # for this (project, model_version). Populated only after a successful update.
28662
+ # Corresponds to the JSON property `tpmThresholdNextUpdateTime`
28663
+ # @return [String]
28664
+ attr_accessor :tpm_threshold_next_update_time
28665
+
28666
+ # Output only. The type of the most recent update to this (project,
28667
+ # model_version) subscription, as performed by the most recent UpdateProject
28668
+ # call. `UPDATE_TYPE_UNSPECIFIED` indicates this model_version was not touched
28669
+ # by the most recent UpdateProject (its `effective_tpm_threshold` reflects an
28670
+ # earlier update). The whole-relationship `update_type` on the enclosing
28671
+ # ConfigurableBillingStatus continues to summarize the direction of the most
28672
+ # recent update across all surfaces in the project (QPM, IndexingCore, and Agent
28673
+ # Search TPM together).
28674
+ # Corresponds to the JSON property `updateType`
28675
+ # @return [String]
28676
+ attr_accessor :update_type
28677
+
28678
+ def initialize(**args)
28679
+ update!(**args)
28680
+ end
28681
+
28682
+ # Update properties of this object
28683
+ def update!(**args)
28684
+ @effective_tpm_threshold = args[:effective_tpm_threshold] if args.key?(:effective_tpm_threshold)
28685
+ @model_version = args[:model_version] if args.key?(:model_version)
28686
+ @start_time = args[:start_time] if args.key?(:start_time)
28687
+ @terminate_time = args[:terminate_time] if args.key?(:terminate_time)
28688
+ @tpm_threshold_next_update_time = args[:tpm_threshold_next_update_time] if args.key?(:tpm_threshold_next_update_time)
28689
+ @update_type = args[:update_type] if args.key?(:update_type)
28690
+ end
28691
+ end
28692
+
27741
28693
  # Customer provided configurations.
27742
28694
  class GoogleCloudDiscoveryengineV1betaProjectCustomerProvidedConfig
27743
28695
  include Google::Apis::Core::Hashable
@@ -32890,6 +33842,13 @@ module Google
32890
33842
  # @return [String]
32891
33843
  attr_accessor :assist_token
32892
33844
 
33845
+ # Per-connector authentication errors encountered during the request. Present
33846
+ # when one or more connectors failed authentication but the request proceeded
33847
+ # with the remaining connectors.
33848
+ # Corresponds to the JSON property `connectorAuthErrors`
33849
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaStreamAssistResponseConnectorAuthError>]
33850
+ attr_accessor :connector_auth_errors
33851
+
32893
33852
  # The tool names of the tools that were invoked.
32894
33853
  # Corresponds to the JSON property `invocationTools`
32895
33854
  # @return [Array<String>]
@@ -32913,12 +33872,38 @@ module Google
32913
33872
  def update!(**args)
32914
33873
  @answer = args[:answer] if args.key?(:answer)
32915
33874
  @assist_token = args[:assist_token] if args.key?(:assist_token)
33875
+ @connector_auth_errors = args[:connector_auth_errors] if args.key?(:connector_auth_errors)
32916
33876
  @invocation_tools = args[:invocation_tools] if args.key?(:invocation_tools)
32917
33877
  @invoked_skills = args[:invoked_skills] if args.key?(:invoked_skills)
32918
33878
  @session_info = args[:session_info] if args.key?(:session_info)
32919
33879
  end
32920
33880
  end
32921
33881
 
33882
+ # Describes an authentication error for a specific data connector.
33883
+ class GoogleCloudDiscoveryengineV1betaStreamAssistResponseConnectorAuthError
33884
+ include Google::Apis::Core::Hashable
33885
+
33886
+ # Resource name of the data connector that failed authentication.
33887
+ # Corresponds to the JSON property `dataConnector`
33888
+ # @return [String]
33889
+ attr_accessor :data_connector
33890
+
33891
+ # Human-readable error message describing the auth failure.
33892
+ # Corresponds to the JSON property `errorMessage`
33893
+ # @return [String]
33894
+ attr_accessor :error_message
33895
+
33896
+ def initialize(**args)
33897
+ update!(**args)
33898
+ end
33899
+
33900
+ # Update properties of this object
33901
+ def update!(**args)
33902
+ @data_connector = args[:data_connector] if args.key?(:data_connector)
33903
+ @error_message = args[:error_message] if args.key?(:error_message)
33904
+ end
33905
+ end
33906
+
32922
33907
  # Represents a skill used during the assist call.
32923
33908
  class GoogleCloudDiscoveryengineV1betaStreamAssistResponseInvokedSkill
32924
33909
  include Google::Apis::Core::Hashable