website: docs for null_resource

This commit is contained in:
Paul Hinze 2015-10-27 15:28:37 -05:00
parent 54351885b6
commit 7f800f3498
2 changed files with 64 additions and 0 deletions

View File

@ -0,0 +1,60 @@
---
layout: "docs"
page_title: "Provisioners: null_resource"
sidebar_current: "docs-provisioners-null-resource"
description: |-
The `null_resource` is a resource allows you to configure provisioners that
are not directly associated with a single exiting resource.
---
# null\_resource
The `null_resource` is a resource that allows you to configure provisioners
that are not directly associated with a single existing resource.
A `null_resource` behaves exactly like any other resource, so you configure
[provisioners](/docs/provisioners/index.html), [connection
details](/docs/provisioners/connection.html), and other meta-parameters in the
same way you would on any other resource.
This allows fine-grained control over when provisioners run in the dependency
graph.
## Example usage
```
# Bootstrap a cluster after all its instances are up
resource "aws_instance" "cluster" {
count = 3
// ...
}
resource "null_resource" "cluster" {
# Changes to any instance of the cluster requires re-provisioning
triggers {
cluster_instance_ids = "${join(",", aws_instance.cluster.*.id)}"
}
# Bootstrap script can run on any instance of the cluster
# So we just choose the first in this case
connection {
host = "${element(aws_instance.cluster.*.public_ip, 0)}"
}
provisioner "remote-exec" {
# Bootstrap script called with private_ip of each node in the clutser
inline = [
"bootstrap-cluster.sh ${join(" ", aws_instance.cluster.*.private_ip}"
]
}
}
```
## Argument Reference
In addition to all the resource configuration available, `null_resource` supports the following specific configuration options:
* `triggers` - A mapping of values which should trigger a rerun of this set of
provisioners. Values are meant to be interpolated references to variables or
attributes of other resources.

View File

@ -217,6 +217,10 @@
<li<%= sidebar_current("docs-provisioners-remote") %>>
<a href="/docs/provisioners/remote-exec.html">remote-exec</a>
</li>
<li<%= sidebar_current("docs-provisioners-null-resource") %>>
<a href="/docs/provisioners/null_resource.html">null_resource</a>
</li>
</ul>
</li>