Class: Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaProjectConfigurableBillingStatusAgentSearchTokenSubscriptionStatus

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

Returns a new instance of GoogleCloudDiscoveryengineV1betaProjectConfigurableBillingStatusAgentSearchTokenSubscriptionStatus.



28032
28033
28034
# File 'lib/google/apis/discoveryengine_v1beta/classes.rb', line 28032

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)


27982
27983
27984
# File 'lib/google/apis/discoveryengine_v1beta/classes.rb', line 27982

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)


27991
27992
27993
# File 'lib/google/apis/discoveryengine_v1beta/classes.rb', line 27991

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)


28001
28002
28003
# File 'lib/google/apis/discoveryengine_v1beta/classes.rb', line 28001

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)


28012
28013
28014
# File 'lib/google/apis/discoveryengine_v1beta/classes.rb', line 28012

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)


28018
28019
28020
# File 'lib/google/apis/discoveryengine_v1beta/classes.rb', line 28018

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)


28030
28031
28032
# File 'lib/google/apis/discoveryengine_v1beta/classes.rb', line 28030

def update_type
  @update_type
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



28037
28038
28039
28040
28041
28042
28043
28044
# File 'lib/google/apis/discoveryengine_v1beta/classes.rb', line 28037

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