» google_bigtable_app_profile

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

» Example Usage - Bigtable App Profile Multicluster

resource "google_bigtable_instance" "instance" {
  name = "tf-test-instance-"
  cluster {
    cluster_id   = "tf-test-instance-"
    zone         = "us-central1-b"
    num_nodes    = 3
    storage_type = "HDD"
  }
}

resource "google_bigtable_app_profile" "ap" {
  instance       = google_bigtable_instance.instance.name
  app_profile_id = "tf-test-profile-"

  multi_cluster_routing_use_any = true
  ignore_warnings               = true
}

» Example Usage - Bigtable App Profile Singlecluster

resource "google_bigtable_instance" "instance" {
  name = "tf-test-instance-"
  cluster {
    cluster_id   = "tf-test-instance-"
    zone         = "us-central1-b"
    num_nodes    = 3
    storage_type = "HDD"
  }
}

resource "google_bigtable_app_profile" "ap" {
  instance       = google_bigtable_instance.instance.name
  app_profile_id = "tf-test-profile-"

  single_cluster_routing {
    cluster_id                 = "tf-test-instance-"
    allow_transactional_writes = true
  }

  ignore_warnings = true
}

» Argument Reference

The following arguments are supported:

  • app_profile_id - (Required) The unique name of the app profile in the form [_a-zA-Z0-9][-_.a-zA-Z0-9]*.

  • description - (Optional) Long form description of the use case for this app profile.

  • multi_cluster_routing_use_any - (Optional) If true, 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.

  • single_cluster_routing - (Optional) Use a single-cluster routing policy. Structure is documented below.

  • instance - (Optional) The name of the instance to create the app profile within.

  • ignore_warnings - (Optional) If true, ignore safety checks when deleting/updating the app profile.

  • project - (Optional) The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

The single_cluster_routing block supports:

  • cluster_id - (Required) The cluster to which read/write requests should be routed.

  • allow_transactional_writes - (Optional) If true, 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.

» Attributes Reference

In addition to the arguments listed above, the following computed attributes are exported:

  • name - The unique name of the requested app profile. Values are of the form projects/<project>/instances/<instance>/appProfiles/<appProfileId>.

» Timeouts

This resource provides the following Timeouts configuration options:

  • create - Default is 4 minutes.
  • update - Default is 4 minutes.
  • delete - Default is 4 minutes.

» Import

AppProfile can be imported using any of these accepted formats:

$ terraform import google_bigtable_app_profile.default projects/{{project}}/instances/{{instance}}/appProfiles/{{app_profile_id}}
$ terraform import google_bigtable_app_profile.default {{project}}/{{instance}}/{{app_profile_id}}
$ terraform import google_bigtable_app_profile.default {{instance}}/{{app_profile_id}}

» User Project Overrides

This resource supports User Project Overrides.