Class: Google::Cloud::Bigtable::Admin::V2::AppProfile

Inherits:
Object
  • Object
show all
Extended by:
Protobuf::MessageExts::ClassMethods
Includes:
Protobuf::MessageExts
Defined in:
proto_docs/google/bigtable/admin/v2/instance.rb

Overview

A configuration object describing how Cloud Bigtable should treat traffic from a particular end user application.

Defined Under Namespace

Modules: Priority Classes: DataBoostIsolationReadOnly, MultiClusterRoutingUseAny, SingleClusterRouting, StandardIsolation

Instance Attribute Summary collapse

Instance Attribute Details

#data_boost_isolation_read_only::Google::Cloud::Bigtable::Admin::V2::AppProfile::DataBoostIsolationReadOnly

Returns Specifies that this app profile is intended for read-only usage via the Data Boost feature.

Returns:



300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
# File 'proto_docs/google/bigtable/admin/v2/instance.rb', line 300

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

  # Read/write requests are routed to the nearest cluster in the instance, and
  # will fail over to the nearest cluster that is available in the event of
  # transient errors or delays. Clusters in a region are considered
  # equidistant. Choosing this option sacrifices read-your-writes consistency
  # to improve availability.
  # @!attribute [rw] cluster_ids
  #   @return [::Array<::String>]
  #     The set of clusters to route to. The order is ignored; clusters will be
  #     tried in order of distance. If left empty, all clusters are eligible.
  # @!attribute [rw] row_affinity
  #   @return [::Google::Cloud::Bigtable::Admin::V2::AppProfile::MultiClusterRoutingUseAny::RowAffinity]
  #     Row affinity sticky routing based on the row key of the request.
  #     Requests that span multiple rows are routed non-deterministically.
  class MultiClusterRoutingUseAny
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # If enabled, Bigtable will route the request based on the row key of the
    # request, rather than randomly. Instead, each row key will be assigned
    # to a cluster, and will stick to that cluster. If clusters are added or
    # removed, then this may affect which row keys stick to which clusters.
    # To avoid this, users can use a cluster group to specify which clusters
    # are to be used. In this case, new clusters that are not a part of the
    # cluster group will not be routed to, and routing will be unaffected by
    # the new cluster. Moreover, clusters specified in the cluster group cannot
    # be deleted unless removed from the cluster group.
    class RowAffinity
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Unconditionally routes all read/write requests to a specific cluster.
  # This option preserves read-your-writes consistency but does not improve
  # availability.
  # @!attribute [rw] cluster_id
  #   @return [::String]
  #     The cluster to which read/write requests should be routed.
  # @!attribute [rw] allow_transactional_writes
  #   @return [::Boolean]
  #     Whether or not `CheckAndMutateRow` and `ReadModifyWriteRow` requests are
  #     allowed by this app profile. It is unsafe to send these requests to
  #     the same table/row/column in multiple clusters.
  class SingleClusterRouting
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Standard options for isolating this app profile's traffic from other use
  # cases.
  # @!attribute [rw] priority
  #   @return [::Google::Cloud::Bigtable::Admin::V2::AppProfile::Priority]
  #     The priority of requests sent using this app profile.
  class StandardIsolation
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Data Boost is a serverless compute capability that lets you run
  # high-throughput read jobs on your Bigtable data, without impacting the
  # performance of the clusters that handle your application traffic.
  # Currently, Data Boost exclusively supports read-only use-cases with
  # single-cluster routing.
  #
  # Data Boost reads are only guaranteed to see the results of writes that
  # were written at least 30 minutes ago. This means newly written values may
  # not become visible for up to 30m, and also means that old values may
  # remain visible for up to 30m after being deleted or overwritten. To
  # mitigate the staleness of the data, users may either wait 30m, or use
  # CheckConsistency.
  # @!attribute [rw] compute_billing_owner
  #   @return [::Google::Cloud::Bigtable::Admin::V2::AppProfile::DataBoostIsolationReadOnly::ComputeBillingOwner]
  #     The Compute Billing Owner for this Data Boost App Profile.
  class DataBoostIsolationReadOnly
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Compute Billing Owner specifies how usage should be accounted when using
    # Data Boost. Compute Billing Owner also configures which Cloud Project is
    # charged for relevant quota.
    module ComputeBillingOwner
      # Unspecified value.
      COMPUTE_BILLING_OWNER_UNSPECIFIED = 0

      # The host Cloud Project containing the targeted Bigtable Instance /
      # Table pays for compute.
      HOST_PAYS = 1
    end
  end

  # Possible priorities for an app profile. Note that higher priority writes
  # can sometimes queue behind lower priority writes to the same tablet, as
  # writes must be strictly sequenced in the durability log.
  module Priority
    # Default value. Mapped to PRIORITY_HIGH (the legacy behavior) on creation.
    PRIORITY_UNSPECIFIED = 0

    PRIORITY_LOW = 1

    PRIORITY_MEDIUM = 2

    PRIORITY_HIGH = 3
  end
