commit
21030db30e
|
@ -31,7 +31,7 @@ by GraphViz:
|
||||||
$ terraform graph | dot -Tpng > graph.png
|
$ terraform graph | dot -Tpng > graph.png
|
||||||
```
|
```
|
||||||
|
|
||||||
Alternatively, the webbased [GraphViz Workspace](http://graphviz-dev.appspot.com)
|
Alternatively, the web-based [GraphViz Workspace](http://graphviz-dev.appspot.com)
|
||||||
can be used to quickly render DOT file inputs as well.
|
can be used to quickly render DOT file inputs as well.
|
||||||
|
|
||||||
Here is an example graph output:
|
Here is an example graph output:
|
||||||
|
|
|
@ -52,7 +52,7 @@ Therefore, the plan file can potentially store secrets.
|
||||||
|
|
||||||
Terraform itself does not encrypt the plan file. It is highly
|
Terraform itself does not encrypt the plan file. It is highly
|
||||||
recommended to encrypt the plan file if you intend to transfer it
|
recommended to encrypt the plan file if you intend to transfer it
|
||||||
or keep it at rest for an extended priod of time.
|
or keep it at rest for an extended period of time.
|
||||||
|
|
||||||
Future versions of Terraform will make plan files more
|
Future versions of Terraform will make plan files more
|
||||||
secure.
|
secure.
|
||||||
|
|
|
@ -18,7 +18,7 @@ resource "aws_autoscaling_group" "bar" {
|
||||||
min_size = 2
|
min_size = 2
|
||||||
health_check_grace_period = 300
|
health_check_grace_period = 300
|
||||||
health_check_type = "ELB"
|
health_check_type = "ELB"
|
||||||
desired_capicity = 4
|
desired_capacity = 4
|
||||||
force_delete = true
|
force_delete = true
|
||||||
launch_configuration = "${aws_launch_configuration.foobar.name}"
|
launch_configuration = "${aws_launch_configuration.foobar.name}"
|
||||||
}
|
}
|
||||||
|
@ -35,7 +35,7 @@ The following arguments are supported:
|
||||||
* `launch_configuration` - (Required) The ID of the launch configuration to use.
|
* `launch_configuration` - (Required) The ID of the launch configuration to use.
|
||||||
* `health_check_grace_period` - (Optional) Time after instance comes into service before checking health.
|
* `health_check_grace_period` - (Optional) Time after instance comes into service before checking health.
|
||||||
* `health_check_type` - (Optional) "EC2" or "ELB". Controls how health checking is done.
|
* `health_check_type` - (Optional) "EC2" or "ELB". Controls how health checking is done.
|
||||||
* `desired_capicity` - (Optional) The number of Amazon EC2 instances that should be running in the group.
|
* `desired_capacity` - (Optional) The number of Amazon EC2 instances that should be running in the group.
|
||||||
* `force_delete` - (Optional) Allows deleting the autoscaling group without waiting
|
* `force_delete` - (Optional) Allows deleting the autoscaling group without waiting
|
||||||
for all instances in the pool to terminate.
|
for all instances in the pool to terminate.
|
||||||
|
|
||||||
|
@ -51,7 +51,7 @@ The following attributes are exported:
|
||||||
* `name` - The name of the autoscale group
|
* `name` - The name of the autoscale group
|
||||||
* `health_check_grace_period` - Time after instance comes into service before checking health.
|
* `health_check_grace_period` - Time after instance comes into service before checking health.
|
||||||
* `health_check_type` - "EC2" or "ELB". Controls how health checking is done.
|
* `health_check_type` - "EC2" or "ELB". Controls how health checking is done.
|
||||||
* `desired_capicity` -The number of Amazon EC2 instances that should be running in the group.
|
* `desired_capacity` -The number of Amazon EC2 instances that should be running in the group.
|
||||||
* `launch_configuration` - The launch configuration of the autoscale group
|
* `launch_configuration` - The launch configuration of the autoscale group
|
||||||
* `vpc_zone_identifier` - The VPC zone identifier
|
* `vpc_zone_identifier` - The VPC zone identifier
|
||||||
|
|
||||||
|
|
|
@ -40,10 +40,10 @@ The following arguments are supported:
|
||||||
* `backup_retention_period` - (Optional) The days to retain backups for.
|
* `backup_retention_period` - (Optional) The days to retain backups for.
|
||||||
* `backup_window` - (Optional) The backup window.
|
* `backup_window` - (Optional) The backup window.
|
||||||
* `iops` - (Optional) The amount of provisioned IOPS
|
* `iops` - (Optional) The amount of provisioned IOPS
|
||||||
* `maintenance_window` - (Optional) The window to perform maintanence in.
|
* `maintenance_window` - (Optional) The window to perform maintenance in.
|
||||||
* `multi_az` - (Optional) Specifies if the RDS instance is multi-AZ
|
* `multi_az` - (Optional) Specifies if the RDS instance is multi-AZ
|
||||||
* `port` - (Optional) The port on which the DB accepts connetions.
|
* `port` - (Optional) The port on which the DB accepts connections.
|
||||||
* `publicly_accessible` - (Optional) Bool to control if instance is publically accessible.
|
* `publicly_accessible` - (Optional) Bool to control if instance is publicly accessible.
|
||||||
* `vpc_security_group_ids` - (Optional) List of VPC security groups to associate.
|
* `vpc_security_group_ids` - (Optional) List of VPC security groups to associate.
|
||||||
* `skip_final_snapshot` - (Optional) Enables skipping the final snapshot on deletion.
|
* `skip_final_snapshot` - (Optional) Enables skipping the final snapshot on deletion.
|
||||||
* `security_group_names` - (Optional) List of DB Security Groups to associate.
|
* `security_group_names` - (Optional) List of DB Security Groups to associate.
|
||||||
|
|
|
@ -27,7 +27,7 @@ The following arguments are supported:
|
||||||
|
|
||||||
The following attributes are exported:
|
The following attributes are exported:
|
||||||
|
|
||||||
* `private_ip` - Contrains the private IP address (if in VPC).
|
* `private_ip` - Contains the private IP address (if in VPC).
|
||||||
* `public_ip` - Contains the public IP address.
|
* `public_ip` - Contains the public IP address.
|
||||||
* `instance` - Contains the ID of the instance attached ot.
|
* `instance` - Contains the ID of the attached instance.
|
||||||
|
|
||||||
|
|
|
@ -65,7 +65,7 @@ The `key` block supports the following:
|
||||||
This allows a key to be written to.
|
This allows a key to be written to.
|
||||||
|
|
||||||
* `delete` - (Optional) If true, then the key will be deleted when
|
* `delete` - (Optional) If true, then the key will be deleted when
|
||||||
the resource is destroyed. Otherwsie, it will be left in Consul.
|
the resource is destroyed. Otherwise, it will be left in Consul.
|
||||||
Defaults to false.
|
Defaults to false.
|
||||||
|
|
||||||
## Attributes Reference
|
## Attributes Reference
|
||||||
|
|
|
@ -30,9 +30,9 @@ The following arguments are supported:
|
||||||
* `name` - (Required) The droplet name
|
* `name` - (Required) The droplet name
|
||||||
* `region` - (Required) The region to start in
|
* `region` - (Required) The region to start in
|
||||||
* `size` - (Required) The instance size to start
|
* `size` - (Required) The instance size to start
|
||||||
* `backups` - (Optional) Boolean controling if backups are made.
|
* `backups` - (Optional) Boolean controlling if backups are made.
|
||||||
* `ipv6` - (Optional) Boolean controling if IPv6 is enabled.
|
* `ipv6` - (Optional) Boolean controlling if IPv6 is enabled.
|
||||||
* `private_networking` - (Optional) Boolean controling if private networks are enabled.
|
* `private_networking` - (Optional) Boolean controlling if private networks are enabled.
|
||||||
* `ssh_keys` - (Optional) A list of SSH IDs or fingerprints to enable.
|
* `ssh_keys` - (Optional) A list of SSH IDs or fingerprints to enable.
|
||||||
|
|
||||||
## Attributes Reference
|
## Attributes Reference
|
||||||
|
|
|
@ -21,7 +21,7 @@ provider "heroku" {
|
||||||
api_key = "${var.heroku_api_key}"
|
api_key = "${var.heroku_api_key}"
|
||||||
}
|
}
|
||||||
|
|
||||||
# Create a new applicaiton
|
# Create a new application
|
||||||
resource "heroku_app" "default" {
|
resource "heroku_app" "default" {
|
||||||
...
|
...
|
||||||
}
|
}
|
||||||
|
|
|
@ -45,7 +45,7 @@ The following attributes are exported:
|
||||||
* `stack` - The application stack is what platform to run the application
|
* `stack` - The application stack is what platform to run the application
|
||||||
in.
|
in.
|
||||||
* `region` - The region that the app should be deployed in.
|
* `region` - The region that the app should be deployed in.
|
||||||
* `git_url` - The Git URL for the appplication. This is used for
|
* `git_url` - The Git URL for the application. This is used for
|
||||||
deploying new versions of the app.
|
deploying new versions of the app.
|
||||||
* `web_url` - The web (HTTP) URL that the application can be accessed
|
* `web_url` - The web (HTTP) URL that the application can be accessed
|
||||||
at by default.
|
at by default.
|
||||||
|
|
|
@ -10,7 +10,7 @@ Many provisioners require access to the remote resource. For example,
|
||||||
a provisioner may need to use ssh to connect to the resource.
|
a provisioner may need to use ssh to connect to the resource.
|
||||||
|
|
||||||
Terraform uses a number of defaults when connecting to a resource, but these
|
Terraform uses a number of defaults when connecting to a resource, but these
|
||||||
can be overriden using `connection` block in either a `resource` or `provisioner`.
|
can be overridden using `connection` block in either a `resource` or `provisioner`.
|
||||||
Any `connection` information provided in a `resource` will apply to all the
|
Any `connection` information provided in a `resource` will apply to all the
|
||||||
provisioners, but it can be scoped to a single provisioner as well. One use case
|
provisioners, but it can be scoped to a single provisioner as well. One use case
|
||||||
is to have an initial provisioner connect as root to setup user accounts, and have
|
is to have an initial provisioner connect as root to setup user accounts, and have
|
||||||
|
@ -32,7 +32,7 @@ provisioner "file" {
|
||||||
|
|
||||||
## Argument Reference
|
## Argument Reference
|
||||||
|
|
||||||
The following arugments are supported:
|
The following arguments are supported:
|
||||||
|
|
||||||
* `type` - The connection type that should be used. This defaults to "ssh". The type
|
* `type` - The connection type that should be used. This defaults to "ssh". The type
|
||||||
of connection supported depends on the provisioner.
|
of connection supported depends on the provisioner.
|
||||||
|
@ -48,6 +48,6 @@ The following arugments are supported:
|
||||||
|
|
||||||
* `port` - The port to connect to. This defaults to 22.
|
* `port` - The port to connect to. This defaults to 22.
|
||||||
|
|
||||||
* `timeout` - The timeout to wait for the conneciton to become available. This defaults
|
* `timeout` - The timeout to wait for the connection to become available. This defaults
|
||||||
to 5 minutes. Should be provided as a string like "30s" or "5m".
|
to 5 minutes. Should be provided as a string like "30s" or "5m".
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,7 @@ resource "aws_instance" "web" {
|
||||||
|
|
||||||
## Argument Reference
|
## Argument Reference
|
||||||
|
|
||||||
The following arugments are supported:
|
The following arguments are supported:
|
||||||
|
|
||||||
* `source` - (Required) This is the source file or folder. It can be specified as relative
|
* `source` - (Required) This is the source file or folder. It can be specified as relative
|
||||||
to the current working directory or as an absolute path.
|
to the current working directory or as an absolute path.
|
||||||
|
|
|
@ -25,7 +25,7 @@ resource "aws_instance" "web" {
|
||||||
|
|
||||||
## Argument Reference
|
## Argument Reference
|
||||||
|
|
||||||
The following arugments are supported:
|
The following arguments are supported:
|
||||||
|
|
||||||
* `command` - (Required) This is the command to execute. It can be provided
|
* `command` - (Required) This is the command to execute. It can be provided
|
||||||
as a relative path to the current working directory or as an absolute path.
|
as a relative path to the current working directory or as an absolute path.
|
||||||
|
|
|
@ -118,7 +118,7 @@ resource "aws_instance" "web" {
|
||||||
|
|
||||||
instance_type = "m1.small"
|
instance_type = "m1.small"
|
||||||
|
|
||||||
# Loookup the correct AMI based on the region
|
# Lookup the correct AMI based on the region
|
||||||
# we specified
|
# we specified
|
||||||
ami = "${lookup(var.aws_amis, var.aws_region)}"
|
ami = "${lookup(var.aws_amis, var.aws_region)}"
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,7 @@ can be used to interface with Consul from inside a Terraform configuration.
|
||||||
|
|
||||||
For our example, we use the [Consul demo cluster](http://demo.consul.io)
|
For our example, we use the [Consul demo cluster](http://demo.consul.io)
|
||||||
to both read configuration and store information about a newly created EC2 instance.
|
to both read configuration and store information about a newly created EC2 instance.
|
||||||
The size of the EC2 instance will be determind by the "tf\_test/size" key in Consul,
|
The size of the EC2 instance will be determined by the "tf\_test/size" key in Consul,
|
||||||
and will default to "m1.small" if that key does not exist. Once the instance is created
|
and will default to "m1.small" if that key does not exist. Once the instance is created
|
||||||
the "tf\_test/id" and "tf\_test/public\_dns" keys will be set with the computed
|
the "tf\_test/id" and "tf\_test/public\_dns" keys will be set with the computed
|
||||||
values for the instance.
|
values for the instance.
|
||||||
|
|
|
@ -22,7 +22,7 @@ only the subset that exists within a single provider. It provides a single
|
||||||
unified syntax, instead of requiring operators to use independent and
|
unified syntax, instead of requiring operators to use independent and
|
||||||
non-interoperable tools for each platform and service.
|
non-interoperable tools for each platform and service.
|
||||||
|
|
||||||
Terraform also seperates the planning phase from the execution phase,
|
Terraform also separates the planning phase from the execution phase,
|
||||||
by using the concept of an execution plan. By running `terraform plan`,
|
by using the concept of an execution plan. By running `terraform plan`,
|
||||||
the current state is refreshed and the configuration is consulted to
|
the current state is refreshed and the configuration is consulted to
|
||||||
generate an action plan. The plan includes all actions to be taken:
|
generate an action plan. The plan includes all actions to be taken:
|
||||||
|
|
Loading…
Reference in New Issue