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 # 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 This page documents the basics of how the plugin system in Terraform
works, and how to setup a basic development environment for plugin development works, and how to setup a basic development environment for plugin development
if you're writing a Terraform plugin. 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 ## How it Works
Terraform providers and provisioners are provided via plugins. Each plugin Terraform providers and provisioners are provided via plugins. Each plugin

View File

@ -8,6 +8,13 @@ description: |-
# Provider Plugins # 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: A provider in Terraform is responsible for the lifecycle of a resource:
create, read, update, delete. An example of a provider is AWS, which create, read, update, delete. An example of a provider is AWS, which
can manage resources of type `aws_instance`, `aws_eip`, `aws_elb`, etc. 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 * You want to write a completely new provider for custom, internal
systems such as a private inventory management system. 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 If you're interested in provider development, then read on. The remainder
of this page will assume you're familiar with of this page will assume you're familiar with
[plugin basics](/docs/plugins/basics.html) and that you already have [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 initializes various local settings and data that will be used by subsequent
commands. commands.
In particular, this command will install the plugins for the providers in Terraform uses a plugin based architecture to support the numerous infrastructure
use within the configuration, which in this case is just the `aws` provider: 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 $ terraform init

View File

@ -1,6 +1,9 @@
<% wrap_layout :inner do %> <% wrap_layout :inner do %>
<% content_for :sidebar do %> <% content_for :sidebar do %>
<ul class="nav docs-sidenav"> <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") %>> <li<%= sidebar_current("guides-writing-custom-terraform-providers") %>>
<a href="/guides/writing-custom-terraform-providers.html">Writing Custom Providers</a> <a href="/guides/writing-custom-terraform-providers.html">Writing Custom Providers</a>
</li> </li>