end

#description::String

Returns Long form description of the use case for this AppProfile.

Returns:

  • (::String)

    Long form description of the use case for this AppProfile.



300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
# File 'proto_docs/google/bigtable/admin/v2/instance.rb', line 300

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

  # Read/write requests are routed to the nearest cluster in the instance, and
  # will fail over to the nearest cluster that is available in the event of
  # transient errors or delays. Clusters in a region are considered
  # equidistant. Choosing this option sacrifices read-your-writes consistency
  # to improve availability.
  # @!attribute [rw] cluster_ids
  #   @return [::Array<::String>]
  #     The set of clusters to route to. The order is ignored; clusters will be
  #     tried in order of distance. If left empty, all clusters are eligible.
  # @!attribute [rw] row_affinity
  #   @return [::Google::Cloud::Bigtable::Admin::V2::AppProfile::MultiClusterRoutingUseAny::RowAffinity]
  #     Row affinity sticky routing based on the row key of the request.
  #     Requests that span multiple rows are routed non-deterministically.
  class MultiClusterRoutingUseAny
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # If enabled, Bigtable will route the request based on the row key of the
    # request, rather than randomly. Instead, each row key will be assigned
    # to a cluster, and will stick to that cluster. If clusters are added or
    # removed, then this may affect which row keys stick to which clusters.
    # To avoid this, users can use a cluster group to specify which clusters
    # are to be used. In this case, new clusters that are not a part of the
    # cluster group will not be routed to, and routing will be unaffected by
    # the new cluster. Moreover, clusters specified in the cluster group cannot
    # be deleted unless removed from the cluster group.
    class RowAffinity
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Unconditionally routes all read/write requests to a specific cluster.
  # This option preserves read-your-writes consistency but does not improve
  # availability.
  # @!attribute [rw] cluster_id
  #   @return [::String]
  #     The cluster to which read/write requests should be routed.
  # @!attribute [rw] allow_transactional_writes
  #   @return [::Boolean]
  #     Whether or not `CheckAndMutateRow` and `ReadModifyWriteRow` requests are
  #     allowed by this app profile. It is unsafe to send these requests to
  #     the same table/row/column in multiple clusters.
  class SingleClusterRouting
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Standard options for isolating this app profile's traffic from other use
  # cases.
  # @!attribute [rw] priority
  #   @return [::Google::Cloud::Bigtable::Admin::V2::AppProfile::Priority]
  #     The priority of requests sent using this app profile.
  class StandardIsolation
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Data Boost is a serverless compute capability that lets you run
  # high-throughput read jobs on your Bigtable data, without impacting the
  # performance of the clusters that handle your application traffic.
  # Currently, Data Boost exclusively supports read-only use-cases with
  # single-cluster routing.
  #
  # Data Boost reads are only guaranteed to see the results of writes that
  # were written at least 30 minutes ago. This means newly written values may
  # not become visible for up to 30m, and also means that old values may
  # remain visible for up to 30m after being deleted or overwritten. To
  # mitigate the staleness of the data, users may either wait 30m, or use
  # CheckConsistency.
  # @!attribute [rw] compute_billing_owner
  #   @return [::Google::Cloud::Bigtable::Admin::V2::AppProfile::DataBoostIsolationReadOnly::ComputeBillingOwner]
  #     The Compute Billing Owner for this Data Boost App Profile.
  class DataBoostIsolationReadOnly
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Compute Billing Owner specifies how usage should be accounted when using
    # Data Boost. Compute Billing Owner also configures which Cloud Project is
    # charged for relevant quota.
    module ComputeBillingOwner
      # Unspecified value.
      COMPUTE_BILLING_OWNER_UNSPECIFIED = 0

      # The host Cloud Project containing the targeted Bigtable Instance /
      # Table pays for compute.
      HOST_PAYS = 1
    end
  end

  # Possible priorities for an app profile. Note that higher priority writes
  # can sometimes queue behind lower priority writes to the same tablet, as
  # writes must be strictly sequenced in the durability log.
  module Priority
    # Default value. Mapped to PRIORITY_HIGH (the legacy behavior) on creation.
    PRIORITY_UNSPECIFIED = 0

    PRIORITY_LOW = 1

    PRIORITY_MEDIUM = 2

    PRIORITY_HIGH = 3
  end
