Update our documentation to push "Getting Started" better (#15866)

* update plugin/provider to make clear this section isn't needed for regular use

* add some links and notes about getting started

* remove the mention of binaries... I 'm not sure it's needed yet

* 'Installing Terraform Providers' section

* sometimes I can't words good

* move the 'installing providers' block

* cleanup of terms

* copy that update to plugins/provider too
This commit is contained in:
Clint 2017-08-21 15:44:27 -05:00 committed by GitHub
parent e42130bf14
commit e2272f71a0
4 changed files with 24 additions and 12 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -1,6 +1,9 @@
<% wrap_layout :inner do %>
<% content_for :sidebar do %>
<ul class="nav docs-sidenav">
<li<%= sidebar_current("guides-getting-started") %>>
<a href="/intro/getting-started/install.html">Getting Started</a>
</li>
<li<%= sidebar_current("guides-writing-custom-terraform-providers") %>>
<a href="/guides/writing-custom-terraform-providers.html">Writing Custom Providers</a>
</li>