Class: Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaProjectConfigurableBillingStatusAgentSearchTokenSubscriptionStatus

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) ⇒ GoogleCloudDiscoveryengineV1alphaProjectConfigurableBillingStatusAgentSearchTokenSubscriptionStatus

Returns a new instance of GoogleCloudDiscoveryengineV1alphaProjectConfigurableBillingStatusAgentSearchTokenSubscriptionStatus.



14025
14026
14027
# File 'lib/google/apis/discoveryengine_v1beta/classes.rb', line 14025

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)


13975
13976
13977
# File 'lib/google/apis/discoveryengine_v1beta/classes.rb', line 13975

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)


13984
13985
13986
# File 'lib/google/apis/discoveryengine_v1beta/classes.rb', line 13984

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)


13994
13995
13996
# File 'lib/google/apis/discoveryengine_v1beta/classes.rb', line 13994

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)


14005
14006
14007
# File 'lib/google/apis/discoveryengine_v1beta/classes.rb', line 14005

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)


14011
14012
14013
# File 'lib/google/apis/discoveryengine_v1beta/classes.rb', line 14011

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)


14023
14024
14025
# File 'lib/google/apis/discoveryengine_v1beta/classes.rb', line 14023

def update_type
  @update_type
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



14030
14031
14032
14033
14034
14035
14036
14037
# File 'lib/google/apis/discoveryengine_v1beta/classes.rb', line 14030

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