end

#etag::String

Returns Strongly validated etag for optimistic concurrency control. Preserve the value returned from GetAppProfile when calling UpdateAppProfile to fail the request if there has been a modification in the mean time. The update_mask of the request need not include etag for this protection to apply. See Wikipedia and RFC 7232 for more details.

Returns:

  • (::String)

    Strongly validated etag for optimistic concurrency control. Preserve the value returned from GetAppProfile when calling UpdateAppProfile to fail the request if there has been a modification in the mean time. The update_mask of the request need not include etag for this protection to apply. See Wikipedia and RFC 7232 for more details.



300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
# File 'proto_docs/google/bigtable/admin/v2/instance.rb', line 300

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

  # Read/write requests are routed to the nearest cluster in the instance, and
  # will fail over to the nearest cluster that is available in the event of
  # transient errors or delays. Clusters in a region are considered
  # equidistant. Choosing this option sacrifices read-your-writes consistency
  # to improve availability.
  # @!attribute [rw] cluster_ids
  #   @return [::Array<::String>]
  #     The set of clusters to route to. The order is ignored; clusters will be
  #     tried in order of distance. If left empty, all clusters are eligible.
  # @!attribute [rw] row_affinity
  #   @return [::Google::Cloud::Bigtable::Admin::V2::AppProfile::MultiClusterRoutingUseAny::RowAffinity]
  #     Row affinity sticky routing based on the row key of the request.
  #     Requests that span multiple rows are routed non-deterministically.
  class MultiClusterRoutingUseAny
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # If enabled, Bigtable will route the request based on the row key of the
    # request, rather than randomly. Instead, each row key will be assigned
    # to a cluster, and will stick to that cluster. If clusters are added or
    # removed, then this may affect which row keys stick to which clusters.
    # To avoid this, users can use a cluster group to specify which clusters
    # are to be used. In this case, new clusters that are not a part of the
    # cluster group will not be routed to, and routing will be unaffected by
    # the new cluster. Moreover, clusters specified in the cluster group cannot
    # be deleted unless removed from the cluster group.
    class RowAffinity
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Unconditionally routes all read/write requests to a specific cluster.
  # This option preserves read-your-writes consistency but does not improve
  # availability.
  # @!attribute [rw] cluster_id
  #   @return [::String]
  #     The cluster to which read/write requests should be routed.
  # @!attribute [rw] allow_transactional_writes
  #   @return [::Boolean]
  #     Whether or not `CheckAndMutateRow` and `ReadModifyWriteRow` requests are
  #     allowed by this app profile. It is unsafe to send these requests to
  #     the same table/row/column in multiple clusters.
  class SingleClusterRouting
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Standard options for isolating this app profile's traffic from other use
  # cases.
  # @!attribute [rw] priority
  #   @return [::Google::Cloud::Bigtable::Admin::V2::AppProfile::Priority]
  #     The priority of requests sent using this app profile.
  class StandardIsolation
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Data Boost is a serverless compute capability that lets you run
  # high-throughput read jobs on your Bigtable data, without impacting the
  # performance of the clusters that handle your application traffic.
  # Currently, Data Boost exclusively supports read-only use-cases with
  # single-cluster routing.
  #
  # Data Boost reads are only guaranteed to see the results of writes that
  # were written at least 30 minutes ago. This means newly written values may
  # not become visible for up to 30m, and also means that old values may
  # remain visible for up to 30m after being deleted or overwritten. To
  # mitigate the staleness of the data, users may either wait 30m, or use
  # CheckConsistency.
  # @!attribute [rw] compute_billing_owner
  #   @return [::Google::Cloud::Bigtable::Admin::V2::AppProfile::DataBoostIsolationReadOnly::ComputeBillingOwner]
  #     The Compute Billing Owner for this Data Boost App Profile.
  class DataBoostIsolationReadOnly
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Compute Billing Owner specifies how usage should be accounted when using
    # Data Boost. Compute Billing Owner also configures which Cloud Project is
    # charged for relevant quota.
    module ComputeBillingOwner
      # Unspecified value.
      COMPUTE_BILLING_OWNER_UNSPECIFIED = 0

      # The host Cloud Project containing the targeted Bigtable Instance /
      # Table pays for compute.
      HOST_PAYS = 1
    end
  end

  # Possible priorities for an app profile. Note that higher priority writes
  # can sometimes queue behind lower priority writes to the same tablet, as
  # writes must be strictly sequenced in the durability log.
  module Priority
    # Default value. Mapped to PRIORITY_HIGH (the legacy behavior) on creation.
    PRIORITY_UNSPECIFIED = 0

    PRIORITY_LOW = 1

    PRIORITY_MEDIUM = 2

    PRIORITY_HIGH = 3
  end
