Class: Google::Cloud::DiscoveryEngine::V1beta::Project::ConfigurableBillingStatus

Inherits:
Object
  • Object
show all
Extended by:
Protobuf::MessageExts::ClassMethods
Includes:
Protobuf::MessageExts
Defined in:
proto_docs/google/cloud/discoveryengine/v1beta/project.rb

Overview

Represents the currently effective configurable billing parameters. These values are derived from the customer's subscription history stored internally and reflect the thresholds actively being used for billing purposes at the time of the GetProject call. This includes the start_time of the subscription and may differ from the values in customer_provided_config due to billing rules (e.g., scale-downs taking effect only at the start of a new month). We also include the update type to indicate the type of update performed on the configurable billing configuration in the UpdateProject operation.

Defined Under Namespace

Modules: UpdateType Classes: AgentSearchTokenSubscriptionStatus

Instance Attribute Summary collapse

Instance Attribute Details

#agent_search_token_subscription_statuses::Array<::Google::Cloud::DiscoveryEngine::V1beta::Project::ConfigurableBillingStatus::AgentSearchTokenSubscriptionStatus> (readonly)

Returns Output only. Per-model Agent Search TPM subscription status.

Returns:



215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
# File 'proto_docs/google/cloud/discoveryengine/v1beta/project.rb', line 215

class ConfigurableBillingStatus
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # 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.
  # @!attribute [r] model_version
  #   @return [::String]
  #     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).
  # @!attribute [r] effective_tpm_threshold
  #   @return [::Integer]
  #     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.
  # @!attribute [r] tpm_threshold_next_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. The earliest next update time for the TPM subscription
  #     threshold for this (project, model_version). Populated only after a
  #     successful update.
  # @!attribute [r] start_time
  #   @return [::Google::Protobuf::Timestamp]
  #     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.
  # @!attribute [r] terminate_time
  #   @return [::Google::Protobuf::Timestamp]
  #     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.
  # @!attribute [r] update_type
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::Project::ConfigurableBillingStatus::UpdateType]
  #     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).
  class AgentSearchTokenSubscriptionStatus
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The type of update performed on the configurable billing configuration.
  module UpdateType
    # Unspecified update type.
    UPDATE_TYPE_UNSPECIFIED = 0

    # Configurable billing was created/enabled.
    CREATE = 1

    # Configurable billing was deleted/disabled.
    DELETE = 2

    # Subscription was scaled up (thresholds increased).
    SCALE_UP = 3

    # Subscription was scaled down (thresholds decreased).
    SCALE_DOWN = 4
  end
end

#effective_indexing_core_threshold::Integer

Returns Optional. The currently effective Indexing Core threshold. This is the threshold against which Indexing Core usage is compared for overage calculations.

Returns:

  • (::Integer)

    Optional. The currently effective Indexing Core threshold. This is the threshold against which Indexing Core usage is compared for overage calculations.



215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
# File 'proto_docs/google/cloud/discoveryengine/v1beta/project.rb', line 215

class ConfigurableBillingStatus
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # 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.
  # @!attribute [r] model_version
  #   @return [::String]
  #     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).
  # @!attribute [r] effective_tpm_threshold
  #   @return [::Integer]
  #     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.
  # @!attribute [r] tpm_threshold_next_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. The earliest next update time for the TPM subscription
  #     threshold for this (project, model_version). Populated only after a
  #     successful update.
  # @!attribute [r] start_time
  #   @return [::Google::Protobuf::Timestamp]
  #     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.
  # @!attribute [r] terminate_time
  #   @return [::Google::Protobuf::Timestamp]
  #     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.
  # @!attribute [r] update_type
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::Project::ConfigurableBillingStatus::UpdateType]
  #     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).
  class AgentSearchTokenSubscriptionStatus
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The type of update performed on the configurable billing configuration.
  module UpdateType
    # Unspecified update type.
    UPDATE_TYPE_UNSPECIFIED = 0

    # Configurable billing was created/enabled.
    CREATE = 1

    # Configurable billing was deleted/disabled.
    DELETE = 2

    # Subscription was scaled up (thresholds increased).
    SCALE_UP = 3

    # Subscription was scaled down (thresholds decreased).
    SCALE_DOWN = 4
  end
end

#effective_search_qpm_threshold::Integer

Returns Optional. The currently effective Search QPM threshold in queries per minute. This is the threshold against which QPM usage is compared for overage calculations.

Returns:

  • (::Integer)

    Optional. The currently effective Search QPM threshold in queries per minute. This is the threshold against which QPM usage is compared for overage calculations.



215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
# File 'proto_docs/google/cloud/discoveryengine/v1beta/project.rb', line 215

