Updated Plugins section. (#8235)

- Minor update to remove some posisbly confusing discussion about
  pre 0.7 seperate binaries for plugins, and link to internal
  plugins section for more clarification of how plugins are
  handled in 0.7+.
This commit is contained in:
Brian Shumate 2016-08-16 15:21:33 -04:00 committed by Clint
parent e6aa50175c
commit c122ce0bf6
1 changed files with 6 additions and 15 deletions

View File

@ -19,22 +19,13 @@ this section of the documentation.
## How it Works
The plugin system for Terraform is based on multi-process RPC. Every
provider, provisioner, etc. in Terraform is actually a separate compiled
binary. You can see this when you download Terraform: the Terraform package
contains multiple binaries.
Terraform providers and provisioners are provided via plugins. Each plugin
exposes an implementation for a specific service, such as AWS, or provisioner,
such as bash. Plugins are executed as a separate process and communicate with
the main Terraform binary over an RPC interface.
Terraform executes these binaries in a certain way and uses Unix domain
sockets or network sockets to perform RPC with the plugins.
If you try to execute a plugin directly, an error will be shown:
```
$ terraform-provider-aws
This binary is a Terraform plugin. These are not meant to be
executed directly. Please execute `terraform`, which will load
any plugins automatically.
```
More details are available in
[Internal Docs](/docs/internals/internal-plugins.html).
The code within the binaries must adhere to certain interfaces.
The network communication and RPC is handled automatically by higher-level