end

#multi_cluster_routing_use_any::Google::Cloud::Bigtable::Admin::V2::AppProfile::MultiClusterRoutingUseAny

Returns Use a multi-cluster routing policy.

Returns:



300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
# File 'proto_docs/google/bigtable/admin/v2/instance.rb', line 300

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

  # Read/write requests are routed to the nearest cluster in the instance, and
  # will fail over to the nearest cluster that is available in the event of
  # transient errors or delays. Clusters in a region are considered
  # equidistant. Choosing this option sacrifices read-your-writes consistency
  # to improve availability.
  # @!attribute [rw] cluster_ids
  #   @return [::Array<::String>]
  #     The set of clusters to route to. The order is ignored; clusters will be
  #     tried in order of distance. If left empty, all clusters are eligible.
  # @!attribute [rw] row_affinity
  #   @return [::Google::Cloud::Bigtable::Admin::V2::AppProfile::MultiClusterRoutingUseAny::RowAffinity]
  #     Row affinity sticky routing based on the row key of the request.
  #     Requests that span multiple rows are routed non-deterministically.
  class MultiClusterRoutingUseAny
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # If enabled, Bigtable will route the request based on the row key of the
    # request, rather than randomly. Instead, each row key will be assigned
    # to a cluster, and will stick to that cluster. If clusters are added or
    # removed, then this may affect which row keys stick to which clusters.
    # To avoid this, users can use a cluster group to specify which clusters
    # are to be used. In this case, new clusters that are not a part of the
    # cluster group will not be routed to, and routing will be unaffected by
    # the new cluster. Moreover, clusters specified in the cluster group cannot
    # be deleted unless removed from the cluster group.
    class RowAffinity
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Unconditionally routes all read/write requests to a specific cluster.
  # This option preserves read-your-writes consistency but does not improve
  # availability.
  # @!attribute [rw] cluster_id
  #   @return [::String]
  #     The cluster to which read/write requests should be routed.
  # @!attribute [rw] allow_transactional_writes
  #   @return [::Boolean]
  #     Whether or not `CheckAndMutateRow` and `ReadModifyWriteRow` requests are
  #     allowed by this app profile. It is unsafe to send these requests to
  #     the same table/row/column in multiple clusters.
  class SingleClusterRouting
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Standard options for isolating this app profile's traffic from other use
  # cases.
  # @!attribute [rw] priority
  #   @return [::Google::Cloud::Bigtable::Admin::V2::AppProfile::Priority]
  #     The priority of requests sent using this app profile.
  class StandardIsolation
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Data Boost is a serverless compute capability that lets you run
  # high-throughput read jobs on your Bigtable data, without impacting the
  # performance of the clusters that handle your application traffic.
  # Currently, Data Boost exclusively supports read-only use-cases with
  # single-cluster routing.
  #
  # Data Boost reads are only guaranteed to see the results of writes that
  # were written at least 30 minutes ago. This means newly written values may
  # not become visible for up to 30m, and also means that old values may
  # remain visible for up to 30m after being deleted or overwritten. To
  # mitigate the staleness of the data, users may either wait 30m, or use
  # CheckConsistency.
  # @!attribute [rw] compute_billing_owner
  #   @return [::Google::Cloud::Bigtable::Admin::V2::AppProfile::DataBoostIsolationReadOnly::ComputeBillingOwner]
  #     The Compute Billing Owner for this Data Boost App Profile.
  class DataBoostIsolationReadOnly
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Compute Billing Owner specifies how usage should be accounted when using
    # Data Boost. Compute Billing Owner also configures which Cloud Project is
    # charged for relevant quota.
    module ComputeBillingOwner
      # Unspecified value.
      COMPUTE_BILLING_OWNER_UNSPECIFIED = 0

      # The host Cloud Project containing the targeted Bigtable Instance /
      # Table pays for compute.
      HOST_PAYS = 1
    end
  end

  # Possible priorities for an app profile. Note that higher priority writes
  # can sometimes queue behind lower priority writes to the same tablet, as
  # writes must be strictly sequenced in the durability log.
  module Priority
    # Default value. Mapped to PRIORITY_HIGH (the legacy behavior) on creation.
    PRIORITY_UNSPECIFIED = 0

    PRIORITY_LOW = 1

    PRIORITY_MEDIUM = 2

    PRIORITY_HIGH = 3
  end
