website: Update URLs and name references for Terraform Cloud rebrand

The Terraform Enterprise brand has now been split into two parts:

- Terraform Cloud is the application that helps teams use Terraform together,
  with remote state storage, a shared run environment, etc.
- Terraform Enterprise is the on-premise distribution that lets enterprises run
  a private instance of the Terraform Cloud application.

The former TFE docs have been split accordingly.
This commit is contained in:
Nick Fagerlund 2019-08-06 15:28:03 -07:00 committed by Nick Fagerlund
parent d316ea08c5
commit 3aa909ac6e
24 changed files with 110 additions and 112 deletions

View File

@ -149,9 +149,9 @@ that is used for auto-installed plugins, using Hashicorp's release key. At
this time, the core Terraform archive itself is _not_ verified in this way; this time, the core Terraform archive itself is _not_ verified in this way;
that may change in a future version of this tool. that may change in a future version of this tool.
## Installing a Bundle in On-premises Terraform Enterprise ## Installing a Bundle in Terraform Enterprise
If using a private install of Terraform Enterprise in an "air-gapped" If using a Terraform Enterprise instance in an "air-gapped"
environment, this tool can produce a custom Terraform version package, which environment, this tool can produce a custom Terraform version package, which
includes a set of provider plugins along with core Terraform. includes a set of provider plugins along with core Terraform.
@ -159,7 +159,7 @@ To create a suitable bundle, use the `-os` and `-arch` options as described
above to produce a bundle targeting `linux_amd64`. You can then place this above to produce a bundle targeting `linux_amd64`. You can then place this
archive on an HTTP server reachable by the Terraform Enterprise hosts and archive on an HTTP server reachable by the Terraform Enterprise hosts and
install it as per install it as per
[Administration: Managing Terraform Versions](https://www.terraform.io/docs/enterprise/private/admin/resources.html#managing-terraform-versions). [Administration: Managing Terraform Versions](https://www.terraform.io/docs/enterprise/admin/resources.html#managing-terraform-versions).
After clicking the "Add Terraform Version" button: After clicking the "Add Terraform Version" button:

View File

@ -20,7 +20,7 @@ Here are some of the benefits of backends:
* **Working in a team**: Backends can store their state remotely and * **Working in a team**: Backends can store their state remotely and
protect that state with locks to prevent corruption. Some backends protect that state with locks to prevent corruption. Some backends
such as Terraform Enterprise even automatically store a history of such as Terraform Cloud even automatically store a history of
all state revisions. all state revisions.
* **Keeping sensitive information off disk**: State is retrieved from * **Keeping sensitive information off disk**: State is retrieved from

View File

@ -25,8 +25,8 @@ environment and more powerful access controls, without disrupting workflows
for users who are already comfortable with running Terraform. for users who are already comfortable with running Terraform.
Currently, [the `remote` backend](./types/remote.html) is the only backend to Currently, [the `remote` backend](./types/remote.html) is the only backend to
support remote operations, and [Terraform Enterprise](/docs/enterprise/index.html) support remote operations, and [Terraform Cloud](/docs/cloud/index.html)
is the only remote execution environment that supports it. For more information, see: is the only remote execution environment that supports it. For more information, see:
- [The `remote` backend](./types/remote.html) - [The `remote` backend](./types/remote.html)
- [Terraform Enterprise's CLI-driven run workflow](/docs/enterprise/run/cli.html) - [Terraform Cloud's CLI-driven run workflow](/docs/cloud/run/cli.html)

View File

@ -11,20 +11,20 @@ description: |-
**Kind: Enhanced** **Kind: Enhanced**
-> **Note:** We recommend using Terraform v0.11.13 or newer with this -> **Note:** We recommend using Terraform v0.11.13 or newer with this
backend. This backend requires either a Terraform Enterprise account on backend. This backend requires either a Terraform Cloud account on
[app.terraform.io](https://app.terraform.io) or a private instance of [app.terraform.io](https://app.terraform.io) or a Terraform Enterprise instance
Terraform Enterprise (version v201809-1 or newer). (version v201809-1 or newer).
The remote backend stores state and runs operations in Terraform Enterprise. The remote backend stores state and runs operations in Terraform Cloud.
When used with a Pro or Premium tier Terraform Enterprise account, operations When used with a Pro or Premium tier Terraform Cloud account, operations
like `terraform plan` or `terraform apply` are executed in Terraform like `terraform plan` or `terraform apply` are executed in Terraform
Enterprise's run environment, with log output streaming to the local terminal. Cloud's run environment, with log output streaming to the local terminal.
Remote plans and applies use variable values from the associated Terraform Remote plans and applies use variable values from the associated Terraform
Enterprise workspace. Cloud workspace.
When used with a free Terraform Enterprise account, operations are executed on When used with a free Terraform Cloud account, operations are executed on
the local machine and state is stored in Terraform Enterprise. the local machine and state is stored in Terraform Cloud.
## Command Support ## Command Support
@ -123,7 +123,7 @@ data "terraform_remote_state" "foo" {
## Example configuration using CLI input ## Example configuration using CLI input
```hcl ```hcl
# main.tf # main.tf
terraform { terraform {
required_version = "~> 0.12.0" required_version = "~> 0.12.0"
@ -165,6 +165,6 @@ The following configuration options are supported:
only the default workspace can be used. This option conflicts with `prefix`. only the default workspace can be used. This option conflicts with `prefix`.
* `prefix` - (Optional) A prefix used in the names of one or more remote * `prefix` - (Optional) A prefix used in the names of one or more remote
workspaces, all of which can be used with this configuration. The full workspaces, all of which can be used with this configuration. The full
workspace names are used in Terraform Enterprise, and the short names workspace names are used in Terraform Cloud, and the short names
(minus the prefix) are used on the command line. If omitted, only the (minus the prefix) are used on the command line. If omitted, only the
default workspace can be used. This option conflicts with `name`. default workspace can be used. This option conflicts with `name`.

View File

@ -3,17 +3,18 @@ layout: "backend-types"
page_title: "Backend Type: terraform enterprise" page_title: "Backend Type: terraform enterprise"
sidebar_current: "docs-backends-types-standard-terraform-enterprise" sidebar_current: "docs-backends-types-standard-terraform-enterprise"
description: |- description: |-
Terraform can store the state in Terraform Enterprise Terraform can store its state in Terraform Enterprise
--- ---
# terraform enterprise # terraform enterprise
-> **Deprecated** Please use the new enhanced [remote](/docs/backends/types/remote.html) !> **The `atlas` backend is deprecated.** Please use the new enhanced
backend for storing state and running remote operations in Terraform Enterprise. [remote](/docs/backends/types/remote.html) backend for storing state and running
remote operations in Terraform Cloud.
**Kind: Standard (with no locking)** **Kind: Standard (with no locking)**
Reads and writes state from a [Terraform Enterprise](/docs/enterprise/index.html) Reads and writes state from a [Terraform Enterprise](/docs/cloud/index.html)
workspace. workspace.
-> **Why is this called "atlas"?** Before it was a standalone offering, -> **Why is this called "atlas"?** Before it was a standalone offering,
@ -21,14 +22,11 @@ Terraform Enterprise was part of an integrated suite of enterprise products
called Atlas. This backend predates the current version Terraform Enterprise, so called Atlas. This backend predates the current version Terraform Enterprise, so
it uses the old name. it uses the old name.
This backend is useful for uncommon tasks like migrating state into a Terraform We no longer recommend using this backend, as it does not support collaboration
Enterprise workspace, but we no longer recommend using it as part of your features like [workspace
day-to-day Terraform workflow. Since it performs runs outside of Terraform locking](/docs/cloud/run/index.html). Please use the new enhanced
Enterprise and updates state directly, it does not support Terraform [remote](/docs/backends/types/remote.html) backend for storing state and running
Enterprise's collaborative features like [workspace remote operations in Terraform Cloud.
locking](/docs/enterprise/run/index.html). To perform Terraform Enterprise runs
from the command line, use [Terraform Enterprise's CLI-driven
workflow](/docs/enterprise/run/cli.html) instead.
## Example Configuration ## Example Configuration
@ -61,7 +59,7 @@ The following configuration options / environment variables are supported:
* `name` - (Required) Full name of the workspace (`<ORGANIZATION>/<WORKSPACE>`). * `name` - (Required) Full name of the workspace (`<ORGANIZATION>/<WORKSPACE>`).
* `ATLAS_TOKEN`/ `access_token` - (Optional) A Terraform Enterprise [user API * `ATLAS_TOKEN`/ `access_token` - (Optional) A Terraform Enterprise [user API
token](/docs/enterprise/users-teams-organizations/users.html#api-tokens). We token](/docs/cloud/users-teams-organizations/users.html#api-tokens). We
recommend using the `ATLAS_TOKEN` environment variable rather than setting recommend using the `ATLAS_TOKEN` environment variable rather than setting
`access_token` in the configuration. If not set, the token will be requested `access_token` in the configuration. If not set, the token will be requested
during a `terraform init` and saved locally. during a `terraform init` and saved locally.

View File

@ -23,7 +23,7 @@ to browse the various subsections.
## Who is This For? ## Who is This For?
The Terraform CLI docs are relevant to _all Terraform users,_ including open The Terraform CLI docs are relevant to _all Terraform users,_ including open
source users and Terraform Enterprise users. source users and Terraform Cloud users.
Since these docs are reference material, they are mainly written for Since these docs are reference material, they are mainly written for
_intermediate and advanced users,_ who need to find complete and detailed _intermediate and advanced users,_ who need to find complete and detailed

View File

@ -63,13 +63,13 @@ The following settings can be set in the CLI configuration file:
[plugin caching](/docs/configuration/providers.html#provider-plugin-cache) [plugin caching](/docs/configuration/providers.html#provider-plugin-cache)
and specifies, as a string, the location of the plugin cache directory. and specifies, as a string, the location of the plugin cache directory.
- `credentials` provides credentials for use with Terraform Enterprise. - `credentials` provides credentials for use with Terraform Cloud.
Terraform uses this when performing remote operations or state access with Terraform uses this when performing remote operations or state access with
the [remote backend](../backends/types/remote.html) and when accessing the [remote backend](../backends/types/remote.html) and when accessing
Terraform Enterprise's [private module registry.](/docs/enterprise/registry/index.html) Terraform Cloud's [private module registry.](/docs/cloud/registry/index.html)
This setting is a repeatable block, where the block label is a hostname This setting is a repeatable block, where the block label is a hostname
(either `app.terraform.io` or the hostname of your private install) and (either `app.terraform.io` or the hostname of a Terraform Enterprise instance) and
the block body contains a `token` attribute. Whenever Terraform accesses the block body contains a `token` attribute. Whenever Terraform accesses
state, modules, or remote operations from that hostname, it will state, modules, or remote operations from that hostname, it will
authenticate with that API token. authenticate with that API token.
@ -81,15 +81,15 @@ The following settings can be set in the CLI configuration file:
``` ```
~> **Important:** The token provided here must be a ~> **Important:** The token provided here must be a
[user token](/docs/enterprise/users-teams-organizations/users.html#api-tokens) [user token](/docs/cloud/users-teams-organizations/users.html#api-tokens)
or a or a
[team token](/docs/enterprise/users-teams-organizations/service-accounts.html#team-service-accounts); [team token](/docs/cloud/users-teams-organizations/service-accounts.html#team-service-accounts);
organization tokens cannot be used for command-line Terraform actions. organization tokens cannot be used for command-line Terraform actions.
-> **Note:** The credentials hostname must match the hostname in your module -> **Note:** The credentials hostname must match the hostname in your module
sources and/or backend configuration. If your Terraform Enterprise instance sources and/or backend configuration. If your Terraform Enterprise instance
is available at multiple hostnames, use one of them consistently. (The SaaS is available at multiple hostnames, use one of them consistently. (The SaaS
version of Terraform Enterprise responds to API calls at both its newer version of Terraform Cloud responds to API calls at both its current
hostname, app.terraform.io, and its historical hostname, hostname, app.terraform.io, and its historical hostname,
atlas.hashicorp.com.) atlas.hashicorp.com.)

View File

@ -24,8 +24,8 @@ to create and manage a new infrastructure component, data sources
present read-only views into pre-existing data, or they compute present read-only views into pre-existing data, or they compute
new values on the fly within Terraform itself. new values on the fly within Terraform itself.
For example, a data source may retrieve artifact information from For example, a data source may retrieve remote state data from a
Terraform Enterprise, configuration information from Consul, or look up a pre-existing Terraform Cloud workspace, configuration information from Consul, or look up a pre-existing
AWS resource by filtering on its attributes and tags. AWS resource by filtering on its attributes and tags.
Every data source in Terraform is mapped to a provider based Every data source in Terraform is mapped to a provider based

View File

@ -130,7 +130,7 @@ or if there is a well-defined release process that avoids unwanted updates.
Version constraints are supported only for modules installed from a module Version constraints are supported only for modules installed from a module
registry, such as the [Terraform Registry](https://registry.terraform.io/) or registry, such as the [Terraform Registry](https://registry.terraform.io/) or
[Terraform Enterprise's private module registry](/docs/enterprise/registry/index.html). [Terraform Cloud's private module registry](/docs/cloud/registry/index.html).
Other module sources can provide their own versioning mechanisms within the Other module sources can provide their own versioning mechanisms within the
source string itself, or might not support versions at all. In particular, source string itself, or might not support versions at all. In particular,
modules sourced from local file paths do not support `version`; since modules sourced from local file paths do not support `version`; since

View File

@ -11,7 +11,7 @@ description: |-
-> **Note:** This page is about Terraform 0.11 and earlier, and documents a -> **Note:** This page is about Terraform 0.11 and earlier, and documents a
feature that was removed in Terraform 0.12. feature that was removed in Terraform 0.12.
~> **Important:** The `terraform push` command is deprecated, and only works with the legacy version of Terraform Enterprise. In the current version of Terraform Enterprise, you can upload configurations using the API. See [the docs about API-driven runs](/docs/enterprise/run/api.html) for more details. ~> **Important:** The `terraform push` command is deprecated, and only works with the legacy version of Terraform Enterprise. In the current version of Terraform Cloud, you can upload configurations using the API. See [the docs about API-driven runs](/docs/cloud/run/api.html) for more details.
The [`terraform push` command](/docs/commands/push.html) uploads a configuration to a Terraform Enterprise (legacy) environment. The name of the environment (and the organization it's in) can be specified on the command line, or as part of the Terraform configuration in an `atlas` block. The [`terraform push` command](/docs/commands/push.html) uploads a configuration to a Terraform Enterprise (legacy) environment. The name of the environment (and the organization it's in) can be specified on the command line, or as part of the Terraform configuration in an `atlas` block.

View File

@ -130,7 +130,7 @@ or if there is a well-defined release process that avoids unwanted updates.
Version constraints are supported only for modules installed from a module Version constraints are supported only for modules installed from a module
registry, such as the [Terraform Registry](https://registry.terraform.io/) or registry, such as the [Terraform Registry](https://registry.terraform.io/) or
[Terraform Enterprise's private module registry](/docs/enterprise/registry/index.html). [Terraform Cloud's private module registry](/docs/cloud/registry/index.html).
Other module sources can provide their own versioning mechanisms within the Other module sources can provide their own versioning mechanisms within the
source string itself, or might not support versions at all. In particular, source string itself, or might not support versions at all. In particular,
modules sourced from local file paths do not support `version`; since modules sourced from local file paths do not support `version`; since

View File

@ -154,7 +154,7 @@ commentary for module maintainers, use comments.
When variables are declared in the root module of your configuration, they When variables are declared in the root module of your configuration, they
can be set in a number of ways: can be set in a number of ways:
* [In a Terraform Enterprise workspace](/docs/enterprise/workspaces/variables.html). * [In a Terraform Cloud workspace](/docs/cloud/workspaces/variables.html).
* Individually, with the `-var` command line option. * Individually, with the `-var` command line option.
* In variable definitions (`.tfvars`) files, either specified on the command line * In variable definitions (`.tfvars`) files, either specified on the command line
or automatically loaded. or automatically loaded.
@ -189,8 +189,8 @@ or `.tfvars.json`) and then specify that file on the command line with
terraform apply -var-file="testing.tfvars" terraform apply -var-file="testing.tfvars"
``` ```
-> **Note:** This is how Terraform Enterprise passes -> **Note:** This is how Terraform Cloud passes
[workspace variables](/docs/enterprise/workspaces/variables.html) to Terraform. [workspace variables](/docs/cloud/workspaces/variables.html) to Terraform.
A variable definitions file uses the same basic syntax as Terraform language A variable definitions file uses the same basic syntax as Terraform language
files, but consists only of variable name assignments: files, but consists only of variable name assignments:
@ -282,7 +282,7 @@ precedence over earlier ones:
* Any `*.auto.tfvars` or `*.auto.tfvars.json` files, processed in lexical order * Any `*.auto.tfvars` or `*.auto.tfvars.json` files, processed in lexical order
of their filenames. of their filenames.
* Any `-var` and `-var-file` options on the command line, in the order they * Any `-var` and `-var-file` options on the command line, in the order they
are provided. (This includes variables set by a Terraform Enterprise are provided. (This includes variables set by a Terraform Cloud
workspace.) workspace.)
~> **Important:** In Terraform 0.12 and later, variables with map and object ~> **Important:** In Terraform 0.12 and later, variables with map and object

View File

@ -85,7 +85,7 @@ community.
You can also use a You can also use a
[private registry](/docs/registry/private.html), either [private registry](/docs/registry/private.html), either
via the built-in feature from Terraform Enterprise, or by running a custom via the built-in feature from Terraform Cloud, or by running a custom
service that implements service that implements
[the module registry protocol](/docs/registry/api.html). [the module registry protocol](/docs/registry/api.html).
@ -115,10 +115,10 @@ module "consul" {
} }
``` ```
If you are using the managed version of Terraform Enterprise, its private If you are using the SaaS version of Terraform Cloud, its private
registry hostname is `app.terraform.io`. If you are using Terraform Enterprise registry hostname is `app.terraform.io`. If you are using a Terraform Enterprise
on-premises, its private registry hostname is the same hostname you use to instance, its private registry hostname is the same hostname you use to
access your Terraform Enterprise instance. access the Terraform Cloud application.
Registry modules support versioning. You can provide a specific version as shown Registry modules support versioning. You can provide a specific version as shown
in the above examples, or use flexible in the above examples, or use flexible
@ -130,7 +130,7 @@ You can learn more about the registry at the
To access modules from a private registry, you may need to configure an access To access modules from a private registry, you may need to configure an access
token [in the CLI config](/docs/commands/cli-config.html#credentials). Use the token [in the CLI config](/docs/commands/cli-config.html#credentials). Use the
same hostname as used in the module source string. For a private registry same hostname as used in the module source string. For a private registry
within Terraform Enterprise, use the same authentication token as you would within Terraform Cloud, use the same authentication token as you would
use with the Enterprise API or command-line clients. use with the Enterprise API or command-line clients.
## GitHub ## GitHub
@ -213,9 +213,9 @@ username/password credentials, configure
[Git Credentials Storage](https://git-scm.com/book/en/v2/Git-Tools-Credential-Storage) [Git Credentials Storage](https://git-scm.com/book/en/v2/Git-Tools-Credential-Storage)
to select a suitable source of credentials for your environment. to select a suitable source of credentials for your environment.
If your Terraform configuration will be used within [Terraform Enterprise](https://www.hashicorp.com/products/terraform), If your Terraform configuration will be used within [Terraform Cloud](https://www.hashicorp.com/products/terraform),
only SSH key authentication is supported, and only SSH key authentication is supported, and
[keys can be configured on a per-workspace basis](/docs/enterprise/workspaces/ssh-keys.html). [keys can be configured on a per-workspace basis](/docs/cloud/workspaces/ssh-keys.html).
### Selecting a Revision ### Selecting a Revision
@ -275,9 +275,9 @@ automatically. This is the most common way to access non-public Mercurial
repositories from automated systems because it is easy to configure repositories from automated systems because it is easy to configure
and allows access to private repositories without interactive prompts. and allows access to private repositories without interactive prompts.
If your Terraform configuration will be used within [Terraform Enterprise](https://www.hashicorp.com/products/terraform), If your Terraform configuration will be used within [Terraform Cloud](https://www.hashicorp.com/products/terraform),
only SSH key authentication is supported, and only SSH key authentication is supported, and
[keys can be configured on a per-workspace basis](/docs/enterprise/workspaces/ssh-keys.html). [keys can be configured on a per-workspace basis](/docs/cloud/workspaces/ssh-keys.html).
### Selecting a Revision ### Selecting a Revision

View File

@ -14,7 +14,7 @@ infrastructure type can be represented as a resource in Terraform.
A provider is responsible for understanding API interactions and exposing A provider is responsible for understanding API interactions and exposing
resources. Providers generally are an IaaS (e.g. AWS, GCP, Microsoft Azure, resources. Providers generally are an IaaS (e.g. AWS, GCP, Microsoft Azure,
OpenStack), PaaS (e.g. Heroku), or SaaS services (e.g. Terraform Enterprise, OpenStack), PaaS (e.g. Heroku), or SaaS services (e.g. Terraform Cloud,
DNSimple, CloudFlare). DNSimple, CloudFlare).
Use the navigation to the left to find available providers by type or scroll Use the navigation to the left to find available providers by type or scroll
@ -121,7 +121,7 @@ down to see all providers.
- [Template](/docs/providers/template/index.html) - [Template](/docs/providers/template/index.html)
- [TencentCloud](/docs/providers/tencentcloud/index.html) - [TencentCloud](/docs/providers/tencentcloud/index.html)
- [Terraform](/docs/providers/terraform/index.html) - [Terraform](/docs/providers/terraform/index.html)
- [Terraform Enterprise](/docs/providers/tfe/index.html) - [Terraform Cloud](/docs/providers/tfe/index.html)
- [TLS](/docs/providers/tls/index.html) - [TLS](/docs/providers/tls/index.html)
- [Triton](/docs/providers/triton/index.html) - [Triton](/docs/providers/triton/index.html)
- [UCloud](/docs/providers/ucloud/index.html) - [UCloud](/docs/providers/ucloud/index.html)

View File

@ -31,5 +31,5 @@ and are tested by HashiCorp.
- [Rundeck](/docs/providers/rundeck/index.html) - [Rundeck](/docs/providers/rundeck/index.html)
- [Spotinst](/docs/providers/spotinst/index.html) - [Spotinst](/docs/providers/spotinst/index.html)
- [Terraform](/docs/providers/terraform/index.html) - [Terraform](/docs/providers/terraform/index.html)
- [Terraform Enterprise](/docs/providers/tfe/index.html) - [Terraform Cloud](/docs/providers/tfe/index.html)
- [Vault](/docs/providers/vault/index.html) - [Vault](/docs/providers/vault/index.html)

View File

@ -51,7 +51,7 @@ a configuration.
### Private Registry Module Sources ### Private Registry Module Sources
You can also use modules from a private registry, like the one provided by You can also use modules from a private registry, like the one provided by
Terraform Enterprise. Private registry modules have source strings of the form Terraform Cloud. Private registry modules have source strings of the form
`<HOSTNAME>/<NAMESPACE>/<NAME>/<PROVIDER>`. This is the same format as the `<HOSTNAME>/<NAMESPACE>/<NAME>/<PROVIDER>`. This is the same format as the
public registry, but with an added hostname prefix. public registry, but with an added hostname prefix.
@ -64,7 +64,7 @@ module "vpc" {
Depending on the registry you're using, you might also need to configure Depending on the registry you're using, you might also need to configure
credentials to access modules. See your registry's documentation for details. credentials to access modules. See your registry's documentation for details.
[Terraform Enterprise's private registry is documented here.](/docs/enterprise/registry/index.html) [Terraform Cloud's private registry is documented here.](/docs/cloud/registry/index.html)
Private registry module sources are supported in Terraform v0.11.0 and Private registry module sources are supported in Terraform v0.11.0 and
newer. newer.

View File

@ -3,7 +3,7 @@ layout: "registry"
page_title: "Terraform Registry - Private Registry" page_title: "Terraform Registry - Private Registry"
sidebar_current: "docs-registry-private" sidebar_current: "docs-registry-private"
description: |- description: |-
Terraform can load private modules from private registries via Terraform Enterprise. Terraform can load private modules from private registries via Terraform Cloud.
--- ---
# Private Registries # Private Registries
@ -21,19 +21,19 @@ producers-and-consumers content model in a large organization.
If your organization is specialized enough that teams frequently use modules If your organization is specialized enough that teams frequently use modules
created by other teams, you will benefit from a private module registry. created by other teams, you will benefit from a private module registry.
## Terraform Enterprise's Private Registry ## Terraform Cloud's Private Registry
[Terraform Enterprise](https://www.hashicorp.com/products/terraform) (TFE) [Terraform Cloud](https://www.hashicorp.com/products/terraform)
includes a private module registry, available at both Pro and Premium tiers. includes a private module registry, available at both Pro and Premium tiers.
It uses the same VCS-backed tagged release workflow as the Terraform Registry, It uses the same VCS-backed tagged release workflow as the Terraform Registry,
but imports modules from your private VCS repos (on any of TFE's supported VCS but imports modules from your private VCS repos (on any of Terraform Cloud's supported VCS
providers) instead of requiring public GitHub repos. You can seamlessly providers) instead of requiring public GitHub repos. You can seamlessly
reference private modules in your Terraform configurations (just include a reference private modules in your Terraform configurations (just include a
hostname in the module source), and TFE's UI provides a searchable marketplace hostname in the module source), and Terraform Cloud's UI provides a searchable marketplace
of private modules to help your users find the code they need. of private modules to help your users find the code they need.
[Terraform Enterprise's private module registry is documented here.](/docs/enterprise/registry/index.html) [Terraform Cloud's private module registry is documented here.](/docs/cloud/registry/index.html)
## Other Private Registries ## Other Private Registries

View File

@ -16,7 +16,7 @@ Terraform at the same time.
With _remote_ state, Terraform writes the state data to a remote data store, With _remote_ state, Terraform writes the state data to a remote data store,
which can then be shared between all members of a team. Terraform supports which can then be shared between all members of a team. Terraform supports
storing state in [Terraform Enterprise](https://www.hashicorp.com/products/terraform/), storing state in [Terraform Cloud](https://www.hashicorp.com/products/terraform/),
[HashiCorp Consul](https://www.consul.io/), Amazon S3, and more. [HashiCorp Consul](https://www.consul.io/), Amazon S3, and more.
Remote state is a feature of [backends](/docs/backends). Configuring and Remote state is a feature of [backends](/docs/backends). Configuring and
@ -60,7 +60,7 @@ For fully-featured remote backends, Terraform can also use
[state locking](/docs/state/locking.html) to prevent concurrent runs of [state locking](/docs/state/locking.html) to prevent concurrent runs of
Terraform against the same state. Terraform against the same state.
[Terraform Enterprise by HashiCorp](https://www.hashicorp.com/products/terraform/) [Terraform Cloud by HashiCorp](https://www.hashicorp.com/products/terraform/)
is a commercial offering that supports an even stronger locking concept that is a commercial offering that supports an even stronger locking concept that
can also detect attempts to create a new plan when an existing plan is already can also detect attempts to create a new plan when an existing plan is already
awaiting approval, by queuing Terraform operations in a central location. awaiting approval, by queuing Terraform operations in a central location.

View File

@ -37,9 +37,9 @@ For example, encryption at rest can be enabled with the S3 backend and IAM
policies and logging can be used to identify any invalid access. Requests for policies and logging can be used to identify any invalid access. Requests for
the state go over a TLS connection. the state go over a TLS connection.
[Terraform Enterprise](https://www.hashicorp.com/products/terraform/) is [Terraform Cloud](https://www.hashicorp.com/products/terraform/) is
a commercial product from HashiCorp that also acts as a [backend](/docs/backends) a commercial product from HashiCorp that also acts as a [backend](/docs/backends)
and provides encryption at rest for state. Terraform Enterprise also knows and provides encryption at rest for state. Terraform Cloud also knows
the identity of the user requesting state and maintains a history of state the identity of the user requesting state and maintains a history of state
changes. This can be used to provide access control and detect any breaches. changes. This can be used to provide access control and detect any breaches.

View File

@ -5,7 +5,7 @@ sidebar_current: "guides-core-workflow"
description: |- description: |-
This guide provides an overview of the core Terraform workflow and how it This guide provides an overview of the core Terraform workflow and how it
applies in individual, team, and organization contexts across Terraform open applies in individual, team, and organization contexts across Terraform open
source and Terraform Enterprise. source and Terraform Cloud.
--- ---
# The Core Terraform Workflow # The Core Terraform Workflow
@ -18,11 +18,11 @@ The core Terraform workflow has three steps:
This guide walks through how each of these three steps plays out in the context This guide walks through how each of these three steps plays out in the context
of working as an individual practitioner, how they evolve when a team is of working as an individual practitioner, how they evolve when a team is
collaborating on infrastructure, and how Terraform Enterprise enables this collaborating on infrastructure, and how Terraform Cloud enables this
workflow to run smoothly for entire organizations. workflow to run smoothly for entire organizations.
## Working as an Individual Practitioner ## Working as an Individual Practitioner
Let's first walk through how these parts fit together as an individual working Let's first walk through how these parts fit together as an individual working
on infrastructure as code. on infrastructure as code.
@ -220,22 +220,22 @@ Just like the workflow for individuals, the core workflow for teams is a loop
that plays out for each change. For some teams this loop happens a few times a that plays out for each change. For some teams this loop happens a few times a
week, for others, many times a day. week, for others, many times a day.
## The Core Workflow Enhanced by Terraform Enterprise ## The Core Workflow Enhanced by Terraform Cloud
While the above described workflows enable the safe, predictable, and While the above described workflows enable the safe, predictable, and
reproducible creating or changing of infrastructure, there are multiple reproducible creating or changing of infrastructure, there are multiple
collaboration points that can be streamlined, especially as teams and collaboration points that can be streamlined, especially as teams and
organizations scale. We designed Terraform Enterprise to support and enhance organizations scale. We designed Terraform Cloud to support and enhance
the core Terraform workflow for anyone collaborating on infrastructure, from the core Terraform workflow for anyone collaborating on infrastructure, from
small teams to large organizations. Let's look at how Terraform Enterprise makes small teams to large organizations. Let's look at how Terraform Cloud makes
for a better experience at each step. for a better experience at each step.
### Write ### Write
Terraform Enterprise provides a centralized and secure location for storing Terraform Cloud provides a centralized and secure location for storing
input variables and state while also bringing back a tight feedback loop for input variables and state while also bringing back a tight feedback loop for
speculative plans for config authors. Terraform configuration interacts with speculative plans for config authors. Terraform configuration interacts with
Terraform Enterprise via the ["remote" backend](/docs/backends/types/remote.html). Terraform Cloud via the ["remote" backend](/docs/backends/types/remote.html).
``` ```
terraform { terraform {
@ -248,7 +248,7 @@ terraform {
} }
``` ```
Once the backend is wired up, a Terraform Enterprise API key is all that's Once the backend is wired up, a Terraform Cloud API key is all that's
needed by team members to be able to edit config and run speculative plans needed by team members to be able to edit config and run speculative plans
against the latest version of the state file using all the remotely stored against the latest version of the state file using all the remotely stored
input variables. input variables.
@ -277,7 +277,7 @@ authoring config until it is ready to propose as a change via a pull request.
### Plan ### Plan
Once a pull request is ready for review, Terraform Enterprise makes the process Once a pull request is ready for review, Terraform Cloud makes the process
of reviewing a speculative plan easier for team members. First, the plan is of reviewing a speculative plan easier for team members. First, the plan is
automatically run when the pull request is created. Status updates to the pull automatically run when the pull request is created. Status updates to the pull
request indicate while the plan is in progress. request indicate while the plan is in progress.
@ -289,17 +289,17 @@ changes in the speculative plan, right from the pull request view.
For certain types of changes, this information is all that's needed for a team For certain types of changes, this information is all that's needed for a team
member to be able to approve the pull request. When a teammate needs to do a member to be able to approve the pull request. When a teammate needs to do a
full review of the plan, clicking the link to Terraform Enterprise brings up a full review of the plan, clicking the link to Terraform Cloud brings up a
view that allows them to quickly analyze the full plan details. view that allows them to quickly analyze the full plan details.
![Screenshot of Pull Request run in Terraform Enterprise](guides/core-workflow/pr-plan.png) ![Screenshot of Pull Request run in Terraform Cloud](guides/core-workflow/pr-plan.png)
This page allows the reviewer to quickly determine if the plan is matching the This page allows the reviewer to quickly determine if the plan is matching the
config author's intent and evaluate the risk of the change. config author's intent and evaluate the risk of the change.
### Apply ### Apply
After merge, Terraform Enterprise presents the concrete plan to the team for After merge, Terraform Cloud presents the concrete plan to the team for
review and approval. review and approval.
![Screenshot of concrete plan](guides/core-workflow/concrete-plan.png) ![Screenshot of concrete plan](guides/core-workflow/concrete-plan.png)
@ -307,9 +307,9 @@ review and approval.
The team can discuss any outstanding questions about the plan before the change The team can discuss any outstanding questions about the plan before the change
is made. is made.
![Screenshot of back-and-forth in TFE comments](guides/core-workflow/plan-comments.png) ![Screenshot of back-and-forth in Terraform Cloud comments](guides/core-workflow/plan-comments.png)
Once the Apply is confirmed, Terraform Enterprise displays the progress live Once the Apply is confirmed, Terraform Cloud displays the progress live
to anyone who'd like to watch. to anyone who'd like to watch.
![Screenshot of in-progress Apply](guides/core-workflow/in-progress-apply.png) ![Screenshot of in-progress Apply](guides/core-workflow/in-progress-apply.png)
@ -331,5 +331,5 @@ There are many different ways to use Terraform: as an individual user, a single
team, or an entire organization at scale. Choosing the best approach for the team, or an entire organization at scale. Choosing the best approach for the
density of collaboration needed will provide the most return on your investment density of collaboration needed will provide the most return on your investment
in the core Terraform workflow. For organizations using Terraform at scale, in the core Terraform workflow. For organizations using Terraform at scale,
Terraform Enterprise introduces new layers that build on this core workflow to Terraform Cloud introduces new layers that build on this core workflow to
solve problems unique to teams and organizations. solve problems unique to teams and organizations.

View File

@ -309,23 +309,23 @@ Plugins can also be provided along with the configuration by creating a
automatically downloading additional plugins. The `-get-plugins=false` flag can automatically downloading additional plugins. The `-get-plugins=false` flag can
be used to prevent Terraform from automatically downloading additional plugins. be used to prevent Terraform from automatically downloading additional plugins.
## Terraform Enterprise ## Terraform Cloud
As an alternative to home-grown automation solutions, Hashicorp offers As an alternative to home-grown automation solutions, Hashicorp offers
[Terraform Enterprise](https://www.hashicorp.com/products/terraform/). [Terraform Cloud](https://www.hashicorp.com/products/terraform/).
Internally, Terraform Enterprise runs the same Terraform CLI commands Internally, Terraform Cloud runs the same Terraform CLI commands
described above, using the same release binaries offered for download on this described above, using the same release binaries offered for download on this
site. site.
Terraform Enterprise builds on the core Terraform CLI functionality to add Terraform Cloud builds on the core Terraform CLI functionality to add
additional features such as role-based access control, orchestration of the additional features such as role-based access control, orchestration of the
plan and apply lifecycle, a user interface for reviewing and approving plans, plan and apply lifecycle, a user interface for reviewing and approving plans,
and much more. and much more.
It will always be possible to run Terraform via in-house automation, to It will always be possible to run Terraform via in-house automation, to
allow for usage in situations where Terraform Enterprise is not appropriate. allow for usage in situations where Terraform Cloud is not appropriate.
It is recommended to consider Terraform Enterprise as an alternative to It is recommended to consider Terraform Cloud as an alternative to
in-house solutions, since it provides an out-of-the-box solution that in-house solutions, since it provides an out-of-the-box solution that
already incorporates the best practices described in this guide and can thus already incorporates the best practices described in this guide and can thus
reduce time spent developing and maintaining an in-house alternative. reduce time spent developing and maintaining an in-house alternative.

View File

@ -24,9 +24,9 @@ backend options. You could use Consul for state storage, locking, and
environments. This is a free and open source option. You can use S3 which environments. This is a free and open source option. You can use S3 which
only supports state storage, for a low cost and minimally featured solution. only supports state storage, for a low cost and minimally featured solution.
[Terraform Enterprise](https://www.hashicorp.com/products/terraform/?utm_source=oss&utm_medium=getting-started&utm_campaign=terraform) [Terraform Cloud](https://www.hashicorp.com/products/terraform/?utm_source=oss&utm_medium=getting-started&utm_campaign=terraform)
is HashiCorp's commercial solution and also acts as a remote backend. is HashiCorp's commercial solution and also acts as a remote backend.
Terraform Enterprise allows teams to easily version, audit, and collaborate Terraform Cloud allows teams to easily version, audit, and collaborate
on infrastructure changes. Each proposed change generates on infrastructure changes. Each proposed change generates
a Terraform plan which can be reviewed and collaborated on as a team. a Terraform plan which can be reviewed and collaborated on as a team.
When a proposed change is accepted, the Terraform logs are stored, When a proposed change is accepted, the Terraform logs are stored,
@ -91,16 +91,16 @@ If you want to move back to local state, you can remove the backend configuratio
block from your configuration and run `terraform init` again. Terraform will block from your configuration and run `terraform init` again. Terraform will
once again ask if you want to migrate your state back to local. once again ask if you want to migrate your state back to local.
## Terraform Enterprise ## Terraform Cloud
[Terraform Enterprise](https://www.hashicorp.com/products/terraform/?utm_source=oss&utm_medium=getting-started&utm_campaign=terraform) is a commercial solution which combines a predictable and reliable shared run environment with tools to help you work together on Terraform configurations and modules. [Terraform Cloud](https://www.hashicorp.com/products/terraform/?utm_source=oss&utm_medium=getting-started&utm_campaign=terraform) is a commercial solution which combines a predictable and reliable shared run environment with tools to help you work together on Terraform configurations and modules.
Although Terraform Enterprise can act as a standard remote backend to support Terraform runs on local machines, it works even better as a remote run environment. It supports two main workflows for performing Terraform runs: Although Terraform Cloud can act as a standard remote backend to support Terraform runs on local machines, it works even better as a remote run environment. It supports two main workflows for performing Terraform runs:
- A VCS-driven workflow, in which it automatically queues plans whenever changes are committed to your configuration's VCS repo. - A VCS-driven workflow, in which it automatically queues plans whenever changes are committed to your configuration's VCS repo.
- An API-driven workflow, in which a CI pipeline or other automated tool can upload configurations directly. - An API-driven workflow, in which a CI pipeline or other automated tool can upload configurations directly.
For a hands-on introduction to Terraform Enterprise, [follow the Terraform Enterprise getting started guide](/docs/enterprise/getting-started/index.html). For a hands-on introduction to Terraform Cloud, [follow the Terraform Cloud getting started guide](/docs/cloud/getting-started/index.html).
## Next ## Next

View File

@ -11,15 +11,15 @@
<a href="/guides/core-workflow.html">The Core Terraform Workflow</a> <a href="/guides/core-workflow.html">The Core Terraform Workflow</a>
</li> </li>
<li<%= sidebar_current("recommended-practices") %>><a href="/docs/enterprise/guides/recommended-practices/index.html">Terraform Recommended Practices</a> <li<%= sidebar_current("recommended-practices") %>><a href="/docs/cloud/guides/recommended-practices/index.html">Terraform Recommended Practices</a>
<ul class="nav"> <ul class="nav">
<li<%= sidebar_current("recommended-practices-1") %>><a href="/docs/enterprise/guides/recommended-practices/part1.html">Part 1: Workflow Overview</a></li> <li<%= sidebar_current("recommended-practices-1") %>><a href="/docs/cloud/guides/recommended-practices/part1.html">Part 1: Workflow Overview</a></li>
<li<%= sidebar_current("recommended-practices-2") %>><a href="/docs/enterprise/guides/recommended-practices/part2.html">Part 2: Evaluating Current Practices</a></li> <li<%= sidebar_current("recommended-practices-2") %>><a href="/docs/cloud/guides/recommended-practices/part2.html">Part 2: Evaluating Current Practices</a></li>
<li<%= sidebar_current("recommended-practices-3-0") %>><a href="/docs/enterprise/guides/recommended-practices/part3.html">Part 3: Evolving Your Practices</a></li> <li<%= sidebar_current("recommended-practices-3-0") %>><a href="/docs/cloud/guides/recommended-practices/part3.html">Part 3: Evolving Your Practices</a></li>
<li<%= sidebar_current("recommended-practices-3-1") %>><a href="/docs/enterprise/guides/recommended-practices/part3.1.html">Part 3.1: From Manual to Semi-Automated</a></li> <li<%= sidebar_current("recommended-practices-3-1") %>><a href="/docs/cloud/guides/recommended-practices/part3.1.html">Part 3.1: From Manual to Semi-Automated</a></li>
<li<%= sidebar_current("recommended-practices-3-2") %>><a href="/docs/enterprise/guides/recommended-practices/part3.2.html">Part 3.2: From Semi-Automated to Infrastructure as Code</a></li> <li<%= sidebar_current("recommended-practices-3-2") %>><a href="/docs/cloud/guides/recommended-practices/part3.2.html">Part 3.2: From Semi-Automated to Infrastructure as Code</a></li>
<li<%= sidebar_current("recommended-practices-3-3") %>><a href="/docs/enterprise/guides/recommended-practices/part3.3.html">Part 3.3: From Infrastructure as Code to Collaborative IaC</a></li> <li<%= sidebar_current("recommended-practices-3-3") %>><a href="/docs/cloud/guides/recommended-practices/part3.3.html">Part 3.3: From Infrastructure as Code to Collaborative IaC</a></li>
<li<%= sidebar_current("recommended-practices-3-4") %>><a href="/docs/enterprise/guides/recommended-practices/part3.4.html">Part 3.4: Advanced Improvements</a></li> <li<%= sidebar_current("recommended-practices-3-4") %>><a href="/docs/cloud/guides/recommended-practices/part3.4.html">Part 3.4: Advanced Improvements</a></li>
</ul> </ul>
</li> </li>

View File

@ -781,8 +781,8 @@ entirely overridden by any explicitly-set value.
## Upgrading `remote` Backend Configuration ## Upgrading `remote` Backend Configuration
Terraform Enterprise users, and users of the Terraform SAAS free tier, will need Terraform Cloud and Terraform Enterprise users will need
to run `terraform init -reconfigure` to upgrade to Terraform 0.12. to run `terraform init -reconfigure` to upgrade to Terraform 0.12.
Terraform provides a message stating that `terraform init` is required; while Terraform provides a message stating that `terraform init` is required; while
there is no harm in running this command, the next error message will clarify there is no harm in running this command, the next error message will clarify
@ -796,13 +796,13 @@ possible and most policies will continue to work without modification. However,
there are some important changes and certain policies will need to modified. there are some important changes and certain policies will need to modified.
More information on the changes can be found in our page on [using Sentinel with More information on the changes can be found in our page on [using Sentinel with
Terraform 0.12](/docs/enterprise/sentinel/sentinel-tf-012.html). Terraform 0.12](/docs/cloud/sentinel/sentinel-tf-012.html).
It's strongly advised that you test your Sentinel policies after upgrading to It's strongly advised that you test your Sentinel policies after upgrading to
Terraform 0.12 to ensure they continue to work as expected. [Mock Terraform 0.12 to ensure they continue to work as expected. [Mock
generation](/docs/enterprise/sentinel/mock.html) has also been updated to generation](/docs/cloud/sentinel/mock.html) has also been updated to
produce mock data for the Sentinel imports as they appear in Terraform 0.12. produce mock data for the Sentinel imports as they appear in Terraform 0.12.
For more information on testing a policy with 0.11 and 0.12 at the same time, For more information on testing a policy with 0.11 and 0.12 at the same time,
see the section on [testing a policy with 0.11 and 0.12 see the section on [testing a policy with 0.11 and 0.12
simultaneously](/docs/enterprise/sentinel/sentinel-tf-012.html#testing-a-policy-with-0-11-and-0-12-simultaneously). simultaneously](/docs/cloud/sentinel/sentinel-tf-012.html#testing-a-policy-with-0-11-and-0-12-simultaneously).