From 073a0f76c51e966232f5c8b66e3ce78b0eec87be Mon Sep 17 00:00:00 2001 From: Seth Vargo Date: Tue, 21 Oct 2014 23:21:56 -0400 Subject: [PATCH] Add meta descriptions to all pages --- website/source/assets/stylesheets/application.scss | 2 ++ website/source/community.html.erb | 2 ++ website/source/docs/commands/apply.html.markdown | 2 ++ website/source/docs/commands/destroy.html.markdown | 2 ++ website/source/docs/commands/get.html.markdown | 2 ++ website/source/docs/commands/graph.html.markdown | 2 ++ website/source/docs/commands/index.html.markdown | 2 ++ website/source/docs/commands/init.html.markdown | 2 ++ website/source/docs/commands/output.html.markdown | 2 ++ website/source/docs/commands/plan.html.markdown | 2 ++ website/source/docs/commands/refresh.html.markdown | 2 ++ website/source/docs/commands/show.html.markdown | 2 ++ website/source/docs/configuration/index.html.md | 2 ++ website/source/docs/configuration/interpolation.html.md | 2 ++ website/source/docs/configuration/load.html.md | 2 ++ website/source/docs/configuration/modules.html.md | 2 ++ website/source/docs/configuration/outputs.html.md | 2 ++ website/source/docs/configuration/override.html.md | 2 ++ website/source/docs/configuration/providers.html.md | 2 ++ website/source/docs/configuration/resources.html.md | 2 ++ website/source/docs/configuration/syntax.html.md | 2 ++ website/source/docs/configuration/variables.html.md | 2 ++ website/source/docs/index.html.markdown | 2 ++ website/source/docs/internals/graph.html.md | 2 ++ website/source/docs/internals/index.html.md | 2 ++ website/source/docs/internals/lifecycle.html.md | 2 ++ website/source/docs/modules/create.html.markdown | 2 ++ website/source/docs/modules/index.html.markdown | 2 ++ website/source/docs/modules/sources.html.markdown | 2 ++ .../modules/{usage.html.markdown.erb => usage.html.markdown} | 5 +++-- website/source/docs/plugins/basics.html.md | 2 ++ website/source/docs/plugins/index.html.md | 2 ++ website/source/docs/plugins/provider.html.md | 2 ++ website/source/docs/providers/aws/index.html.markdown | 2 ++ website/source/docs/providers/aws/r/autoscale.html.markdown | 2 ++ .../source/docs/providers/aws/r/db_instance.html.markdown | 2 ++ .../docs/providers/aws/r/db_security_group.html.markdown | 2 ++ .../docs/providers/aws/r/db_subnet_group.html.markdown | 2 ++ website/source/docs/providers/aws/r/eip.html.markdown | 2 ++ website/source/docs/providers/aws/r/elb.html.markdown | 4 +++- website/source/docs/providers/aws/r/instance.html.markdown | 2 ++ .../docs/providers/aws/r/internet_gateway.html.markdown | 2 ++ .../source/docs/providers/aws/r/launch_config.html.markdown | 2 ++ .../source/docs/providers/aws/r/route53_record.html.markdown | 2 ++ .../source/docs/providers/aws/r/route53_zone.html.markdown | 2 ++ .../source/docs/providers/aws/r/route_table.html.markdown | 2 ++ .../docs/providers/aws/r/route_table_assoc.html.markdown | 2 ++ website/source/docs/providers/aws/r/s3_bucket.html.markdown | 2 ++ .../source/docs/providers/aws/r/security_group.html.markdown | 2 ++ website/source/docs/providers/aws/r/subnet.html.markdown | 2 ++ website/source/docs/providers/aws/r/vpc.html.markdown | 2 ++ website/source/docs/providers/cloudflare/index.html.markdown | 2 ++ .../source/docs/providers/cloudflare/r/record.html.markdown | 2 ++ website/source/docs/providers/consul/index.html.markdown | 2 ++ website/source/docs/providers/consul/r/keys.html.markdown | 2 ++ website/source/docs/providers/dnsimple/index.html.markdown | 2 ++ .../source/docs/providers/dnsimple/r/record.html.markdown | 2 ++ website/source/docs/providers/do/index.html.markdown | 2 ++ website/source/docs/providers/do/r/domain.html.markdown | 2 ++ website/source/docs/providers/do/r/droplet.html.markdown | 2 ++ website/source/docs/providers/do/r/record.html.markdown | 2 ++ website/source/docs/providers/google/index.html.markdown | 2 ++ .../docs/providers/google/r/compute_address.html.markdown | 2 ++ .../docs/providers/google/r/compute_disk.html.markdown | 2 ++ .../docs/providers/google/r/compute_firewall.html.markdown | 2 ++ .../docs/providers/google/r/compute_instance.html.markdown | 2 ++ .../docs/providers/google/r/compute_network.html.markdown | 2 ++ .../docs/providers/google/r/compute_route.html.markdown | 2 ++ website/source/docs/providers/heroku/index.html.markdown | 2 ++ website/source/docs/providers/heroku/r/addon.html.markdown | 2 ++ website/source/docs/providers/heroku/r/app.html.markdown | 2 ++ website/source/docs/providers/heroku/r/domain.html.markdown | 2 ++ website/source/docs/providers/heroku/r/drain.html.markdown | 2 ++ website/source/docs/providers/index.html.markdown | 2 ++ website/source/docs/providers/mailgun/index.html.markdown | 2 ++ website/source/docs/providers/mailgun/r/domain.html.markdown | 2 ++ website/source/docs/provisioners/connection.html.markdown | 2 ++ website/source/docs/provisioners/file.html.markdown | 2 ++ website/source/docs/provisioners/index.html.markdown | 2 ++ website/source/docs/provisioners/local-exec.html.markdown | 2 ++ website/source/docs/provisioners/remote-exec.html.markdown | 2 ++ website/source/downloads.html.erb | 2 ++ website/source/intro/examples/aws.html.markdown | 2 ++ website/source/intro/examples/consul.html.markdown | 2 ++ website/source/intro/examples/count.markdown | 2 ++ website/source/intro/examples/cross-provider.markdown | 2 ++ website/source/intro/examples/index.html.markdown | 2 ++ website/source/intro/getting-started/build.html.md | 4 +++- website/source/intro/getting-started/change.html.md | 2 ++ website/source/intro/getting-started/dependencies.html.md | 2 ++ website/source/intro/getting-started/destroy.html.md | 2 ++ website/source/intro/getting-started/install.html.markdown | 2 ++ website/source/intro/getting-started/modules.html.md | 2 ++ .../source/intro/getting-started/next-steps.html.markdown | 2 ++ website/source/intro/getting-started/outputs.html.md | 2 ++ website/source/intro/getting-started/provision.html.md | 2 ++ website/source/intro/getting-started/variables.html.md | 2 ++ website/source/intro/index.html.markdown | 2 ++ website/source/intro/use-cases.html.markdown | 2 ++ website/source/intro/vs/boto.html.markdown | 2 ++ website/source/intro/vs/chef-puppet.html.markdown | 2 ++ website/source/intro/vs/cloudformation.html.markdown | 2 ++ website/source/intro/vs/custom.html.markdown | 2 ++ website/source/intro/vs/index.html.markdown | 2 ++ 104 files changed, 211 insertions(+), 4 deletions(-) rename website/source/docs/modules/{usage.html.markdown.erb => usage.html.markdown} (94%) diff --git a/website/source/assets/stylesheets/application.scss b/website/source/assets/stylesheets/application.scss index 8e2670549..635f780d7 100755 --- a/website/source/assets/stylesheets/application.scss +++ b/website/source/assets/stylesheets/application.scss @@ -1,6 +1,8 @@ @import 'bootstrap-sprockets'; @import 'bootstrap'; +@import url("http://fonts.googleapis.com/css?family=Lato:300,400,700"); + // Core variables and mixins @import '_variables'; @import '_mixins'; diff --git a/website/source/community.html.erb b/website/source/community.html.erb index 0f21e8182..93947fb6e 100644 --- a/website/source/community.html.erb +++ b/website/source/community.html.erb @@ -1,6 +1,8 @@ --- layout: "inner" page_title: "Community" +description: |- + Terraform is a new project with a growing community. Despite this, there are active, dedicated users willing to help you through various mediums. ---

Community

