github.com/xsb/terraform@v0.6.13-0.20160314145438-fe415c2f09d7/website/source/docs/providers/consul/r/keys.html.markdown (about) 1 --- 2 layout: "consul" 3 page_title: "Consul: consul_keys" 4 sidebar_current: "docs-consul-resource-keys" 5 description: |- 6 Provides access to Key/Value data in Consul. This can be used to both read keys from Consul, but also to set the value of keys in Consul. This is a powerful way dynamically set values in templates, and to expose infrastructure details to clients. 7 --- 8 9 # consul\_keys 10 11 Provides access to Key/Value data in Consul. This can be used 12 to both read keys from Consul, but also to set the value of keys 13 in Consul. This is a powerful way dynamically set values in templates, 14 and to expose infrastructure details to clients. 15 16 ## Example Usage 17 18 ``` 19 resource "consul_keys" "app" { 20 datacenter = "nyc1" 21 token = "abcd" 22 23 # Read the launch AMI from Consul 24 key { 25 name = "ami" 26 path = "service/app/launch_ami" 27 default = "ami-1234" 28 } 29 30 # Set the CNAME of our load balancer as a key 31 key { 32 name = "elb_cname" 33 path = "service/app/elb_address" 34 value = "${aws_elb.app.dns_name}" 35 } 36 } 37 38 # Start our instance with the dynamic ami value 39 resource "aws_instance" "app" { 40 ami = "${consul_keys.app.var.ami}" 41 ... 42 } 43 ``` 44 45 ## Argument Reference 46 47 The following arguments are supported: 48 49 * `datacenter` - (Optional) The datacenter to use. This overrides the 50 datacenter in the provider setup and the agent's default datacenter. 51 52 * `token` - (Optional) The ACL token to use. This overrides the 53 token that the agent provides by default. 54 55 * `key` - (Required) Specifies a key in Consul to be read or written. 56 Supported values documented below. 57 58 The `key` block supports the following: 59 60 * `name` - (Required) This is the name of the key. This value of the 61 key is exposed as `var.<name>`. This is not the path of the key 62 in Consul. 63 64 * `path` - (Required) This is the path in Consul that should be read 65 or written to. 66 67 * `default` - (Optional) This is the default value to set for `var.<name>` 68 if the key does not exist in Consul. Defaults to the empty string. 69 70 * `value` - (Optional) If set, the key will be set to this value. 71 This allows a key to be written to. 72 73 * `delete` - (Optional) If true, then the key will be deleted when 74 either its configuration block is removed from the configuration or 75 the entire resource is destroyed. Otherwise, it will be left in Consul. 76 Defaults to false. 77 78 ## Attributes Reference 79 80 The following attributes are exported: 81 82 * `datacenter` - The datacenter the keys are being read/written to. 83 * `var.<name>` - For each name given, the corresponding attribute 84 has the value of the key.