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.



28678
28679
28680
# File 'lib/google/apis/discoveryengine_v1beta/classes.rb', line 28678

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)


28628
28629
28630
# File 'lib/google/apis/discoveryengine_v1beta/classes.rb', line 28628

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)


28637
28638
28639
# File 'lib/google/apis/discoveryengine_v1beta/classes.rb', line 28637

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)


28647
28648
28649
# File 'lib/google/apis/discoveryengine_v1beta/classes.rb', line 28647

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)


28658
28659
28660
# File 'lib/google/apis/discoveryengine_v1beta/classes.rb', line 28658

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)


28664
28665
28666
# File 'lib/google/apis/discoveryengine_v1beta/classes.rb', line 28664

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)


28676
28677
28678
# File 'lib/google/apis/discoveryengine_v1beta/classes.rb', line 28676

def update_type
  @update_type
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



28683
28684
28685
28686
28687
28688
28689
28690
# File 'lib/google/apis/discoveryengine_v1beta/classes.rb', line 28683

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