end

#name::String

Returns The unique name of the app profile. Values are of the form projects/{project}/instances/{instance}/appProfiles/[_a-zA-Z0-9][-_.a-zA-Z0-9]*.

Returns:

  • (::String)

    The unique name of the app profile. Values are of the form projects/{project}/instances/{instance}/appProfiles/[_a-zA-Z0-9][-_.a-zA-Z0-9]*.



300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
# File 'proto_docs/google/bigtable/admin/v2/instance.rb', line 300

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

  # Read/write requests are routed to the nearest cluster in the instance, and
  # will fail over to the nearest cluster that is available in the event of
  # transient errors or delays. Clusters in a region are considered
  # equidistant. Choosing this option sacrifices read-your-writes consistency
  # to improve availability.
  # @!attribute [rw] cluster_ids
  #   @return [::Array<::String>]
  #     The set of clusters to route to. The order is ignored; clusters will be
  #     tried in order of distance. If left empty, all clusters are eligible.
  # @!attribute [rw] row_affinity
  #   @return [::Google::Cloud::Bigtable::Admin::V2::AppProfile::MultiClusterRoutingUseAny::RowAffinity]
  #     Row affinity sticky routing based on the row key of the request.
  #     Requests that span multiple rows are routed non-deterministically.
  class MultiClusterRoutingUseAny
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # If enabled, Bigtable will route the request based on the row key of the
    # request, rather than randomly. Instead, each row key will be assigned
    # to a cluster, and will stick to that cluster. If clusters are added or
    # removed, then this may affect which row keys stick to which clusters.
    # To avoid this, users can use a cluster group to specify which clusters
    # are to be used. In this case, new clusters that are not a part of the
    # cluster group will not be routed to, and routing will be unaffected by
    # the new cluster. Moreover, clusters specified in the cluster group cannot
    # be deleted unless removed from the cluster group.
    class RowAffinity
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Unconditionally routes all read/write requests to a specific cluster.
  # This option preserves read-your-writes consistency but does not improve
  # availability.
  # @!attribute [rw] cluster_id
  #   @return [::String]
  #     The cluster to which read/write requests should be routed.
  # @!attribute [rw] allow_transactional_writes
  #   @return [::Boolean]
  #     Whether or not `CheckAndMutateRow` and `ReadModifyWriteRow` requests are
  #     allowed by this app profile. It is unsafe to send these requests to
  #     the same table/row/column in multiple clusters.
  class SingleClusterRouting
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Standard options for isolating this app profile's traffic from other use
  # cases.
  # @!attribute [rw] priority
  #   @return [::Google::Cloud::Bigtable::Admin::V2::AppProfile::Priority]
  #     The priority of requests sent using this app profile.
  class StandardIsolation
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Data Boost is a serverless compute capability that lets you run
  # high-throughput read jobs on your Bigtable data, without impacting the
  # performance of the clusters that handle your application traffic.
  # Currently, Data Boost exclusively supports read-only use-cases with
  # single-cluster routing.
  #
  # Data Boost reads are only guaranteed to see the results of writes that
  # were written at least 30 minutes ago. This means newly written values may
  # not become visible for up to 30m, and also means that old values may
  # remain visible for up to 30m after being deleted or overwritten. To
  # mitigate the staleness of the data, users may either wait 30m, or use
  # CheckConsistency.
  # @!attribute [rw] compute_billing_owner
  #   @return [::Google::Cloud::Bigtable::Admin::V2::AppProfile::DataBoostIsolationReadOnly::ComputeBillingOwner]
  #     The Compute Billing Owner for this Data Boost App Profile.
  class DataBoostIsolationReadOnly
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Compute Billing Owner specifies how usage should be accounted when using
    # Data Boost. Compute Billing Owner also configures which Cloud Project is
    # charged for relevant quota.
    module ComputeBillingOwner
      # Unspecified value.
      COMPUTE_BILLING_OWNER_UNSPECIFIED = 0

      # The host Cloud Project containing the targeted Bigtable Instance /
      # Table pays for compute.
      HOST_PAYS = 1
    end
  end

  # Possible priorities for an app profile. Note that higher priority writes
  # can sometimes queue behind lower priority writes to the same tablet, as
  # writes must be strictly sequenced in the durability log.
  module Priority
    # Default value. Mapped to PRIORITY_HIGH (the legacy behavior) on creation.
    PRIORITY_UNSPECIFIED = 0

    PRIORITY_LOW = 1

    PRIORITY_MEDIUM = 2

    PRIORITY_HIGH = 3
  end