class ConfigurableBillingStatus
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # 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.
  # @!attribute [r] model_version
  #   @return [::String]
  #     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).
  # @!attribute [r] effective_tpm_threshold
  #   @return [::Integer]
  #     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.
  # @!attribute [r] tpm_threshold_next_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. The earliest next update time for the TPM subscription
  #     threshold for this (project, model_version). Populated only after a
  #     successful update.
  # @!attribute [r] start_time
  #   @return [::Google::Protobuf::Timestamp]
  #     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.
  # @!attribute [r] terminate_time
  #   @return [::Google::Protobuf::Timestamp]
  #     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.
  # @!attribute [r] update_type
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::Project::ConfigurableBillingStatus::UpdateType]
  #     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).
  class AgentSearchTokenSubscriptionStatus
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The type of update performed on the configurable billing configuration.
  module UpdateType
    # Unspecified update type.
    UPDATE_TYPE_UNSPECIFIED = 0

    # Configurable billing was created/enabled.
    CREATE = 1

    # Configurable billing was deleted/disabled.
    DELETE = 2

    # Subscription was scaled up (thresholds increased).
    SCALE_UP = 3

    # Subscription was scaled down (thresholds decreased).
    SCALE_DOWN = 4
  end
end

#indexing_core_threshold_next_update_time::Google::Protobuf::Timestamp (readonly)

Returns Output only. The earliest next update time for the indexing core subscription threshold. This is based on the next_update_time returned by the underlying Cloud Billing Subscription V3 API. This field is populated only if an update indexing core subscription threshold request is succeeded.

Returns:

  • (::Google::Protobuf::Timestamp)

    Output only. The earliest next update time for the indexing core subscription threshold. This is based on the next_update_time returned by the underlying Cloud Billing Subscription V3 API. This field is populated only if an update indexing core subscription threshold request is succeeded.



215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
# File 'proto_docs/google/cloud/discoveryengine/v1beta/project.rb', line 215

class ConfigurableBillingStatus
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # 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.
  # @!attribute [r] model_version
  #   @return [::String]
  #     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).
  # @!attribute [r] effective_tpm_threshold
  #   @return [::Integer]
  #     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.
  # @!attribute [r] tpm_threshold_next_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. The earliest next update time for the TPM subscription
  #     threshold for this (project, model_version). Populated only after a
  #     successful update.
  # @!attribute [r] start_time
  #   @return [::Google::Protobuf::Timestamp]
  #     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.
  # @!attribute [r] terminate_time
  #   @return [::Google::Protobuf::Timestamp]
  #     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.
  # @!attribute [r] update_type
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::Project::ConfigurableBillingStatus::UpdateType]
  #     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).
  class AgentSearchTokenSubscriptionStatus
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The type of update performed on the configurable billing configuration.
  module UpdateType
    # Unspecified update type.
    UPDATE_TYPE_UNSPECIFIED = 0

    # Configurable billing was created/enabled.
    CREATE = 1

    # Configurable billing was deleted/disabled.
    DELETE = 2

    # Subscription was scaled up (thresholds increased).
    SCALE_UP = 3

    # Subscription was scaled down (thresholds decreased).
    SCALE_DOWN = 4
  end
end

#search_qpm_threshold_next_update_time::Google::Protobuf::Timestamp (readonly)

Returns Output only. The earliest next update time for the search QPM subscription threshold. This is based on the next_update_time returned by the underlying Cloud Billing Subscription V3 API. This field is populated only if an update QPM subscription threshold request is succeeded.

Returns:

  • (::Google::Protobuf::Timestamp)

    Output only. The earliest next update time for the search QPM subscription threshold. This is based on the next_update_time returned by the underlying Cloud Billing Subscription V3 API. This field is populated only if an update QPM subscription threshold request is succeeded.



215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
# File 'proto_docs/google/cloud/discoveryengine/v1beta/project.rb', line 215

class ConfigurableBillingStatus
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # 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.
  # @!attribute [r] model_version
  #   @return [::String]
  #     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).
  # @!attribute [r] effective_tpm_threshold
  #   @return [::Integer]
  #     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.
  # @!attribute [r] tpm_threshold_next_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. The earliest next update time for the TPM subscription
  #     threshold for this (project, model_version). Populated only after a
  #     successful update.
  # @!attribute [r] start_time
  #   @return [::Google::Protobuf::Timestamp]
  #     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.
  # @!attribute [r] terminate_time
  #   @return [::Google::Protobuf::Timestamp]
  #     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.
  # @!attribute [r] update_type
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::Project::ConfigurableBillingStatus::UpdateType]
  #     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).
  class AgentSearchTokenSubscriptionStatus
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The type of update performed on the configurable billing configuration.
  module UpdateType
    # Unspecified update type.
    UPDATE_TYPE_UNSPECIFIED = 0

    # Configurable billing was created/enabled.
    CREATE = 1

    # Configurable billing was deleted/disabled.
    DELETE = 2

    # Subscription was scaled up (thresholds increased).
    SCALE_UP = 3

    # Subscription was scaled down (thresholds decreased).
    SCALE_DOWN = 4
  end
