1.0.0-beta25 (latest) 1.0.0-beta24

    public sealed class Project.Types.ConfigurableBillingStatus.Types.AgentSearchTokenSubscriptionStatus : IMessage<Project.Types.ConfigurableBillingStatus.Types.AgentSearchTokenSubscriptionStatus>, IEquatable<Project.Types.ConfigurableBillingStatus.Types.AgentSearchTokenSubscriptionStatus>, IDeepCloneable<Project.Types.ConfigurableBillingStatus.Types.AgentSearchTokenSubscriptionStatus>, IBufferMessage, IMessage

Reference documentation and code samples for the Discovery Engine v1beta API class Project.Types.ConfigurableBillingStatus.Types.AgentSearchTokenSubscriptionStatus.

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.

## Inheritance

[object](https://learn.microsoft.com/dotnet/api/system.object) \> Project.Types.ConfigurableBillingStatus.Types.AgentSearchTokenSubscriptionStatus

## Implements

[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[Project](https://docs.cloud.google.com/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta.Project)[Types](https://docs.cloud.google.com/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta.Project.Types)[ConfigurableBillingStatus](https://docs.cloud.google.com/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta.Project.Types.ConfigurableBillingStatus)[Types](https://docs.cloud.google.com/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta.Project.Types.ConfigurableBillingStatus.Types)[AgentSearchTokenSubscriptionStatus](https://docs.cloud.google.com/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta.Project.Types.ConfigurableBillingStatus.Types.AgentSearchTokenSubscriptionStatus), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[Project](https://docs.cloud.google.com/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta.Project)[Types](https://docs.cloud.google.com/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta.Project.Types)[ConfigurableBillingStatus](https://docs.cloud.google.com/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta.Project.Types.ConfigurableBillingStatus)[Types](https://docs.cloud.google.com/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta.Project.Types.ConfigurableBillingStatus.Types)[AgentSearchTokenSubscriptionStatus](https://docs.cloud.google.com/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta.Project.Types.ConfigurableBillingStatus.Types.AgentSearchTokenSubscriptionStatus), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[Project](https://docs.cloud.google.com/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta.Project)[Types](https://docs.cloud.google.com/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta.Project.Types)[ConfigurableBillingStatus](https://docs.cloud.google.com/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta.Project.Types.ConfigurableBillingStatus)[Types](https://docs.cloud.google.com/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta.Project.Types.ConfigurableBillingStatus.Types)[AgentSearchTokenSubscriptionStatus](https://docs.cloud.google.com/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta.Project.Types.ConfigurableBillingStatus.Types.AgentSearchTokenSubscriptionStatus), [IBufferMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IBufferMessage.html), [IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage.html)

## Inherited Members

[object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode) [object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype) [object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)

## Namespace

[Google.Cloud.DiscoveryEngine.V1Beta](https://docs.cloud.google.com/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta)

## Assembly

Google.Cloud.DiscoveryEngine.V1Beta.dll

## Constructors

### AgentSearchTokenSubscriptionStatus()

    public AgentSearchTokenSubscriptionStatus()

### AgentSearchTokenSubscriptionStatus(AgentSearchTokenSubscriptionStatus)

    public AgentSearchTokenSubscriptionStatus(Project.Types.ConfigurableBillingStatus.Types.AgentSearchTokenSubscriptionStatus other)

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `other` | `https://docs.cloud.google.com/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta.Projecthttps://docs.cloud.google.com/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta.Project.Typeshttps://docs.cloud.google.com/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta.Project.Types.ConfigurableBillingStatushttps://docs.cloud.google.com/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta.Project.Types.ConfigurableBillingStatus.Typeshttps://docs.cloud.google.com/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta.Project.Types.ConfigurableBillingStatus.Types.AgentSearchTokenSubscriptionStatus` |

## Properties

### EffectiveTpmThreshold

    public long EffectiveTpmThreshold { get; set; }

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.

| **Property Value** ||
|---|---|
| **Type** | **Description** |
| `https://learn.microsoft.com/dotnet/api/system.int64` |   |

### ModelVersion

    public string ModelVersion { get; set; }

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>).

| **Property Value** ||
|---|---|
| **Type** | **Description** |
| `https://learn.microsoft.com/dotnet/api/system.string` |   |

### StartTime

    public Timestamp StartTime { get; set; }

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.

| **Property Value** ||
|---|---|
| **Type** | **Description** |
| `https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.WellKnownTypes.Timestamp.html` |   |

### TerminateTime

    public Timestamp TerminateTime { get; set; }

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.

| **Property Value** ||
|---|---|
| **Type** | **Description** |
| `https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.WellKnownTypes.Timestamp.html` |   |

### TpmThresholdNextUpdateTime

    public Timestamp TpmThresholdNextUpdateTime { get; set; }

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

| **Property Value** ||
|---|---|
| **Type** | **Description** |
| `https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.WellKnownTypes.Timestamp.html` |   |

### UpdateType

    public Project.Types.ConfigurableBillingStatus.Types.UpdateType UpdateType { get; set; }

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).

| **Property Value** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta.Projecthttps://docs.cloud.google.com/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta.Project.Typeshttps://docs.cloud.google.com/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta.Project.Types.ConfigurableBillingStatushttps://docs.cloud.google.com/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta.Project.Types.ConfigurableBillingStatus.Typeshttps://docs.cloud.google.com/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta.Project.Types.ConfigurableBillingStatus.Types.UpdateType` |   |