end

#priority::Google::Cloud::Bigtable::Admin::V2::AppProfile::Priority

Deprecated.

This field is deprecated and may be removed in the next major version update.

Returns This field has been deprecated in favor of standard_isolation.priority. If you set this field, standard_isolation.priority will be set instead.

The priority of requests sent using this app profile.

Returns:



300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
# File 'proto_docs/google/bigtable/admin/v2/instance.rb', line 300

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

  # Read/write requests are routed to the nearest cluster in the instance, and
  # will fail over to the nearest cluster that is available in the event of
  # transient errors or delays. Clusters in a region are considered
  # equidistant. Choosing this option sacrifices read-your-writes consistency
  # to improve availability.
  # @!attribute [rw] cluster_ids
  #   @return [::Array<::String>]
  #     The set of clusters to route to. The order is ignored; clusters will be
  #     tried in order of distance. If left empty, all clusters are eligible.
  # @!attribute [rw] row_affinity
  #   @return [::Google::Cloud::Bigtable::Admin::V2::AppProfile::MultiClusterRoutingUseAny::RowAffinity]
  #     Row affinity sticky routing based on the row key of the request.
  #     Requests that span multiple rows are routed non-deterministically.
  class MultiClusterRoutingUseAny
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # If enabled, Bigtable will route the request based on the row key of the
    # request, rather than randomly. Instead, each row key will be assigned
    # to a cluster, and will stick to that cluster. If clusters are added or
    # removed, then this may affect which row keys stick to which clusters.
    # To avoid this, users can use a cluster group to specify which clusters
    # are to be used. In this case, new clusters that are not a part of the
    # cluster group will not be routed to, and routing will be unaffected by
    # the new cluster. Moreover, clusters specified in the cluster group cannot
    # be deleted unless removed from the cluster group.
    class RowAffinity
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Unconditionally routes all read/write requests to a specific cluster.
  # This option preserves read-your-writes consistency but does not improve
  # availability.
  # @!attribute [rw] cluster_id
  #   @return [::String]
  #     The cluster to which read/write requests should be routed.
  # @!attribute [rw] allow_transactional_writes
  #   @return [::Boolean]
  #     Whether or not `CheckAndMutateRow` and `ReadModifyWriteRow` requests are
  #     allowed by this app profile. It is unsafe to send these requests to
  #     the same table/row/column in multiple clusters.
  class SingleClusterRouting
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Standard options for isolating this app profile's traffic from other use
  # cases.
  # @!attribute [rw] priority
  #   @return [::Google::Cloud::Bigtable::Admin::V2::AppProfile::Priority]
  #     The priority of requests sent using this app profile.
  class StandardIsolation
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Data Boost is a serverless compute capability that lets you run
  # high-throughput read jobs on your Bigtable data, without impacting the
  # performance of the clusters that handle your application traffic.
  # Currently, Data Boost exclusively supports read-only use-cases with
  # single-cluster routing.
  #
  # Data Boost reads are only guaranteed to see the results of writes that
  # were written at least 30 minutes ago. This means newly written values may
  # not become visible for up to 30m, and also means that old values may
  # remain visible for up to 30m after being deleted or overwritten. To
  # mitigate the staleness of the data, users may either wait 30m, or use
  # CheckConsistency.
  # @!attribute [rw] compute_billing_owner
  #   @return [::Google::Cloud::Bigtable::Admin::V2::AppProfile::DataBoostIsolationReadOnly::ComputeBillingOwner]
  #     The Compute Billing Owner for this Data Boost App Profile.
  class DataBoostIsolationReadOnly
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Compute Billing Owner specifies how usage should be accounted when using
    # Data Boost. Compute Billing Owner also configures which Cloud Project is
    # charged for relevant quota.
    module ComputeBillingOwner
      # Unspecified value.
      COMPUTE_BILLING_OWNER_UNSPECIFIED = 0

      # The host Cloud Project containing the targeted Bigtable Instance /
      # Table pays for compute.
      HOST_PAYS = 1
    end
  end

  # Possible priorities for an app profile. Note that higher priority writes
  # can sometimes queue behind lower priority writes to the same tablet, as
  # writes must be strictly sequenced in the durability log.
  module Priority
    # Default value. Mapped to PRIORITY_HIGH (the legacy behavior) on creation.
    PRIORITY_UNSPECIFIED = 0

    PRIORITY_LOW = 1

    PRIORITY_MEDIUM = 2

    PRIORITY_HIGH = 3
  end
