mirror of
https://github.com/opentofu/opentofu.git
synced 2025-02-25 18:45:20 -06:00
Documentation for the Chef provider.
This commit is contained in:
parent
6aeffdfb2c
commit
764ea7f39c
@ -9,6 +9,7 @@ body.page-sub{
|
|||||||
body.layout-atlas,
|
body.layout-atlas,
|
||||||
body.layout-aws,
|
body.layout-aws,
|
||||||
body.layout-azure,
|
body.layout-azure,
|
||||||
|
body.layout-chef,
|
||||||
body.layout-cloudflare,
|
body.layout-cloudflare,
|
||||||
body.layout-cloudstack,
|
body.layout-cloudstack,
|
||||||
body.layout-consul,
|
body.layout-consul,
|
||||||
|
60
website/source/docs/providers/chef/index.html.markdown
Normal file
60
website/source/docs/providers/chef/index.html.markdown
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
---
|
||||||
|
layout: "chef"
|
||||||
|
page_title: "Provider: Chef"
|
||||||
|
sidebar_current: "docs-chef-index"
|
||||||
|
description: |-
|
||||||
|
Chef is a systems and cloud infrastructure automation framework.
|
||||||
|
---
|
||||||
|
|
||||||
|
# Chef Provider
|
||||||
|
|
||||||
|
[Chef](https://www.chef.io/) is a systems and cloud infrastructure automation
|
||||||
|
framework. The Chef provider allows Terraform to manage various resources
|
||||||
|
that exist within [Chef Server](http://docs.chef.io/chef_server.html).
|
||||||
|
|
||||||
|
Use the navigation to the left to read about the available resources.
|
||||||
|
|
||||||
|
## Example Usage
|
||||||
|
|
||||||
|
```
|
||||||
|
# Configure the Chef provider
|
||||||
|
provider "chef" {
|
||||||
|
"server_url" = "https://api.opscode.com/organizations/example/"
|
||||||
|
|
||||||
|
// You can set up a "Client" within the Chef Server management console.
|
||||||
|
"client_name" = "terraform"
|
||||||
|
"private_key_pem" = "${file(\"chef-terraform.pem\")}"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Create a Chef Environment
|
||||||
|
resource "chef_environment" "production" {
|
||||||
|
name = "production"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Create a Chef Role
|
||||||
|
resource "chef_role" "app_server" {
|
||||||
|
name = "app_server"
|
||||||
|
run_list = [
|
||||||
|
"recipe[terraform]"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Argument Reference
|
||||||
|
|
||||||
|
The following arguments are supported:
|
||||||
|
|
||||||
|
* `server_url` - (Required) The HTTP(S) API URL of the Chef server to use. If
|
||||||
|
the target Chef server supports organizations, use the full URL of the
|
||||||
|
organization you wish to configure. May be provided instead via the
|
||||||
|
``CHEF_SERVER_URL`` environment variable.
|
||||||
|
* `client_name` - (Required) The name of the client account to use when making
|
||||||
|
requests. This must have been already configured on the Chef server.
|
||||||
|
May be provided instead via the ``CHEF_CLIENT_NAME`` environment variable.
|
||||||
|
* `private_key_pem` - (Required) The PEM-formatted private key belonging to
|
||||||
|
the configured client. This is issued by the server when a new client object
|
||||||
|
is created. May be provided instead in a file whose path is in the
|
||||||
|
``CHEF_PRIVATE_KEY_FILE`` environment variable.
|
||||||
|
* `allow_unverified_ssl` - (Optional) Boolean indicating whether to make
|
||||||
|
requests to a Chef server whose SSL certicate cannot be verified. Defaults
|
||||||
|
to ``false``.
|
38
website/source/docs/providers/chef/r/data_bag.html.markdown
Normal file
38
website/source/docs/providers/chef/r/data_bag.html.markdown
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
---
|
||||||
|
layout: "chef"
|
||||||
|
page_title: "Chef: chef_data_bag"
|
||||||
|
sidebar_current: "docs-chef-resource-data-bag"
|
||||||
|
description: |-
|
||||||
|
Creates and manages a data bag in Chef Server.
|
||||||
|
---
|
||||||
|
|
||||||
|
# chef\_data\_bag
|
||||||
|
|
||||||
|
A [data bag](http://docs.chef.io/data_bags.html) is a collection of
|
||||||
|
configuration objects that are stored as JSON in Chef Server and can be
|
||||||
|
retrieved and used in Chef recipes.
|
||||||
|
|
||||||
|
This resource creates the data bag itself. Inside each data bag is a collection
|
||||||
|
of items which can be created using the ``chef_data_bag_item`` resource.
|
||||||
|
|
||||||
|
## Example Usage
|
||||||
|
|
||||||
|
```
|
||||||
|
resource "chef_data_bag" "example" {
|
||||||
|
name = "example-data-bag"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Argument Reference
|
||||||
|
|
||||||
|
The following arguments are supported:
|
||||||
|
|
||||||
|
* `name` - (Required) The unique name to assign to the data bag. This is the
|
||||||
|
name that other server clients will use to find and retrieve data from the
|
||||||
|
data bag.
|
||||||
|
|
||||||
|
## Attributes Reference
|
||||||
|
|
||||||
|
The following attributes are exported:
|
||||||
|
|
||||||
|
* `api_url` - The URL representing this data bag in the Chef server API.
|
@ -0,0 +1,48 @@
|
|||||||
|
---
|
||||||
|
layout: "chef"
|
||||||
|
page_title: "Chef: chef_data_bag_item"
|
||||||
|
sidebar_current: "docs-chef-resource-data-bag-item"
|
||||||
|
description: |-
|
||||||
|
Creates and manages an object within a data bag in Chef Server.
|
||||||
|
---
|
||||||
|
|
||||||
|
# chef\_data\_bag\_item
|
||||||
|
|
||||||
|
A [data bag](http://docs.chef.io/data_bags.html) is a collection of
|
||||||
|
configuration objects that are stored as JSON in Chef Server and can be
|
||||||
|
retrieved and used in Chef recipes.
|
||||||
|
|
||||||
|
This resource creates objects within an existing data bag. To create the
|
||||||
|
data bag itself, use the ``chef_data_bag`` resource.
|
||||||
|
|
||||||
|
## Example Usage
|
||||||
|
|
||||||
|
```
|
||||||
|
resource "chef_data_bag_item" "example" {
|
||||||
|
data_bag_name = "example-data-bag"
|
||||||
|
content_json = <<EOT
|
||||||
|
{
|
||||||
|
"id": "example-item",
|
||||||
|
"any_arbitrary_data": true
|
||||||
|
}
|
||||||
|
EOT
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Argument Reference
|
||||||
|
|
||||||
|
The following arguments are supported:
|
||||||
|
|
||||||
|
* `data_bag_name` - (Required) The name of the data bag into which this item
|
||||||
|
will be placed.
|
||||||
|
* `content_json` - (Required) A string containing a JSON object that will be
|
||||||
|
the content of the item. Must at minimum contain a property called "id"
|
||||||
|
that is unique within the data bag, which will become the identifier of
|
||||||
|
the created item.
|
||||||
|
|
||||||
|
## Attributes Reference
|
||||||
|
|
||||||
|
The following attributes are exported:
|
||||||
|
|
||||||
|
* `id` - The value of the "id" property in the ``content_json`` JSON object,
|
||||||
|
which can be used by clients to retrieve this item's content.
|
@ -0,0 +1,40 @@
|
|||||||
|
---
|
||||||
|
layout: "chef"
|
||||||
|
page_title: "Chef: chef_environment"
|
||||||
|
sidebar_current: "docs-chef-resource-environment"
|
||||||
|
description: |-
|
||||||
|
Creates and manages an environment in Chef Server.
|
||||||
|
---
|
||||||
|
|
||||||
|
# chef\_environment
|
||||||
|
|
||||||
|
An [environment](http://docs.chef.io/environments.html) is a container for
|
||||||
|
Chef nodes that share a set of attribute values and may have a set of version
|
||||||
|
constraints for which cookbook versions may be used on its nodes.
|
||||||
|
|
||||||
|
## Example Usage
|
||||||
|
|
||||||
|
```
|
||||||
|
resource "chef_environment" "example" {
|
||||||
|
name = "example-environment"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Argument Reference
|
||||||
|
|
||||||
|
The following arguments are supported:
|
||||||
|
|
||||||
|
* `name` - (Required) The unique name to assign to the environment. This name
|
||||||
|
will be used when nodes are created within the environment.
|
||||||
|
* `description` - (Optional) A human-friendly description of the environment.
|
||||||
|
If not set, a placeholder of "Managed by Terraform" will be set.
|
||||||
|
* `default_attributes_json` - (Optional) String containing a JSON-serialized
|
||||||
|
object containing the default attributes for the environment.
|
||||||
|
* `override_attributes_json` - (Optional) String containing a JSON-serialized
|
||||||
|
object containing the override attributes for the environment.
|
||||||
|
* `cookbook_constraints` - (Optional) Mapping of cookbook names to cookbook
|
||||||
|
version constraints that should apply for this environment.
|
||||||
|
|
||||||
|
## Attributes Reference
|
||||||
|
|
||||||
|
This resource exports no further attributes.
|
48
website/source/docs/providers/chef/r/node.html.markdown
Normal file
48
website/source/docs/providers/chef/r/node.html.markdown
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
---
|
||||||
|
layout: "chef"
|
||||||
|
page_title: "Chef: chef_node"
|
||||||
|
sidebar_current: "docs-chef-resource-node"
|
||||||
|
description: |-
|
||||||
|
Creates and manages a node in Chef Server.
|
||||||
|
---
|
||||||
|
|
||||||
|
# chef\_node
|
||||||
|
|
||||||
|
A [node](http://docs.chef.io/nodes.html) is a computer whose
|
||||||
|
configuration is managed by Chef.
|
||||||
|
|
||||||
|
Although this resource allows a node to be registered, it does not actually
|
||||||
|
configure the computer in question to interact with Chef. In most cases it
|
||||||
|
is better to use [the `chef` provisioner](/docs/provisioners/chef.html) to
|
||||||
|
configure the Chef client on a computer and have it register itself with the
|
||||||
|
Chef server.
|
||||||
|
|
||||||
|
## Example Usage
|
||||||
|
|
||||||
|
```
|
||||||
|
resource "chef_node" "example" {
|
||||||
|
name = "example-environment"
|
||||||
|
environment_name = "${chef_environment.example.name}"
|
||||||
|
run_list = ["recipe[example]", "role[app_server]"]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Argument Reference
|
||||||
|
|
||||||
|
The following arguments are supported:
|
||||||
|
|
||||||
|
* `name` - (Required) The unique name to assign to the node.
|
||||||
|
* `automatic_attributes_json` - (Optional) String containing a JSON-serialized
|
||||||
|
object containing the automatic attributes for the node.
|
||||||
|
* `normal_attributes_json` - (Optional) String containing a JSON-serialized
|
||||||
|
object containing the normal attributes for the node.
|
||||||
|
* `default_attributes_json` - (Optional) String containing a JSON-serialized
|
||||||
|
object containing the default attributes for the node.
|
||||||
|
* `override_attributes_json` - (Optional) String containing a JSON-serialized
|
||||||
|
object containing the override attributes for the node.
|
||||||
|
* `run_list` - (Optional) List of strings to set as the
|
||||||
|
[run list](https://docs.chef.io/run_lists.html) for the node.
|
||||||
|
|
||||||
|
## Attributes Reference
|
||||||
|
|
||||||
|
This resource exports no further attributes.
|
40
website/source/docs/providers/chef/r/role.html.markdown
Normal file
40
website/source/docs/providers/chef/r/role.html.markdown
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
---
|
||||||
|
layout: "chef"
|
||||||
|
page_title: "Chef: chef_role"
|
||||||
|
sidebar_current: "docs-chef-resource-role"
|
||||||
|
description: |-
|
||||||
|
Creates and manages a role in Chef Server.
|
||||||
|
---
|
||||||
|
|
||||||
|
# chef\_role
|
||||||
|
|
||||||
|
A [role](http://docs.chef.io/roles.html) is a set of standard configuration
|
||||||
|
that can apply across multiple nodes that perform the same function.
|
||||||
|
|
||||||
|
## Example Usage
|
||||||
|
|
||||||
|
```
|
||||||
|
resource "chef_role" "example" {
|
||||||
|
name = "example-role"
|
||||||
|
run_list = ["recipe[example]"]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Argument Reference
|
||||||
|
|
||||||
|
The following arguments are supported:
|
||||||
|
|
||||||
|
* `name` - (Required) The unique name to assign to the role.
|
||||||
|
* `description` - (Optional) A human-friendly description of the role.
|
||||||
|
If not set, a placeholder of "Managed by Terraform" will be set.
|
||||||
|
* `default_attributes_json` - (Optional) String containing a JSON-serialized
|
||||||
|
object containing the default attributes for the role.
|
||||||
|
* `override_attributes_json` - (Optional) String containing a JSON-serialized
|
||||||
|
object containing the override attributes for the role.
|
||||||
|
* `run_list` - (Optional) List of strings to set as the
|
||||||
|
[run list](https://docs.chef.io/run_lists.html) for any nodes that belong
|
||||||
|
to this role.
|
||||||
|
|
||||||
|
## Attributes Reference
|
||||||
|
|
||||||
|
This resource exports no further attributes.
|
38
website/source/layouts/chef.erb
Normal file
38
website/source/layouts/chef.erb
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
<% wrap_layout :inner do %>
|
||||||
|
<% content_for :sidebar do %>
|
||||||
|
<div class="docs-sidebar hidden-print affix-top" role="complementary">
|
||||||
|
<ul class="nav docs-sidenav">
|
||||||
|
<li<%= sidebar_current("docs-home") %>>
|
||||||
|
<a href="/docs/providers/index.html">« Documentation Home</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li<%= sidebar_current("docs-chef-index") %>>
|
||||||
|
<a href="/docs/providers/consul/index.html">Chef Provider</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li<%= sidebar_current(/^docs-chef-resource/) %>>
|
||||||
|
<a href="#">Resources</a>
|
||||||
|
<ul class="nav nav-visible">
|
||||||
|
<li<%= sidebar_current("docs-chef-resource-data-bag") %>>
|
||||||
|
<a href="/docs/providers/chef/r/data_bag.html">chef_data_bag</a>
|
||||||
|
</li>
|
||||||
|
<li<%= sidebar_current("docs-chef-resource-data-bag-item") %>>
|
||||||
|
<a href="/docs/providers/chef/r/data_bag_item.html">chef_data_bag_item</a>
|
||||||
|
</li>
|
||||||
|
<li<%= sidebar_current("docs-chef-resource-environment") %>>
|
||||||
|
<a href="/docs/providers/chef/r/environment.html">chef_environment</a>
|
||||||
|
</li>
|
||||||
|
<li<%= sidebar_current("docs-chef-resource-node") %>>
|
||||||
|
<a href="/docs/providers/chef/r/node.html">chef_node</a>
|
||||||
|
</li>
|
||||||
|
<li<%= sidebar_current("docs-chef-resource-role") %>>
|
||||||
|
<a href="/docs/providers/chef/r/role.html">chef_role</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<% end %>
|
||||||
|
|
||||||
|
<%= yield %>
|
||||||
|
<% end %>
|
@ -133,6 +133,10 @@
|
|||||||
<a href="/docs/providers/azure/index.html">Azure</a>
|
<a href="/docs/providers/azure/index.html">Azure</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li<%= sidebar_current("docs-providers-chef") %>>
|
||||||
|
<a href="/docs/providers/chef/index.html">Chef</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
<li<%= sidebar_current("docs-providers-cloudflare") %>>
|
<li<%= sidebar_current("docs-providers-cloudflare") %>>
|
||||||
<a href="/docs/providers/cloudflare/index.html">CloudFlare</a>
|
<a href="/docs/providers/cloudflare/index.html">CloudFlare</a>
|
||||||
</li>
|
</li>
|
||||||
|
Loading…
Reference in New Issue
Block a user