website: Update all Learn crosslinks (#26442)
* website: Update all Learn crosslinks The URL structure on Learn recently changed, so it's time to update some URLs. Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
This commit is contained in:
parent
32681190ca
commit
26f786959b
|
@ -361,7 +361,7 @@ $ terraform apply
|
|||
### Running Terraform in Amazon EC2
|
||||
|
||||
Teams that make extensive use of Terraform for infrastructure management
|
||||
often [run Terraform in automation](https://learn.hashicorp.com/terraform/development/running-terraform-in-automation)
|
||||
often [run Terraform in automation](https://learn.hashicorp.com/tutorials/terraform/automate-terraform?in=terraform/automation&utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS)
|
||||
to ensure a consistent operating environment and to limit access to the
|
||||
various secrets and other sensitive information that Terraform configurations
|
||||
tend to require.
|
||||
|
|
|
@ -30,8 +30,8 @@ _intermediate and advanced users,_ who need to find complete and detailed
|
|||
information quickly.
|
||||
|
||||
- **New user?** Try the
|
||||
[Getting Started guide](https://learn.hashicorp.com/terraform/getting-started/install)
|
||||
at [Learn Terraform](https://learn.hashicorp.com/terraform), then return
|
||||
[Get Started collection](https://learn.hashicorp.com/collections/terraform/aws-get-started?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS)
|
||||
at HashiCorp Learn, then return
|
||||
here once you've used Terraform to manage some simple resources.
|
||||
- **Curious about Terraform?** See [Introduction to Terraform](/intro/index.html)
|
||||
for a broad overview of what Terraform is and why people use it.
|
||||
|
|
|
@ -8,7 +8,7 @@ description: |-
|
|||
|
||||
# Command: apply
|
||||
|
||||
> For a hands-on tutorial, try the [Get Started](https://learn.hashicorp.com/terraform/getting-started/intro?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) track on HashiCorp Learn.
|
||||
> **Hands-on:** Try the [Terraform: Get Started](https://learn.hashicorp.com/collections/terraform/aws-get-started?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) collection on HashiCorp Learn.
|
||||
|
||||
The `terraform apply` command is used to apply the changes required
|
||||
to reach the desired state of the configuration, or the pre-determined
|
||||
|
|
|
@ -112,7 +112,7 @@ applications.
|
|||
This is a purely cosmetic change to Terraform's human-readable output, and the
|
||||
exact output differences can change between minor Terraform versions.
|
||||
|
||||
For more details see [Running Terraform in Automation](https://learn.hashicorp.com/terraform/development/running-terraform-in-automation).
|
||||
For more details, see [Running Terraform in Automation](https://learn.hashicorp.com/tutorials/terraform/automate-terraform?in=terraform/automation&utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS).
|
||||
|
||||
## TF_REGISTRY_DISCOVERY_RETRY
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ description: |-
|
|||
|
||||
# Command: import
|
||||
|
||||
> For a hands-on tutorial, try the [Import Terraform Configuration](https://learn.hashicorp.com/terraform/state/import?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) tutorial on HashiCorp Learn.
|
||||
> **Hands-on:** Try the [Import Terraform Configuration](https://learn.hashicorp.com/tutorials/terraform/state-import?in=terraform/state&utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) tutorial on HashiCorp Learn.
|
||||
|
||||
The `terraform import` command is used to
|
||||
[import existing resources](/docs/import/index.html)
|
||||
|
|
|
@ -8,7 +8,7 @@ description: |-
|
|||
|
||||
# Terraform Commands (CLI)
|
||||
|
||||
> For a hands-on tutorial, try the [Get Started](https://learn.hashicorp.com/terraform/getting-started/intro?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) track on HashiCorp Learn.
|
||||
> **Hands-on:** Try the [Terraform: Get Started](https://learn.hashicorp.com/collections/terraform/aws-get-started?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) collection on HashiCorp Learn.
|
||||
|
||||
Terraform is controlled via a very easy to use command-line interface (CLI).
|
||||
Terraform is only a single command-line application: terraform. This application
|
||||
|
|
|
@ -8,7 +8,7 @@ description: |-
|
|||
|
||||
# Command: init
|
||||
|
||||
> For a hands-on tutorial, try the [Get Started](https://learn.hashicorp.com/terraform/getting-started/intro?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) track on HashiCorp Learn.
|
||||
> **Hands-on:** Try the [Terraform: Get Started](https://learn.hashicorp.com/collections/terraform/aws-get-started?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) collection on HashiCorp Learn.
|
||||
|
||||
The `terraform init` command is used to initialize a working directory
|
||||
containing Terraform configuration files. This is the first command that should
|
||||
|
@ -160,7 +160,7 @@ other interesting features such as integration with version control hooks.
|
|||
There are some special concerns when running `init` in such an environment,
|
||||
including optionally making plugins available locally to avoid repeated
|
||||
re-installation. For more information, see
|
||||
[`Running Terraform in Automation`](https://learn.hashicorp.com/terraform/development/running-terraform-in-automation).
|
||||
the [Running Terraform in Automation](https://learn.hashicorp.com/tutorials/terraform/automate-terraform?in=terraform/automation&utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) tutorial on HashiCorp Learn.
|
||||
|
||||
## Passing a Different Configuration Directory
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ description: |-
|
|||
|
||||
# Command: plan
|
||||
|
||||
> For a hands-on tutorial, try the [Get Started](https://learn.hashicorp.com/terraform/getting-started/intro?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) track on HashiCorp Learn.
|
||||
> **Hands-on:** Try the [Terraform: Get Started](https://learn.hashicorp.com/collections/terraform/aws-get-started?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) collection on HashiCorp Learn.
|
||||
|
||||
The `terraform plan` command is used to create an execution plan. Terraform
|
||||
performs a refresh, unless explicitly disabled, and then determines what
|
||||
|
@ -23,7 +23,7 @@ will behave as expected.
|
|||
|
||||
The optional `-out` argument can be used to save the generated plan to a file
|
||||
for later execution with `terraform apply`, which can be useful when
|
||||
[running Terraform in automation](https://learn.hashicorp.com/terraform/development/running-terraform-in-automation).
|
||||
[running Terraform in automation](https://learn.hashicorp.com/tutorials/terraform/automate-terraform?in=terraform/automation&utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS).
|
||||
|
||||
If Terraform detects no changes to resource or to root module output values,
|
||||
`terraform plan` will indicate that no changes are required.
|
||||
|
|
|
@ -14,7 +14,7 @@ description: |-
|
|||
earlier, see
|
||||
[0.11 Configuration Language](../configuration-0-11/index.html).
|
||||
|
||||
> For a hands-on tutorial, try the [Get Started](https://learn.hashicorp.com/terraform/getting-started/intro?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) track on HashiCorp Learn.
|
||||
> **Hands-on:** Try the [Terraform: Get Started](https://learn.hashicorp.com/collections/terraform/aws-get-started?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) collection on HashiCorp Learn.
|
||||
|
||||
Terraform uses its own configuration language, designed to allow concise
|
||||
descriptions of infrastructure. The Terraform language is declarative,
|
||||
|
|
|
@ -12,7 +12,7 @@ description: |-
|
|||
earlier, see
|
||||
[0.11 Configuration Language: Modules](../configuration-0-11/modules.html).
|
||||
|
||||
> For a hands-on tutorial, try the [Organize Configuration with Modules](https://learn.hashicorp.com/terraform/modules/modules-overview?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) track on HashiCorp Learn.
|
||||
> **Hands-on:** Try the [Reuse Configuration with Modules](https://learn.hashicorp.com/collections/terraform/modules?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) collection on HashiCorp Learn.
|
||||
|
||||
A _module_ is a container for multiple resources that are used together.
|
||||
|
||||
|
|
|
@ -40,7 +40,7 @@ is the main directory of publicly available Terraform providers, and hosts
|
|||
providers for most major infrastructure platforms. You can also write and
|
||||
distribute your own Terraform providers, for public or private use.
|
||||
|
||||
> For a hands-on tutorial about creating a custom Terraform provider, try the [Call APIs with Terraform Providers](https://learn.hashicorp.com/terraform/providers/setup-implement-read?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) track on HashiCorp Learn.
|
||||
> **Hands-on:** If you're interested in developing your own Terraform providers, try the [Call APIs with Terraform Providers](https://learn.hashicorp.com/collections/terraform/providers?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) collection on HashiCorp Learn.
|
||||
|
||||
### Provider Installation
|
||||
|
||||
|
@ -183,7 +183,7 @@ For example,
|
|||
[the official HTTP provider](https://registry.terraform.io/providers/hashicorp/http)
|
||||
belongs to the `hashicorp` namespace on `registry.terraform.io`, so its
|
||||
source address is `registry.terraform.io/hashicorp/http` or, more commonly, just
|
||||
`hashicorp/http`.
|
||||
`hashicorp/http`.
|
||||
|
||||
The source address with all three components given explicitly is called the
|
||||
provider's _fully-qualified address_. You will see fully-qualified address in
|
||||
|
@ -323,10 +323,10 @@ compatible with Terraform v0.11 or later and should never be declared in a
|
|||
|
||||
## In-house Providers
|
||||
|
||||
Anyone can develop and distribute their own Terraform providers. (See
|
||||
the [Call APIs with Terraform Providers](https://learn.hashicorp.com/terraform/providers/provider-use?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS)
|
||||
track on HashiCorp Learn for more
|
||||
about provider development.)
|
||||
Anyone can develop and distribute their own Terraform providers. See
|
||||
the [Call APIs with Terraform Providers](https://learn.hashicorp.com/collections/terraform/providers?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS)
|
||||
collection on HashiCorp Learn for more
|
||||
about provider development.
|
||||
|
||||
Some organizations develop their own providers to configure
|
||||
proprietary systems, and wish to use these providers from Terraform without
|
||||
|
|
|
@ -14,7 +14,7 @@ description: |-
|
|||
earlier, see
|
||||
[0.11 Configuration Language: Resources](../configuration-0-11/resources.html).
|
||||
|
||||
> For a hands-on tutorial, try the [Get Started](https://learn.hashicorp.com/terraform/getting-started/intro?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) track on HashiCorp Learn.
|
||||
> **Hands-on:** Try the [Terraform: Get Started](https://learn.hashicorp.com/collections/terraform/aws-get-started?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) collection on HashiCorp Learn.
|
||||
|
||||
_Resources_ are the most important element in the Terraform language.
|
||||
Each resource block describes one or more infrastructure objects, such
|
||||
|
@ -289,7 +289,7 @@ However, sometimes you want to manage several similar objects, such as a fixed
|
|||
pool of compute instances. Terraform has two ways to do this:
|
||||
`count` and [`for_each`][inpage-for_each].
|
||||
|
||||
> For a hands-on tutorial, try the [Manage Similar Resources With Count](https://learn.hashicorp.com/terraform/configuration/count?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) guide on HashiCorp Learn.
|
||||
> **Hands-on:** Try the [Manage Similar Resources With Count](https://learn.hashicorp.com/tutorials/terraform/count?in=terraform/0-13&utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) tutorial on HashiCorp Learn.
|
||||
|
||||
The `count` meta-argument accepts a whole number, and creates that many
|
||||
instances of the resource. Each instance has a distinct infrastructure object
|
||||
|
@ -392,7 +392,7 @@ However, sometimes you want to manage several similar objects, such as a fixed
|
|||
pool of compute instances. Terraform has two ways to do this:
|
||||
[`count`][inpage-count] and `for_each`.
|
||||
|
||||
> For a hands-on tutorial, try the [Manage Similar Resources With For Each](https://learn.hashicorp.com/terraform/configuration/for-each?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) guide on HashiCorp Learn.
|
||||
> **Hands-on:** Try the [Manage Similar Resources With For Each](https://learn.hashicorp.com/tutorials/terraform/for-each?in=terraform/0-13&utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) tutorial on HashiCorp Learn.
|
||||
|
||||
The `for_each` meta-argument accepts a map or a set of strings, and creates an
|
||||
instance for each item in that map or set. Each instance has a distinct
|
||||
|
@ -707,7 +707,7 @@ the processing happens too early for arbitrary expression evaluation.
|
|||
|
||||
[inpage-provisioner]: #provisioner-and-connection-resource-provisioners
|
||||
|
||||
> For hands-on tutorials about handling provisioning actions declaratively, try the [Provision Infrastructure Deployed with Terraform](https://learn.hashicorp.com/terraform/provision/packer?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) track on HashiCorp Learn.
|
||||
> **Hands-on:** To learn about more declarative ways to handle provisioning actions, try the [Provision Infrastructure Deployed with Terraform](https://learn.hashicorp.com/collections/terraform/provision?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) collection on HashiCorp Learn.
|
||||
|
||||
Some infrastructure objects require some special actions to be taken after they
|
||||
are created before they can become fully functional. For example, compute
|
||||
|
|
|
@ -13,6 +13,8 @@ description: |-
|
|||
earlier, see
|
||||
[0.11 Configuration Language: Input Variables](../configuration-0-11/variables.html).
|
||||
|
||||
> **Hands-on:** Try the [Define Input Variables](https://learn.hashicorp.com/tutorials/terraform/aws-variables?in=terraform/aws-get-started&utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) tutorial on HashiCorp Learn.
|
||||
|
||||
Input variables serve as parameters for a Terraform module, allowing aspects
|
||||
of the module to be customized without altering the module's own source code,
|
||||
and allowing modules to be shared between different configurations.
|
||||
|
@ -29,9 +31,6 @@ compare Terraform modules to function definitions:
|
|||
- [Output values](./outputs.html) are like function return values.
|
||||
- [Local values](./locals.html) are like a function's temporary local variables.
|
||||
|
||||
Input variable usage is introduced in the Getting Started guide section
|
||||
[_Input Variables_](https://learn.hashicorp.com/terraform/getting-started/variables).
|
||||
|
||||
-> **Note:** For brevity, input variables are often referred to as just
|
||||
"variables" or "Terraform variables" when it is clear from context what sort of
|
||||
variable is being discussed. Other kinds of variables in Terraform include
|
||||
|
|
|
@ -10,7 +10,7 @@ description: |-
|
|||
|
||||
# Import
|
||||
|
||||
> For a hands-on tutorial, try the [Import Terraform Configuration](https://learn.hashicorp.com/terraform/state/import?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) guide on HashiCorp Learn.
|
||||
> **Hands-on:** Try the [Import Terraform Configuration](https://learn.hashicorp.com/tutorials/terraform/state-import?in=terraform/state&utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) tutorial on HashiCorp Learn.
|
||||
|
||||
Terraform is able to import existing infrastructure. This allows you take
|
||||
resources you've created by some other means and bring it under Terraform
|
||||
|
@ -51,10 +51,3 @@ access to information from the remote backend, such as workspace variables.
|
|||
|
||||
In order to use Terraform import with a remote state backend, you may need to
|
||||
set local variables equivalent to the remote workspace variables.
|
||||
|
||||
## Hands-On Tutorial
|
||||
|
||||
You can follow the [Terraform Import
|
||||
tutorial](https://learn.hashicorp.com/tutorials/terraform/state-import?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS)
|
||||
on HashiCorp learn for a hands-on introduction to using the `terraform import`
|
||||
command.
|
||||
|
|
|
@ -8,7 +8,7 @@ description: |-
|
|||
|
||||
# Import Usage
|
||||
|
||||
> For a hands-on tutorial, try the [Import Terraform Configuration](https://learn.hashicorp.com/terraform/state/import?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) guide on HashiCorp Learn.
|
||||
> **Hands-on:** Try the [Import Terraform Configuration](https://learn.hashicorp.com/tutorials/terraform/state-import?in=terraform/state&utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) tutorial on HashiCorp Learn.
|
||||
|
||||
The `terraform import` command is used to import existing infrastructure.
|
||||
|
||||
|
@ -84,8 +84,3 @@ not done, Terraform will plan to destroy the imported objects on the next run.
|
|||
|
||||
If you want to rename or otherwise move the imported resources, the
|
||||
[state management commands](/docs/commands/state/index.html) can be used.
|
||||
|
||||
## Hands-On Tutorial
|
||||
|
||||
You can also follow the [Terraform Import tutorial](https://learn.hashicorp.com/tutorials/terraform/state-import?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) on HashiCorp learn for a hands-on
|
||||
introduction to using the `terraform import` command.
|
||||
|
|
|
@ -8,6 +8,8 @@ description: |-
|
|||
|
||||
# Creating Modules
|
||||
|
||||
> **Hands-on:** Try the [Reuse Configuration with Modules](https://learn.hashicorp.com/collections/terraform/modules?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) collection on HashiCorp Learn.
|
||||
|
||||
A _module_ is a container for multiple resources that are used together.
|
||||
Modules can be used to create lightweight abstractions, so that you can
|
||||
describe your infrastructure in terms of its architecture, rather than
|
||||
|
@ -23,8 +25,6 @@ To learn how to _use_ modules, see [the Modules configuration section](/docs/con
|
|||
This section is about _creating_ re-usable modules that other configurations
|
||||
can include using `module` blocks.
|
||||
|
||||
You can also learn more about how to use and create modules with our hands-on [modules track on learn.hashicorp.com](https://learn.hashicorp.com/terraform/modules/modules-overview?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS).
|
||||
|
||||
## Module structure
|
||||
|
||||
Re-usable modules are defined using all of the same
|
||||
|
|
|
@ -11,9 +11,10 @@ description: |-
|
|||
~> **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](https://learn.hashicorp.com/terraform/getting-started/install) guides.
|
||||
not necessary to read. For general use of Terraform, please see
|
||||
[Intro to Terraform](/intro/index.html) or the
|
||||
[Terraform: Get Started](https://learn.hashicorp.com/collections/terraform/aws-get-started?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS)
|
||||
collection on HashiCorp Learn.
|
||||
|
||||
This page documents the basics of how the plugin system in Terraform
|
||||
works, and how to setup a basic development environment for plugin development
|
||||
|
|
|
@ -11,11 +11,12 @@ description: |-
|
|||
~> **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](https://learn.hashicorp.com/terraform/getting-started/install) guides.
|
||||
not necessary to read. For general use of Terraform, please see
|
||||
[Intro to Terraform](/intro/index.html) or the
|
||||
[Terraform: Get Started](https://learn.hashicorp.com/collections/terraform/aws-get-started?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS)
|
||||
collection on HashiCorp Learn.
|
||||
|
||||
> For a hands-on tutorial, try the [Call APIs with Terraform Providers](https://learn.hashicorp.com/terraform/providers/provider-use?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) track on HashiCorp Learn.
|
||||
> **Hands-on:** Try the [Call APIs with Terraform Providers](https://learn.hashicorp.com/collections/terraform/providers?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) collection on HashiCorp Learn.
|
||||
|
||||
A provider in Terraform is responsible for the lifecycle of a resource:
|
||||
create, read, update, delete. An example of a provider is AWS, which
|
||||
|
|
|
@ -14,7 +14,7 @@ for service.
|
|||
|
||||
## Provisioners are a Last Resort
|
||||
|
||||
> For hands-on tutorials about handling provisioning actions declaratively, try the [Provision Infrastructure Deployed with Terraform](https://learn.hashicorp.com/terraform/provision/packer?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) track on HashiCorp Learn.
|
||||
> **Hands-on:** To learn about more declarative ways to handle provisioning actions, try the [Provision Infrastructure Deployed with Terraform](https://learn.hashicorp.com/collections/terraform/provision?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) collection on HashiCorp Learn.
|
||||
|
||||
Terraform includes the concept of provisioners as a measure of pragmatism,
|
||||
knowing that there will always be certain behaviors that can't be directly
|
||||
|
@ -77,7 +77,7 @@ process in various ways data passed via the means described above, allowing
|
|||
you to run arbitrary scripts and do basic system configuration immediately
|
||||
during the boot process and without the need to access the machine over SSH.
|
||||
|
||||
> For a hands-on tutorial about deploying cloud-init scripts in Terraform, try the [Provision Infrastructure with cloud-init](https://learn.hashicorp.com/tutorials/terraform/cloud-init?in=terraform/provision?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) track on HashiCorp Learn.
|
||||
> **Hands-on:** Try the [Provision Infrastructure with Cloud-Init](https://learn.hashicorp.com/tutorials/terraform/cloud-init?in=terraform/provision&utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) tutorial on HashiCorp Learn.
|
||||
|
||||
If you are building custom machine images, you can make use of the "user data"
|
||||
or "metadata" passed by the above means in whatever way makes sense to your
|
||||
|
@ -107,6 +107,8 @@ configuration management provisioners and can run their installation steps
|
|||
during a separate build process, before creating a system disk image that you
|
||||
can deploy many times.
|
||||
|
||||
> **Hands-on:** Try the [Provision Infrastructure with Packer](https://learn.hashicorp.com/tutorials/terraform/packer?in=terraform/provision&utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) tutorial on HashiCorp Learn.
|
||||
|
||||
If you are using configuration management software that has a centralized server
|
||||
component, you will need to delay the _registration_ step until the final
|
||||
system is booted from your custom image. To achieve that, use one of the
|
||||
|
|
|
@ -18,7 +18,7 @@ This page describes how to prepare a [Terraform Provider](/docs/plugins/provider
|
|||
|
||||
Providers published to the Terraform Registry are written and built in the same way as other Terraform providers. A variety of resources are available to help our contributors build a quality integration:
|
||||
|
||||
- [Writing a custom provider – full tutorial](https://learn.hashicorp.com/tutorials/terraform/provider-setup)
|
||||
- The [Call APIs with Terraform Providers](https://learn.hashicorp.com/collections/terraform/providers?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) collection on HashiCorp Learn
|
||||
- [How to build a provider – Video](https://www.youtube.com/watch?v=2BvpqmFpchI)
|
||||
- [Sample provider developed by a HashiCorp partner](https://blog.container-solutions.com/write-terraform-provider-part-1)
|
||||
- Example providers for reference:
|
||||
|
|
|
@ -157,7 +157,7 @@ Terraform operations are executed in a shared Continuous Integration (CI)
|
|||
environment. The work needed to create such a CI environment is nontrivial, and
|
||||
is outside the scope of this core workflow overview, but a full deep dive on
|
||||
this topic can be found in our
|
||||
[Running Terraform in Automation](https://learn.hashicorp.com/terraform/development/running-terraform-in-automation)
|
||||
[Running Terraform in Automation](https://learn.hashicorp.com/tutorials/terraform/automate-terraform?in=terraform/automation&utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS)
|
||||
guide.
|
||||
|
||||
This longer iteration cycle of committing changes to version control and then
|
||||
|
|
|
@ -36,7 +36,7 @@ visiting the [Web UI](https://demo.consul.io/ui/dc1/kv/). We can see
|
|||
that the `tf_test/id` and `tf_test/public_dns` values have been
|
||||
set.
|
||||
|
||||
You can now [tear down the infrastructure](https://learn.hashicorp.com/terraform/getting-started/destroy).
|
||||
You can now [tear down the infrastructure](https://learn.hashicorp.com/tutorials/terraform/aws-destroy?in=terraform/aws-get-started&utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS).
|
||||
Because we set the `delete` property of two of the Consul keys, Terraform
|
||||
will clean up those keys on destroy. We can verify this by using
|
||||
the Web UI.
|
||||
|
|
|
@ -25,7 +25,7 @@ Experimenting in this way can help you learn how the Terraform lifecycle
|
|||
works, as well as how to repeatedly create and destroy infrastructure.
|
||||
|
||||
If you're completely new to Terraform, we recommend reading the
|
||||
[getting started guide](https://learn.hashicorp.com/terraform/getting-started/install) before diving into
|
||||
[Terraform: Get Started](https://learn.hashicorp.com/collections/terraform/aws-get-started?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) collection on HashiCorp Learn before diving into
|
||||
the examples. However, due to the intuitive configuration Terraform
|
||||
uses it isn't required.
|
||||
|
||||
|
|
|
@ -75,5 +75,5 @@ See the page on [Terraform use cases](/intro/use-cases.html) to see the
|
|||
multiple ways Terraform can be used. Then see
|
||||
[how Terraform compares to other software](/intro/vs/index.html)
|
||||
to see how it fits into your existing infrastructure. Finally, continue onwards with
|
||||
the [getting started guide](https://learn.hashicorp.com/terraform/getting-started/install) to use
|
||||
the [Terraform: Get Started](https://learn.hashicorp.com/collections/terraform/aws-get-started?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) collection on HashiCorp Learn to use
|
||||
Terraform to manage real infrastructure and to see how it works.
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
<ul class="nav docs-sidenav">
|
||||
<li<%= sidebar_current("guides-getting-started") %>>
|
||||
<a href="https://learn.hashicorp.com/terraform#getting-started">Getting Started</a>
|
||||
<a href="https://learn.hashicorp.com/collections/terraform/aws-get-started?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS">Getting Started</a>
|
||||
</li>
|
||||
|
||||
<li<%= sidebar_current("guides-core-workflow") %>>
|
||||
|
@ -24,7 +24,7 @@
|
|||
</li>
|
||||
|
||||
<li<%= sidebar_current("guides-running-terraform-in-automation") %>>
|
||||
<a href="https://learn.hashicorp.com/terraform/development/running-terraform-in-automation">Running Terraform in Automation</a>
|
||||
<a href="https://learn.hashicorp.com/tutorials/terraform/automate-terraform?in=terraform/automation&utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS">Running Terraform in Automation</a>
|
||||
</li>
|
||||
|
||||
<li<%= sidebar_current("upgrade-guides") %>>
|
||||
|
|
|
@ -40,7 +40,7 @@ of `terraform apply` will not invalidate the execution plan.
|
|||
|
||||
A consequence of this change is that `terraform apply` is now interactive by
|
||||
default unless a plan file is provided on the command line. When
|
||||
[running Terraform in automation](https://learn.hashicorp.com/terraform/development/running-terraform-in-automation)
|
||||
[running Terraform in automation](https://learn.hashicorp.com/tutorials/terraform/automate-terraform?in=terraform/automation&utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS)
|
||||
it is always recommended to separate plan from apply, but if existing automation
|
||||
was running `terraform apply` with no arguments it may now be necessary to
|
||||
update it to either generate an explicit plan using `terraform plan -out=...`
|
||||
|
|
Loading…
Reference in New Issue