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 8e26705498..635f780d75 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 0f21e8182b..93947fb6ed 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 bfd563d75b..96591a476d 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 434163b708..311fe174e1 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 80f91b08ee..0abaae14ec 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 c2f38dfa03..d01c6d769d 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 eeacfa5d92..f7e8a7126f 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 a157a047a7..bed95eac06 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 8ac98aa693..0ac4239374 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 64fd6073ed..1d8f1a778f 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 cbf10b3337..cc797ca387 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 9888884cb2..8593b75c02 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 422bf007bb..2b3e7f396d 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 dcec024484..c0fe3372f3 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 e1b7608947..3ccbcf7b65 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 07f48ca3cd..0cc47461a0 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 cc5bae9a58..3e8ac5c7ba 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 e0b42c781d..a667adcd58 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 1ed33b795f..7d95ba9fa7 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 03e3eedef2..dde8fb3ef3 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 0be82b45b4..ad8c8c910f 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 b86654094e..4e8b834e83 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 6323d404d4..5329003dc1 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 55f9953320..ca215cf430 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 bde40ef039..4c8713a0cb 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 d39b6000bc..bf4f8862d2 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 bfe12395f9..da69891f7a 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 30031ccd33..5a4bd933b7 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 9ea86b699d..8b4fce01f3 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 1ec8909287..fb379cc834 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 e7b80ebd23..9d2c26a14b 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 cbc3bc4c08..726e1c8025 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 5413462fc7..6cd0fa6d82 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 8105d8b83b..ec4a52881b 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 e0c57f9bb8..a10dec4ce6 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 5dbb2495e2..add35e0aac 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 dc9c30035a..85041f5221 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 48163c869b..f9050ad450 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 458d1e78a1..d422f81102 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 3420c7726b..4d29178bba 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 48ab4bd816..d7eeef904a 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 e83ec68719..2207febe00 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 c681747e8f..58ff919751 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 4a519cf82c..d0522e5976 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 6be339aaf5..b8b6f32d6b 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 eaf45cb6d9..37a9d89ac0 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 2c924b7d28..712a1dd9c3 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 dcce527384..a2a4c7360f 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 4d8efed6a4..765fdab9e4 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 73d6e56281..7ce52ba993 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 be93377135..489648d80f 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 a8c0cd353e..a806d12546 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 55a09eb6a2..55e401e3f8 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 291d4367dd..d7ceec10b5 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 4919af1095..f0f854a3e8 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 ac84f177d9..ad98c32181 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 bf6afae09b..24b6d199ad 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 c074d6ac26..453a3cb371 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 8a3de1bd97..5580b63d22 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 ebe4931ce5..bfb8ed5509 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 bfd6ee7c7f..938fb5a591 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 b9a67ae61e..6eafafbcdb 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 08c98b0d3d..5365fa2b6e 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 f521200583..e2fae7380c 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 a2d69e515e..638a4bfd26 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 66172fc516..a30860947a 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 52ae1c7bc0..a6d94e4020 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 b3ebe3313e..3651ded95f 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 ba59c79c06..b04fd001ce 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 eb7ced7861..6bb0a9bd59 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 2374b2dda7..aba45924d4 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 b02b4b5918..9d7b03cf4f 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 2fdc8c63a2..819181c3ef 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 fb739259d5..457c6ceaff 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 13c89923e5..20a307cb6e 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 82fae53dab..3efe634269 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 61fb1f5e51..af55fb2e43 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 11188e84b5..692ce8e573 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 8fc766a3c7..07d37feea2 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 cba34c5266..1a41194b28 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 e431db5abe..0062fd254a 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 25fbe3906e..6455b3bf44 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 04b9088ad1..b7bf529aa7 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 77066c73d9..0f00f1b251 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 5d475b3cbc..ea7ed98848 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 ad74356930..92cd44df3d 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 708c86f132..4de521f2d9 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 e2f41f8393..cc81481dec 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 9df323e056..4850bc808e 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 62535fd1f2..550546d29d 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 9c0d21ad32..c08976561e 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 e5ff20512d..dc4729bc96 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 b9d63abce1..bdaf6968b6 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 ae4a92e5f6..bc06539448 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 9eb319dd7c..2d537097e1 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 0aeb497f8b..69aa053ffb 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 d9bb5f6a17..e0c3855097 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 f339ac20b8..2583033135 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 d34edda168..1b2db5a071 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 7fec3a8e66..f6a2912d6e 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 562d6c1a80..9e5a820fe2 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 0984748917..37eda92a93 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 772019428e..4962bdba09 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 400a101015..472fefcbcd 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