diff --git a/website/source/docs/commands/apply.html.markdown b/website/source/docs/commands/apply.html.markdown index bfd563d75..96591a476 100644 --- a/website/source/docs/commands/apply.html.markdown +++ b/website/source/docs/commands/apply.html.markdown @@ -2,6 +2,8 @@ layout: "docs" page_title: "Command: apply" sidebar_current: "docs-commands-apply" +description: |- + The `terraform apply` command is used to apply the changes required to reach the desired state of the configuration, or the pre-determined set of actions generated by a `terraform plan` execution plan. --- # Command: apply diff --git a/website/source/docs/commands/destroy.html.markdown b/website/source/docs/commands/destroy.html.markdown index 434163b70..311fe174e 100644 --- a/website/source/docs/commands/destroy.html.markdown +++ b/website/source/docs/commands/destroy.html.markdown @@ -2,6 +2,8 @@ layout: "docs" page_title: "Command: destroy" sidebar_current: "docs-commands-destroy" +description: |- + The `terraform destroy` command is used to destroy the Terraform-managed infrastructure. --- # Command: destroy diff --git a/website/source/docs/commands/get.html.markdown b/website/source/docs/commands/get.html.markdown index 80f91b08e..0abaae14e 100644 --- a/website/source/docs/commands/get.html.markdown +++ b/website/source/docs/commands/get.html.markdown @@ -2,6 +2,8 @@ layout: "docs" page_title: "Command: get" sidebar_current: "docs-commands-get" +description: |- + The `terraform get` command is used to download and update modules. --- # Command: get diff --git a/website/source/docs/commands/graph.html.markdown b/website/source/docs/commands/graph.html.markdown index c2f38dfa0..d01c6d769 100644 --- a/website/source/docs/commands/graph.html.markdown +++ b/website/source/docs/commands/graph.html.markdown @@ -2,6 +2,8 @@ layout: "docs" page_title: "Command: graph" sidebar_current: "docs-commands-graph" +description: |- + The `terraform graph` command is used to generate a visual representation of either a configuration or execution plan. The output is in the DOT format, which can be used by GraphViz to generate charts. --- # Command: graph diff --git a/website/source/docs/commands/index.html.markdown b/website/source/docs/commands/index.html.markdown index eeacfa5d9..f7e8a7126 100644 --- a/website/source/docs/commands/index.html.markdown +++ b/website/source/docs/commands/index.html.markdown @@ -2,6 +2,8 @@ layout: "docs" page_title: "Commands" sidebar_current: "docs-commands" +description: |- + Terraform is controlled via a very easy to use command-line interface (CLI). Terraform is only a single command-line application: terraform. This application then takes a subcommand such as "apply" or "plan". The complete list of subcommands is in the navigation to the left. --- # Terraform Commands (CLI) diff --git a/website/source/docs/commands/init.html.markdown b/website/source/docs/commands/init.html.markdown index a157a047a..bed95eac0 100644 --- a/website/source/docs/commands/init.html.markdown +++ b/website/source/docs/commands/init.html.markdown @@ -2,6 +2,8 @@ layout: "docs" page_title: "Command: init" sidebar_current: "docs-commands-init" +description: |- + The `terraform init` command is used to initialize a Terraform configuration using another module as a skeleton. --- # Command: init diff --git a/website/source/docs/commands/output.html.markdown b/website/source/docs/commands/output.html.markdown index 8ac98aa69..0ac423937 100644 --- a/website/source/docs/commands/output.html.markdown +++ b/website/source/docs/commands/output.html.markdown @@ -2,6 +2,8 @@ layout: "docs" page_title: "Command: output" sidebar_current: "docs-commands-output" +description: |- + The `terraform output` command is used to extract the value of an output variable from the state file. --- # Command: output diff --git a/website/source/docs/commands/plan.html.markdown b/website/source/docs/commands/plan.html.markdown index 64fd6073e..1d8f1a778 100644 --- a/website/source/docs/commands/plan.html.markdown +++ b/website/source/docs/commands/plan.html.markdown @@ -2,6 +2,8 @@ layout: "docs" page_title: "Command: plan" sidebar_current: "docs-commands-plan" +description: |- + The `terraform plan` command is used to create an execution plan. Terraform performs a refresh, unless explicitly disabled, and then determines what actions are necessary to achieve the desired state specified in the configuration files. The plan can be saved using `-out`, and then provided to `terraform apply` to ensure only the pre-planned actions are executed. --- # Command: plan diff --git a/website/source/docs/commands/refresh.html.markdown b/website/source/docs/commands/refresh.html.markdown index cbf10b333..cc797ca38 100644 --- a/website/source/docs/commands/refresh.html.markdown +++ b/website/source/docs/commands/refresh.html.markdown @@ -2,6 +2,8 @@ layout: "docs" page_title: "Command: refresh" sidebar_current: "docs-commands-refresh" +description: |- + The `terraform refresh` command is used to reconcile the state Terraform knows about (via its state file) with the real-world infrastructure. This can be used to detect any drift from the last-known state, and to update the state file. --- # Command: refresh diff --git a/website/source/docs/commands/show.html.markdown b/website/source/docs/commands/show.html.markdown index 9888884cb..8593b75c0 100644 --- a/website/source/docs/commands/show.html.markdown +++ b/website/source/docs/commands/show.html.markdown @@ -2,6 +2,8 @@ layout: "docs" page_title: "Command: show" sidebar_current: "docs-commands-show" +description: |- + The `terraform show` command is used to provide human-readable output from a state or plan file. This can be used to inspect a plan to ensure that the planned operations are expected, or to inspect the current state as terraform sees it. --- # Command: show diff --git a/website/source/docs/configuration/index.html.md b/website/source/docs/configuration/index.html.md index 422bf007b..2b3e7f396 100644 --- a/website/source/docs/configuration/index.html.md +++ b/website/source/docs/configuration/index.html.md @@ -2,6 +2,8 @@ layout: "docs" page_title: "Configuration" sidebar_current: "docs-config" +description: |- + Terraform uses text files to describe infrastructure and to set variables. These text files are called Terraform _configurations_ and end in `.tf`. This section talks about the format of these files as well as how they're loaded. --- # Configuration diff --git a/website/source/docs/configuration/interpolation.html.md b/website/source/docs/configuration/interpolation.html.md index dcec02448..c0fe3372f 100644 --- a/website/source/docs/configuration/interpolation.html.md +++ b/website/source/docs/configuration/interpolation.html.md @@ -2,6 +2,8 @@ layout: "docs" page_title: "Interpolation Syntax" sidebar_current: "docs-config-interpolation" +description: |- + Embedded within strings in Terraform, whether you're using the Terraform syntax or JSON syntax, you can interpolate other values into strings. These interpolations are wrapped in `${}`, such as `${var.foo}`. --- # Interpolation Syntax diff --git a/website/source/docs/configuration/load.html.md b/website/source/docs/configuration/load.html.md index e1b760894..3ccbcf7b6 100644 --- a/website/source/docs/configuration/load.html.md +++ b/website/source/docs/configuration/load.html.md @@ -2,6 +2,8 @@ layout: "docs" page_title: "Load Order and Semantics" sidebar_current: "docs-config-load" +description: |- + When invoking any command that loads the Terraform configuration, Terraform loads all configuration files within the directory specified in alphabetical order. --- # Load Order and Semantics diff --git a/website/source/docs/configuration/modules.html.md b/website/source/docs/configuration/modules.html.md index 07f48ca3c..0cc47461a 100644 --- a/website/source/docs/configuration/modules.html.md +++ b/website/source/docs/configuration/modules.html.md @@ -2,6 +2,8 @@ layout: "docs" page_title: "Configuring Modules" sidebar_current: "docs-config-modules" +description: |- + Modules are used in Terraform to modularize and encapsulate groups of resources in your infrastructure. For more information on modules, see the dedicated modules section. --- # Module Configuration diff --git a/website/source/docs/configuration/outputs.html.md b/website/source/docs/configuration/outputs.html.md index cc5bae9a5..3e8ac5c7b 100644 --- a/website/source/docs/configuration/outputs.html.md +++ b/website/source/docs/configuration/outputs.html.md @@ -2,6 +2,8 @@ layout: "docs" page_title: "Configuring Outputs" sidebar_current: "docs-config-outputs" +description: |- + Outputs define values that will be highlighted to the user when Terraform applies, and can be queried easily using the output command. Output usage is covered in more detail in the getting started guide. This page covers configuration syntax for outputs. --- # Output Configuration diff --git a/website/source/docs/configuration/override.html.md b/website/source/docs/configuration/override.html.md index e0b42c781..a667adcd5 100644 --- a/website/source/docs/configuration/override.html.md +++ b/website/source/docs/configuration/override.html.md @@ -2,6 +2,8 @@ layout: "docs" page_title: "Overrides" sidebar_current: "docs-config-override" +description: |- + Terraform loads all configuration files within a directory and appends them together. Terraform also has a concept of overrides, a way to create files that are loaded last and merged into your configuration, rather than appended. --- # Overrides diff --git a/website/source/docs/configuration/providers.html.md b/website/source/docs/configuration/providers.html.md index 1ed33b795..7d95ba9fa 100644 --- a/website/source/docs/configuration/providers.html.md +++ b/website/source/docs/configuration/providers.html.md @@ -2,6 +2,8 @@ layout: "docs" page_title: "Configuring Providers" sidebar_current: "docs-config-providers" +description: |- + Providers are responsible in Terraform for managing the lifecycle of a resource: create, read, update, delete. --- # Provider Configuration diff --git a/website/source/docs/configuration/resources.html.md b/website/source/docs/configuration/resources.html.md index 03e3eedef..dde8fb3ef 100644 --- a/website/source/docs/configuration/resources.html.md +++ b/website/source/docs/configuration/resources.html.md @@ -2,6 +2,8 @@ layout: "docs" page_title: "Configuring Resources" sidebar_current: "docs-config-resources" +description: |- + The most important thing you'll configure with Terraform are resources. Resources are a component of your infrastructure. It might be some low level component such as a physical server, virtual machine, or container. Or it can be a higher level component such as an email provider, DNS record, or database provider. --- # Resource Configuration diff --git a/website/source/docs/configuration/syntax.html.md b/website/source/docs/configuration/syntax.html.md index 0be82b45b..ad8c8c910 100644 --- a/website/source/docs/configuration/syntax.html.md +++ b/website/source/docs/configuration/syntax.html.md @@ -2,6 +2,8 @@ layout: "docs" page_title: "Configuration Syntax" sidebar_current: "docs-config-syntax" +description: |- + The syntax of Terraform configurations is custom. It is meant to strike a balance between human readable and editable as well as being machine-friendly. For machine-friendliness, Terraform can also read JSON configurations. For general Terraform configurations, however, we recommend using the Terraform syntax. --- # Configuration Syntax diff --git a/website/source/docs/configuration/variables.html.md b/website/source/docs/configuration/variables.html.md index b86654094..4e8b834e8 100644 --- a/website/source/docs/configuration/variables.html.md +++ b/website/source/docs/configuration/variables.html.md @@ -2,6 +2,8 @@ layout: "docs" page_title: "Configuring Variables" sidebar_current: "docs-config-variables" +description: |- + Variables define the parameterization of Terraform configurations. Variables can be overridden via the CLI. Variable usage is covered in more detail in the getting started guide. This page covers configuration syntax for variables. --- # Variable Configuration diff --git a/website/source/docs/index.html.markdown b/website/source/docs/index.html.markdown index 6323d404d..5329003dc 100644 --- a/website/source/docs/index.html.markdown +++ b/website/source/docs/index.html.markdown @@ -2,6 +2,8 @@ layout: "docs" page_title: "Documentation" sidebar_current: "docs-home" +description: |- + Welcome to the Terraform documentation! This documentation is more of a reference guide for all available features and options of Terraform. If you're just getting started with Terraform, please start with the introduction and getting started guide instead. --- # Terraform Documentation diff --git a/website/source/docs/internals/graph.html.md b/website/source/docs/internals/graph.html.md index 55f995332..ca215cf43 100644 --- a/website/source/docs/internals/graph.html.md +++ b/website/source/docs/internals/graph.html.md @@ -2,6 +2,8 @@ layout: "docs" page_title: "Resource Graph" sidebar_current: "docs-internals-graph" +description: |- + Terraform builds a dependency graph from the Terraform configurations, and walks this graph to generate plans, refresh state, and more. This page documents the details of what are contained in this graph, what types of nodes there are, and how the edges of the graph are determined. --- # Resource Graph diff --git a/website/source/docs/internals/index.html.md b/website/source/docs/internals/index.html.md index bde40ef03..4c8713a0c 100644 --- a/website/source/docs/internals/index.html.md +++ b/website/source/docs/internals/index.html.md @@ -2,6 +2,8 @@ layout: "docs" page_title: "Internals" sidebar_current: "docs-internals" +description: |- + This section covers the internals of Terraform and explains how plans are generated, the lifecycle of a provider, etc. The goal of this section is to remove any notion of "magic" from Terraform. We want you to be able to trust and understand what Terraform is doing to function. --- # Terraform Internals diff --git a/website/source/docs/internals/lifecycle.html.md b/website/source/docs/internals/lifecycle.html.md index d39b6000b..bf4f8862d 100644 --- a/website/source/docs/internals/lifecycle.html.md +++ b/website/source/docs/internals/lifecycle.html.md @@ -2,6 +2,8 @@ layout: "docs" page_title: "Resource Lifecycle" sidebar_current: "docs-internals-lifecycle" +description: |- + Resources have a strict lifecycle, and can be thought of as basic state machines. Understanding this lifecycle can help better understand how Terraform generates an execution plan, how it safely executes that plan, and what the resource provider is doing throughout all of this. --- # Resource Lifecycle diff --git a/website/source/docs/modules/create.html.markdown b/website/source/docs/modules/create.html.markdown index bfe12395f..da69891f7 100644 --- a/website/source/docs/modules/create.html.markdown +++ b/website/source/docs/modules/create.html.markdown @@ -2,6 +2,8 @@ layout: "docs" page_title: "Creating Modules" sidebar_current: "docs-modules-create" +description: |- + Creating modules in Terraform is easy. You may want to do this to better organize your code, to make a reusable component, or just to learn more about Terraform. For any reason, if you already know the basics of Terraform, creating a module is a piece of cake. --- # Creating Modules diff --git a/website/source/docs/modules/index.html.markdown b/website/source/docs/modules/index.html.markdown index 30031ccd3..5a4bd933b 100644 --- a/website/source/docs/modules/index.html.markdown +++ b/website/source/docs/modules/index.html.markdown @@ -2,6 +2,8 @@ layout: "docs" page_title: "Modules" sidebar_current: "docs-modules" +description: |- + Modules in terraform are self-contained packages of Terraform configurations that are managed as a group. Modules are used to create reusable components in Terraform as well as for basic code organization. --- # Modules diff --git a/website/source/docs/modules/sources.html.markdown b/website/source/docs/modules/sources.html.markdown index 9ea86b699..8b4fce01f 100644 --- a/website/source/docs/modules/sources.html.markdown +++ b/website/source/docs/modules/sources.html.markdown @@ -2,6 +2,8 @@ layout: "docs" page_title: "Module Sources" sidebar_current: "docs-modules-sources" +description: |- + As documented in usage, the only required parameter when using a module is the `source` paramter which tells Terraform where the module can be found and what constraints to put on the module if any (such as branches for git, versions, etc.). --- # Module Sources diff --git a/website/source/docs/modules/usage.html.markdown.erb b/website/source/docs/modules/usage.html.markdown similarity index 94% rename from website/source/docs/modules/usage.html.markdown.erb rename to website/source/docs/modules/usage.html.markdown index 1ec890928..fb379cc83 100644 --- a/website/source/docs/modules/usage.html.markdown.erb +++ b/website/source/docs/modules/usage.html.markdown @@ -2,6 +2,7 @@ layout: "docs" page_title: "Using Modules" sidebar_current: "docs-modules-usage" +description: Using modules in Terraform is very similar to defining resources. --- # Module Usage @@ -91,13 +92,13 @@ For example, with a configuration similar to what we've built above, here is what the graph output looks like by default:
-<%= image_tag "docs/module_graph.png" %> +![Terraform Module Graph](images/docs/module_graph.png)
But if we set `-module-depth=-1`, the graph will look like this:
-<%= image_tag "docs/module_graph_expand.png" %> +![Terraform Expanded Module Graph](images/docs/module_graph_expand.png)
Other commands work similarly with modules. Note that the `-module-depth` diff --git a/website/source/docs/plugins/basics.html.md b/website/source/docs/plugins/basics.html.md index e7b80ebd2..9d2c26a14 100644 --- a/website/source/docs/plugins/basics.html.md +++ b/website/source/docs/plugins/basics.html.md @@ -2,6 +2,8 @@ layout: "docs" page_title: "Plugin Basics" sidebar_current: "docs-plugins-basics" +description: |- + This page documents the basics of how the plugin system in Terraform works, and how to setup a basic development environment for plugin development if you're writing a Terraform plugin. --- # Plugin Basics diff --git a/website/source/docs/plugins/index.html.md b/website/source/docs/plugins/index.html.md index cbc3bc4c0..726e1c802 100644 --- a/website/source/docs/plugins/index.html.md +++ b/website/source/docs/plugins/index.html.md @@ -2,6 +2,8 @@ layout: "docs" page_title: "Plugins" sidebar_current: "docs-plugins" +description: |- + Terraform is built on a plugin-based architecture. All providers and provisioners that are used in Terraform configurations are plugins, even the core types such as AWS and Heroku. Users of Terraform are able to write new plugins in order to support new functionality in Terraform. --- # Plugins diff --git a/website/source/docs/plugins/provider.html.md b/website/source/docs/plugins/provider.html.md index 5413462fc..6cd0fa6d8 100644 --- a/website/source/docs/plugins/provider.html.md +++ b/website/source/docs/plugins/provider.html.md @@ -2,6 +2,8 @@ layout: "docs" page_title: "Provider Plugins" sidebar_current: "docs-plugins-provider" +description: |- + A provider in Terraform is responsible for the lifecycle of a resource: create, read, update, delete. An example of a provider is AWS, which can manage resources of type `aws_instance`, `aws_eip`, `aws_elb`, etc. --- # Provider Plugins diff --git a/website/source/docs/providers/aws/index.html.markdown b/website/source/docs/providers/aws/index.html.markdown index 8105d8b83..ec4a52881 100644 --- a/website/source/docs/providers/aws/index.html.markdown +++ b/website/source/docs/providers/aws/index.html.markdown @@ -2,6 +2,8 @@ layout: "aws" page_title: "Provider: AWS" sidebar_current: "docs-aws-index" +description: |- + The Amazon Web Services (AWS) provider is used to interact with the many resources supported by AWS. The provider needs to be configured with the proper credentials before it can be used. --- # AWS Provider diff --git a/website/source/docs/providers/aws/r/autoscale.html.markdown b/website/source/docs/providers/aws/r/autoscale.html.markdown index e0c57f9bb..a10dec4ce 100644 --- a/website/source/docs/providers/aws/r/autoscale.html.markdown +++ b/website/source/docs/providers/aws/r/autoscale.html.markdown @@ -2,6 +2,8 @@ layout: "aws" page_title: "AWS: aws_autoscaling_group" sidebar_current: "docs-aws-resource-autoscale" +description: |- + Provides an AutoScaling Group resource. --- # aws\_autoscaling\_group diff --git a/website/source/docs/providers/aws/r/db_instance.html.markdown b/website/source/docs/providers/aws/r/db_instance.html.markdown index 5dbb2495e..add35e0aa 100644 --- a/website/source/docs/providers/aws/r/db_instance.html.markdown +++ b/website/source/docs/providers/aws/r/db_instance.html.markdown @@ -2,6 +2,8 @@ layout: "aws" page_title: "AWS: aws_db_instance" sidebar_current: "docs-aws-resource-db-instance" +description: |- + Provides an RDS instance resource. --- # aws\_db\_instance diff --git a/website/source/docs/providers/aws/r/db_security_group.html.markdown b/website/source/docs/providers/aws/r/db_security_group.html.markdown index dc9c30035..85041f522 100644 --- a/website/source/docs/providers/aws/r/db_security_group.html.markdown +++ b/website/source/docs/providers/aws/r/db_security_group.html.markdown @@ -2,6 +2,8 @@ layout: "aws" page_title: "AWS: aws_db_security_group" sidebar_current: "docs-aws-resource-db-security-group" +description: |- + Provides an RDS security group resource. --- # aws\_db\_security\_group diff --git a/website/source/docs/providers/aws/r/db_subnet_group.html.markdown b/website/source/docs/providers/aws/r/db_subnet_group.html.markdown index 48163c869..f9050ad45 100644 --- a/website/source/docs/providers/aws/r/db_subnet_group.html.markdown +++ b/website/source/docs/providers/aws/r/db_subnet_group.html.markdown @@ -2,6 +2,8 @@ layout: "aws" page_title: "AWS: aws_db_subnet_group" sidebar_current: "docs-aws-resource-db-subnet-group" +description: |- + Provides an RDS DB subnet group resource. --- # aws\_db\_subnet\_group diff --git a/website/source/docs/providers/aws/r/eip.html.markdown b/website/source/docs/providers/aws/r/eip.html.markdown index 458d1e78a..d422f8110 100644 --- a/website/source/docs/providers/aws/r/eip.html.markdown +++ b/website/source/docs/providers/aws/r/eip.html.markdown @@ -2,6 +2,8 @@ layout: "aws" page_title: "AWS: aws_eip" sidebar_current: "docs-aws-resource-eip" +description: |- + Provides an Elastic IP resource. --- # aws\_eip diff --git a/website/source/docs/providers/aws/r/elb.html.markdown b/website/source/docs/providers/aws/r/elb.html.markdown index 3420c7726..4d29178bb 100644 --- a/website/source/docs/providers/aws/r/elb.html.markdown +++ b/website/source/docs/providers/aws/r/elb.html.markdown @@ -2,6 +2,8 @@ layout: "aws" page_title: "AWS: aws_elb" sidebar_current: "docs-aws-resource-elb" +description: |- + Provides an Elastic Load Balancer resource. --- # aws\_elb @@ -28,7 +30,7 @@ resource "aws_elb" "bar" { instance_protocol = "http" lb_port = 443 lb_protocol = "https" - ssl_certificate_id = "arn:aws:iam::123456789012:server-certificate/certName" + ssl_certificate_id = "arn:aws:iam::123456789012:server-certificate/certName" } health_check { diff --git a/website/source/docs/providers/aws/r/instance.html.markdown b/website/source/docs/providers/aws/r/instance.html.markdown index 48ab4bd81..d7eeef904 100644 --- a/website/source/docs/providers/aws/r/instance.html.markdown +++ b/website/source/docs/providers/aws/r/instance.html.markdown @@ -2,6 +2,8 @@ layout: "aws" page_title: "AWS: aws_instance" sidebar_current: "docs-aws-resource-instance" +description: |- + Provides an EC2 instance resource. This allows instances to be created, updated, and deleted. Instances also support provisioning. --- # aws\_instance diff --git a/website/source/docs/providers/aws/r/internet_gateway.html.markdown b/website/source/docs/providers/aws/r/internet_gateway.html.markdown index e83ec6871..2207febe0 100644 --- a/website/source/docs/providers/aws/r/internet_gateway.html.markdown +++ b/website/source/docs/providers/aws/r/internet_gateway.html.markdown @@ -2,6 +2,8 @@ layout: "aws" page_title: "AWS: aws_internet_gateway" sidebar_current: "docs-aws-resource-internet-gateway" +description: |- + Provides a resource to create a VPC Internet Gateway. --- # aws\_internet\_gateway diff --git a/website/source/docs/providers/aws/r/launch_config.html.markdown b/website/source/docs/providers/aws/r/launch_config.html.markdown index c681747e8..58ff91975 100644 --- a/website/source/docs/providers/aws/r/launch_config.html.markdown +++ b/website/source/docs/providers/aws/r/launch_config.html.markdown @@ -2,6 +2,8 @@ layout: "aws" page_title: "AWS: aws_launch_configuration" sidebar_current: "docs-aws-resource-launch-config" +description: |- + Provides a resource to create a new launch configuration, used for autoscaling groups. --- # aws\_launch\_configuration diff --git a/website/source/docs/providers/aws/r/route53_record.html.markdown b/website/source/docs/providers/aws/r/route53_record.html.markdown index 4a519cf82..d0522e597 100644 --- a/website/source/docs/providers/aws/r/route53_record.html.markdown +++ b/website/source/docs/providers/aws/r/route53_record.html.markdown @@ -2,6 +2,8 @@ layout: "aws" page_title: "AWS: aws_route53_record" sidebar_current: "docs-aws-resource-route53-record" +description: |- + Provides a Route53 record resource. --- # aws\_route53\_record diff --git a/website/source/docs/providers/aws/r/route53_zone.html.markdown b/website/source/docs/providers/aws/r/route53_zone.html.markdown index 6be339aaf..b8b6f32d6 100644 --- a/website/source/docs/providers/aws/r/route53_zone.html.markdown +++ b/website/source/docs/providers/aws/r/route53_zone.html.markdown @@ -2,6 +2,8 @@ layout: "aws" page_title: "AWS: aws_route53_zone" sidebar_current: "docs-aws-resource-route53-zone" +description: |- + Provides a Route53 Hosted Zone resource. --- # aws\_route53\_zone diff --git a/website/source/docs/providers/aws/r/route_table.html.markdown b/website/source/docs/providers/aws/r/route_table.html.markdown index eaf45cb6d..37a9d89ac 100644 --- a/website/source/docs/providers/aws/r/route_table.html.markdown +++ b/website/source/docs/providers/aws/r/route_table.html.markdown @@ -2,6 +2,8 @@ layout: "aws" page_title: "AWS: aws_route_table" sidebar_current: "docs-aws-resource-route-table|" +description: |- + Provides a resource to create a VPC routing table. --- # aws\_route\_table diff --git a/website/source/docs/providers/aws/r/route_table_assoc.html.markdown b/website/source/docs/providers/aws/r/route_table_assoc.html.markdown index 2c924b7d2..712a1dd9c 100644 --- a/website/source/docs/providers/aws/r/route_table_assoc.html.markdown +++ b/website/source/docs/providers/aws/r/route_table_assoc.html.markdown @@ -2,6 +2,8 @@ layout: "aws" page_title: "AWS: aws_route_table_association" sidebar_current: "docs-aws-resource-route-table-assoc" +description: |- + Provides a resource to create an association between a subnet and routing table. --- # aws\_route\_table\_association diff --git a/website/source/docs/providers/aws/r/s3_bucket.html.markdown b/website/source/docs/providers/aws/r/s3_bucket.html.markdown index dcce52738..a2a4c7360 100644 --- a/website/source/docs/providers/aws/r/s3_bucket.html.markdown +++ b/website/source/docs/providers/aws/r/s3_bucket.html.markdown @@ -2,6 +2,8 @@ layout: "aws" page_title: "AWS: aws_s3_bucket" sidebar_current: "docs-aws-resource-s3-bucket" +description: |- + Provides a S3 bucket resource. --- # aws\_s3\_bucket diff --git a/website/source/docs/providers/aws/r/security_group.html.markdown b/website/source/docs/providers/aws/r/security_group.html.markdown index 4d8efed6a..765fdab9e 100644 --- a/website/source/docs/providers/aws/r/security_group.html.markdown +++ b/website/source/docs/providers/aws/r/security_group.html.markdown @@ -2,6 +2,8 @@ layout: "aws" page_title: "AWS: aws_security_group" sidebar_current: "docs-aws-resource-security-group" +description: |- + Provides an security group resource. --- # aws\_security\_group diff --git a/website/source/docs/providers/aws/r/subnet.html.markdown b/website/source/docs/providers/aws/r/subnet.html.markdown index 73d6e5628..7ce52ba99 100644 --- a/website/source/docs/providers/aws/r/subnet.html.markdown +++ b/website/source/docs/providers/aws/r/subnet.html.markdown @@ -2,6 +2,8 @@ layout: "aws" page_title: "AWS: aws_subnet" sidebar_current: "docs-aws-resource-subnet" +description: |- + Provides an VPC subnet resource. --- # aws\_subnet diff --git a/website/source/docs/providers/aws/r/vpc.html.markdown b/website/source/docs/providers/aws/r/vpc.html.markdown index be9337713..489648d80 100644 --- a/website/source/docs/providers/aws/r/vpc.html.markdown +++ b/website/source/docs/providers/aws/r/vpc.html.markdown @@ -2,6 +2,8 @@ layout: "aws" page_title: "AWS: aws_vpc" sidebar_current: "docs-aws-resource-vpc" +description: |- + Provides an VPC resource. --- # aws\_vpc diff --git a/website/source/docs/providers/cloudflare/index.html.markdown b/website/source/docs/providers/cloudflare/index.html.markdown index a8c0cd353..a806d1254 100644 --- a/website/source/docs/providers/cloudflare/index.html.markdown +++ b/website/source/docs/providers/cloudflare/index.html.markdown @@ -2,6 +2,8 @@ layout: "cloudflare" page_title: "Provider: Cloudflare" sidebar_current: "docs-cloudflare-index" +description: |- + The CloudFlare provider is used to interact with the DNS resources supported by CloudFlare. The provider needs to be configured with the proper credentials before it can be used. --- # CloudFlare Provider diff --git a/website/source/docs/providers/cloudflare/r/record.html.markdown b/website/source/docs/providers/cloudflare/r/record.html.markdown index 55a09eb6a..55e401e3f 100644 --- a/website/source/docs/providers/cloudflare/r/record.html.markdown +++ b/website/source/docs/providers/cloudflare/r/record.html.markdown @@ -2,6 +2,8 @@ layout: "cloudflare" page_title: "CloudFlare: cloudflare_record" sidebar_current: "docs-cloudflare-resource-record" +description: |- + Provides a Cloudflare record resource. --- # cloudflare\_record diff --git a/website/source/docs/providers/consul/index.html.markdown b/website/source/docs/providers/consul/index.html.markdown index 291d4367d..d7ceec10b 100644 --- a/website/source/docs/providers/consul/index.html.markdown +++ b/website/source/docs/providers/consul/index.html.markdown @@ -2,6 +2,8 @@ layout: "consul" page_title: "Provider: Consul" sidebar_current: "docs-consul-index" +description: |- + Consul is a tool for service discovery, configuration and orchestration. The Consul provider exposes resources used to interact with a Consul cluster. Configuration of the provider is optional, as it provides defaults for all arguments. --- # Consul Provider diff --git a/website/source/docs/providers/consul/r/keys.html.markdown b/website/source/docs/providers/consul/r/keys.html.markdown index 4919af109..f0f854a3e 100644 --- a/website/source/docs/providers/consul/r/keys.html.markdown +++ b/website/source/docs/providers/consul/r/keys.html.markdown @@ -2,6 +2,8 @@ layout: "consul" page_title: "Consul: consul_keys" sidebar_current: "docs-consul-resource-keys" +description: |- + 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. --- # consul\_keys diff --git a/website/source/docs/providers/dnsimple/index.html.markdown b/website/source/docs/providers/dnsimple/index.html.markdown index ac84f177d..ad98c3218 100644 --- a/website/source/docs/providers/dnsimple/index.html.markdown +++ b/website/source/docs/providers/dnsimple/index.html.markdown @@ -2,6 +2,8 @@ layout: "dnsimple" page_title: "Provider: DNSimple" sidebar_current: "docs-dnsimple-index" +description: |- + The DNSimple provider is used to interact with the resources supported by DNSimple. The provider needs to be configured with the proper credentials before it can be used. --- # DNSimple Provider diff --git a/website/source/docs/providers/dnsimple/r/record.html.markdown b/website/source/docs/providers/dnsimple/r/record.html.markdown index bf6afae09..24b6d199a 100644 --- a/website/source/docs/providers/dnsimple/r/record.html.markdown +++ b/website/source/docs/providers/dnsimple/r/record.html.markdown @@ -2,6 +2,8 @@ layout: "dnsimple" page_title: "DNSimple: dnsimple_record" sidebar_current: "docs-dnsimple-resource-record" +description: |- + Provides a DNSimple record resource. --- # dnsimple\_record diff --git a/website/source/docs/providers/do/index.html.markdown b/website/source/docs/providers/do/index.html.markdown index c074d6ac2..453a3cb37 100644 --- a/website/source/docs/providers/do/index.html.markdown +++ b/website/source/docs/providers/do/index.html.markdown @@ -2,6 +2,8 @@ layout: "digitalocean" page_title: "Provider: DigitalOcean" sidebar_current: "docs-do-index" +description: |- + The DigitalOcean (DO) provider is used to interact with the resources supported by DigitalOcean. The provider needs to be configured with the proper credentials before it can be used. --- # DigitalOcean Provider diff --git a/website/source/docs/providers/do/r/domain.html.markdown b/website/source/docs/providers/do/r/domain.html.markdown index 8a3de1bd9..5580b63d2 100644 --- a/website/source/docs/providers/do/r/domain.html.markdown +++ b/website/source/docs/providers/do/r/domain.html.markdown @@ -2,6 +2,8 @@ layout: "digitalocean" page_title: "DigitalOcean: digitalocean_domain" sidebar_current: "docs-do-resource-domain" +description: |- + Provides a DigitalOcean domain resource. --- # digitalocean\_domain diff --git a/website/source/docs/providers/do/r/droplet.html.markdown b/website/source/docs/providers/do/r/droplet.html.markdown index ebe4931ce..bfb8ed550 100644 --- a/website/source/docs/providers/do/r/droplet.html.markdown +++ b/website/source/docs/providers/do/r/droplet.html.markdown @@ -2,6 +2,8 @@ layout: "digitalocean" page_title: "DigitalOcean: digitalocean_droplet" sidebar_current: "docs-do-resource-droplet" +description: |- + Provides a DigitalOcean droplet resource. This can be used to create, modify, and delete droplets. Droplets also support provisioning. --- # digitalocean\_droplet diff --git a/website/source/docs/providers/do/r/record.html.markdown b/website/source/docs/providers/do/r/record.html.markdown index bfd6ee7c7..938fb5a59 100644 --- a/website/source/docs/providers/do/r/record.html.markdown +++ b/website/source/docs/providers/do/r/record.html.markdown @@ -2,6 +2,8 @@ layout: "digitalocean" page_title: "DigitalOcean: digitalocean_record" sidebar_current: "docs-do-resource-record" +description: |- + Provides a DigitalOcean domain resource. --- # digitalocean\_record diff --git a/website/source/docs/providers/google/index.html.markdown b/website/source/docs/providers/google/index.html.markdown index b9a67ae61..6eafafbcd 100644 --- a/website/source/docs/providers/google/index.html.markdown +++ b/website/source/docs/providers/google/index.html.markdown @@ -2,6 +2,8 @@ layout: "google" page_title: "Provider: Google Cloud" sidebar_current: "docs-google-index" +description: |- + The Google Cloud provider is used to interact with Google Cloud services. The provider needs to be configured with the proper credentials before it can be used. --- # Google Cloud Provider diff --git a/website/source/docs/providers/google/r/compute_address.html.markdown b/website/source/docs/providers/google/r/compute_address.html.markdown index 08c98b0d3..5365fa2b6 100644 --- a/website/source/docs/providers/google/r/compute_address.html.markdown +++ b/website/source/docs/providers/google/r/compute_address.html.markdown @@ -2,6 +2,8 @@ layout: "google" page_title: "Google: google_compute_address" sidebar_current: "docs-google-resource-address" +description: |- + Creates a static IP address resource for Google Compute Engine. --- # google\_compute\_address diff --git a/website/source/docs/providers/google/r/compute_disk.html.markdown b/website/source/docs/providers/google/r/compute_disk.html.markdown index f52120058..e2fae7380 100644 --- a/website/source/docs/providers/google/r/compute_disk.html.markdown +++ b/website/source/docs/providers/google/r/compute_disk.html.markdown @@ -2,6 +2,8 @@ layout: "google" page_title: "Google: google_compute_disk" sidebar_current: "docs-google-resource-disk" +description: |- + Creates a new persistent disk within GCE, based on another disk. --- # google\_compute\_disk diff --git a/website/source/docs/providers/google/r/compute_firewall.html.markdown b/website/source/docs/providers/google/r/compute_firewall.html.markdown index a2d69e515..638a4bfd2 100644 --- a/website/source/docs/providers/google/r/compute_firewall.html.markdown +++ b/website/source/docs/providers/google/r/compute_firewall.html.markdown @@ -2,6 +2,8 @@ layout: "google" page_title: "Google: google_compute_firewall" sidebar_current: "docs-google-resource-firewall" +description: |- + Manages a firewall resource within GCE. --- # google\_compute\_firewall diff --git a/website/source/docs/providers/google/r/compute_instance.html.markdown b/website/source/docs/providers/google/r/compute_instance.html.markdown index 66172fc51..a30860947 100644 --- a/website/source/docs/providers/google/r/compute_instance.html.markdown +++ b/website/source/docs/providers/google/r/compute_instance.html.markdown @@ -2,6 +2,8 @@ layout: "google" page_title: "Google: google_compute_instance" sidebar_current: "docs-google-resource-instance" +description: |- + Manages a VM instance resource within GCE. --- # google\_compute\_instance diff --git a/website/source/docs/providers/google/r/compute_network.html.markdown b/website/source/docs/providers/google/r/compute_network.html.markdown index 52ae1c7bc..a6d94e402 100644 --- a/website/source/docs/providers/google/r/compute_network.html.markdown +++ b/website/source/docs/providers/google/r/compute_network.html.markdown @@ -2,6 +2,8 @@ layout: "google" page_title: "Google: google_compute_network" sidebar_current: "docs-google-resource-network" +description: |- + Manages a network within GCE. --- # google\_compute\_network diff --git a/website/source/docs/providers/google/r/compute_route.html.markdown b/website/source/docs/providers/google/r/compute_route.html.markdown index b3ebe3313..3651ded95 100644 --- a/website/source/docs/providers/google/r/compute_route.html.markdown +++ b/website/source/docs/providers/google/r/compute_route.html.markdown @@ -2,6 +2,8 @@ layout: "google" page_title: "Google: google_compute_route" sidebar_current: "docs-google-resource-route" +description: |- + Manages a network route within GCE. --- # google\_compute\_route diff --git a/website/source/docs/providers/heroku/index.html.markdown b/website/source/docs/providers/heroku/index.html.markdown index ba59c79c0..b04fd001c 100644 --- a/website/source/docs/providers/heroku/index.html.markdown +++ b/website/source/docs/providers/heroku/index.html.markdown @@ -2,6 +2,8 @@ layout: "heroku" page_title: "Provider: Heroku" sidebar_current: "docs-heroku-index" +description: |- + The Heroku provider is used to interact with the resources supported by Heroku. The provider needs to be configured with the proper credentials before it can be used. --- # Heroku Provider diff --git a/website/source/docs/providers/heroku/r/addon.html.markdown b/website/source/docs/providers/heroku/r/addon.html.markdown index eb7ced786..6bb0a9bd5 100644 --- a/website/source/docs/providers/heroku/r/addon.html.markdown +++ b/website/source/docs/providers/heroku/r/addon.html.markdown @@ -2,6 +2,8 @@ layout: "heroku" page_title: "Heroku: heroku_addon" sidebar_current: "docs-heroku-resource-addon" +description: |- + Provides a Heroku Add-On resource. These can be attach services to a Heroku app. --- # heroku\_addon diff --git a/website/source/docs/providers/heroku/r/app.html.markdown b/website/source/docs/providers/heroku/r/app.html.markdown index 2374b2dda..aba45924d 100644 --- a/website/source/docs/providers/heroku/r/app.html.markdown +++ b/website/source/docs/providers/heroku/r/app.html.markdown @@ -2,6 +2,8 @@ layout: "heroku" page_title: "Heroku: heroku_app" sidebar_current: "docs-heroku-resource-app" +description: |- + Provides a Heroku App resource. This can be used to create and manage applications on Heroku. --- # heroku\_app diff --git a/website/source/docs/providers/heroku/r/domain.html.markdown b/website/source/docs/providers/heroku/r/domain.html.markdown index b02b4b591..9d7b03cf4 100644 --- a/website/source/docs/providers/heroku/r/domain.html.markdown +++ b/website/source/docs/providers/heroku/r/domain.html.markdown @@ -2,6 +2,8 @@ layout: "heroku" page_title: "Heroku: heroku_domain" sidebar_current: "docs-heroku-resource-domain" +description: |- + Provides a Heroku App resource. This can be used to create and manage applications on Heroku. --- # heroku\_domain diff --git a/website/source/docs/providers/heroku/r/drain.html.markdown b/website/source/docs/providers/heroku/r/drain.html.markdown index 2fdc8c63a..819181c3e 100644 --- a/website/source/docs/providers/heroku/r/drain.html.markdown +++ b/website/source/docs/providers/heroku/r/drain.html.markdown @@ -2,6 +2,8 @@ layout: "heroku" page_title: "Heroku: heroku_drain" sidebar_current: "docs-heroku-resource-drain" +description: |- + Provides a Heroku Drain resource. This can be used to create and manage Log Drains on Heroku. --- # heroku\_drain diff --git a/website/source/docs/providers/index.html.markdown b/website/source/docs/providers/index.html.markdown index fb739259d..457c6ceaf 100644 --- a/website/source/docs/providers/index.html.markdown +++ b/website/source/docs/providers/index.html.markdown @@ -2,6 +2,8 @@ layout: "docs" page_title: "Providers" sidebar_current: "docs-providers" +description: |- + Terraform is used to create, manage, and manipulate infrastructure resources. Examples of resources include physical machines, VMs, network switches, containers, etc. Almost any infrastructure noun can be represented as a resource in Terraform. --- # Providers diff --git a/website/source/docs/providers/mailgun/index.html.markdown b/website/source/docs/providers/mailgun/index.html.markdown index 13c89923e..20a307cb6 100644 --- a/website/source/docs/providers/mailgun/index.html.markdown +++ b/website/source/docs/providers/mailgun/index.html.markdown @@ -2,6 +2,8 @@ layout: "mailgun" page_title: "Provider: Mailgun" sidebar_current: "docs-mailgun-index" +description: |- + The Mailgun provider is used to interact with the resources supported by Mailgun. The provider needs to be configured with the proper credentials before it can be used. --- # Provider diff --git a/website/source/docs/providers/mailgun/r/domain.html.markdown b/website/source/docs/providers/mailgun/r/domain.html.markdown index 82fae53da..3efe63426 100644 --- a/website/source/docs/providers/mailgun/r/domain.html.markdown +++ b/website/source/docs/providers/mailgun/r/domain.html.markdown @@ -2,6 +2,8 @@ layout: "mailgun" page_title: "Mailgun: mailgun_domain" sidebar_current: "docs-mailgun-resource-domain" +description: |- + Provides a Mailgun App resource. This can be used to create and manage applications on Mailgun. --- # mailgun\_domain diff --git a/website/source/docs/provisioners/connection.html.markdown b/website/source/docs/provisioners/connection.html.markdown index 61fb1f5e5..af55fb2e4 100644 --- a/website/source/docs/provisioners/connection.html.markdown +++ b/website/source/docs/provisioners/connection.html.markdown @@ -2,6 +2,8 @@ layout: "docs" page_title: "Provisioner Connections" sidebar_current: "docs-provisioners-connection" +description: |- + Many provisioners require access to the remote resource. For example, a provisioner may need to use ssh to connect to the resource. --- # Provisioner Connections diff --git a/website/source/docs/provisioners/file.html.markdown b/website/source/docs/provisioners/file.html.markdown index 11188e84b..692ce8e57 100644 --- a/website/source/docs/provisioners/file.html.markdown +++ b/website/source/docs/provisioners/file.html.markdown @@ -2,6 +2,8 @@ layout: "docs" page_title: "Provisioner: file" sidebar_current: "docs-provisioners-file" +description: |- + The `file` provisioner is used to copy files or directories from the machine executing Terraform to the newly created resource. The `file` provisioner only supports `ssh` type connections. --- # File Provisioner diff --git a/website/source/docs/provisioners/index.html.markdown b/website/source/docs/provisioners/index.html.markdown index 8fc766a3c..07d37feea 100644 --- a/website/source/docs/provisioners/index.html.markdown +++ b/website/source/docs/provisioners/index.html.markdown @@ -2,6 +2,8 @@ layout: "docs" page_title: "Provisioners" sidebar_current: "docs-provisioners" +description: |- + When a resource is initially created, provisioners can be executed to initialize that resource. This can be used to add resources to an inventory management system, run a configuration management tool, bootstrap the resource into a cluster, etc. --- # Provisioners diff --git a/website/source/docs/provisioners/local-exec.html.markdown b/website/source/docs/provisioners/local-exec.html.markdown index cba34c526..1a41194b2 100644 --- a/website/source/docs/provisioners/local-exec.html.markdown +++ b/website/source/docs/provisioners/local-exec.html.markdown @@ -2,6 +2,8 @@ layout: "docs" page_title: "Provisioner: local-exec" sidebar_current: "docs-provisioners-local" +description: |- + The `local-exec` provisioner invokes a local executable after a resource is created. This invokes a process on the machine running Terraform, not on the resource. See the `remote-exec` provisioner to run commands on the resource. --- # local-exec Provisioner diff --git a/website/source/docs/provisioners/remote-exec.html.markdown b/website/source/docs/provisioners/remote-exec.html.markdown index e431db5ab..0062fd254 100644 --- a/website/source/docs/provisioners/remote-exec.html.markdown +++ b/website/source/docs/provisioners/remote-exec.html.markdown @@ -2,6 +2,8 @@ layout: "docs" page_title: "Provisioner: remote-exec" sidebar_current: "docs-provisioners-remote" +description: |- + The `remote-exec` provisioner invokes a script on a remote resource after it is created. This can be used to run a configuration management tool, bootstrap into a cluster, etc. To invoke a local process, see the `local-exec` provisioner instead. The `remote-exec` provisioner only supports `ssh` type connections. --- # remote-exec Provisioner diff --git a/website/source/downloads.html.erb b/website/source/downloads.html.erb index 25fbe3906..6455b3bf4 100644 --- a/website/source/downloads.html.erb +++ b/website/source/downloads.html.erb @@ -2,6 +2,8 @@ layout: "downloads" page_title: "Download Terraform" sidebar_current: "downloads-terraform" +description: |- + Download Terraform ---

