github.com/ezbercih/terraform@v0.1.1-0.20140729011846-3c33865e0839/website/source/docs/plugins/provider.html.md (about)

     1  ---
     2  layout: "docs"
     3  page_title: "Provider Plugins"
     4  sidebar_current: "docs-plugins-provider"
     5  ---
     6  
     7  # Provider Plugins
     8  
     9  A provider in Terraform is responsible for the lifecycle of a resource:
    10  create, read, update, delete. An example of a provider is AWS, which
    11  can manage resources of type `aws_instance`, `aws_eip`, `aws_elb`, etc.
    12  
    13  The primary reasons to care about provider plugins are:
    14  
    15    * You want to add a new resource type to an existing provider.
    16  
    17    * You want to write a completely new provider for managing resource
    18      types in a system not yet supported.
    19  
    20    * You want to write a completely new provider for custom, internal
    21      systems such as a private inventory management system.
    22  
    23  <div class="alert alert-block alert-warning">
    24  <strong>Advanced topic!</strong> Plugin development is a highly advanced
    25  topic in Terraform, and is not required knowledge for day-to-day usage.
    26  If you don't plan on writing any plugins, we recommend not reading
    27  this section of the documentation.
    28  </div>
    29  
    30  ## Coming Soon!
    31  
    32  The documentation for writing custom providers is coming soon. In the
    33  mean time, you can look at how our
    34  [built-in providers are written](https://github.com/hashicorp/terraform/tree/master/builtin).
    35  We recommend copying as much as possible from our providers when working
    36  on yours.
    37  
    38  We're also rapidly working on improving the high-level helpers for
    39  writing providers. We expect that writing providers will become much
    40  easier very shortly, and acknowledge that writing them now is not the
    41  easiest thing to do.