end

#single_cluster_routing::Google::Cloud::Bigtable::Admin::V2::AppProfile::SingleClusterRouting

Returns Use a single-cluster routing policy.

Returns:



300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
# File 'proto_docs/google/bigtable/admin/v2/instance.rb', line 300

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

  # Read/write requests are routed to the nearest cluster in the instance, and
  # will fail over to the nearest cluster that is available in the event of
  # transient errors or delays. Clusters in a region are considered
  # equidistant. Choosing this option sacrifices read-your-writes consistency
  # to improve availability.
  # @!attribute [rw] cluster_ids
  #   @return [::Array<::String>]
  #     The set of clusters to route to. The order is ignored; clusters will be
  #     tried in order of distance. If left empty, all clusters are eligible.
  # @!attribute [rw] row_affinity
  #   @return [::Google::Cloud::Bigtable::Admin::V2::AppProfile::MultiClusterRoutingUseAny::RowAffinity]
  #     Row affinity sticky routing based on the row key of the request.
  #     Requests that span multiple rows are routed non-deterministically.
  class MultiClusterRoutingUseAny
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # If enabled, Bigtable will route the request based on the row key of the
    # request, rather than randomly. Instead, each row key will be assigned
    # to a cluster, and will stick to that cluster. If clusters are added or
    # removed, then this may affect which row keys stick to which clusters.
    # To avoid this, users can use a cluster group to specify which clusters
    # are to be used. In this case, new clusters that are not a part of the
    # cluster group will not be routed to, and routing will be unaffected by
    # the new cluster. Moreover, clusters specified in the cluster group cannot
    # be deleted unless removed from the cluster group.
    class RowAffinity
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Unconditionally routes all read/write requests to a specific cluster.
  # This option preserves read-your-writes consistency but does not improve
  # availability.
  # @!attribute [rw] cluster_id
  #   @return [::String]
  #     The cluster to which read/write requests should be routed.
  # @!attribute [rw] allow_transactional_writes
  #   @return [::Boolean]
  #     Whether or not `CheckAndMutateRow` and `ReadModifyWriteRow` requests are
  #     allowed by this app profile. It is unsafe to send these requests to
  #     the same table/row/column in multiple clusters.
  class SingleClusterRouting
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Standard options for isolating this app profile's traffic from other use
  # cases.
  # @!attribute [rw] priority
  #   @return [::Google::Cloud::Bigtable::Admin::V2::AppProfile::Priority]
  #     The priority of requests sent using this app profile.
  class StandardIsolation
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Data Boost is a serverless compute capability that lets you run
  # high-throughput read jobs on your Bigtable data, without impacting the
  # performance of the clusters that handle your application traffic.
  # Currently, Data Boost exclusively supports read-only use-cases with
  # single-cluster routing.
  #
  # Data Boost reads are only guaranteed to see the results of writes that
  # were written at least 30 minutes ago. This means newly written values may
  # not become visible for up to 30m, and also means that old values may
  # remain visible for up to 30m after being deleted or overwritten. To
  # mitigate the staleness of the data, users may either wait 30m, or use
  # CheckConsistency.
  # @!attribute [rw] compute_billing_owner
  #   @return [::Google::Cloud::Bigtable::Admin::V2::AppProfile::DataBoostIsolationReadOnly::ComputeBillingOwner]
  #     The Compute Billing Owner for this Data Boost App Profile.
  class DataBoostIsolationReadOnly
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Compute Billing Owner specifies how usage should be accounted when using
    # Data Boost. Compute Billing Owner also configures which Cloud Project is
    # charged for relevant quota.
    module ComputeBillingOwner
      # Unspecified value.
      COMPUTE_BILLING_OWNER_UNSPECIFIED = 0

      # The host Cloud Project containing the targeted Bigtable Instance /
      # Table pays for compute.
      HOST_PAYS = 1
    end
  end

  # Possible priorities for an app profile. Note that higher priority writes
  # can sometimes queue behind lower priority writes to the same tablet, as
  # writes must be strictly sequenced in the durability log.
  module Priority
    # Default value. Mapped to PRIORITY_HIGH (the legacy behavior) on creation.
    PRIORITY_UNSPECIFIED = 0

    PRIORITY_LOW = 1

    PRIORITY_MEDIUM = 2

    PRIORITY_HIGH = 3
  end