Download Terraform

diff --git a/website/source/intro/examples/aws.html.markdown b/website/source/intro/examples/aws.html.markdown index 04b9088ad..b7bf529aa 100644 --- a/website/source/intro/examples/aws.html.markdown +++ b/website/source/intro/examples/aws.html.markdown @@ -2,6 +2,8 @@ layout: "intro" page_title: "Basic Two-Tier AWS Architecture" sidebar_current: "examples-aws" +description: |- + This provides a template for running a simple two-tier architecture on Amazon Web services. The premise is that you have stateless app servers running behind an ELB serving traffic. --- # Basic Two-Tier AWS Architecture diff --git a/website/source/intro/examples/consul.html.markdown b/website/source/intro/examples/consul.html.markdown index 77066c73d..0f00f1b25 100644 --- a/website/source/intro/examples/consul.html.markdown +++ b/website/source/intro/examples/consul.html.markdown @@ -2,6 +2,8 @@ layout: "intro" page_title: "Consul Example" sidebar_current: "examples-consul" +description: |- + Consul is a tool for service discovery, configuration and orchestration. The Key/Value store it provides is often used to store application configuration and information about the infrastructure necessary to process requests. --- # Consul Example diff --git a/website/source/intro/examples/count.markdown b/website/source/intro/examples/count.markdown index 5d475b3cb..ea7ed9884 100644 --- a/website/source/intro/examples/count.markdown +++ b/website/source/intro/examples/count.markdown @@ -2,6 +2,8 @@ layout: "intro" page_title: "Count" sidebar_current: "examples-count" +description: |- + The count parameter on resources can simplify configurations and let you scale resources by simply incrementing a number. --- # Count Example diff --git a/website/source/intro/examples/cross-provider.markdown b/website/source/intro/examples/cross-provider.markdown index ad7435693..92cd44df3 100644 --- a/website/source/intro/examples/cross-provider.markdown +++ b/website/source/intro/examples/cross-provider.markdown @@ -2,6 +2,8 @@ layout: "intro" page_title: "Cross Provider" sidebar_current: "examples-cross-provider" +description: |- + This is a simple example of the cross-provider capabilities of Terraform. --- # Cross Provider Example diff --git a/website/source/intro/examples/index.html.markdown b/website/source/intro/examples/index.html.markdown index 708c86f13..4de521f2d 100644 --- a/website/source/intro/examples/index.html.markdown +++ b/website/source/intro/examples/index.html.markdown @@ -2,6 +2,8 @@ layout: "intro" page_title: "Example Configurations" sidebar_current: "examples" +description: |- + These examples are designed to help you understand some of the ways Terraform can be used. --- # Example Configurations diff --git a/website/source/intro/getting-started/build.html.md b/website/source/intro/getting-started/build.html.md index e2f41f839..cc81481de 100644 --- a/website/source/intro/getting-started/build.html.md +++ b/website/source/intro/getting-started/build.html.md @@ -1,7 +1,9 @@ --- layout: "intro" page_title: "Build Infrastructure" -sidebar_current: "gettingstarted-build" +sidebar_current: "gettingstarted-build +description: |- + With Terraform installed, let's dive right into it and start creating some infrastructure. --- # Build Infrastructure diff --git a/website/source/intro/getting-started/change.html.md b/website/source/intro/getting-started/change.html.md index 9df323e05..4850bc808 100644 --- a/website/source/intro/getting-started/change.html.md +++ b/website/source/intro/getting-started/change.html.md @@ -2,6 +2,8 @@ layout: "intro" page_title: "Change Infrastructure" sidebar_current: "gettingstarted-change" +description: |- + In the previous page, you created your first infrastructure with Terraform: a single EC2 instance. In this page, we're going to modify that resource, and see how Terraform handles change. --- # Change Infrastructure diff --git a/website/source/intro/getting-started/dependencies.html.md b/website/source/intro/getting-started/dependencies.html.md index 62535fd1f..550546d29 100644 --- a/website/source/intro/getting-started/dependencies.html.md +++ b/website/source/intro/getting-started/dependencies.html.md @@ -2,6 +2,8 @@ layout: "intro" page_title: "Resource Dependencies" sidebar_current: "gettingstarted-deps" +description: |- + In this page, we're going to introduce resource dependencies, where we'll not only see a configuration with multiple resources for the first time, but also scenarios where resource parameters use information from other resources. --- # Resource Dependencies diff --git a/website/source/intro/getting-started/destroy.html.md b/website/source/intro/getting-started/destroy.html.md index 9c0d21ad3..c08976561 100644 --- a/website/source/intro/getting-started/destroy.html.md +++ b/website/source/intro/getting-started/destroy.html.md @@ -2,6 +2,8 @@ layout: "intro" page_title: "Destroy Infrastructure" sidebar_current: "gettingstarted-destroy" +description: |- + We've now seen how to build and change infrastructure. Before we move on to creating multiple resources and showing resource dependencies, we're going to go over how to completely destroy the Terraform-managed infrastructure. --- # Destroy Infrastructure diff --git a/website/source/intro/getting-started/install.html.markdown b/website/source/intro/getting-started/install.html.markdown index e5ff20512..dc4729bc9 100644 --- a/website/source/intro/getting-started/install.html.markdown +++ b/website/source/intro/getting-started/install.html.markdown @@ -2,6 +2,8 @@ layout: "intro" page_title: "Installing Terraform" sidebar_current: "gettingstarted-install" +description: |- + Terraform must first be installed on your machine. Terraform is distributed as a binary package for all supported platforms and architecture. This page will not cover how to compile Terraform from source. --- # Install Terraform diff --git a/website/source/intro/getting-started/modules.html.md b/website/source/intro/getting-started/modules.html.md index b9d63abce..bdaf6968b 100644 --- a/website/source/intro/getting-started/modules.html.md +++ b/website/source/intro/getting-started/modules.html.md @@ -2,6 +2,8 @@ layout: "intro" page_title: "Modules" sidebar_current: "gettingstarted-modules" +description: |- + Up to this point, we've been configuring Terraform by editing Terraform configurations directly. As our infrastructure grows, this practice has a few key problems: a lack of organization, a lack of reusability, and difficulties in management for teams. --- # Modules diff --git a/website/source/intro/getting-started/next-steps.html.markdown b/website/source/intro/getting-started/next-steps.html.markdown index ae4a92e5f..bc0653944 100644 --- a/website/source/intro/getting-started/next-steps.html.markdown +++ b/website/source/intro/getting-started/next-steps.html.markdown @@ -2,6 +2,8 @@ layout: "intro" page_title: "Next Steps" sidebar_current: "gettingstarted-nextsteps" +description: |- + That concludes the getting started guide for Terraform. Hopefully you're now able to not only see what Terraform is useful for, but you're also able to put this knowledge to use to improve building your own infrastructure. --- # Next Steps diff --git a/website/source/intro/getting-started/outputs.html.md b/website/source/intro/getting-started/outputs.html.md index 9eb319dd7..2d537097e 100644 --- a/website/source/intro/getting-started/outputs.html.md +++ b/website/source/intro/getting-started/outputs.html.md @@ -2,6 +2,8 @@ layout: "intro" page_title: "Output Variables" sidebar_current: "gettingstarted-outputs" +description: |- + In the previous section, we introduced input variables as a way to parameterize Terraform configurations. In this page, we introduce output variables as a way to organize data to be easily queried and shown back to the Terraform user. --- # Output Variables diff --git a/website/source/intro/getting-started/provision.html.md b/website/source/intro/getting-started/provision.html.md index 0aeb497f8..69aa053ff 100644 --- a/website/source/intro/getting-started/provision.html.md +++ b/website/source/intro/getting-started/provision.html.md @@ -2,6 +2,8 @@ layout: "intro" page_title: "Provision" sidebar_current: "gettingstarted-provision" +description: |- + You're now able to create and modify infrastructure. This page introduces how to use provisioners to run basic shell scripts on instances when they're created. --- # Provision diff --git a/website/source/intro/getting-started/variables.html.md b/website/source/intro/getting-started/variables.html.md index d9bb5f6a1..e0c385509 100644 --- a/website/source/intro/getting-started/variables.html.md +++ b/website/source/intro/getting-started/variables.html.md @@ -2,6 +2,8 @@ layout: "intro" page_title: "Input Variables" sidebar_current: "gettingstarted-variables" +description: |- + You now have enough Terraform knowledge to create useful configurations, but we're still hardcoding access keys, AMIs, etc. To become truly shareable and commitable to version control, we need to parameterize the configurations. This page introduces input variables as a way to do this. --- # Input Variables diff --git a/website/source/intro/index.html.markdown b/website/source/intro/index.html.markdown index f339ac20b..258303313 100644 --- a/website/source/intro/index.html.markdown +++ b/website/source/intro/index.html.markdown @@ -2,6 +2,8 @@ layout: "intro" page_title: "Introduction" sidebar_current: "what" +description: |- + Welcome to the intro guide to Terraform! This guide is the best place to start with Terraform. We cover what Terraform is, what problems it can solve, how it compares to existing software, and contains a quick start for using Terraform. --- # Introduction to Terraform diff --git a/website/source/intro/use-cases.html.markdown b/website/source/intro/use-cases.html.markdown index d34edda16..1b2db5a07 100644 --- a/website/source/intro/use-cases.html.markdown +++ b/website/source/intro/use-cases.html.markdown @@ -2,6 +2,8 @@ layout: "intro" page_title: "Use Cases" sidebar_current: "use-cases" +description: |- + Before understanding use cases, it's useful to know what Terraform is. This page lists some concrete use cases for Terraform, but the possible use cases are much broader than what we cover. Due to its extensible nature, providers and provisioners can be added to further extend Terraform's ability to manipulate resources. --- # Use Cases diff --git a/website/source/intro/vs/boto.html.markdown b/website/source/intro/vs/boto.html.markdown index 7fec3a8e6..f6a2912d6 100644 --- a/website/source/intro/vs/boto.html.markdown +++ b/website/source/intro/vs/boto.html.markdown @@ -2,6 +2,8 @@ layout: "intro" page_title: "Terraform vs. Boto, Fog, etc." sidebar_current: "vs-other-boto" +description: |- + Libraries like Boto, Fog, etc. are used to provide native access to cloud providers and services by using their APIs. Some libraries are focused on specific clouds, while others attempt to bridge them all and mask the semantic differences. Using a client library only provides low-level access to APIs, requiring application developers to create their own tooling to build and manage their infrastructure. --- # Terraform vs. Boto, Fog, etc. diff --git a/website/source/intro/vs/chef-puppet.html.markdown b/website/source/intro/vs/chef-puppet.html.markdown index 562d6c1a8..9e5a820fe 100644 --- a/website/source/intro/vs/chef-puppet.html.markdown +++ b/website/source/intro/vs/chef-puppet.html.markdown @@ -2,6 +2,8 @@ layout: "intro" page_title: "Terraform vs. Chef, Puppet, etc." sidebar_current: "vs-other-chef" +description: |- + Configuration management tools install and manage software on a machine that already exists. Terraform is not a configuration management tool, and it allows existing tooling to focus on their strengths: bootstrapping and initializing resources. --- # Terraform vs. Chef, Puppet, etc. diff --git a/website/source/intro/vs/cloudformation.html.markdown b/website/source/intro/vs/cloudformation.html.markdown index 098474891..37eda92a9 100644 --- a/website/source/intro/vs/cloudformation.html.markdown +++ b/website/source/intro/vs/cloudformation.html.markdown @@ -2,6 +2,8 @@ layout: "intro" page_title: "Terraform vs. CloudFormation, Heat, etc." sidebar_current: "vs-other-cloudformation" +description: |- + Tools like CloudFormation, Heat, etc. allow the details of an infrastructure to be codified into a configuration file. The configuration files allow the infrastructure to be elastically created, modified and destroyed. Terraform is inspired by the problems they solve. --- # Terraform vs. CloudFormation, Heat, etc. diff --git a/website/source/intro/vs/custom.html.markdown b/website/source/intro/vs/custom.html.markdown index 772019428..4962bdba0 100644 --- a/website/source/intro/vs/custom.html.markdown +++ b/website/source/intro/vs/custom.html.markdown @@ -2,6 +2,8 @@ layout: "intro" page_title: "Terraform vs. Custom Solutions" sidebar_current: "vs-other-custom" +description: |- + Most organizations start by manually managing infrastructure through simple scripts or web-based interfaces. As the infrastructure grows, any manual approach to management becomes both error-prone and tedious, and many organizations begin to home-roll tooling to help automate the mechanical processes involved. --- # Terraform vs. Custom Solutions diff --git a/website/source/intro/vs/index.html.markdown b/website/source/intro/vs/index.html.markdown index 400a10101..472fefcbc 100644 --- a/website/source/intro/vs/index.html.markdown +++ b/website/source/intro/vs/index.html.markdown @@ -2,6 +2,8 @@ layout: "intro" page_title: "Terraform vs. Other Software" sidebar_current: "vs-other" +description: |- + Terraform provides a flexible abstraction of resources and providers. This model allows for representing everything from physical hardware, virtual machines, and containers, to email and DNS providers. Because of this flexibility, Terraform can be used to solve many different problems. This means there are a number of existing tools that overlap with the capabilities of Terraform. We compare Terraform to a number of these tools, but it should be noted that Terraform is not mutually exclusive with other systems. It can be used to manage a single application, or the entire datacenter. --- # Terraform vs. Other Software