terraform/website/source/docs/providers/consul/r/keys.html.markdown

75 lines
2.3 KiB
Markdown
Raw Normal View History

2014-07-27 02:42:25 +02:00
---
layout: "consul"
page_title: "Consul: consul_keys"
sidebar_current: "docs-consul-resource-keys"
2014-10-22 05:21:56 +02:00
description: |-
Writes values into the Consul key/value store.
2014-07-27 02:42:25 +02:00
---
# consul\_keys
`consul_keys` writes sets of individual values into Consul.
This is a powerful way to expose infrastructure details to clients.
2014-07-27 02:42:25 +02:00
This resource manages individual keys, and thus it can create, update and
2016-09-12 08:04:04 +02:00
delete the keys explicitly given. However, It is not able to detect and remove
additional keys that have been added by non-Terraform means. To manage
*all* keys sharing a common prefix, and thus have Terraform remove errant keys
not present in the configuration, consider using the `consul_key_prefix`
resource instead.
2014-07-27 02:42:25 +02:00
## Example Usage
```
resource "consul_keys" "app" {
datacenter = "nyc1"
token = "abcd"
2014-07-27 02:42:25 +02:00
# Set the CNAME of our load balancer as a key
key {
name = "elb_cname"
path = "service/app/elb_address"
value = "${aws_elb.app.dns_name}"
}
}
```
## Argument Reference
The following arguments are supported:
* `datacenter` - (Optional) The datacenter to use. This overrides the
datacenter in the provider setup and the agent's default datacenter.
* `token` - (Optional) The ACL token to use. This overrides the
token that the agent provides by default.
* `key` - (Required) Specifies a key in Consul to be written.
2014-07-27 02:42:25 +02:00
Supported values documented below.
The `key` block supports the following:
* `path` - (Required) This is the path in Consul that should be written to.
2014-07-27 02:42:25 +02:00
* `value` - (Required) The value to write to the given path.
2014-07-27 02:42:25 +02:00
* `delete` - (Optional) If true, then the key will be deleted when
either its configuration block is removed from the configuration or
the entire resource is destroyed. Otherwise, it will be left in Consul.
2014-07-27 02:42:25 +02:00
Defaults to false.
### Deprecated `key` arguments
Prior to Terraform 0.7 this resource was used both to read *and* write the
Consul key/value store. The read functionality has moved to the `consul_keys`
*data source*, whose documentation can be found via the navigation.
2016-09-12 08:04:04 +02:00
The pre-0.7 interface for reading is still supported for backward compatibility,
but will be removed in a future version of Terraform.
2014-07-27 02:42:25 +02:00
## Attributes Reference
The following attributes are exported:
* `datacenter` - The datacenter the keys are being written to.