Class: Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1ProjectConfigurableBillingStatusAgentSearchTokenSubscriptionStatus

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/discoveryengine_v1beta/classes.rb,
lib/google/apis/discoveryengine_v1beta/representations.rb,
lib/google/apis/discoveryengine_v1beta/representations.rb

Overview

Per-model Agent Search TPM subscription status. One entry per active core_subscription.agent_search_token_subscriptions[*] entry in the customer- provided config; populated by UpdateProject and GetProject. The lifecycle scalars on this message (start_time, terminate_time, update_type, tpm_threshold_next_update_time) are per (project, model_version) — siblings of the whole-relationship start_time / terminate_time / update_type on the enclosing ConfigurableBillingStatus, but scoped to this specific Agent Search TPM subscription instead of to the overall customer-configurable- pricing relationship. This per-instance granularity is intentional: the underlying SubV3 storage is per-(project, model_version), so each model has its own activation, termination, and deferred-update clock; surfacing that on the response gives customers the granularity they need to manage per-model commitments independently. QPM / IndexingCore differ — their storage is one row per (project, location), so their lifecycle is represented only by the whole- relationship scalars on ConfigurableBillingStatus.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ GoogleCloudDiscoveryengineV1ProjectConfigurableBillingStatusAgentSearchTokenSubscriptionStatus

Returns a new instance of GoogleCloudDiscoveryengineV1ProjectConfigurableBillingStatusAgentSearchTokenSubscriptionStatus.



5325
5326
5327
# File 'lib/google/apis/discoveryengine_v1beta/classes.rb', line 5325

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#effective_tpm_thresholdFixnum

Output only. The currently effective TPM threshold. Reflects scale-up immediately and scale-down at the next billing cycle, matching effective_search_qpm_threshold semantics. Corresponds to the JSON property effectiveTpmThreshold

Returns:

  • (Fixnum)


5275
5276
5277
# File 'lib/google/apis/discoveryengine_v1beta/classes.rb', line 5275

def effective_tpm_threshold
  @effective_tpm_threshold
end

#model_versionString

Output only. The Gemini model version this status corresponds to. Matches CoreSubscription.AgentSearchTokenSubscription.model_version (a stable Gemini model version from the Gemini Enterprise Agent Platform model-versions registry; see https://docs.cloud.google.com/gemini-enterprise-agent-platform/ models/model-versions#gemini-models). Corresponds to the JSON property modelVersion

Returns:

  • (String)


5284
5285
5286
# File 'lib/google/apis/discoveryengine_v1beta/classes.rb', line 5284

def model_version
  @model_version
end

#start_timeString

Output only. When this (project, model_version) Agent Search TPM subscription was first activated. Set once on first activation of this model version and never moved by subsequent threshold updates; on termination + re-activation a new value is recorded. Does NOT move the whole-relationship start_time on the enclosing ConfigurableBillingStatus, which continues to represent the first activation of the overall customer-configurable-pricing relationship. Corresponds to the JSON property startTime

Returns:

  • (String)


5294
5295
5296
# File 'lib/google/apis/discoveryengine_v1beta/classes.rb', line 5294

def start_time
  @start_time
end

#terminate_timeString

Output only. If set, the scheduled effective time at which this (project, model_version) Agent Search TPM subscription will terminate. Populated when the customer removes this entry from core_subscription. agent_search_token_subscriptions[*]. Does NOT move the whole-relationship terminate_time on the enclosing ConfigurableBillingStatus, which is populated only when the entire customer-configurable-pricing relationship is being torn down. Corresponds to the JSON property terminateTime

Returns:

  • (String)


5305
5306
5307
# File 'lib/google/apis/discoveryengine_v1beta/classes.rb', line 5305

def terminate_time
  @terminate_time
end

#tpm_threshold_next_update_timeString

Output only. The earliest next update time for the TPM subscription threshold for this (project, model_version). Populated only after a successful update. Corresponds to the JSON property tpmThresholdNextUpdateTime

Returns:

  • (String)


5311
5312
5313
# File 'lib/google/apis/discoveryengine_v1beta/classes.rb', line 5311

def tpm_threshold_next_update_time
  @tpm_threshold_next_update_time
end

#update_typeString

Output only. The type of the most recent update to this (project, model_version) subscription, as performed by the most recent UpdateProject call. UPDATE_TYPE_UNSPECIFIED indicates this model_version was not touched by the most recent UpdateProject (its effective_tpm_threshold reflects an earlier update). The whole-relationship update_type on the enclosing ConfigurableBillingStatus continues to summarize the direction of the most recent update across all surfaces in the project (QPM, IndexingCore, and Agent Search TPM together). Corresponds to the JSON property updateType

Returns:

  • (String)


5323
5324
5325
# File 'lib/google/apis/discoveryengine_v1beta/classes.rb', line 5323

def update_type
  @update_type
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



5330
5331
5332
5333
5334
5335
5336
5337
# File 'lib/google/apis/discoveryengine_v1beta/classes.rb', line 5330

def update!(**args)
  @effective_tpm_threshold = args[:effective_tpm_threshold] if args.key?(:effective_tpm_threshold)
  @model_version = args[:model_version] if args.key?(:model_version)
  @start_time = args[:start_time] if args.key?(:start_time)
  @terminate_time = args[:terminate_time] if args.key?(:terminate_time)
  @tpm_threshold_next_update_time = args[:tpm_threshold_next_update_time] if args.key?(:tpm_threshold_next_update_time)
  @update_type = args[:update_type] if args.key?(:update_type)
end