{"action":"created","issue":{"url":"https://api.github.com/repos/terraform-providers/terraform-provider-google/issues/1672","repository_url":"https://api.github.com/repos/terraform-providers/terraform-provider-google","labels_url":"https://api.github.com/repos/terraform-providers/terraform-provider-google/issues/1672/labels{/name}","comments_url":"https://api.github.com/repos/terraform-providers/terraform-provider-google/issues/1672/comments","events_url":"https://api.github.com/repos/terraform-providers/terraform-provider-google/issues/1672/events","html_url":"https://github.com/terraform-providers/terraform-provider-google/issues/1672","id":333498134,"node_id":"MDU6SXNzdWUzMzM0OTgxMzQ=","number":1672,"title":"Add support for Cloud Bigtable replication","user":{"login":"mbrukman","id":4074659,"node_id":"MDQ6VXNlcjQwNzQ2NTk=","avatar_url":"https://avatars2.githubusercontent.com/u/4074659?v=4","gravatar_id":"","url":"https://api.github.com/users/mbrukman","html_url":"https://github.com/mbrukman","followers_url":"https://api.github.com/users/mbrukman/followers","following_url":"https://api.github.com/users/mbrukman/following{/other_user}","gists_url":"https://api.github.com/users/mbrukman/gists{/gist_id}","starred_url":"https://api.github.com/users/mbrukman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbrukman/subscriptions","organizations_url":"https://api.github.com/users/mbrukman/orgs","repos_url":"https://api.github.com/users/mbrukman/repos","events_url":"https://api.github.com/users/mbrukman/events{/privacy}","received_events_url":"https://api.github.com/users/mbrukman/received_events","type":"User","site_admin":false},"labels":[{"id":640743825,"node_id":"MDU6TGFiZWw2NDA3NDM4MjU=","url":"https://api.github.com/repos/terraform-providers/terraform-provider-google/labels/breaking-change","name":"breaking-change","color":"d93f0b","default":false},{"id":625730304,"node_id":"MDU6TGFiZWw2MjU3MzAzMDQ=","url":"https://api.github.com/repos/terraform-providers/terraform-provider-google/labels/dependencies","name":"dependencies","color":"fad8c7","default":false},{"id":620326525,"node_id":"MDU6TGFiZWw2MjAzMjY1MjU=","url":"https://api.github.com/repos/terraform-providers/terraform-provider-google/labels/enhancement","name":"enhancement","color":"d4c5f9","default":true}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/terraform-providers/terraform-provider-google/milestones/2","html_url":"https://github.com/terraform-providers/terraform-provider-google/milestone/2","labels_url":"https://api.github.com/repos/terraform-providers/terraform-provider-google/milestones/2/labels","id":3171779,"node_id":"MDk6TWlsZXN0b25lMzE3MTc3OQ==","number":2,"title":"2.0.0","description":"Issues that we would _like_ to get into 2.0.0.\r\n\r\n**Note:** This milestone is not exhaustive, nor is it authoritative. Absence of an issue from it does not mean it will not be included in 2.0.0, and presence of an issue in the milestone is no guarantee it will be included in 2.0.0. This milestone just exists to help us gather issues we're interested in examining as part of the 2.0.0 release.","creator":{"login":"paddycarver","id":59249,"node_id":"MDQ6VXNlcjU5MjQ5","avatar_url":"https://avatars0.githubusercontent.com/u/59249?v=4","gravatar_id":"","url":"https://api.github.com/users/paddycarver","html_url":"https://github.com/paddycarver","followers_url":"https://api.github.com/users/paddycarver/followers","following_url":"https://api.github.com/users/paddycarver/following{/other_user}","gists_url":"https://api.github.com/users/paddycarver/gists{/gist_id}","starred_url":"https://api.github.com/users/paddycarver/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/paddycarver/subscriptions","organizations_url":"https://api.github.com/users/paddycarver/orgs","repos_url":"https://api.github.com/users/paddycarver/repos","events_url":"https://api.github.com/users/paddycarver/events{/privacy}","received_events_url":"https://api.github.com/users/paddycarver/received_events","type":"User","site_admin":false},"open_issues":14,"closed_issues":3,"state":"open","created_at":"2018-03-08T14:42:02Z","updated_at":"2018-10-02T10:39:01Z","due_on":null,"closed_at":null},"comments":4,"created_at":"2018-06-19T02:31:15Z","updated_at":"2018-10-02T15:22:12Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"Currently, support for Cloud Bigtable assumes a 1:1 correspondence between instances and clusters, which was true up until recently, when we launched support for replication (see [blog post](https://cloudplatform.googleblog.com/2018/05/regional-replication-for-cloud-bigtable.html)).\r\n\r\nIn [the docs](https://github.com/terraform-providers/terraform-provider-google/blob/7e64b3f1c1124f612f784800f0a168a47ca877c5/website/docs/r/bigtable_instance.html.markdown), an instance and a cluster are configured together, and assumes that there is exactly 1 of each `instance` and `cluster` created together:\r\n\r\n```hcl\r\nresource \"google_bigtable_instance\" \"instance\" {\r\n  name         = \"tf-instance\"\r\n  cluster_id   = \"tf-instance-cluster\"\r\n  zone         = \"us-central1-b\"\r\n  num_nodes    = 3\r\n  storage_type = \"HDD\"\r\n}\r\n```\r\n\r\nWhat we need to do is enable configuring an instance (an abstract container) together with a list of clusters, each of which has a unique cluster id (so it could actually be a map as well).\r\n\r\nIn fact, the list of clusters is how it's implemented in the [`CreateInstanceRequest` proto](https://github.com/googleapis/googleapis/blob/master/google/bigtable/admin/v2/bigtable_instance_admin.proto#L187-L207) (note: ignore the comment about \"exactly 1 cluster\" per instance; that will be fixed soon)."},"comment":{"url":"https://api.github.com/repos/terraform-providers/terraform-provider-google/issues/comments/426315656","html_url":"https://github.com/terraform-providers/terraform-provider-google/issues/1672#issuecomment-426315656","issue_url":"https://api.github.com/repos/terraform-providers/terraform-provider-google/issues/1672","id":426315656,"node_id":"MDEyOklzc3VlQ29tbWVudDQyNjMxNTY1Ng==","user":{"login":"garye","id":37807,"node_id":"MDQ6VXNlcjM3ODA3","avatar_url":"https://avatars1.githubusercontent.com/u/37807?v=4","gravatar_id":"","url":"https://api.github.com/users/garye","html_url":"https://github.com/garye","followers_url":"https://api.github.com/users/garye/followers","following_url":"https://api.github.com/users/garye/following{/other_user}","gists_url":"https://api.github.com/users/garye/gists{/gist_id}","starred_url":"https://api.github.com/users/garye/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/garye/subscriptions","organizations_url":"https://api.github.com/users/garye/orgs","repos_url":"https://api.github.com/users/garye/repos","events_url":"https://api.github.com/users/garye/events{/privacy}","received_events_url":"https://api.github.com/users/garye/received_events","type":"User","site_admin":false},"created_at":"2018-10-02T15:22:12Z","updated_at":"2018-10-02T15:22:12Z","author_association":"NONE","body":"The resulting clusters are the same regardless of creating one at a time or both together, but the behavior of the default application profile is different. If both clusters are created at once, the profile will be set up for _multi-cluster routing_. Otherwise, it will be set up for _single-cluster routing_ to the _original cluster_ that was created via `CreateInstance`."}}
{"actor":{"display_login":"garye"}}