diff --git a/website/docs/plugins/basics.html.md b/website/docs/plugins/basics.html.md index 99a642610981..e583c7015939 100644 --- a/website/docs/plugins/basics.html.md +++ b/website/docs/plugins/basics.html.md @@ -8,15 +8,17 @@ description: |- # Plugin Basics +~> **Advanced topic!** Plugin development is a highly advanced +topic in Terraform, and is not required knowledge for day-to-day usage. +If you don't plan on writing any plugins, this section of the documentation is +not necessary to read. For general use of Terraform, please see our +[Intro to Terraform](/intro/index.html) and [Getting +Started](/intro/getting-started/install.html) guides. + 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. -~> **Advanced topic!** Plugin development is a highly advanced -topic in Terraform, and is not required knowledge for day-to-day usage. -If you don't plan on writing any plugins, we recommend not reading -this section of the documentation. - ## How it Works Terraform providers and provisioners are provided via plugins. Each plugin diff --git a/website/docs/plugins/provider.html.md b/website/docs/plugins/provider.html.md index 5921e34109b6..9b2a153aabc2 100644 --- a/website/docs/plugins/provider.html.md +++ b/website/docs/plugins/provider.html.md @@ -8,6 +8,13 @@ description: |- # Provider Plugins +~> **Advanced topic!** Plugin development is a highly advanced +topic in Terraform, and is not required knowledge for day-to-day usage. +If you don't plan on writing any plugins, this section of the documentation is +not necessary to read. For general use of Terraform, please see our +[Intro to Terraform](/intro/index.html) and [Getting +Started](/intro/getting-started/install.html) guides. + 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. @@ -22,11 +29,6 @@ The primary reasons to care about provider plugins are: * You want to write a completely new provider for custom, internal systems such as a private inventory management system. -~> **Advanced topic!** Plugin development is a highly advanced -topic in Terraform, and is not required knowledge for day-to-day usage. -If you don't plan on writing any plugins, we recommend not reading -this section of the documentation. - If you're interested in provider development, then read on. The remainder of this page will assume you're familiar with [plugin basics](/docs/plugins/basics.html) and that you already have diff --git a/website/intro/getting-started/build.html.md b/website/intro/getting-started/build.html.md index 7bfd609db082..f435774013b5 100644 --- a/website/intro/getting-started/build.html.md +++ b/website/intro/getting-started/build.html.md @@ -121,8 +121,13 @@ an existing configuration from version control -- is `terraform init`, which initializes various local settings and data that will be used by subsequent commands. -In particular, this command will install the plugins for the providers in -use within the configuration, which in this case is just the `aws` provider: +Terraform uses a plugin based architecture to support the numerous infrastructure +and service providers available. As of Terraform version 0.10.0, each "Provider" is it's +own encapsulated binary distributed separately from Terraform itself. The +`terraform init` command will automatically download and install any Provider +binary for the providers in use within the configuration, which in this case is +just the `aws` provider: + ``` $ terraform init diff --git a/website/layouts/guides.erb b/website/layouts/guides.erb index 7825f68b8579..6f9e56c0a880 100644 --- a/website/layouts/guides.erb +++ b/website/layouts/guides.erb @@ -1,6 +1,9 @@ <% wrap_layout :inner do %> <% content_for :sidebar do %>