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



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
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
# File 'proto_docs/google/bigtable/admin/v2/instance.rb', line 332

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 and queries on your Bigtable data, without
  # impacting the performance of the clusters that handle your application
  # traffic. Data Boost supports read-only use cases with single-cluster
  # routing.
  # @!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



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
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
# File 'proto_docs/google/bigtable/admin/v2/instance.rb', line 332

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 and queries on your Bigtable data, without
  # impacting the performance of the clusters that handle your application
  # traffic. Data Boost supports read-only use cases with single-cluster
  # routing.
  # @!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



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
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
# File 'proto_docs/google/bigtable/admin/v2/instance.rb', line 332

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 and queries on your Bigtable data, without
  # impacting the performance of the clusters that handle your application
  # traffic. Data Boost supports read-only use cases with single-cluster
  # routing.
  # @!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



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
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
# File 'proto_docs/google/bigtable/admin/v2/instance.rb', line 332

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 and queries on your Bigtable data, without
  # impacting the performance of the clusters that handle your application
  # traffic. Data Boost supports read-only use cases with single-cluster
  # routing.
  # @!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



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
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
# File 'proto_docs/google/bigtable/admin/v2/instance.rb', line 332

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 and queries on your Bigtable data, without
  # impacting the performance of the clusters that handle your application
  # traffic. Data Boost supports read-only use cases with single-cluster
  # routing.
  # @!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.

Note: The following fields are mutually exclusive: priority, standard_isolation, data_boost_isolation_read_only. If a field in that set is populated, all other fields in the set will automatically be cleared.



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
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
# File 'proto_docs/google/bigtable/admin/v2/instance.rb', line 332

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 and queries on your Bigtable data, without
  # impacting the performance of the clusters that handle your application
  # traffic. Data Boost supports read-only use cases with single-cluster
  # routing.
  # @!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



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
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
# File 'proto_docs/google/bigtable/admin/v2/instance.rb', line 332

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 and queries on your Bigtable data, without
  # impacting the performance of the clusters that handle your application
  # traffic. Data Boost supports read-only use cases with single-cluster
  # routing.
  # @!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



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
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
# File 'proto_docs/google/bigtable/admin/v2/instance.rb', line 332

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 and queries on your Bigtable data, without
  # impacting the performance of the clusters that handle your application
  # traffic. Data Boost supports read-only use cases with single-cluster
  # routing.
  # @!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