end

#start_time::Google::Protobuf::Timestamp

Returns Optional. The start time of the currently active billing subscription.

Returns:



215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
# File 'proto_docs/google/cloud/discoveryengine/v1beta/project.rb', line 215

class ConfigurableBillingStatus
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # 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.
  # @!attribute [r] model_version
  #   @return [::String]
  #     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).
  # @!attribute [r] effective_tpm_threshold
  #   @return [::Integer]
  #     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.
  # @!attribute [r] tpm_threshold_next_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. The earliest next update time for the TPM subscription
  #     threshold for this (project, model_version). Populated only after a
  #     successful update.
  # @!attribute [r] start_time
  #   @return [::Google::Protobuf::Timestamp]
  #     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.
  # @!attribute [r] terminate_time
  #   @return [::Google::Protobuf::Timestamp]
  #     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.
  # @!attribute [r] update_type
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::Project::ConfigurableBillingStatus::UpdateType]
  #     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).
  class AgentSearchTokenSubscriptionStatus
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The type of update performed on the configurable billing configuration.
  module UpdateType
    # Unspecified update type.
    UPDATE_TYPE_UNSPECIFIED = 0

    # Configurable billing was created/enabled.
    CREATE = 1

    # Configurable billing was deleted/disabled.
    DELETE = 2

    # Subscription was scaled up (thresholds increased).
    SCALE_UP = 3

    # Subscription was scaled down (thresholds decreased).
    SCALE_DOWN = 4
  end
end

#terminate_time::Google::Protobuf::Timestamp (readonly)

Returns Output only. The latest terminate effective time of search qpm and indexing core subscriptions.

Returns:



215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
# File 'proto_docs/google/cloud/discoveryengine/v1beta/project.rb', line 215

class ConfigurableBillingStatus
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # 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.
  # @!attribute [r] model_version
  #   @return [::String]
  #     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).
  # @!attribute [r] effective_tpm_threshold
  #   @return [::Integer]
  #     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.
  # @!attribute [r] tpm_threshold_next_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. The earliest next update time for the TPM subscription
  #     threshold for this (project, model_version). Populated only after a
  #     successful update.
  # @!attribute [r] start_time
  #   @return [::Google::Protobuf::Timestamp]
  #     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.
  # @!attribute [r] terminate_time
  #   @return [::Google::Protobuf::Timestamp]
  #     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.
  # @!attribute [r] update_type
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::Project::ConfigurableBillingStatus::UpdateType]
  #     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).
  class AgentSearchTokenSubscriptionStatus
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The type of update performed on the configurable billing configuration.
  module UpdateType
    # Unspecified update type.
    UPDATE_TYPE_UNSPECIFIED = 0

    # Configurable billing was created/enabled.
    CREATE = 1

    # Configurable billing was deleted/disabled.
    DELETE = 2

    # Subscription was scaled up (thresholds increased).
    SCALE_UP = 3

    # Subscription was scaled down (thresholds decreased).
    SCALE_DOWN = 4
  end
end

#update_type::Google::Cloud::DiscoveryEngine::V1beta::Project::ConfigurableBillingStatus::UpdateType (readonly)

Returns Output only. The type of update performed in this operation. This field is populated in the response of UpdateProject.

Returns:



215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
# File 'proto_docs/google/cloud/discoveryengine/v1beta/project.rb', line 215

class ConfigurableBillingStatus
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # 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.
  # @!attribute [r] model_version
  #   @return [::String]
  #     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).
  # @!attribute [r] effective_tpm_threshold
  #   @return [::Integer]
  #     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.
  # @!attribute [r] tpm_threshold_next_update_time
  #   @return [::Google::Protobuf::Timestamp]
  #     Output only. The earliest next update time for the TPM subscription
  #     threshold for this (project, model_version). Populated only after a
  #     successful update.
  # @!attribute [r] start_time
  #   @return [::Google::Protobuf::Timestamp]
  #     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.
  # @!attribute [r] terminate_time
  #   @return [::Google::Protobuf::Timestamp]
  #     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.
  # @!attribute [r] update_type
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::Project::ConfigurableBillingStatus::UpdateType]
  #     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).
  class AgentSearchTokenSubscriptionStatus
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The type of update performed on the configurable billing configuration.
  module UpdateType
    # Unspecified update type.
    UPDATE_TYPE_UNSPECIFIED = 0

    # Configurable billing was created/enabled.
    CREATE = 1

    # Configurable billing was deleted/disabled.
    DELETE = 2

    # Subscription was scaled up (thresholds increased).
    SCALE_UP = 3

    # Subscription was scaled down (thresholds decreased).
    SCALE_DOWN = 4
  end
end