end

#standard_isolation::Google::Cloud::Bigtable::Admin::V2::AppProfile::StandardIsolation

Returns The standard options used for isolating this app profile's traffic from other use cases.

Returns:



300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
# File 'proto_docs/google/bigtable/admin/v2/instance.rb', line 300

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

  # Read/write requests are routed to the nearest cluster in the instance, and
  # will fail over to the nearest cluster that is available in the event of
  # transient errors or delays. Clusters in a region are considered
  # equidistant. Choosing this option sacrifices read-your-writes consistency
  # to improve availability.
  # @!attribute [rw] cluster_ids
  #   @return [::Array<::String>]
  #     The set of clusters to route to. The order is ignored; clusters will be
  #     tried in order of distance. If left empty, all clusters are eligible.
  # @!attribute [rw] row_affinity
  #   @return [::Google::Cloud::Bigtable::Admin::V2::AppProfile::MultiClusterRoutingUseAny::RowAffinity]
  #     Row affinity sticky routing based on the row key of the request.
  #     Requests that span multiple rows are routed non-deterministically.
  class MultiClusterRoutingUseAny
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # If enabled, Bigtable will route the request based on the row key of the
    # request, rather than randomly. Instead, each row key will be assigned
    # to a cluster, and will stick to that cluster. If clusters are added or
    # removed, then this may affect which row keys stick to which clusters.
    # To avoid this, users can use a cluster group to specify which clusters
    # are to be used. In this case, new clusters that are not a part of the
    # cluster group will not be routed to, and routing will be unaffected by
    # the new cluster. Moreover, clusters specified in the cluster group cannot
    # be deleted unless removed from the cluster group.
    class RowAffinity
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Unconditionally routes all read/write requests to a specific cluster.
  # This option preserves read-your-writes consistency but does not improve
  # availability.
  # @!attribute [rw] cluster_id
  #   @return [::String]
  #     The cluster to which read/write requests should be routed.
  # @!attribute [rw] allow_transactional_writes
  #   @return [::Boolean]
  #     Whether or not `CheckAndMutateRow` and `ReadModifyWriteRow` requests are
  #     allowed by this app profile. It is unsafe to send these requests to
  #     the same table/row/column in multiple clusters.
  class SingleClusterRouting
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Standard options for isolating this app profile's traffic from other use
  # cases.
  # @!attribute [rw] priority
  #   @return [::Google::Cloud::Bigtable::Admin::V2::AppProfile::Priority]
  #     The priority of requests sent using this app profile.
  class StandardIsolation
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Data Boost is a serverless compute capability that lets you run
  # high-throughput read jobs on your Bigtable data, without impacting the
  # performance of the clusters that handle your application traffic.
  # Currently, Data Boost exclusively supports read-only use-cases with
  # single-cluster routing.
  #
  # Data Boost reads are only guaranteed to see the results of writes that
  # were written at least 30 minutes ago. This means newly written values may
  # not become visible for up to 30m, and also means that old values may
  # remain visible for up to 30m after being deleted or overwritten. To
  # mitigate the staleness of the data, users may either wait 30m, or use
  # CheckConsistency.
  # @!attribute [rw] compute_billing_owner
  #   @return [::Google::Cloud::Bigtable::Admin::V2::AppProfile::DataBoostIsolationReadOnly::ComputeBillingOwner]
  #     The Compute Billing Owner for this Data Boost App Profile.
  class DataBoostIsolationReadOnly
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Compute Billing Owner specifies how usage should be accounted when using
    # Data Boost. Compute Billing Owner also configures which Cloud Project is
    # charged for relevant quota.
    module ComputeBillingOwner
      # Unspecified value.
      COMPUTE_BILLING_OWNER_UNSPECIFIED = 0

      # The host Cloud Project containing the targeted Bigtable Instance /
      # Table pays for compute.
      HOST_PAYS = 1
    end
  end

  # Possible priorities for an app profile. Note that higher priority writes
  # can sometimes queue behind lower priority writes to the same tablet, as
  # writes must be strictly sequenced in the durability log.
  module Priority
    # Default value. Mapped to PRIORITY_HIGH (the legacy behavior) on creation.
    PRIORITY_UNSPECIFIED = 0

    PRIORITY_LOW = 1

    PRIORITY_MEDIUM = 2

    PRIORITY_HIGH = 3
  end
end