mirror of
https://github.com/opentofu/opentofu.git
synced 2025-02-25 18:45:20 -06:00
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:
parent
e42130bf14
commit
e2272f71a0
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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>
|
||||||
|
Loading…
Reference in New Issue
Block a user