2020-10-27 02:10:06 +01:00
|
|
|
<% wrap_layout :inner do %>
|
|
|
|
<% content_for :sidebar do %>
|
2021-01-15 01:31:38 +01:00
|
|
|
<h4><a href="/docs/language/index.html">Terraform Language</a></h4>
|
2020-10-27 02:10:06 +01:00
|
|
|
|
|
|
|
<ul class="nav docs-sidenav">
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/index.html">Overview</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
|
|
|
<a href="#">Files and Directories</a>
|
|
|
|
<ul class="nav">
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/files/index.html">Overview</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/files/override.html">Override Files</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
|
|
|
<a href="#">Syntax</a>
|
|
|
|
<ul class="nav">
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/syntax/index.html">Overview</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/syntax/configuration.html">Configuration Syntax</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/syntax/json.html">JSON Configuration Syntax</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/syntax/style.html">Style Conventions</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
|
|
|
<a href="#">Resources</a>
|
|
|
|
<ul class="nav">
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/resources/index.html">Overview</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/resources/syntax.html">Resource Blocks</a>
|
2020-11-13 03:06:32 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/resources/behavior.html">Resource Behavior</a>
|
2020-11-13 03:06:32 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
|
|
|
<a href="#">Meta-Arguments</a>
|
|
|
|
<ul class="nav nav-auto-expand">
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/meta-arguments/depends_on.html"><code>depends_on</code></a>
|
2020-11-13 03:06:32 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/meta-arguments/count.html"><code>count</code></a>
|
2020-11-13 03:06:32 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/meta-arguments/for_each.html"><code>for_each</code></a>
|
2020-11-13 03:06:32 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/meta-arguments/resource-provider.html"><code>provider</code></a>
|
2020-11-13 03:06:32 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/meta-arguments/lifecycle.html"><code>lifecycle</code></a>
|
2020-11-13 03:06:32 +01:00
|
|
|
</li>
|
|
|
|
</ul>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
|
|
|
<a href="#">Provisioners</a>
|
|
|
|
<ul class="nav">
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/resources/provisioners/index.html">Overview</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/resources/provisioners/syntax.html">Declaring Provisioners</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/resources/provisioners/connection.html">Provisioner Connections</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/resources/provisioners/null_resource.html">Provisioners Without a Resource</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
|
|
|
<a href="#">Generic Provisioners</a>
|
|
|
|
<ul class="nav nav-auto-expand">
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/resources/provisioners/file.html">file</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/resources/provisioners/local-exec.html">local-exec</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/resources/provisioners/remote-exec.html">remote-exec</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
|
|
|
<a href="#">Vendor Provisioners</a>
|
|
|
|
<ul class="nav nav-auto-expand">
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/resources/provisioners/chef.html">chef</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/resources/provisioners/habitat.html">habitat</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/resources/provisioners/puppet.html">puppet</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/resources/provisioners/salt-masterless.html">salt-masterless</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
</ul>
|
|
|
|
</li> <!-- resources -->
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/data-sources/index.html">Data Sources</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
|
|
|
<a href="#">Providers</a>
|
|
|
|
<ul class="nav">
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/providers/index.html">Overview</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/providers/requirements.html">Provider Requirements</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/providers/configuration.html">Provider Configuration</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/dependency-lock.html">Dependency Lock File</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2020-12-18 22:13:45 +01:00
|
|
|
<a href="/docs/providers/index.html">Provider Documentation</a>
|
2021-01-15 01:31:38 +01:00
|
|
|
<!-- To be deleted when remaining 8 providers are gone, doesn't need new URL -->
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</li><!-- providers -->
|
|
|
|
|
|
|
|
<li>
|
|
|
|
<a href="#">Variables and Outputs</a>
|
|
|
|
<ul class="nav">
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/values/index.html">Overview</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/values/variables.html">Input Variables</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/values/outputs.html">Output Values</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/values/locals.html">Local Values</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
|
|
|
<a href="#">Modules</a>
|
|
|
|
<ul class="nav">
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/modules/index.html">Overview</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/modules/syntax.html">Module Blocks</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/modules/sources.html">Module Sources</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
website: Break up main Modules and Module Development pages
This one is a lot like the previous two commits, but slightly more complex:
- Only adding one new meta-argument page, for `providers`; otherwise, it just
re-uses the dual-purpose pages I made in the resources commit.
- About that `providers` argument: The stuff that was relevant to consumers of a
module went in that meta-argument page, but there was also a huge deep dive on
how the _author_ of a re-usable module should handle provider configurations
in cases where inheriting the default providers isn't sufficient. THAT, I
moved into a new page in the module development section. (For the consumer of
a module, this should all be an implementation detail; the module README
should tell you which aliased providers you need to configure and pass, and
then you just do it, without worrying about proxy configuration blocks etc.)
- The "standard module structure" recommendations in the main module development
page gets a page of its own, to make it more prominent and discoverable.
- Same deal with using the old URL as a landing page, at least for the main
module calls page. It didn't seem necessary for the module development page.
2020-11-13 03:21:35 +01:00
|
|
|
<li>
|
|
|
|
<a href="#">Meta-Arguments</a>
|
|
|
|
<ul class="nav nav-auto-expand">
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/meta-arguments/module-providers.html"><code>providers</code></a>
|
website: Break up main Modules and Module Development pages
This one is a lot like the previous two commits, but slightly more complex:
- Only adding one new meta-argument page, for `providers`; otherwise, it just
re-uses the dual-purpose pages I made in the resources commit.
- About that `providers` argument: The stuff that was relevant to consumers of a
module went in that meta-argument page, but there was also a huge deep dive on
how the _author_ of a re-usable module should handle provider configurations
in cases where inheriting the default providers isn't sufficient. THAT, I
moved into a new page in the module development section. (For the consumer of
a module, this should all be an implementation detail; the module README
should tell you which aliased providers you need to configure and pass, and
then you just do it, without worrying about proxy configuration blocks etc.)
- The "standard module structure" recommendations in the main module development
page gets a page of its own, to make it more prominent and discoverable.
- Same deal with using the old URL as a landing page, at least for the main
module calls page. It didn't seem necessary for the module development page.
2020-11-13 03:21:35 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/meta-arguments/depends_on.html"><code>depends_on</code></a>
|
website: Break up main Modules and Module Development pages
This one is a lot like the previous two commits, but slightly more complex:
- Only adding one new meta-argument page, for `providers`; otherwise, it just
re-uses the dual-purpose pages I made in the resources commit.
- About that `providers` argument: The stuff that was relevant to consumers of a
module went in that meta-argument page, but there was also a huge deep dive on
how the _author_ of a re-usable module should handle provider configurations
in cases where inheriting the default providers isn't sufficient. THAT, I
moved into a new page in the module development section. (For the consumer of
a module, this should all be an implementation detail; the module README
should tell you which aliased providers you need to configure and pass, and
then you just do it, without worrying about proxy configuration blocks etc.)
- The "standard module structure" recommendations in the main module development
page gets a page of its own, to make it more prominent and discoverable.
- Same deal with using the old URL as a landing page, at least for the main
module calls page. It didn't seem necessary for the module development page.
2020-11-13 03:21:35 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/meta-arguments/count.html"><code>count</code></a>
|
website: Break up main Modules and Module Development pages
This one is a lot like the previous two commits, but slightly more complex:
- Only adding one new meta-argument page, for `providers`; otherwise, it just
re-uses the dual-purpose pages I made in the resources commit.
- About that `providers` argument: The stuff that was relevant to consumers of a
module went in that meta-argument page, but there was also a huge deep dive on
how the _author_ of a re-usable module should handle provider configurations
in cases where inheriting the default providers isn't sufficient. THAT, I
moved into a new page in the module development section. (For the consumer of
a module, this should all be an implementation detail; the module README
should tell you which aliased providers you need to configure and pass, and
then you just do it, without worrying about proxy configuration blocks etc.)
- The "standard module structure" recommendations in the main module development
page gets a page of its own, to make it more prominent and discoverable.
- Same deal with using the old URL as a landing page, at least for the main
module calls page. It didn't seem necessary for the module development page.
2020-11-13 03:21:35 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/meta-arguments/for_each.html"><code>for_each</code></a>
|
website: Break up main Modules and Module Development pages
This one is a lot like the previous two commits, but slightly more complex:
- Only adding one new meta-argument page, for `providers`; otherwise, it just
re-uses the dual-purpose pages I made in the resources commit.
- About that `providers` argument: The stuff that was relevant to consumers of a
module went in that meta-argument page, but there was also a huge deep dive on
how the _author_ of a re-usable module should handle provider configurations
in cases where inheriting the default providers isn't sufficient. THAT, I
moved into a new page in the module development section. (For the consumer of
a module, this should all be an implementation detail; the module README
should tell you which aliased providers you need to configure and pass, and
then you just do it, without worrying about proxy configuration blocks etc.)
- The "standard module structure" recommendations in the main module development
page gets a page of its own, to make it more prominent and discoverable.
- Same deal with using the old URL as a landing page, at least for the main
module calls page. It didn't seem necessary for the module development page.
2020-11-13 03:21:35 +01:00
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
|
2020-10-27 02:10:06 +01:00
|
|
|
<li>
|
|
|
|
<a href="#">Module Development</a>
|
|
|
|
<ul class="nav">
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/modules/develop/index.html">Overview</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
website: Break up main Modules and Module Development pages
This one is a lot like the previous two commits, but slightly more complex:
- Only adding one new meta-argument page, for `providers`; otherwise, it just
re-uses the dual-purpose pages I made in the resources commit.
- About that `providers` argument: The stuff that was relevant to consumers of a
module went in that meta-argument page, but there was also a huge deep dive on
how the _author_ of a re-usable module should handle provider configurations
in cases where inheriting the default providers isn't sufficient. THAT, I
moved into a new page in the module development section. (For the consumer of
a module, this should all be an implementation detail; the module README
should tell you which aliased providers you need to configure and pass, and
then you just do it, without worrying about proxy configuration blocks etc.)
- The "standard module structure" recommendations in the main module development
page gets a page of its own, to make it more prominent and discoverable.
- Same deal with using the old URL as a landing page, at least for the main
module calls page. It didn't seem necessary for the module development page.
2020-11-13 03:21:35 +01:00
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/modules/develop/structure.html">Standard Module Structure</a>
|
website: Break up main Modules and Module Development pages
This one is a lot like the previous two commits, but slightly more complex:
- Only adding one new meta-argument page, for `providers`; otherwise, it just
re-uses the dual-purpose pages I made in the resources commit.
- About that `providers` argument: The stuff that was relevant to consumers of a
module went in that meta-argument page, but there was also a huge deep dive on
how the _author_ of a re-usable module should handle provider configurations
in cases where inheriting the default providers isn't sufficient. THAT, I
moved into a new page in the module development section. (For the consumer of
a module, this should all be an implementation detail; the module README
should tell you which aliased providers you need to configure and pass, and
then you just do it, without worrying about proxy configuration blocks etc.)
- The "standard module structure" recommendations in the main module development
page gets a page of its own, to make it more prominent and discoverable.
- Same deal with using the old URL as a landing page, at least for the main
module calls page. It didn't seem necessary for the module development page.
2020-11-13 03:21:35 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/modules/develop/providers.html">Providers Within Modules</a>
|
website: Break up main Modules and Module Development pages
This one is a lot like the previous two commits, but slightly more complex:
- Only adding one new meta-argument page, for `providers`; otherwise, it just
re-uses the dual-purpose pages I made in the resources commit.
- About that `providers` argument: The stuff that was relevant to consumers of a
module went in that meta-argument page, but there was also a huge deep dive on
how the _author_ of a re-usable module should handle provider configurations
in cases where inheriting the default providers isn't sufficient. THAT, I
moved into a new page in the module development section. (For the consumer of
a module, this should all be an implementation detail; the module README
should tell you which aliased providers you need to configure and pass, and
then you just do it, without worrying about proxy configuration blocks etc.)
- The "standard module structure" recommendations in the main module development
page gets a page of its own, to make it more prominent and discoverable.
- Same deal with using the old URL as a landing page, at least for the main
module calls page. It didn't seem necessary for the module development page.
2020-11-13 03:21:35 +01:00
|
|
|
</li>
|
|
|
|
|
2020-10-27 02:10:06 +01:00
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/modules/develop/composition.html">Best Practices: Module Composition</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/modules/develop/publish.html">Publishing Modules</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</li><!-- modules -->
|
|
|
|
|
|
|
|
<li>
|
|
|
|
<a href="#">Expressions</a>
|
|
|
|
<ul class="nav">
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/expressions/index.html">Overview</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/expressions/types.html">Types and Values</a>
|
2020-11-13 03:01:48 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/expressions/strings.html">Strings and Templates</a>
|
2020-11-13 03:01:48 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/expressions/references.html">References to Values</a>
|
2020-11-13 03:01:48 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/expressions/operators.html">Operators</a>
|
2020-11-13 03:01:48 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/expressions/function-calls.html">Function Calls</a>
|
2020-11-13 03:01:48 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/expressions/conditionals.html">Conditional Expressions</a>
|
2020-11-13 03:01:48 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/expressions/for.html">For Expressions</a>
|
2020-11-13 03:01:48 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/expressions/splat.html">Splat Expressions</a>
|
2020-11-13 03:01:48 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/expressions/dynamic-blocks.html">Dynamic Blocks</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/expressions/type-constraints.html">Type Constraints</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/expressions/version-constraints.html">Version Constraints</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
<li>
|
|
|
|
<a href="#">Functions</a>
|
|
|
|
<ul class="nav">
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/index.html">Overview</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
|
|
|
<a href="#">Numeric Functions</a>
|
|
|
|
<ul class="nav">
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/abs.html">abs</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/ceil.html">ceil</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/floor.html">floor</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/log.html">log</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/max.html">max</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/min.html">min</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/parseint.html">parseint</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/pow.html">pow</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/signum.html">signum</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
|
|
|
<a href="#">String Functions</a>
|
|
|
|
<ul class="nav">
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/chomp.html">chomp</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/format.html">format</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/formatlist.html">formatlist</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/indent.html">indent</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/join.html">join</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/lower.html">lower</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/regex.html">regex</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/regexall.html">regexall</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/replace.html">replace</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/split.html">split</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/strrev.html">strrev</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/substr.html">substr</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/title.html">title</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/trim.html">trim</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/trimprefix.html">trimprefix</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/trimsuffix.html">trimsuffix</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/trimspace.html">trimspace</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/upper.html">upper</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
|
|
|
<a href="#">Collection Functions</a>
|
|
|
|
<ul class="nav">
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/alltrue.html">alltrue</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/anytrue.html">anytrue</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/chunklist.html">chunklist</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/coalesce.html">coalesce</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/coalescelist.html">coalescelist</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/compact.html">compact</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/concat.html">concat</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/contains.html">contains</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/distinct.html">distinct</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/element.html">element</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/flatten.html">flatten</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/index_function.html">index</a>
|
|
|
|
<!-- odd filename out, due to web conventions -->
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/keys.html">keys</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/length.html">length</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/list.html">list</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/lookup.html">lookup</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/map.html">map</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/matchkeys.html">matchkeys</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/merge.html">merge</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
lang/funcs: "one" function
In the Terraform language we typically use lists of zero or one values in
some sense interchangably with single values that might be null, because
various Terraform language constructs are designed to work with
collections rather than with nullable values.
In Terraform v0.12 we made the splat operator [*] have a "special power"
of concisely converting from a possibly-null single value into a
zero-or-one list as a way to make that common operation more concise.
In a sense this "one" function is the opposite operation to that special
power: it goes from a zero-or-one collection (list, set, or tuple) to a
possibly-null single value.
This is a concise alternative to the following clunky conditional
expression, with the additional benefit that the following expression is
also not viable for set values, and it also properly handles the case
where there's unexpectedly more than one value:
length(var.foo) != 0 ? var.foo[0] : null
Instead, we can write:
one(var.foo)
As with the splat operator, this is a tricky tradeoff because it could be
argued that it's not something that'd be immediately intuitive to someone
unfamiliar with Terraform. However, I think that's justified given how
often zero-or-one collections arise in typical Terraform configurations.
Unlike the splat operator, it should at least be easier to search for its
name and find its documentation the first time you see it in a
configuration.
My expectation that this will become a common pattern is also my
justification for giving it a short, concise name. Arguably it could be
better named something like "oneornull", but that's a pretty clunky name
and I'm not convinced it really adds any clarity for someone who isn't
already familiar with it.
2021-01-09 01:02:56 +01:00
|
|
|
<li>
|
|
|
|
<a href="/docs/language/functions/one.html">one</a>
|
|
|
|
</li>
|
|
|
|
|
2020-10-27 02:10:06 +01:00
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/range.html">range</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/reverse.html">reverse</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/setintersection.html">setintersection</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/setproduct.html">setproduct</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/setsubtract.html">setsubtract</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/setunion.html">setunion</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/slice.html">slice</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/sort.html">sort</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/sum.html">sum</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/transpose.html">transpose</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/values.html">values</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/zipmap.html">zipmap</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
|
|
|
<a href="#">Encoding Functions</a>
|
|
|
|
<ul class="nav">
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/base64decode.html">base64decode</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/base64encode.html">base64encode</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/base64gzip.html">base64gzip</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/csvdecode.html">csvdecode</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/jsondecode.html">jsondecode</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/jsonencode.html">jsonencode</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/textdecodebase64.html">textdecodebase64</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/textencodebase64.html">textencodebase64</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/urlencode.html">urlencode</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/yamldecode.html">yamldecode</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/yamlencode.html">yamlencode</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
|
|
|
<a href="#">Filesystem Functions</a>
|
|
|
|
<ul class="nav">
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/abspath.html">abspath</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/dirname.html">dirname</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/pathexpand.html">pathexpand</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/basename.html">basename</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/file.html">file</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/fileexists.html">fileexists</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/fileset.html">fileset</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/filebase64.html">filebase64</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/templatefile.html">templatefile</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
|
|
|
<a href="#">Date and Time Functions</a>
|
|
|
|
<ul class="nav">
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/formatdate.html">formatdate</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/timeadd.html">timeadd</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/timestamp.html">timestamp</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
|
|
|
<a href="#">Hash and Crypto Functions</a>
|
|
|
|
<ul class="nav">
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/base64sha256.html">base64sha256</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/base64sha512.html">base64sha512</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/bcrypt.html">bcrypt</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/filebase64sha256.html">filebase64sha256</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/filebase64sha512.html">filebase64sha512</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/filemd5.html">filemd5</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/filesha1.html">filesha1</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/filesha256.html">filesha256</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/filesha512.html">filesha512</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/md5.html">md5</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/rsadecrypt.html">rsadecrypt</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/sha1.html">sha1</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/sha256.html">sha256</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/sha512.html">sha512</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/uuid.html">uuid</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/uuidv5.html">uuidv5</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
|
|
|
<a href="#">IP Network Functions</a>
|
|
|
|
<ul class="nav">
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/cidrhost.html">cidrhost</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/cidrnetmask.html">cidrnetmask</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/cidrsubnet.html">cidrsubnet</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/cidrsubnets.html">cidrsubnets</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
|
|
|
<a href="#">Type Conversion Functions</a>
|
|
|
|
<ul class="nav">
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/can.html">can</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
2020-10-31 01:19:32 +01:00
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/defaults.html">defaults</a>
|
2020-10-31 01:19:32 +01:00
|
|
|
</li>
|
|
|
|
|
2020-12-19 00:46:30 +01:00
|
|
|
<li>
|
|
|
|
<a href="/docs/language/functions/nonsensitive.html">nonsensitive</a>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
|
|
|
<a href="/docs/language/functions/sensitive.html">sensitive</a>
|
|
|
|
</li>
|
|
|
|
|
2020-10-27 02:10:06 +01:00
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/tobool.html">tobool</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/tolist.html">tolist</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/tomap.html">tomap</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/tonumber.html">tonumber</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/toset.html">toset</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/tostring.html">tostring</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/functions/try.html">try</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
</li><!-- function reference -->
|
|
|
|
|
|
|
|
<li>
|
|
|
|
<a href="#">Terraform Settings</a>
|
|
|
|
<ul class="nav">
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/settings/index.html">Overview</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
|
|
|
<a href="#">Backends</a>
|
|
|
|
<ul class="nav">
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/settings/backends/index.html">Overview</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/settings/backends/configuration.html">Backend Configuration</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
|
|
|
<a href="#">Enhanced Backends</a>
|
|
|
|
<ul class="nav nav-auto-expand">
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/settings/backends/local.html">local</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/settings/backends/remote.html">remote</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
<li>
|
|
|
|
<a href="#">Standard Backends</a>
|
|
|
|
<ul class="nav nav-auto-expand">
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/settings/backends/artifactory.html">artifactory</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/settings/backends/azurerm.html">azurerm</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/settings/backends/consul.html">consul</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/settings/backends/cos.html">cos</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/settings/backends/etcd.html">etcd</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/settings/backends/etcdv3.html">etcdv3</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/settings/backends/gcs.html">gcs</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/settings/backends/http.html">http</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/settings/backends/kubernetes.html">kubernetes</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/settings/backends/manta.html">manta</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/settings/backends/oss.html">oss</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/settings/backends/pg.html">pg</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/settings/backends/s3.html">s3</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/settings/backends/swift.html">swift</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</li><!-- backends -->
|
|
|
|
</ul>
|
|
|
|
</li><!-- settings -->
|
|
|
|
|
|
|
|
<li>
|
|
|
|
<a href="#">State</a>
|
|
|
|
<ul class="nav">
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/state/index.html">Overview</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/state/purpose.html">Purpose</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
2020-12-17 21:54:01 +01:00
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/state/remote-state-data.html">The <code>terraform_remote_state</code> Data Source</a>
|
2020-12-17 21:54:01 +01:00
|
|
|
</li>
|
|
|
|
|
2020-10-27 02:10:06 +01:00
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/state/backends.html">Backends: State Storage & Locking</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/state/import.html">Import Existing Resources</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/state/locking.html">Locking</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/state/workspaces.html">Workspaces</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/state/remote.html">Remote State</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 01:31:38 +01:00
|
|
|
<a href="/docs/language/state/sensitive-data.html">Sensitive Data</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
|
|
|
<a href="#">Upgrade Guides</a>
|
|
|
|
<ul class="nav">
|
|
|
|
<li>
|
|
|
|
<a href="/upgrade-guides/index.html">Overview</a>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
|
|
|
<a href="/upgrade-guides/0-14.html">Upgrading to v0.14</a>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
|
|
|
<a href="/upgrade-guides/0-13.html">Upgrading to v0.13</a>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
|
|
|
<a href="/upgrade-guides/0-12.html">Upgrading to v0.12</a>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
|
|
|
<a href="/upgrade-guides/0-11.html">Upgrading to v0.11</a>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
|
|
|
<a href="/upgrade-guides/0-10.html">Upgrading to v0.10</a>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
|
|
|
<a href="/upgrade-guides/0-9.html">Upgrading to v0.9</a>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
|
|
|
<a href="/upgrade-guides/0-8.html">Upgrading to v0.8</a>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
|
|
|
<a href="/upgrade-guides/0-7.html">Upgrading to v0.7</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
<li>
|
|
|
|
<a href="#">Historical docs: 0.11 and Older</a>
|
|
|
|
<ul class="nav">
|
|
|
|
<li>
|
|
|
|
<a href="/docs/configuration-0-11/index.html">Overview</a>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
|
|
|
<a href="/docs/configuration-0-11/load.html">Load Order and Semantics</a>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
|
|
|
<a href="/docs/configuration-0-11/syntax.html">Configuration Syntax</a>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
|
|
|
<a href="/docs/configuration-0-11/interpolation.html">Interpolation Syntax</a>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
|
|
|
<a href="/docs/configuration-0-11/override.html">Overrides</a>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
|
|
|
<a href="/docs/configuration-0-11/resources.html">Resources</a>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
|
|
|
<a href="/docs/configuration-0-11/data-sources.html">Data Sources</a>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
|
|
|
<a href="/docs/configuration-0-11/providers.html">Providers</a>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
|
|
|
<a href="/docs/configuration-0-11/variables.html">Variables</a>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
|
|
|
<a href="/docs/configuration-0-11/outputs.html">Outputs</a>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
|
|
|
<a href="/docs/configuration-0-11/locals.html">Local Values</a>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
|
|
|
<a href="/docs/configuration-0-11/modules.html">Modules</a>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
|
|
|
<a href="/docs/configuration-0-11/terraform.html">Terraform</a>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
2021-01-15 23:13:53 +01:00
|
|
|
<a href="/docs/language/resources/provisioners/index.html">Provisioners</a>
|
2020-10-27 02:10:06 +01:00
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
|
|
|
<a href="/docs/configuration-0-11/terraform-enterprise.html">Terraform Push (deprecated)</a>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
|
|
|
<a href="/docs/configuration-0-11/environment-variables.html">Environment Variables</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
<%= partial("layouts/otherdocs", :locals => { :skip => "Terraform Language" }) %>
|
|
|
|
<% end %>
|
|
|
|
|
|
|
|
<%= yield %>
|
|
|
|
<% end %>
|