From 36e1bd8fb3a68cfef3409ca1f825fa56d1302167 Mon Sep 17 00:00:00 2001 From: Matthew Garrell <69917312+mgarrell777@users.noreply.github.com> Date: Mon, 3 Oct 2022 11:20:01 -0400 Subject: [PATCH 01/62] Updates to Workspaces and Private Registry sections plus new content for no-code provisioning --- website/data/cloud-docs-nav-data.json | 13 +++++ .../api-docs/private-registry/modules.mdx | 31 ++++++----- .../no-code-provisioning/module-design.mdx | 54 +++++++++++++++++++ .../no-code-provisioning/provisioning.mdx | 54 +++++++++++++++++++ website/docs/cloud-docs/registry/add.mdx | 17 ++++++ .../cloud-docs/registry/publish-modules.mdx | 3 ++ website/docs/cloud-docs/registry/using.mdx | 10 +++- .../docs/cloud-docs/workspaces/creating.mdx | 2 + website/docs/registry/modules/publish.mdx | 2 + 9 files changed, 171 insertions(+), 15 deletions(-) create mode 100644 website/docs/cloud-docs/no-code-provisioning/module-design.mdx create mode 100644 website/docs/cloud-docs/no-code-provisioning/provisioning.mdx diff --git a/website/data/cloud-docs-nav-data.json b/website/data/cloud-docs-nav-data.json index 32d4f9f0e..7cb4120ca 100644 --- a/website/data/cloud-docs-nav-data.json +++ b/website/data/cloud-docs-nav-data.json @@ -315,6 +315,19 @@ } ] }, + { + "title": "No-Code Provisioning", + "routes": [ + { + "title": "Preparing No-Code Ready Modules", + "path": "no-code-provisioning/module-design" + }, + { + "title": "Provisioning No-Code Infrastructure", + "path": "no-code-provisioning/provisioning" + }, + ] + } { "title": "Migrating to Terraform Cloud", "path": "migrate" diff --git a/website/docs/cloud-docs/api-docs/private-registry/modules.mdx b/website/docs/cloud-docs/api-docs/private-registry/modules.mdx index 3ecb0ef1f..1cbe346f7 100644 --- a/website/docs/cloud-docs/api-docs/private-registry/modules.mdx +++ b/website/docs/cloud-docs/api-docs/private-registry/modules.mdx @@ -252,12 +252,13 @@ This POST endpoint requires a JSON object with the following properties as a req Properties without a default value are required. -| Key path | Type | Default | Description | -| --------------------------------------------- | ------ | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `data.type` | string | | Must be `"registry-modules"`. | -| `data.attributes.vcs-repo.identifier` | string | | The repository from which to ingress the configuration. | -| `data.attributes.vcs-repo.oauth-token-id` | string | | The VCS Connection (OAuth Connection + Token) to use as identified. This ID can be obtained from the [oauth-tokens](/cloud-docs/api-docs/oauth-tokens) endpoint. | -| `data.attributes.vcs-repo.display_identifier` | string | | The display identifier for the repository. For most VCS providers outside of BitBucket Cloud, this will match the `data.attributes.vcs-repo.identifier` string. | +| Key path | Type | Default | Description | +| --------------------------------------------- | ------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `data.type` | string | | Must be `"registry-modules"`. | +| `data.attributes.vcs-repo.identifier` | string | | The repository from which to ingress the configuration. | +| `data.attributes.vcs-repo.oauth-token-id` | string | | The VCS Connection (OAuth Connection + Token) to use as identified. This ID can be obtained from the [oauth-tokens](/cloud-docs/api-docs/oauth-tokens) endpoint. | +| `data.attributes.vcs-repo.display_identifier` | string | | The display identifier for the repository. For most VCS providers outside of BitBucket Cloud, this will match the `data.attributes.vcs-repo.identifier` string. | +| `data.attributes.no-code` | boolean | | Allows you to enable or disable the no-code publishing workflow for a module. A VCS repository identifier is a reference to a VCS repository in the format `:org/:repo`, where `:org` and `:repo` refer to the organization (or project key, for Bitbucket Server) and repository in your VCS provider. The format for Azure DevOps is `:org/:project/_git/:repo`. @@ -274,6 +275,7 @@ The OAuth Token ID identifies the VCS connection, and therefore the organization "oauth-token-id":"ot-hmAyP66qk2AMVdbJ", "display_identifier":"lafentres/terraform-aws-my-module" } + "no-code": true }, "type":"registry-modules" } @@ -369,13 +371,14 @@ This POST endpoint requires a JSON object with the following properties as a req Properties without a default value are required. -| Key path | Type | Default | Description | -| ------------------------------- | ------ | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `data.type` | string | | Must be `"registry-modules"`. | -| `data.attributes.name` | string | | The name of this module. May contain alphanumeric characters, with dashes and underscores allowed in non-leading or trailing positions. Maximum length is 64 characters. | -| `data.attributes.provider` | string | | Specifies the Terraform provider that this module is used for. May contain lowercase alphanumeric characters. Maximum length is 64 characters. | -| `data.attributes.namespace` | string | | The namespace of this module. Cannot be set for private modules. May contain alphanumeric characters, with dashes and underscores allowed in non-leading or trailing positions. Maximum length is 64 characters. | -| `data.attributes.registry-name` | string | | Indicates whether this is a publicly maintained module or private. Must be either `public` or `private`. | +| Key path | Type | Default | Description | +| ------------------------------- | ------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `data.type` | string | | Must be `"registry-modules"`. | +| `data.attributes.name` | string | | The name of this module. May contain alphanumeric characters, with dashes and underscores allowed in non-leading or trailing positions. Maximum length is 64 characters. | +| `data.attributes.provider` | string | | Specifies the Terraform provider that this module is used for. May contain lowercase alphanumeric characters. Maximum length is 64 characters. | +| `data.attributes.namespace` | string | | The namespace of this module. Cannot be set for private modules. May contain alphanumeric characters, with dashes and underscores allowed in non-leading or trailing positions. Maximum length is 64 characters. | +| `data.attributes.registry-name` | string | | Indicates whether this is a publicly maintained module or private. Must be either `public` or `private`. | +| `data.attributes.no-code` | boolean | | Allows you to enable or disable the no-code publishing workflow for a module. ### Sample Payload (private module) @@ -387,6 +390,7 @@ Properties without a default value are required. "name": "my-module", "provider": "aws", "registry-name": "private" + "no-code": true } } } @@ -403,6 +407,7 @@ Properties without a default value are required. "namespace": "terraform-aws-modules", "provider": "aws", "registry-name": "public" + "no-code": true } } } diff --git a/website/docs/cloud-docs/no-code-provisioning/module-design.mdx b/website/docs/cloud-docs/no-code-provisioning/module-design.mdx new file mode 100644 index 000000000..784514ecc --- /dev/null +++ b/website/docs/cloud-docs/no-code-provisioning/module-design.mdx @@ -0,0 +1,54 @@ +--- +page_title: No-Code Provisioning - Preparing No-Code Ready Modules +description: Anyone can publish and share modules on the Terraform Registry. +--- + +# Preparing No-Code Ready Modules + +-> **Note:** No-code ready modules are in beta and available in the [Terraform Cloud Business Tier](https://www.hashicorp.com/products/terraform/pricing). + +No-code provisioning builds on the advantages of using Terraform modules, which let you define collections of infrastructure resources that satisfy your organizational standards and help downstream users deploy those resources easily. No-code ready modules further simplify this workflow by letting users deploy the module's resources without writing any Terraform configuration. + +No-code provisioning allows module developers to abstract away the complexities of their organization's infrastructure, enabling a safe self-service workflow. This workflow lets developers provision approved collections of resources themselves without needing to invest time in learning Terraform or infrastructure best practices. + +You can enable no-code provisioning on any module once it is in your Terraform Cloud [private registry](private registry) or enable the workflow on private modules as you publish them to your registry. Module users can then [provision no-code infrastructure](provision no-code infrastructure), set the module's input variables, and deploy its resources. + +-> **Hands On:** Try the [Create and Use No-Code Ready Modules tutorial](https://learn.hashicorp.com/tutorials/terraform/no-code-provisioning). + +You should follow the same best practices for developing a no-code ready module as for a standard module. However, there are a few additional considerations and requirements for enabling no-code provisioning. + +## Requirements + +A no-code ready module must meet the following requirements: +Root Module Structure: The module must follow [standard module structure](/language/modules/develop/structure) and define its resources in the root directory of the repository. This structure allows the registry to inspect the module and generate documentation, track resource usage, and parse submodules and examples. +Provider Configuration: A no-code ready module must declare the required provider(s) directly in the module. This configuration differs from the recommendations for [modules used in written configuration](/language/modules/develop/providers#legacy-shared-modules-with-provider-configurations). + +In addition to these module configuration requirements, the auto-apply no-code provisioning workflow requires automatic access to provider credentials. A new no-code workspace must be able to access credentials, either through a [global variable set](/cloud-docs/workspaces/variables/managing-variables#variable-sets) or through [remote state data sources](/language/state/remote-state-data) that pull provider credentials from another workspace. + +### Provider credentials + +Organization administrators must determine how no-code workspaces access credentials for provider authentication and design modules accordingly. + +When module consumers follow the no-code workflow, Terraform Cloud automatically creates a new workspace for the resources and attempts to provision them. New workspaces must be able to access credentials for all providers defined within the module. + +To grant new no-code workspace provider credentials, you can: + +* Create a [global variable set](https://learn.hashicorp.com/tutorials/terraform/cloud-create-variable-set?in=terraform/cloud-get-started). This action automatically grants newly-created workspaces access to the required provider credentials. +* Expose provider credentials as sensitive outputs in another workspace. You must add additional configuration to the module to access these values through [remote state data sources](/language/state/remote-state-data) and then reference them in provider configuration. This approach allows for more scoped access than a global variable set. +* Elect to let the first run in a workspace fail and have module users add credentials directly to the workspace after creation. This approach allows for the most scoped access to provider credentials, but requires manual intervention. Users must manually start a new run to provision infrastructure after configuring the credentials. + +## Module Design Recommendations + +Similarly to a [standard module](/language/modules/develop#when-to-write-a-module), a well-designed no-code ready module composes resources in a way that is easy for others to deploy, offering a level of abstraction for your organization's infrastructure. However, no-code ready modules anticipate less familiarity with Terraform than standard modules, which are designed for flexibility and composition. Keep these recommendations in mind when designing your module. + +### Build for a specific use case + +No-code ready modules enable the workflows of users who are less familiar with Terraform and infrastructure management. Reduce the amount of technical decision-making required to deploy the module by scoping it to a single, specific use case. + +Designing your no-code ready module with a single use case in mind allows the users provisioning your module to focus on business concerns instead of infrastructure concerns. Examples of well-scoped use cases are: +A module that deploys all resources needed for a three tier web application +A module that deploys a database with constraints on resource allocation and deployment region + +### Limit the number of variables without defaults + +The no-code provisioning workflow prompts users to set values for the module's input variables before creating the new workspace and deploying resources. We recommend setting reasonable defaults wherever possible to reduce the effort and expertise needed to deploy the module. Remember that the workspace can also access any variable values set through global variable sets in your organization. diff --git a/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx b/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx new file mode 100644 index 000000000..4fbb03381 --- /dev/null +++ b/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx @@ -0,0 +1,54 @@ +--- +page_title: No-Code Provisioning - Provisioning No-Code Infrastructure +description: How to provisioning infrastructure from a no-code ready module. +--- + +# Provisioning No-Code Infrastructure + +-> **Note:** No-code ready modules are in beta and available in the [Terraform Cloud Business Tier](https://www.hashicorp.com/products/terraform/pricing). + +No-code provisioning lets users deploy infrastructure resources in a new Terraform Cloud workspace without writing any Terraform configuration. This enables a self-service workflow while abstracting away the complexities of infrastructure management. No-code workspaces have slightly scoped functionality, but you can still edit the workspace's variables and settings, start new runs, and destroy infrastructure. + +The no-code provisioning workflow is meant for relatively static infrastructure and you cannot interact with the Terraform configuration for the resources managed in the workspace. Beyond changes to variable values, you cannot apply configuration changes to existing no-code workspaces. To deploy updates to module configuration, users must create new no-code workspaces with new resources. + +~> **Tip:** No-code provisioning has limited support for configuration changes and requires recreating infrastructure to deploy updates. For more dynamic configuration and development, use standard modules. + +-> **Hands On:** Try the [Create and Use No-Code Ready Modules tutorial](https://learn.hashicorp.com/tutorials/terraform/no-code-provisioning). +## Permissions + +The no-code provisioning workflow creates a new workspace, so users must have permissions to [manage workspaces](/cloud-docs/users-teams-organizations/permissions#manage-workspaces). +## Provider credentials + +Terraform automatically starts a new run to provision no-code infrastructure upon workspace creation. No-code modules contain provider blocks in their configuration, but still require provider credentials for successful deployment. Organization administrators determine [how new workspaces access provider credentials](### Provider credentials), which may require specific module design. + +## Creating a workspace and deploying resources + +The no-code provisioning workflow creates a new Terraform Cloud workspace to deploy and manage the no-code module's resources. Terraform Cloud automatically starts a run to provision the module's resources in the new workspace, which either auto-applies or prompts for approval, depending on the workspace's settings. + +To launch the no-code workflow: + +1. Click **Registry** in the main Terraform Cloud navigation to access your organization's private registry. + +1. Click **Modules** to view the list of available modules in the private registry. +~> **Tip:** You can filter for no-code ready modules in your registry. No-code enabled modules have a **No-code Ready** rocket badge next to their names. + +1. Select the no-code ready module to view its details, then click **Provision workspace**. The **Configure module inputs** page appears. + +Terraform Cloud scans the module configuration for input variables and prompts for values for any variables without defaults or undefined in an existing global variable set. Terraform requires values for these variables to successfully complete runs in the workspace. Terraform Cloud performs type validation for the variable values if the module configuration specifies a type. + +1. Set values for the input variables. Then, click **Next: Workspace settings**. + + You can choose to skip this step and configure the variables later. However, Terraform Cloud does not prompt you for these values again and your Terraform runs may fail. + +1. Enter a **Workspace Name**. The name must be unique within the organization and can include letters, numbers, dashes (-), and underscores (_). Refer to the [workspace naming recommendations](/cloud-docs/workspaces/naming) for more guidance. + +1. Add an optional **Description** for the workspace. + +1. Select an apply method for the workspace. **Auto apply** automatically applies any successful runs in the workspace, including the initial run on workspace creation. **Manual apply** prompts operators to review and confirm the changes in a run. **Auto apply** is the default option for a no-code workspace. + +1. Click **Create workspace**. Terraform Cloud creates a new workspace and starts a run. Depending on the apply method, it automatically applies your infrastructure or prompts you for approval to create the no-code module's resources. +## Operations in existing workspaces + +No-code workspaces have a limited feature set because users cannot access the resource configuration. However, users can edit workspace variables and settings, including notifications, permissions, and run triggers to connect the workspace to one or more source workspaces. They can also trigger new runs to pick up changes to variables, or queue destroy runs. + +If the module’s configuration changes, users must destroy the workspace and create a new one to provision resources with the updated configuration. diff --git a/website/docs/cloud-docs/registry/add.mdx b/website/docs/cloud-docs/registry/add.mdx index 6e57259c4..227d9562a 100644 --- a/website/docs/cloud-docs/registry/add.mdx +++ b/website/docs/cloud-docs/registry/add.mdx @@ -45,6 +45,23 @@ To add a public provider or module: 1. Click **Add to organization** in the dialog box. Members of your organization can now begin using it from the private registry. +## Enabling and Disabling No-Code Provisioning + +-> **Note:** No-code ready modules are in beta and available in the [Terraform Cloud Business tier](https://www.hashicorp.com/products/terraform/pricing). + +You can enable no-code provisioning for public modules after adding them to your registry. The no-code provisioning workflow requires automatic access to provider credentials for downstream users to successfully deploy the module's resources. + +To enable no-code provisioning: +1. Verify that the module meets the [requirements for no-code provisioning](https://www.terraform.io/cloud-docs/no-code-provisioning/module-design). +1. Click the module to view its details. +1. Select **Enable no-code provisioning** from the **Manage Module for Organization** dropdown. + +Your module’s details page now has a **No-Code Ready** rocket badge to indicate that it supports no-code provisioning. + +To support the auto-apply workflow, ensure that downstream users can [automatically load provider credentials](https://www.terraform.io/cloud-docs/no-code-provisioning/module-design#provider-credentials) into their new no-code workspaces, either through a global variable set with the credentials for the module's provider, or accessing outputs with credentials across workspaces. + +To disable no-code provisioning, select **Disable no-code provisioning** from the **Manage Module for Organization** dropdown. Disabling also removes the **No-Code Ready** rocket badge from the module’s details page. + ## Removing a Public Provider or Module Removing a public provider or module from a private registry does not remove it from the public Terraform Registry. Users in the organization will still be able to use the removed provider or module without changing their configurations. diff --git a/website/docs/cloud-docs/registry/publish-modules.mdx b/website/docs/cloud-docs/registry/publish-modules.mdx index 8ec45b308..8a2d8846f 100644 --- a/website/docs/cloud-docs/registry/publish-modules.mdx +++ b/website/docs/cloud-docs/registry/publish-modules.mdx @@ -69,6 +69,9 @@ To publish a new module: You can search the list by typing part or all of a repository name into the filter field. Remember that VCS providers use `/` strings to locate repositories. The namespace is an organization name for most providers, but Bitbucket Server (not Bitbucket Cloud) uses project keys, like `INFRA`. +1. (Optional) If this module is a [no-code ready module](https://www.terraform.io/cloud-docs/no-code-provisioning/module-design), select the **Add Module to no-code provision allowlist** checkbox. + -> **Note:** No-code ready modules are in beta and available in the [Terraform Cloud Business tier](https://www.hashicorp.com/products/terraform/pricing). + 1. Click **Publish module**. Terraform Cloud displays a loading page while it imports the module versions and then takes you to the new module's details page. On the details page, you can view available versions, read documentation, and copy a usage example. diff --git a/website/docs/cloud-docs/registry/using.mdx b/website/docs/cloud-docs/registry/using.mdx index 3ba4c774b..f02a71096 100644 --- a/website/docs/cloud-docs/registry/using.mdx +++ b/website/docs/cloud-docs/registry/using.mdx @@ -7,14 +7,16 @@ description: Find available providers and modules and include them in configurat All users in an organization can view the Terraform Cloud private registry and use the available providers and modules. A private registry has some key requirements and differences from the [public Terraform Registry](/registry): -- **Location:** You must use Terraform Cloud's web UI to search for providers, modules, and usage examples. +- **Location:** Your organization's providers and modules and their usage examples can only be found in the private registry through the Terraform Cloud web UI for the organization. - **Provider and Module block `source` argument:** Private providers and modules use a [different format](/cloud-docs/registry/using#using-private-providers-and-modules-in-configurations). - **Terraform version:** Terraform Cloud workspaces using version 0.11 and higher can automatically access your private modules during Terraform runs, and workspaces using version 0.13 and higher can also automatically access private providers. - **Authentication:** If you run Terraform on the command line, you must [authenticate](/cloud-docs/registry/using#authentication) to Terraform Cloud or your instance to use providers and modules in your organization’s private registry. +Terraform Cloud supports using modules in written configuration or through the [no-code provisioning workflow](https://www.terraform.io/cloud-docs/no-code-provisioning/module-design). + ## Finding Providers and Modules -To find available providers and modules, click the **Registry** button in the main navigation bar. The **Registry** page appears. +To find available providers and modules, click **Registry** in the main navigation bar. The **Registry** page appears. ![Terraform Cloud screenshot: a filtered list of available providers](/img/docs/registry-page-filtered.png) @@ -38,6 +40,10 @@ Use the **Submodules** menu to navigate to the detail pages for any nested modul ![Terraform Cloud screenshot: a module submodules button](/img/docs/using-submodules-dropdown.png) +## Provisioning Infrastructure from No-Code Ready Modules + +You can use modules marked **No-Code Ready** to create a new workspace and automatically provision the module's resources without writing any Terraform configuration. Refer to [Provisioning No-Code Infrastructure](https://www.terraform.io/cloud-docs/no-code-provisioning/provisioning) for details. + ## Using Public Providers and Modules in Configurations > **Hands-on:** Try the [Use Modules from the Registry](https://learn.hashicorp.com/tutorials/terraform/module-use?in=terraform/modules) tutorial. diff --git a/website/docs/cloud-docs/workspaces/creating.mdx b/website/docs/cloud-docs/workspaces/creating.mdx index 7347a0d9f..da72b8b9b 100644 --- a/website/docs/cloud-docs/workspaces/creating.mdx +++ b/website/docs/cloud-docs/workspaces/creating.mdx @@ -14,6 +14,8 @@ Workspaces organize infrastructure into meaningful groups. Create new workspaces - **Terraform Cloud UI:** [Create a Workspace](#create-a-workspace) - **Workspaces API:** [Create a Workspace endpoint](/cloud-docs/api-docs/workspaces#create-a-workspace) - **Terraform Enterprise Provider:** [`tfe_workspace` resource](https://registry.terraform.io/providers/hashicorp/tfe/latest/docs/resources/workspace) +- **No-Code Provisioning:** The no-code provisioning workflow creates a new workspace and deploys a [no-code ready module's](https://www.terraform.io/cloud-docs/no-code-provisioning/provisioning) resources in it. + -> **Note:** No-code ready modules are in beta and available in the [Terraform Cloud Business tier](https://www.hashicorp.com/products/terraform/pricing). ## Permissions diff --git a/website/docs/registry/modules/publish.mdx b/website/docs/registry/modules/publish.mdx index c92d7f2cd..fcfc2faa5 100644 --- a/website/docs/registry/modules/publish.mdx +++ b/website/docs/registry/modules/publish.mdx @@ -70,6 +70,8 @@ In a few seconds, your module will be created. ![Publish Module flow animation](/img/docs/registry-publish.gif) +You can also use modules marked **No-Code Ready** to create a new workspace and automatically provision the module's resources without writing any Terraform configuration. Refer to [Preparing No-Code Ready Modules](https://www.terraform.io/cloud-docs/no-code-provisioning/module-design) for details. + ## Releasing New Versions The Terraform Registry uses tags to detect releases. From 408df13f46cb06f35e728ef5673062485b52c8e3 Mon Sep 17 00:00:00 2001 From: Matthew Garrell <69917312+mgarrell777@users.noreply.github.com> Date: Mon, 3 Oct 2022 12:20:01 -0400 Subject: [PATCH 02/62] Trying to fix potential broken links in files --- website/docs/cloud-docs/no-code-provisioning/provisioning.mdx | 4 +++- website/docs/cloud-docs/registry/add.mdx | 4 ++-- website/docs/cloud-docs/registry/publish-modules.mdx | 2 +- website/docs/cloud-docs/registry/using.mdx | 4 ++-- website/docs/cloud-docs/workspaces/creating.mdx | 2 +- website/docs/registry/modules/publish.mdx | 2 +- 6 files changed, 10 insertions(+), 8 deletions(-) diff --git a/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx b/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx index 4fbb03381..7b9b4831e 100644 --- a/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx +++ b/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx @@ -17,9 +17,10 @@ The no-code provisioning workflow is meant for relatively static infrastructure ## Permissions The no-code provisioning workflow creates a new workspace, so users must have permissions to [manage workspaces](/cloud-docs/users-teams-organizations/permissions#manage-workspaces). + ## Provider credentials -Terraform automatically starts a new run to provision no-code infrastructure upon workspace creation. No-code modules contain provider blocks in their configuration, but still require provider credentials for successful deployment. Organization administrators determine [how new workspaces access provider credentials](### Provider credentials), which may require specific module design. +Terraform automatically starts a new run to provision no-code infrastructure upon workspace creation. No-code modules contain provider blocks in their configuration, but still require provider credentials for successful deployment. Organization administrators determine [how new workspaces access provider credentials](/cloud-docs/no-code-provisioning/module-design#provider-credentials, which may require specific module design. ## Creating a workspace and deploying resources @@ -47,6 +48,7 @@ Terraform Cloud scans the module configuration for input variables and prompts f 1. Select an apply method for the workspace. **Auto apply** automatically applies any successful runs in the workspace, including the initial run on workspace creation. **Manual apply** prompts operators to review and confirm the changes in a run. **Auto apply** is the default option for a no-code workspace. 1. Click **Create workspace**. Terraform Cloud creates a new workspace and starts a run. Depending on the apply method, it automatically applies your infrastructure or prompts you for approval to create the no-code module's resources. + ## Operations in existing workspaces No-code workspaces have a limited feature set because users cannot access the resource configuration. However, users can edit workspace variables and settings, including notifications, permissions, and run triggers to connect the workspace to one or more source workspaces. They can also trigger new runs to pick up changes to variables, or queue destroy runs. diff --git a/website/docs/cloud-docs/registry/add.mdx b/website/docs/cloud-docs/registry/add.mdx index 227d9562a..104cc9bff 100644 --- a/website/docs/cloud-docs/registry/add.mdx +++ b/website/docs/cloud-docs/registry/add.mdx @@ -52,13 +52,13 @@ To add a public provider or module: You can enable no-code provisioning for public modules after adding them to your registry. The no-code provisioning workflow requires automatic access to provider credentials for downstream users to successfully deploy the module's resources. To enable no-code provisioning: -1. Verify that the module meets the [requirements for no-code provisioning](https://www.terraform.io/cloud-docs/no-code-provisioning/module-design). +1. Verify that the module meets the [requirements for no-code provisioning](/cloud-docs/no-code-provisioning/module-design). 1. Click the module to view its details. 1. Select **Enable no-code provisioning** from the **Manage Module for Organization** dropdown. Your module’s details page now has a **No-Code Ready** rocket badge to indicate that it supports no-code provisioning. -To support the auto-apply workflow, ensure that downstream users can [automatically load provider credentials](https://www.terraform.io/cloud-docs/no-code-provisioning/module-design#provider-credentials) into their new no-code workspaces, either through a global variable set with the credentials for the module's provider, or accessing outputs with credentials across workspaces. +To support the auto-apply workflow, ensure that downstream users can [automatically load provider credentials](/cloud-docs/no-code-provisioning/module-design#provider-credentials) into their new no-code workspaces, either through a global variable set with the credentials for the module's provider, or accessing outputs with credentials across workspaces. To disable no-code provisioning, select **Disable no-code provisioning** from the **Manage Module for Organization** dropdown. Disabling also removes the **No-Code Ready** rocket badge from the module’s details page. diff --git a/website/docs/cloud-docs/registry/publish-modules.mdx b/website/docs/cloud-docs/registry/publish-modules.mdx index 8a2d8846f..a9d82b0f4 100644 --- a/website/docs/cloud-docs/registry/publish-modules.mdx +++ b/website/docs/cloud-docs/registry/publish-modules.mdx @@ -69,7 +69,7 @@ To publish a new module: You can search the list by typing part or all of a repository name into the filter field. Remember that VCS providers use `/` strings to locate repositories. The namespace is an organization name for most providers, but Bitbucket Server (not Bitbucket Cloud) uses project keys, like `INFRA`. -1. (Optional) If this module is a [no-code ready module](https://www.terraform.io/cloud-docs/no-code-provisioning/module-design), select the **Add Module to no-code provision allowlist** checkbox. +1. (Optional) If this module is a [no-code ready module](/cloud-docs/no-code-provisioning/module-design), select the **Add Module to no-code provision allowlist** checkbox. -> **Note:** No-code ready modules are in beta and available in the [Terraform Cloud Business tier](https://www.hashicorp.com/products/terraform/pricing). 1. Click **Publish module**. diff --git a/website/docs/cloud-docs/registry/using.mdx b/website/docs/cloud-docs/registry/using.mdx index f02a71096..3bc79c720 100644 --- a/website/docs/cloud-docs/registry/using.mdx +++ b/website/docs/cloud-docs/registry/using.mdx @@ -12,7 +12,7 @@ All users in an organization can view the Terraform Cloud private registry and u - **Terraform version:** Terraform Cloud workspaces using version 0.11 and higher can automatically access your private modules during Terraform runs, and workspaces using version 0.13 and higher can also automatically access private providers. - **Authentication:** If you run Terraform on the command line, you must [authenticate](/cloud-docs/registry/using#authentication) to Terraform Cloud or your instance to use providers and modules in your organization’s private registry. -Terraform Cloud supports using modules in written configuration or through the [no-code provisioning workflow](https://www.terraform.io/cloud-docs/no-code-provisioning/module-design). +Terraform Cloud supports using modules in written configuration or through the [no-code provisioning workflow](/cloud-docs/no-code-provisioning/module-design). ## Finding Providers and Modules @@ -42,7 +42,7 @@ Use the **Submodules** menu to navigate to the detail pages for any nested modul ## Provisioning Infrastructure from No-Code Ready Modules -You can use modules marked **No-Code Ready** to create a new workspace and automatically provision the module's resources without writing any Terraform configuration. Refer to [Provisioning No-Code Infrastructure](https://www.terraform.io/cloud-docs/no-code-provisioning/provisioning) for details. +You can use modules marked **No-Code Ready** to create a new workspace and automatically provision the module's resources without writing any Terraform configuration. Refer to [Provisioning No-Code Infrastructure](cloud-docs/no-code-provisioning/provisioning) for details. ## Using Public Providers and Modules in Configurations diff --git a/website/docs/cloud-docs/workspaces/creating.mdx b/website/docs/cloud-docs/workspaces/creating.mdx index da72b8b9b..cb6a2b872 100644 --- a/website/docs/cloud-docs/workspaces/creating.mdx +++ b/website/docs/cloud-docs/workspaces/creating.mdx @@ -14,7 +14,7 @@ Workspaces organize infrastructure into meaningful groups. Create new workspaces - **Terraform Cloud UI:** [Create a Workspace](#create-a-workspace) - **Workspaces API:** [Create a Workspace endpoint](/cloud-docs/api-docs/workspaces#create-a-workspace) - **Terraform Enterprise Provider:** [`tfe_workspace` resource](https://registry.terraform.io/providers/hashicorp/tfe/latest/docs/resources/workspace) -- **No-Code Provisioning:** The no-code provisioning workflow creates a new workspace and deploys a [no-code ready module's](https://www.terraform.io/cloud-docs/no-code-provisioning/provisioning) resources in it. +- **No-Code Provisioning:** The no-code provisioning workflow creates a new workspace and deploys a [no-code ready module's](/cloud-docs/no-code-provisioning/provisioning) resources in it. -> **Note:** No-code ready modules are in beta and available in the [Terraform Cloud Business tier](https://www.hashicorp.com/products/terraform/pricing). ## Permissions diff --git a/website/docs/registry/modules/publish.mdx b/website/docs/registry/modules/publish.mdx index fcfc2faa5..1ecd36fc2 100644 --- a/website/docs/registry/modules/publish.mdx +++ b/website/docs/registry/modules/publish.mdx @@ -70,7 +70,7 @@ In a few seconds, your module will be created. ![Publish Module flow animation](/img/docs/registry-publish.gif) -You can also use modules marked **No-Code Ready** to create a new workspace and automatically provision the module's resources without writing any Terraform configuration. Refer to [Preparing No-Code Ready Modules](https://www.terraform.io/cloud-docs/no-code-provisioning/module-design) for details. +You can also use modules marked **No-Code Ready** to create a new workspace and automatically provision the module's resources without writing any Terraform configuration. Refer to [Preparing No-Code Ready Modules](/cloud-docs/no-code-provisioning/module-design) for details. ## Releasing New Versions From 2c6933a14b69570c54e50279f625778a3ca88e06 Mon Sep 17 00:00:00 2001 From: Matthew Garrell <69917312+mgarrell777@users.noreply.github.com> Date: Mon, 3 Oct 2022 12:32:28 -0400 Subject: [PATCH 03/62] Update website/data/cloud-docs-nav-data.json Adding missing comma to solve parsing error in Vercel Co-authored-by: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com> --- website/data/cloud-docs-nav-data.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/data/cloud-docs-nav-data.json b/website/data/cloud-docs-nav-data.json index 7cb4120ca..d18b52da3 100644 --- a/website/data/cloud-docs-nav-data.json +++ b/website/data/cloud-docs-nav-data.json @@ -327,7 +327,7 @@ "path": "no-code-provisioning/provisioning" }, ] - } + }, { "title": "Migrating to Terraform Cloud", "path": "migrate" From 092c0637a3e7201a240019975a1c29d0e4dda5ad Mon Sep 17 00:00:00 2001 From: Matthew Garrell <69917312+mgarrell777@users.noreply.github.com> Date: Mon, 3 Oct 2022 12:37:19 -0400 Subject: [PATCH 04/62] Update website/data/cloud-docs-nav-data.json Removing unneeded comma to solve additional parsing error in JSON file. Co-authored-by: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com> --- website/data/cloud-docs-nav-data.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/data/cloud-docs-nav-data.json b/website/data/cloud-docs-nav-data.json index d18b52da3..ea709a351 100644 --- a/website/data/cloud-docs-nav-data.json +++ b/website/data/cloud-docs-nav-data.json @@ -325,7 +325,7 @@ { "title": "Provisioning No-Code Infrastructure", "path": "no-code-provisioning/provisioning" - }, + } ] }, { From 631de6104820451ae6ebb1fd9d90ba04091fc2b9 Mon Sep 17 00:00:00 2001 From: Matthew Garrell <69917312+mgarrell777@users.noreply.github.com> Date: Mon, 3 Oct 2022 13:51:18 -0400 Subject: [PATCH 05/62] Update website/docs/cloud-docs/no-code-provisioning/module-design.mdx Fix link going to provisioning page Co-authored-by: Keran Braich --- website/docs/cloud-docs/no-code-provisioning/module-design.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/cloud-docs/no-code-provisioning/module-design.mdx b/website/docs/cloud-docs/no-code-provisioning/module-design.mdx index 784514ecc..7ec00f8eb 100644 --- a/website/docs/cloud-docs/no-code-provisioning/module-design.mdx +++ b/website/docs/cloud-docs/no-code-provisioning/module-design.mdx @@ -11,7 +11,7 @@ No-code provisioning builds on the advantages of using Terraform modules, which No-code provisioning allows module developers to abstract away the complexities of their organization's infrastructure, enabling a safe self-service workflow. This workflow lets developers provision approved collections of resources themselves without needing to invest time in learning Terraform or infrastructure best practices. -You can enable no-code provisioning on any module once it is in your Terraform Cloud [private registry](private registry) or enable the workflow on private modules as you publish them to your registry. Module users can then [provision no-code infrastructure](provision no-code infrastructure), set the module's input variables, and deploy its resources. +You can enable no-code provisioning on any module once it is in your Terraform Cloud [private registry](/cloud-docs/registry) or enable the workflow on private modules as you publish them to your registry. Module users can then [provision no-code infrastructure](/cloud-docs/no-code-provisioning/provisioning), set the module's input variables, and deploy its resources. -> **Hands On:** Try the [Create and Use No-Code Ready Modules tutorial](https://learn.hashicorp.com/tutorials/terraform/no-code-provisioning). From 4aceb28c0e8243de151b3e7196e033ee3fdd97f0 Mon Sep 17 00:00:00 2001 From: Matthew Garrell <69917312+mgarrell777@users.noreply.github.com> Date: Mon, 3 Oct 2022 13:51:36 -0400 Subject: [PATCH 06/62] Update website/docs/cloud-docs/no-code-provisioning/module-design.mdx Changing to bulleted list Co-authored-by: Keran Braich --- .../docs/cloud-docs/no-code-provisioning/module-design.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/docs/cloud-docs/no-code-provisioning/module-design.mdx b/website/docs/cloud-docs/no-code-provisioning/module-design.mdx index 7ec00f8eb..ba41105e6 100644 --- a/website/docs/cloud-docs/no-code-provisioning/module-design.mdx +++ b/website/docs/cloud-docs/no-code-provisioning/module-design.mdx @@ -20,8 +20,8 @@ You should follow the same best practices for developing a no-code ready module ## Requirements A no-code ready module must meet the following requirements: -Root Module Structure: The module must follow [standard module structure](/language/modules/develop/structure) and define its resources in the root directory of the repository. This structure allows the registry to inspect the module and generate documentation, track resource usage, and parse submodules and examples. -Provider Configuration: A no-code ready module must declare the required provider(s) directly in the module. This configuration differs from the recommendations for [modules used in written configuration](/language/modules/develop/providers#legacy-shared-modules-with-provider-configurations). +* Root Module Structure: The module must follow [standard module structure](/language/modules/develop/structure) and define its resources in the root directory of the repository. This structure allows the registry to inspect the module and generate documentation, track resource usage, and parse submodules and examples. +* Provider Configuration: A no-code ready module must declare the required provider(s) directly in the module. This configuration differs from the recommendations for [modules used in written configuration](/language/modules/develop/providers#legacy-shared-modules-with-provider-configurations). In addition to these module configuration requirements, the auto-apply no-code provisioning workflow requires automatic access to provider credentials. A new no-code workspace must be able to access credentials, either through a [global variable set](/cloud-docs/workspaces/variables/managing-variables#variable-sets) or through [remote state data sources](/language/state/remote-state-data) that pull provider credentials from another workspace. From 94fd7d4fef510fb0dbc2088de77af3dc974e4c2b Mon Sep 17 00:00:00 2001 From: Matthew Garrell <69917312+mgarrell777@users.noreply.github.com> Date: Mon, 3 Oct 2022 13:52:25 -0400 Subject: [PATCH 07/62] Update website/docs/cloud-docs/no-code-provisioning/module-design.mdx Removing extra space in link text Co-authored-by: Keran Braich --- website/docs/cloud-docs/no-code-provisioning/module-design.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/cloud-docs/no-code-provisioning/module-design.mdx b/website/docs/cloud-docs/no-code-provisioning/module-design.mdx index ba41105e6..2f089aaa8 100644 --- a/website/docs/cloud-docs/no-code-provisioning/module-design.mdx +++ b/website/docs/cloud-docs/no-code-provisioning/module-design.mdx @@ -34,7 +34,7 @@ When module consumers follow the no-code workflow, Terraform Cloud automatically To grant new no-code workspace provider credentials, you can: * Create a [global variable set](https://learn.hashicorp.com/tutorials/terraform/cloud-create-variable-set?in=terraform/cloud-get-started). This action automatically grants newly-created workspaces access to the required provider credentials. -* Expose provider credentials as sensitive outputs in another workspace. You must add additional configuration to the module to access these values through [remote state data sources](/language/state/remote-state-data) and then reference them in provider configuration. This approach allows for more scoped access than a global variable set. +* Expose provider credentials as sensitive outputs in another workspace. You must add additional configuration to the module to access these values through [remote state data sources](/language/state/remote-state-data) and then reference them in provider configuration. This approach allows for more scoped access than a global variable set. * Elect to let the first run in a workspace fail and have module users add credentials directly to the workspace after creation. This approach allows for the most scoped access to provider credentials, but requires manual intervention. Users must manually start a new run to provision infrastructure after configuring the credentials. ## Module Design Recommendations From 1baa98674b999b29ab8f95974a72d3512ce0a4ea Mon Sep 17 00:00:00 2001 From: Matthew Garrell <69917312+mgarrell777@users.noreply.github.com> Date: Mon, 3 Oct 2022 13:52:43 -0400 Subject: [PATCH 08/62] Update website/docs/cloud-docs/no-code-provisioning/provisioning.mdx Fixing wording in file description Co-authored-by: Keran Braich --- website/docs/cloud-docs/no-code-provisioning/provisioning.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx b/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx index 7b9b4831e..ae6bb409f 100644 --- a/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx +++ b/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx @@ -1,6 +1,6 @@ --- page_title: No-Code Provisioning - Provisioning No-Code Infrastructure -description: How to provisioning infrastructure from a no-code ready module. +description: How to provision infrastructure from a no-code ready module. --- # Provisioning No-Code Infrastructure From 0f4b308b74731b76b681ee26589d9588ef03bbfd Mon Sep 17 00:00:00 2001 From: Matthew Garrell <69917312+mgarrell777@users.noreply.github.com> Date: Mon, 3 Oct 2022 13:53:01 -0400 Subject: [PATCH 09/62] Update website/docs/cloud-docs/no-code-provisioning/provisioning.mdx Adding missing ) in link Co-authored-by: Keran Braich --- website/docs/cloud-docs/no-code-provisioning/provisioning.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx b/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx index ae6bb409f..34c1a4045 100644 --- a/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx +++ b/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx @@ -20,7 +20,7 @@ The no-code provisioning workflow creates a new workspace, so users must have pe ## Provider credentials -Terraform automatically starts a new run to provision no-code infrastructure upon workspace creation. No-code modules contain provider blocks in their configuration, but still require provider credentials for successful deployment. Organization administrators determine [how new workspaces access provider credentials](/cloud-docs/no-code-provisioning/module-design#provider-credentials, which may require specific module design. +Terraform automatically starts a new run to provision no-code infrastructure upon workspace creation. No-code modules contain provider blocks in their configuration, but still require provider credentials for successful deployment. Organization administrators determine [how new workspaces access provider credentials](/cloud-docs/no-code-provisioning/module-design#provider-credentials), which may require specific module design. ## Creating a workspace and deploying resources From 2a314ac6ba66eed27d16156657522a829cf502aa Mon Sep 17 00:00:00 2001 From: Matthew Garrell <69917312+mgarrell777@users.noreply.github.com> Date: Mon, 3 Oct 2022 13:53:27 -0400 Subject: [PATCH 10/62] Update website/docs/cloud-docs/no-code-provisioning/provisioning.mdx Fixing "no-code module" to "no-code ready module" Co-authored-by: Keran Braich --- website/docs/cloud-docs/no-code-provisioning/provisioning.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx b/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx index 34c1a4045..c8eb76434 100644 --- a/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx +++ b/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx @@ -24,7 +24,7 @@ Terraform automatically starts a new run to provision no-code infrastructure upo ## Creating a workspace and deploying resources -The no-code provisioning workflow creates a new Terraform Cloud workspace to deploy and manage the no-code module's resources. Terraform Cloud automatically starts a run to provision the module's resources in the new workspace, which either auto-applies or prompts for approval, depending on the workspace's settings. +The no-code provisioning workflow creates a new Terraform Cloud workspace to deploy and manage the no-code ready module's resources. Terraform Cloud automatically starts a run to provision the module's resources in the new workspace, which either auto-applies or prompts for approval, depending on the workspace's settings. To launch the no-code workflow: From 79f65b1c2964ab6ab29fe541c28ce3f25c191811 Mon Sep 17 00:00:00 2001 From: Matthew Garrell <69917312+mgarrell777@users.noreply.github.com> Date: Mon, 3 Oct 2022 15:48:03 -0400 Subject: [PATCH 11/62] Update website/docs/cloud-docs/no-code-provisioning/module-design.mdx Co-authored-by: Erin Atkinson <20285458+erindatkinson@users.noreply.github.com> --- website/docs/cloud-docs/no-code-provisioning/module-design.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/cloud-docs/no-code-provisioning/module-design.mdx b/website/docs/cloud-docs/no-code-provisioning/module-design.mdx index 2f089aaa8..6d8883514 100644 --- a/website/docs/cloud-docs/no-code-provisioning/module-design.mdx +++ b/website/docs/cloud-docs/no-code-provisioning/module-design.mdx @@ -1,6 +1,6 @@ --- page_title: No-Code Provisioning - Preparing No-Code Ready Modules -description: Anyone can publish and share modules on the Terraform Registry. +description: How to prepare well-designed modules for no-code ready provisioning. --- # Preparing No-Code Ready Modules From d9539deb8b0228adc07da293e87ead7a6af1a67d Mon Sep 17 00:00:00 2001 From: Matthew Garrell <69917312+mgarrell777@users.noreply.github.com> Date: Mon, 3 Oct 2022 15:49:29 -0400 Subject: [PATCH 12/62] Update website/docs/cloud-docs/no-code-provisioning/module-design.mdx Changing to bulleted list Co-authored-by: Keran Braich --- .../docs/cloud-docs/no-code-provisioning/module-design.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/docs/cloud-docs/no-code-provisioning/module-design.mdx b/website/docs/cloud-docs/no-code-provisioning/module-design.mdx index 6d8883514..11d192b1a 100644 --- a/website/docs/cloud-docs/no-code-provisioning/module-design.mdx +++ b/website/docs/cloud-docs/no-code-provisioning/module-design.mdx @@ -46,8 +46,8 @@ Similarly to a [standard module](/language/modules/develop#when-to-write-a-modul No-code ready modules enable the workflows of users who are less familiar with Terraform and infrastructure management. Reduce the amount of technical decision-making required to deploy the module by scoping it to a single, specific use case. Designing your no-code ready module with a single use case in mind allows the users provisioning your module to focus on business concerns instead of infrastructure concerns. Examples of well-scoped use cases are: -A module that deploys all resources needed for a three tier web application -A module that deploys a database with constraints on resource allocation and deployment region +* A module that deploys all resources needed for a three tier web application +* A module that deploys a database with constraints on resource allocation and deployment region ### Limit the number of variables without defaults From 731dab526db749d6cf5d44e2b46751965d09a5ad Mon Sep 17 00:00:00 2001 From: Matthew Garrell <69917312+mgarrell777@users.noreply.github.com> Date: Tue, 4 Oct 2022 08:44:58 -0400 Subject: [PATCH 13/62] Fixing incorrect links and style nits --- .../no-code-provisioning/provisioning.mdx | 2 +- website/docs/cloud-docs/registry/add.mdx | 4 ++-- .../cloud-docs/registry/publish-modules.mdx | 24 +++++++++---------- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx b/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx index c8eb76434..a318e6608 100644 --- a/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx +++ b/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx @@ -31,7 +31,7 @@ To launch the no-code workflow: 1. Click **Registry** in the main Terraform Cloud navigation to access your organization's private registry. 1. Click **Modules** to view the list of available modules in the private registry. -~> **Tip:** You can filter for no-code ready modules in your registry. No-code enabled modules have a **No-code Ready** rocket badge next to their names. + ~> **Tip:** You can filter for no-code ready modules in your registry. No-code enabled modules have a **No-code Ready** rocket badge next to their names. 1. Select the no-code ready module to view its details, then click **Provision workspace**. The **Configure module inputs** page appears. diff --git a/website/docs/cloud-docs/registry/add.mdx b/website/docs/cloud-docs/registry/add.mdx index 104cc9bff..699f07668 100644 --- a/website/docs/cloud-docs/registry/add.mdx +++ b/website/docs/cloud-docs/registry/add.mdx @@ -64,7 +64,7 @@ To disable no-code provisioning, select **Disable no-code provisioning** from th ## Removing a Public Provider or Module -Removing a public provider or module from a private registry does not remove it from the public Terraform Registry. Users in the organization will still be able to use the removed provider or module without changing their configurations. +Removing a public provider or module from a private registry does not remove it from the public Terraform Registry. Users in the organization can still use the removed provider or module without changing their configurations. To remove a public provider or module from an organization's private registry: @@ -73,4 +73,4 @@ To remove a public provider or module from an organization's private registry: 1. Select the provider or module to view its details, open the **Manage for Organization** menu, and click **Remove from organization** (providers) or **Delete module** (modules). ![Terraform Cloud screenshot: the delete module button](/img/docs/add-delete-module-button.png) -1. Enter the provider or module name in the dialog box to confirm and then click **Remove** (providers) or **Delete** (modules). The provider or module is removed from the organization's private registry. +1. Enter the provider or module name in the dialog box to confirm and then click **Remove** (providers) or **Delete** (modules). The provider or module no longer appears in the organization's private registry. diff --git a/website/docs/cloud-docs/registry/publish-modules.mdx b/website/docs/cloud-docs/registry/publish-modules.mdx index a9d82b0f4..65b2636bc 100644 --- a/website/docs/cloud-docs/registry/publish-modules.mdx +++ b/website/docs/cloud-docs/registry/publish-modules.mdx @@ -11,7 +11,7 @@ description: >- > **Hands-on:** Try the [Share Modules in the Private Module Registry](https://learn.hashicorp.com/tutorials/terraform/module-private-registry-share) tutorial. -In addition to [adding modules from the Terraform Registry](/cloud-docs/registry/add), you can publish private modules to an organization's Terraform Cloud private registry. The registry handles downloads and controls access with Terraform Cloud API tokens, so consumers don't need access to the module's source repository, even when running Terraform from the command line. +In addition to [adding modules from the Terraform Registry](/cloud-docs/registry/add), you can publish private modules to an organization's Terraform Cloud private registry. The registry handles downloads and controls access with Terraform Cloud API tokens, so consumers do not need access to the module's source repository, even when running Terraform from the command line. The private registry uses your configured [Version Control System (VCS) integrations][vcs] and defers to your VCS provider for most management tasks. For example, your VCS provider handles new version releases. The only manual tasks are adding a new module and deleting module versions. @@ -19,7 +19,7 @@ The private registry uses your configured [Version Control System (VCS) integrat ## Permissions -Private modules are only available to members of the organization where you add them. In Terraform Enterprise, they are also available to organizations that are configured to [share modules](/enterprise/admin/application/module-sharing) with that organization. +Private modules are only available to members of the organization where you add them. In Terraform Enterprise, they are also available to organizations that you configure to [share modules](/enterprise/admin/application/module-sharing) with that organization. Members of the [owners team](/cloud-docs/users-teams-organizations/permissions#organization-owners) and teams with [Manage Private Registry permissions](/cloud-docs/users-teams-organizations/permissions#manage-private-registry) can publish and delete modules from the private registry. @@ -47,11 +47,11 @@ A module repository must meet all of the following requirements before you can a - **`x.y.z` tags for releases:** At least one release tag must be present for you to publish a module. The registry uses release tags to identify module versions. Release tag names must be a [semantic version](http://semver.org), - which can optionally be prefixed with a `v`. For example, `v1.0.4` and `0.9.2`. The registry ignores tags that do not look like version numbers. + which you can optionally prefix with a `v`. For example, `v1.0.4` and `0.9.2`. The registry ignores tags that do not look like version numbers. ## Publishing a New Module -You can publish modules through the UI as shown below or with the [Registry Modules API](/cloud-docs/api-docs/modules). The API also supports publishing modules without a VCS repo as the source, which is not possible via the UI. +You can publish modules through the UI as shown below or with the [Registry Modules API](/cloud-docs/api-docs/modules). The API also supports publishing modules without a VCS repo as the source, which is not possible in the UI. To publish a new module: @@ -70,7 +70,7 @@ To publish a new module: You can search the list by typing part or all of a repository name into the filter field. Remember that VCS providers use `/` strings to locate repositories. The namespace is an organization name for most providers, but Bitbucket Server (not Bitbucket Cloud) uses project keys, like `INFRA`. 1. (Optional) If this module is a [no-code ready module](/cloud-docs/no-code-provisioning/module-design), select the **Add Module to no-code provision allowlist** checkbox. - -> **Note:** No-code ready modules are in beta and available in the [Terraform Cloud Business tier](https://www.hashicorp.com/products/terraform/pricing). + -> **Note:** No-code ready modules are in beta and available in the [Terraform Cloud Business tier](https://www.hashicorp.com/products/terraform/pricing). 1. Click **Publish module**. @@ -80,15 +80,15 @@ To publish a new module: ## Releasing New Versions of a Module -To release a new version of a module, push a new release tag to its VCS repository. The registry will automatically import the new version. +To release a new version of a module, push a new release tag to its VCS repository. The registry automatically imports the new version. Refer to [Preparing a Module Repository](#preparing-a-module-repository) for details about release tag requirements. ## Deleting Versions and Modules --> **Note:** Deleting a tag from your VCS repository will not automatically remove the version from the private registry. +-> **Note:** Deleting a tag from your VCS repository does not automatically remove the version from the private registry. -You can delete individual versions of a module or the entire module. If deleting a module version would leave a module with no versions, Terraform Cloud will remove the entire module. To delete a module or version: +You can delete individual versions of a module or the entire module. If deleting a module version would leave a module with no versions, Terraform Cloud removes the entire module. To delete a module or version: 1. Navigate to the module's details page. @@ -99,8 +99,8 @@ You can delete individual versions of a module or the entire module. If deleting 1. Select an action from the menu: - **Delete only this module version:** Deletes only the version of the module you were viewing when you clicked **Delete module**. - - **Delete all versions for this provider for this module:** Deletes the entire module for a single provider. This is important if you have modules with the same name but with different providers. For example, if you have module repos named `terraform-aws-appserver` and `terraform-azure-appserver`, the registry treats them as alternate providers of the same `appserver` module. - - **Delete all providers and versions for this module:** Deletes all modules with this name, even if they are from different providers. For example, both `terraform-aws-appserver` and `terraform-azure-appserver` would be deleted. + - **Delete all versions for this provider for this module:** Deletes the entire module for a single provider. This action is important if you have modules with the same name but with different providers. For example, if you have module repos named `terraform-aws-appserver` and `terraform-azure-appserver`, the registry treats them as alternate providers of the same `appserver` module. + - **Delete all providers and versions for this module:** Deletes all modules with this name, even if they are from different providers. For example, this action deletes both `terraform-aws-appserver` and `terraform-azure-appserver`. ![Terraform Cloud screenshot: the deletion dialog](/img/docs/publish-delete.png) @@ -115,8 +115,8 @@ Deletion is permanent, but there are ways to restore deleted modules and module ## Sharing Modules Across Organizations -Terraform Cloud does not typically allow one organization's workspaces to use private modules from a different organization. This is because Terraform Cloud gives Terraform temporary credentials to access modules that are only valid for that workspace's organization. Although it is possible to mix modules from multiple organizations when you run Terraform on the command line, we strongly recommend against it. +Terraform Cloud does not typically allow one organization's workspaces to use private modules from a different organization. This inhibition is because Terraform Cloud gives Terraform temporary credentials to access modules that are only valid for that workspace's organization. Although it is possible to mix modules from multiple organizations when you run Terraform on the command line, we strongly recommend against it. -Instead, you can share modules across organizations by sharing the underlying VCS repository. Grant each organization access to the module's repository, and then add the module to each organization's registry. When you push tags to publish new module versions, both organizations will update accordingly. +Instead, you can share modules across organizations by sharing the underlying VCS repository. Grant each organization access to the module's repository, and then add the module to each organization's registry. When you push tags to publish new module versions, both organizations update accordingly. Terraform Enterprise administrators can configure [module sharing](/enterprise/admin/application/module-sharing) to allow organizations to use private modules from other organizations. From f00ccdacc25b3629a443f7ec24a465a951fb60fc Mon Sep 17 00:00:00 2001 From: Matthew Garrell <69917312+mgarrell777@users.noreply.github.com> Date: Tue, 4 Oct 2022 14:51:51 -0400 Subject: [PATCH 14/62] Update website/docs/cloud-docs/no-code-provisioning/module-design.mdx Changing title for SEO Co-authored-by: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com> --- website/docs/cloud-docs/no-code-provisioning/module-design.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/cloud-docs/no-code-provisioning/module-design.mdx b/website/docs/cloud-docs/no-code-provisioning/module-design.mdx index 11d192b1a..f540bd908 100644 --- a/website/docs/cloud-docs/no-code-provisioning/module-design.mdx +++ b/website/docs/cloud-docs/no-code-provisioning/module-design.mdx @@ -3,7 +3,7 @@ page_title: No-Code Provisioning - Preparing No-Code Ready Modules description: How to prepare well-designed modules for no-code ready provisioning. --- -# Preparing No-Code Ready Modules +# Designing No-Code Ready Modules -> **Note:** No-code ready modules are in beta and available in the [Terraform Cloud Business Tier](https://www.hashicorp.com/products/terraform/pricing). From 0f3592172396b5db45ed9a88dcfb1ce91bba849d Mon Sep 17 00:00:00 2001 From: Matthew Garrell <69917312+mgarrell777@users.noreply.github.com> Date: Tue, 4 Oct 2022 14:52:04 -0400 Subject: [PATCH 15/62] Update website/data/cloud-docs-nav-data.json Changing Nav title for SEO and consistency Co-authored-by: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com> --- website/data/cloud-docs-nav-data.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/data/cloud-docs-nav-data.json b/website/data/cloud-docs-nav-data.json index ea709a351..4253ba622 100644 --- a/website/data/cloud-docs-nav-data.json +++ b/website/data/cloud-docs-nav-data.json @@ -319,7 +319,7 @@ "title": "No-Code Provisioning", "routes": [ { - "title": "Preparing No-Code Ready Modules", + "title": "Designing No-Code Ready Modules", "path": "no-code-provisioning/module-design" }, { From e8552cd530e3898910f3e6a00537f6224c2b31e3 Mon Sep 17 00:00:00 2001 From: Matthew Garrell <69917312+mgarrell777@users.noreply.github.com> Date: Tue, 4 Oct 2022 16:16:37 -0400 Subject: [PATCH 16/62] Update website/docs/cloud-docs/no-code-provisioning/module-design.mdx Updating to provide more context Co-authored-by: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com> --- website/docs/cloud-docs/no-code-provisioning/module-design.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/cloud-docs/no-code-provisioning/module-design.mdx b/website/docs/cloud-docs/no-code-provisioning/module-design.mdx index f540bd908..7d3b6f651 100644 --- a/website/docs/cloud-docs/no-code-provisioning/module-design.mdx +++ b/website/docs/cloud-docs/no-code-provisioning/module-design.mdx @@ -1,6 +1,6 @@ --- page_title: No-Code Provisioning - Preparing No-Code Ready Modules -description: How to prepare well-designed modules for no-code ready provisioning. +description: No-code ready modules let users deploy a module's resources without writing configuration. Prepare modules for no-code ready provisioning. --- # Designing No-Code Ready Modules From afb58267c9c4b1f94e3135c8b5c4aefa21696ef8 Mon Sep 17 00:00:00 2001 From: Matthew Garrell <69917312+mgarrell777@users.noreply.github.com> Date: Tue, 4 Oct 2022 16:16:56 -0400 Subject: [PATCH 17/62] Update website/docs/cloud-docs/no-code-provisioning/module-design.mdx Updating to match other TFC pages Co-authored-by: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com> --- website/docs/cloud-docs/no-code-provisioning/module-design.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/cloud-docs/no-code-provisioning/module-design.mdx b/website/docs/cloud-docs/no-code-provisioning/module-design.mdx index 7d3b6f651..3a619d36d 100644 --- a/website/docs/cloud-docs/no-code-provisioning/module-design.mdx +++ b/website/docs/cloud-docs/no-code-provisioning/module-design.mdx @@ -1,5 +1,5 @@ --- -page_title: No-Code Provisioning - Preparing No-Code Ready Modules +page_title: Designing No-Code Ready Modules - No-Code Provisioning - Terraform Cloud description: No-code ready modules let users deploy a module's resources without writing configuration. Prepare modules for no-code ready provisioning. --- From 9a61e6327b45479b7b3c95af12221671424faf7a Mon Sep 17 00:00:00 2001 From: Matthew Garrell <69917312+mgarrell777@users.noreply.github.com> Date: Tue, 4 Oct 2022 16:17:10 -0400 Subject: [PATCH 18/62] Update website/docs/cloud-docs/no-code-provisioning/module-design.mdx Lowercase tier Co-authored-by: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com> --- website/docs/cloud-docs/no-code-provisioning/module-design.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/cloud-docs/no-code-provisioning/module-design.mdx b/website/docs/cloud-docs/no-code-provisioning/module-design.mdx index 3a619d36d..44293c159 100644 --- a/website/docs/cloud-docs/no-code-provisioning/module-design.mdx +++ b/website/docs/cloud-docs/no-code-provisioning/module-design.mdx @@ -5,7 +5,7 @@ description: No-code ready modules let users deploy a module's resources without # Designing No-Code Ready Modules --> **Note:** No-code ready modules are in beta and available in the [Terraform Cloud Business Tier](https://www.hashicorp.com/products/terraform/pricing). +-> **Note:** No-code ready modules are in beta and available in the [Terraform Cloud Business tier](https://www.hashicorp.com/products/terraform/pricing). No-code provisioning builds on the advantages of using Terraform modules, which let you define collections of infrastructure resources that satisfy your organizational standards and help downstream users deploy those resources easily. No-code ready modules further simplify this workflow by letting users deploy the module's resources without writing any Terraform configuration. From 220ab197f59f2db1b92924e0c81fc52432485af7 Mon Sep 17 00:00:00 2001 From: Matthew Garrell <69917312+mgarrell777@users.noreply.github.com> Date: Tue, 4 Oct 2022 16:19:05 -0400 Subject: [PATCH 19/62] Update website/docs/cloud-docs/no-code-provisioning/module-design.mdx Co-authored-by: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com> --- website/docs/cloud-docs/no-code-provisioning/module-design.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/cloud-docs/no-code-provisioning/module-design.mdx b/website/docs/cloud-docs/no-code-provisioning/module-design.mdx index 44293c159..13ba2ed67 100644 --- a/website/docs/cloud-docs/no-code-provisioning/module-design.mdx +++ b/website/docs/cloud-docs/no-code-provisioning/module-design.mdx @@ -31,7 +31,7 @@ Organization administrators must determine how no-code workspaces access credent When module consumers follow the no-code workflow, Terraform Cloud automatically creates a new workspace for the resources and attempts to provision them. New workspaces must be able to access credentials for all providers defined within the module. -To grant new no-code workspace provider credentials, you can: +You can grant new no-code workspace provider credentials using one of the following methods: * Create a [global variable set](https://learn.hashicorp.com/tutorials/terraform/cloud-create-variable-set?in=terraform/cloud-get-started). This action automatically grants newly-created workspaces access to the required provider credentials. * Expose provider credentials as sensitive outputs in another workspace. You must add additional configuration to the module to access these values through [remote state data sources](/language/state/remote-state-data) and then reference them in provider configuration. This approach allows for more scoped access than a global variable set. From a170cc775c6f85f30368c162a5148aca2e637356 Mon Sep 17 00:00:00 2001 From: Matthew Garrell <69917312+mgarrell777@users.noreply.github.com> Date: Tue, 4 Oct 2022 16:19:34 -0400 Subject: [PATCH 20/62] Update website/docs/cloud-docs/no-code-provisioning/provisioning.mdx Co-authored-by: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com> --- website/docs/cloud-docs/no-code-provisioning/provisioning.mdx | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx b/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx index a318e6608..698942aed 100644 --- a/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx +++ b/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx @@ -30,8 +30,7 @@ To launch the no-code workflow: 1. Click **Registry** in the main Terraform Cloud navigation to access your organization's private registry. -1. Click **Modules** to view the list of available modules in the private registry. - ~> **Tip:** You can filter for no-code ready modules in your registry. No-code enabled modules have a **No-code Ready** rocket badge next to their names. +1. Click **Modules** to view the list of available modules in the private registry. You can filter for no-code ready modules in your registry. No-code enabled modules have a **No-code Ready** badge next to their names. 1. Select the no-code ready module to view its details, then click **Provision workspace**. The **Configure module inputs** page appears. From a20f530a090d2ee7f9a7ffe521ed7c5d54c8ca90 Mon Sep 17 00:00:00 2001 From: Matthew Garrell <69917312+mgarrell777@users.noreply.github.com> Date: Tue, 4 Oct 2022 16:20:06 -0400 Subject: [PATCH 21/62] Update website/docs/cloud-docs/no-code-provisioning/provisioning.mdx Co-authored-by: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com> --- website/docs/cloud-docs/no-code-provisioning/provisioning.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx b/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx index 698942aed..811d8d1cd 100644 --- a/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx +++ b/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx @@ -24,7 +24,7 @@ Terraform automatically starts a new run to provision no-code infrastructure upo ## Creating a workspace and deploying resources -The no-code provisioning workflow creates a new Terraform Cloud workspace to deploy and manage the no-code ready module's resources. Terraform Cloud automatically starts a run to provision the module's resources in the new workspace, which either auto-applies or prompts for approval, depending on the workspace's settings. +The no-code provisioning workflow creates a new Terraform Cloud workspace to deploy and manage the no-code ready module's resources. Terraform Cloud automatically starts a run to provision the module's resources in the new workspace. Depending on the workspace's settings, Terraform either automatically applies the plan or prompts you for approval to provision the infrastructure. To launch the no-code workflow: From cdbd474400e5af80b6a3fa98e5d61c13466474d2 Mon Sep 17 00:00:00 2001 From: Matthew Garrell <69917312+mgarrell777@users.noreply.github.com> Date: Tue, 4 Oct 2022 16:20:31 -0400 Subject: [PATCH 22/62] Update website/docs/cloud-docs/no-code-provisioning/module-design.mdx Co-authored-by: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com> --- website/docs/cloud-docs/no-code-provisioning/module-design.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/cloud-docs/no-code-provisioning/module-design.mdx b/website/docs/cloud-docs/no-code-provisioning/module-design.mdx index 13ba2ed67..0809dd270 100644 --- a/website/docs/cloud-docs/no-code-provisioning/module-design.mdx +++ b/website/docs/cloud-docs/no-code-provisioning/module-design.mdx @@ -33,7 +33,7 @@ When module consumers follow the no-code workflow, Terraform Cloud automatically You can grant new no-code workspace provider credentials using one of the following methods: -* Create a [global variable set](https://learn.hashicorp.com/tutorials/terraform/cloud-create-variable-set?in=terraform/cloud-get-started). This action automatically grants newly-created workspaces access to the required provider credentials. +- Create a [global variable set](/cloud-docs/workspaces/variables/managing-variables#variable-sets) that Terraform Cloud applies to all existing and future workspaces in the organization. This action automatically grants newly-created workspaces access to the required provider credentials. * Expose provider credentials as sensitive outputs in another workspace. You must add additional configuration to the module to access these values through [remote state data sources](/language/state/remote-state-data) and then reference them in provider configuration. This approach allows for more scoped access than a global variable set. * Elect to let the first run in a workspace fail and have module users add credentials directly to the workspace after creation. This approach allows for the most scoped access to provider credentials, but requires manual intervention. Users must manually start a new run to provision infrastructure after configuring the credentials. From 4d7e04dd7f9e2be2c2f1f098a7644ae356ee6862 Mon Sep 17 00:00:00 2001 From: Matthew Garrell <69917312+mgarrell777@users.noreply.github.com> Date: Tue, 4 Oct 2022 16:20:41 -0400 Subject: [PATCH 23/62] Update website/docs/cloud-docs/no-code-provisioning/provisioning.mdx Co-authored-by: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com> --- website/docs/cloud-docs/no-code-provisioning/provisioning.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx b/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx index 811d8d1cd..15aa463b9 100644 --- a/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx +++ b/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx @@ -50,6 +50,6 @@ Terraform Cloud scans the module configuration for input variables and prompts f ## Operations in existing workspaces -No-code workspaces have a limited feature set because users cannot access the resource configuration. However, users can edit workspace variables and settings, including notifications, permissions, and run triggers to connect the workspace to one or more source workspaces. They can also trigger new runs to pick up changes to variables, or queue destroy runs. +No-code workspaces have a limited feature set because you cannot access the resource configuration. However, you can edit workspace variables and settings, including notifications, permissions, and run triggers to connect the workspace to one or more source workspaces. They can also trigger new runs to pick up changes to variables, or queue destroy runs. -If the module’s configuration changes, users must destroy the workspace and create a new one to provision resources with the updated configuration. +If the module’s configuration changes, you must destroy the workspace and create a new one to provision resources with the updated configuration. From b4818c6f931b511cde281cf7a4547a168ffef457 Mon Sep 17 00:00:00 2001 From: Matthew Garrell <69917312+mgarrell777@users.noreply.github.com> Date: Tue, 4 Oct 2022 16:21:13 -0400 Subject: [PATCH 24/62] Update website/docs/cloud-docs/no-code-provisioning/module-design.mdx Co-authored-by: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com> --- website/docs/cloud-docs/no-code-provisioning/module-design.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/cloud-docs/no-code-provisioning/module-design.mdx b/website/docs/cloud-docs/no-code-provisioning/module-design.mdx index 0809dd270..4c0a1ab7a 100644 --- a/website/docs/cloud-docs/no-code-provisioning/module-design.mdx +++ b/website/docs/cloud-docs/no-code-provisioning/module-design.mdx @@ -34,7 +34,7 @@ When module consumers follow the no-code workflow, Terraform Cloud automatically You can grant new no-code workspace provider credentials using one of the following methods: - Create a [global variable set](/cloud-docs/workspaces/variables/managing-variables#variable-sets) that Terraform Cloud applies to all existing and future workspaces in the organization. This action automatically grants newly-created workspaces access to the required provider credentials. -* Expose provider credentials as sensitive outputs in another workspace. You must add additional configuration to the module to access these values through [remote state data sources](/language/state/remote-state-data) and then reference them in provider configuration. This approach allows for more scoped access than a global variable set. +- Expose provider credentials as sensitive outputs in another workspace. You must add additional configuration to the module to access these values through [remote state data sources](/language/state/remote-state-data) and then reference them in provider configuration. This approach provides more control over access to these credentials than placing them in a global variable set. * Elect to let the first run in a workspace fail and have module users add credentials directly to the workspace after creation. This approach allows for the most scoped access to provider credentials, but requires manual intervention. Users must manually start a new run to provision infrastructure after configuring the credentials. ## Module Design Recommendations From b35c23a56b97cdb57a6601f6b117d448d9df77dc Mon Sep 17 00:00:00 2001 From: Matthew Garrell <69917312+mgarrell777@users.noreply.github.com> Date: Tue, 4 Oct 2022 16:21:53 -0400 Subject: [PATCH 25/62] Update website/docs/cloud-docs/no-code-provisioning/module-design.mdx Co-authored-by: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com> --- website/docs/cloud-docs/no-code-provisioning/module-design.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/cloud-docs/no-code-provisioning/module-design.mdx b/website/docs/cloud-docs/no-code-provisioning/module-design.mdx index 4c0a1ab7a..a5500cbfd 100644 --- a/website/docs/cloud-docs/no-code-provisioning/module-design.mdx +++ b/website/docs/cloud-docs/no-code-provisioning/module-design.mdx @@ -35,7 +35,7 @@ You can grant new no-code workspace provider credentials using one of the follow - Create a [global variable set](/cloud-docs/workspaces/variables/managing-variables#variable-sets) that Terraform Cloud applies to all existing and future workspaces in the organization. This action automatically grants newly-created workspaces access to the required provider credentials. - Expose provider credentials as sensitive outputs in another workspace. You must add additional configuration to the module to access these values through [remote state data sources](/language/state/remote-state-data) and then reference them in provider configuration. This approach provides more control over access to these credentials than placing them in a global variable set. -* Elect to let the first run in a workspace fail and have module users add credentials directly to the workspace after creation. This approach allows for the most scoped access to provider credentials, but requires manual intervention. Users must manually start a new run to provision infrastructure after configuring the credentials. +- Elect to let the first run in new no-code workspaces fail and have module users add credentials directly to the workspace after creation. This approach provides the most control over access to provider credentials, but requires manual intervention. Module users must manually start a new run to provision infrastructure after they configure the credentials. ## Module Design Recommendations From 602f46662019777c38da68a15e4c4469cf7e83a2 Mon Sep 17 00:00:00 2001 From: Matthew Garrell <69917312+mgarrell777@users.noreply.github.com> Date: Tue, 4 Oct 2022 16:22:44 -0400 Subject: [PATCH 26/62] Update website/docs/cloud-docs/no-code-provisioning/module-design.mdx Co-authored-by: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com> --- website/docs/cloud-docs/no-code-provisioning/module-design.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/cloud-docs/no-code-provisioning/module-design.mdx b/website/docs/cloud-docs/no-code-provisioning/module-design.mdx index a5500cbfd..9dadb1f97 100644 --- a/website/docs/cloud-docs/no-code-provisioning/module-design.mdx +++ b/website/docs/cloud-docs/no-code-provisioning/module-design.mdx @@ -41,7 +41,7 @@ You can grant new no-code workspace provider credentials using one of the follow Similarly to a [standard module](/language/modules/develop#when-to-write-a-module), a well-designed no-code ready module composes resources in a way that is easy for others to deploy, offering a level of abstraction for your organization's infrastructure. However, no-code ready modules anticipate less familiarity with Terraform than standard modules, which are designed for flexibility and composition. Keep these recommendations in mind when designing your module. -### Build for a specific use case +### Build For a Specific Use Case No-code ready modules enable the workflows of users who are less familiar with Terraform and infrastructure management. Reduce the amount of technical decision-making required to deploy the module by scoping it to a single, specific use case. From 85e2ef84557542710022d4abd09be9e459b843f2 Mon Sep 17 00:00:00 2001 From: Matthew Garrell <69917312+mgarrell777@users.noreply.github.com> Date: Tue, 4 Oct 2022 16:23:29 -0400 Subject: [PATCH 27/62] Update website/docs/cloud-docs/no-code-provisioning/module-design.mdx Co-authored-by: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com> --- .../cloud-docs/no-code-provisioning/module-design.mdx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/website/docs/cloud-docs/no-code-provisioning/module-design.mdx b/website/docs/cloud-docs/no-code-provisioning/module-design.mdx index 9dadb1f97..f8e11b6c4 100644 --- a/website/docs/cloud-docs/no-code-provisioning/module-design.mdx +++ b/website/docs/cloud-docs/no-code-provisioning/module-design.mdx @@ -43,11 +43,11 @@ Similarly to a [standard module](/language/modules/develop#when-to-write-a-modul ### Build For a Specific Use Case -No-code ready modules enable the workflows of users who are less familiar with Terraform and infrastructure management. Reduce the amount of technical decision-making required to deploy the module by scoping it to a single, specific use case. +No-code ready module users are typically less familiar with Terraform and infrastructure management. Reduce the amount of technical decision-making required to deploy the module by scoping it to a single, specific use case. This approach lets users focus on business concerns instead of infrastructure concerns. -Designing your no-code ready module with a single use case in mind allows the users provisioning your module to focus on business concerns instead of infrastructure concerns. Examples of well-scoped use cases are: -* A module that deploys all resources needed for a three tier web application -* A module that deploys a database with constraints on resource allocation and deployment region +For example, you could build modules that satisfy the following well-scoped use cases: +- Deploying all resources needed for a three-tier web application +- Deploying a database with constraints on resource allocation and deployment region ### Limit the number of variables without defaults From 040632fceb69431f7091fa37aee97db8e5a1868a Mon Sep 17 00:00:00 2001 From: Matthew Garrell <69917312+mgarrell777@users.noreply.github.com> Date: Tue, 4 Oct 2022 16:25:03 -0400 Subject: [PATCH 28/62] Update website/docs/cloud-docs/registry/using.mdx Co-authored-by: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com> --- website/docs/cloud-docs/registry/using.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/cloud-docs/registry/using.mdx b/website/docs/cloud-docs/registry/using.mdx index 3bc79c720..8cdcb4e6f 100644 --- a/website/docs/cloud-docs/registry/using.mdx +++ b/website/docs/cloud-docs/registry/using.mdx @@ -16,7 +16,7 @@ Terraform Cloud supports using modules in written configuration or through the [ ## Finding Providers and Modules -To find available providers and modules, click **Registry** in the main navigation bar. The **Registry** page appears. +To find available providers and modules, go to your organization, and click **Registry**. The **Registry** page appears. ![Terraform Cloud screenshot: a filtered list of available providers](/img/docs/registry-page-filtered.png) From c56cf2beaeb026ca62f0e1244909d7a3867fc931 Mon Sep 17 00:00:00 2001 From: Matthew Garrell <69917312+mgarrell777@users.noreply.github.com> Date: Tue, 4 Oct 2022 16:25:21 -0400 Subject: [PATCH 29/62] Update website/docs/cloud-docs/no-code-provisioning/module-design.mdx Co-authored-by: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com> --- website/docs/cloud-docs/no-code-provisioning/module-design.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/cloud-docs/no-code-provisioning/module-design.mdx b/website/docs/cloud-docs/no-code-provisioning/module-design.mdx index f8e11b6c4..a9a74ad11 100644 --- a/website/docs/cloud-docs/no-code-provisioning/module-design.mdx +++ b/website/docs/cloud-docs/no-code-provisioning/module-design.mdx @@ -39,7 +39,7 @@ You can grant new no-code workspace provider credentials using one of the follow ## Module Design Recommendations -Similarly to a [standard module](/language/modules/develop#when-to-write-a-module), a well-designed no-code ready module composes resources in a way that is easy for others to deploy, offering a level of abstraction for your organization's infrastructure. However, no-code ready modules anticipate less familiarity with Terraform than standard modules, which are designed for flexibility and composition. Keep these recommendations in mind when designing your module. +Similarly to a [standard module](/language/modules/develop#when-to-write-a-module), a well-designed no-code ready module composes resources so that they are easy for others to deploy. However, no-code module users are less familiar with Terraform, so we recommend the following best practices for no-code module design. ### Build For a Specific Use Case From 09ffa380179da39cd5497ed15d9cccd9f7c3d75b Mon Sep 17 00:00:00 2001 From: Matthew Garrell <69917312+mgarrell777@users.noreply.github.com> Date: Tue, 4 Oct 2022 16:25:57 -0400 Subject: [PATCH 30/62] Update website/docs/cloud-docs/no-code-provisioning/module-design.mdx Co-authored-by: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com> --- website/docs/cloud-docs/no-code-provisioning/module-design.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/cloud-docs/no-code-provisioning/module-design.mdx b/website/docs/cloud-docs/no-code-provisioning/module-design.mdx index a9a74ad11..1c350c91a 100644 --- a/website/docs/cloud-docs/no-code-provisioning/module-design.mdx +++ b/website/docs/cloud-docs/no-code-provisioning/module-design.mdx @@ -51,4 +51,4 @@ For example, you could build modules that satisfy the following well-scoped use ### Limit the number of variables without defaults -The no-code provisioning workflow prompts users to set values for the module's input variables before creating the new workspace and deploying resources. We recommend setting reasonable defaults wherever possible to reduce the effort and expertise needed to deploy the module. Remember that the workspace can also access any variable values set through global variable sets in your organization. +The no-code provisioning workflow prompts users to set values for the module's input variables before creating the new workspace and deploying resources. We recommend setting reasonable defaults when possible to reduce the effort and expertise needed to deploy the module. Remember that the workspace can also access variable values set through global variable sets in your organization. From 40c64ed2f2abea0b370624da8fe25f788147fc1b Mon Sep 17 00:00:00 2001 From: Matthew Garrell <69917312+mgarrell777@users.noreply.github.com> Date: Tue, 4 Oct 2022 16:27:30 -0400 Subject: [PATCH 31/62] Update website/docs/cloud-docs/no-code-provisioning/module-design.mdx Co-authored-by: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com> --- .../cloud-docs/no-code-provisioning/module-design.mdx | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/website/docs/cloud-docs/no-code-provisioning/module-design.mdx b/website/docs/cloud-docs/no-code-provisioning/module-design.mdx index 1c350c91a..6d210d433 100644 --- a/website/docs/cloud-docs/no-code-provisioning/module-design.mdx +++ b/website/docs/cloud-docs/no-code-provisioning/module-design.mdx @@ -7,15 +7,13 @@ description: No-code ready modules let users deploy a module's resources without -> **Note:** No-code ready modules are in beta and available in the [Terraform Cloud Business tier](https://www.hashicorp.com/products/terraform/pricing). -No-code provisioning builds on the advantages of using Terraform modules, which let you define collections of infrastructure resources that satisfy your organizational standards and help downstream users deploy those resources easily. No-code ready modules further simplify this workflow by letting users deploy the module's resources without writing any Terraform configuration. +Terraform [modules](/language/modules) let you define standardized collections of infrastructure resources that downstream users can more easily deploy. No-code ready modules build on these advantages by letting users deploy a module's resources without writing any Terraform configuration. This practice is called no-code provisioning. -No-code provisioning allows module developers to abstract away the complexities of their organization's infrastructure, enabling a safe self-service workflow. This workflow lets developers provision approved collections of resources themselves without needing to invest time in learning Terraform or infrastructure best practices. - -You can enable no-code provisioning on any module once it is in your Terraform Cloud [private registry](/cloud-docs/registry) or enable the workflow on private modules as you publish them to your registry. Module users can then [provision no-code infrastructure](/cloud-docs/no-code-provisioning/provisioning), set the module's input variables, and deploy its resources. +No-code provisioning enables a self-service workflow that lets users provision approved collections of resources without learning Terraform or infrastructure best practices. You can enable no-code provisioning for any public or private module in your [private registry](/cloud-docs/registry). Users can then [provision no-code infrastructure](/cloud-docs/no-code-provisioning/provisioning), set the module's input variables, and deploy its resources. -> **Hands On:** Try the [Create and Use No-Code Ready Modules tutorial](https://learn.hashicorp.com/tutorials/terraform/no-code-provisioning). -You should follow the same best practices for developing a no-code ready module as for a standard module. However, there are a few additional considerations and requirements for enabling no-code provisioning. +The same best practices apply to both standard and no-code ready module design. However, no-code modules have additional requirements and considerations. ## Requirements From 12a5d18e821340181674e65804a6aaa45cd99343 Mon Sep 17 00:00:00 2001 From: Matthew Garrell <69917312+mgarrell777@users.noreply.github.com> Date: Tue, 4 Oct 2022 16:28:19 -0400 Subject: [PATCH 32/62] Update website/docs/cloud-docs/registry/using.mdx Co-authored-by: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com> --- website/docs/cloud-docs/registry/using.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/cloud-docs/registry/using.mdx b/website/docs/cloud-docs/registry/using.mdx index 8cdcb4e6f..37b2614c0 100644 --- a/website/docs/cloud-docs/registry/using.mdx +++ b/website/docs/cloud-docs/registry/using.mdx @@ -12,7 +12,7 @@ All users in an organization can view the Terraform Cloud private registry and u - **Terraform version:** Terraform Cloud workspaces using version 0.11 and higher can automatically access your private modules during Terraform runs, and workspaces using version 0.13 and higher can also automatically access private providers. - **Authentication:** If you run Terraform on the command line, you must [authenticate](/cloud-docs/registry/using#authentication) to Terraform Cloud or your instance to use providers and modules in your organization’s private registry. -Terraform Cloud supports using modules in written configuration or through the [no-code provisioning workflow](/cloud-docs/no-code-provisioning/module-design). +Terraform Cloud supports using modules in written configuration or through the [no-code provisioning workflow](/cloud-docs/no-code-provisioning/provisioning). ## Finding Providers and Modules From 3580432a79757b9b4fd1b1cbe772d14bc06146d6 Mon Sep 17 00:00:00 2001 From: Matthew Garrell <69917312+mgarrell777@users.noreply.github.com> Date: Tue, 4 Oct 2022 16:31:05 -0400 Subject: [PATCH 33/62] Update website/docs/cloud-docs/no-code-provisioning/provisioning.mdx Co-authored-by: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com> --- .../docs/cloud-docs/no-code-provisioning/provisioning.mdx | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx b/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx index 15aa463b9..e39f01a72 100644 --- a/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx +++ b/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx @@ -36,9 +36,8 @@ To launch the no-code workflow: Terraform Cloud scans the module configuration for input variables and prompts for values for any variables without defaults or undefined in an existing global variable set. Terraform requires values for these variables to successfully complete runs in the workspace. Terraform Cloud performs type validation for the variable values if the module configuration specifies a type. -1. Set values for the input variables. Then, click **Next: Workspace settings**. - - You can choose to skip this step and configure the variables later. However, Terraform Cloud does not prompt you for these values again and your Terraform runs may fail. +1. Set values for the input variables. You can choose to skip this step and configure the variables later. However, Terraform Cloud does not prompt you for these values again and your Terraform runs may fail. +1. Cick **Next: Workspace settings**. 1. Enter a **Workspace Name**. The name must be unique within the organization and can include letters, numbers, dashes (-), and underscores (_). Refer to the [workspace naming recommendations](/cloud-docs/workspaces/naming) for more guidance. From 18970c61e2a158bfcebc6ca2b03a162523d17579 Mon Sep 17 00:00:00 2001 From: Matthew Garrell <69917312+mgarrell777@users.noreply.github.com> Date: Tue, 4 Oct 2022 16:52:22 -0400 Subject: [PATCH 34/62] Update website/docs/cloud-docs/registry/publish-modules.mdx Co-authored-by: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com> --- website/docs/cloud-docs/registry/publish-modules.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/cloud-docs/registry/publish-modules.mdx b/website/docs/cloud-docs/registry/publish-modules.mdx index 65b2636bc..5c2e2df98 100644 --- a/website/docs/cloud-docs/registry/publish-modules.mdx +++ b/website/docs/cloud-docs/registry/publish-modules.mdx @@ -115,7 +115,7 @@ Deletion is permanent, but there are ways to restore deleted modules and module ## Sharing Modules Across Organizations -Terraform Cloud does not typically allow one organization's workspaces to use private modules from a different organization. This inhibition is because Terraform Cloud gives Terraform temporary credentials to access modules that are only valid for that workspace's organization. Although it is possible to mix modules from multiple organizations when you run Terraform on the command line, we strongly recommend against it. +Terraform Cloud does not typically allow one organization's workspaces to use private modules from a different organization. This restriction is because Terraform Cloud gives Terraform temporary credentials to access modules that are only valid for that workspace's organization. Although it is possible to mix modules from multiple organizations when you run Terraform on the command line, we strongly recommend against it. Instead, you can share modules across organizations by sharing the underlying VCS repository. Grant each organization access to the module's repository, and then add the module to each organization's registry. When you push tags to publish new module versions, both organizations update accordingly. From 6f124ce6f7349abeb48db0da70b28ccddf42a699 Mon Sep 17 00:00:00 2001 From: Matthew Garrell <69917312+mgarrell777@users.noreply.github.com> Date: Tue, 4 Oct 2022 17:00:13 -0400 Subject: [PATCH 35/62] Update website/docs/cloud-docs/registry/using.mdx Co-authored-by: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com> --- website/docs/cloud-docs/registry/using.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/cloud-docs/registry/using.mdx b/website/docs/cloud-docs/registry/using.mdx index 37b2614c0..f853a6564 100644 --- a/website/docs/cloud-docs/registry/using.mdx +++ b/website/docs/cloud-docs/registry/using.mdx @@ -7,7 +7,7 @@ description: Find available providers and modules and include them in configurat All users in an organization can view the Terraform Cloud private registry and use the available providers and modules. A private registry has some key requirements and differences from the [public Terraform Registry](/registry): -- **Location:** Your organization's providers and modules and their usage examples can only be found in the private registry through the Terraform Cloud web UI for the organization. +- **Location:** Search for providers, modules, and usage examples in the Terraform Cloud private registry UI. - **Provider and Module block `source` argument:** Private providers and modules use a [different format](/cloud-docs/registry/using#using-private-providers-and-modules-in-configurations). - **Terraform version:** Terraform Cloud workspaces using version 0.11 and higher can automatically access your private modules during Terraform runs, and workspaces using version 0.13 and higher can also automatically access private providers. - **Authentication:** If you run Terraform on the command line, you must [authenticate](/cloud-docs/registry/using#authentication) to Terraform Cloud or your instance to use providers and modules in your organization’s private registry. From b180925c5e3c0caa7f42d115d55ad5b69c23322d Mon Sep 17 00:00:00 2001 From: Matthew Garrell <69917312+mgarrell777@users.noreply.github.com> Date: Tue, 4 Oct 2022 17:00:42 -0400 Subject: [PATCH 36/62] Update website/docs/cloud-docs/no-code-provisioning/module-design.mdx Co-authored-by: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com> --- .../docs/cloud-docs/no-code-provisioning/module-design.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/docs/cloud-docs/no-code-provisioning/module-design.mdx b/website/docs/cloud-docs/no-code-provisioning/module-design.mdx index 6d210d433..4d93b9bf8 100644 --- a/website/docs/cloud-docs/no-code-provisioning/module-design.mdx +++ b/website/docs/cloud-docs/no-code-provisioning/module-design.mdx @@ -18,8 +18,8 @@ The same best practices apply to both standard and no-code ready module design. ## Requirements A no-code ready module must meet the following requirements: -* Root Module Structure: The module must follow [standard module structure](/language/modules/develop/structure) and define its resources in the root directory of the repository. This structure allows the registry to inspect the module and generate documentation, track resource usage, and parse submodules and examples. -* Provider Configuration: A no-code ready module must declare the required provider(s) directly in the module. This configuration differs from the recommendations for [modules used in written configuration](/language/modules/develop/providers#legacy-shared-modules-with-provider-configurations). +- **Root Module Structure:** The module must follow [standard module structure](/language/modules/develop/structure) and define its resources in the root directory of the repository. This structure allows the public and private registries to generate documentation, track resource usage, and parse submodules and examples. +- **Provider Configuration:** A no-code ready module must declare the required provider(s) directly in the module. This configuration differs from the recommendations for [modules used in written configuration](/language/modules/develop/providers#legacy-shared-modules-with-provider-configurations). In addition to these module configuration requirements, the auto-apply no-code provisioning workflow requires automatic access to provider credentials. A new no-code workspace must be able to access credentials, either through a [global variable set](/cloud-docs/workspaces/variables/managing-variables#variable-sets) or through [remote state data sources](/language/state/remote-state-data) that pull provider credentials from another workspace. From ba794538864748377fcb959e9793ffb7961a2783 Mon Sep 17 00:00:00 2001 From: Matthew Garrell <69917312+mgarrell777@users.noreply.github.com> Date: Tue, 4 Oct 2022 17:01:19 -0400 Subject: [PATCH 37/62] Update website/docs/cloud-docs/no-code-provisioning/module-design.mdx Co-authored-by: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com> --- website/docs/cloud-docs/no-code-provisioning/module-design.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/cloud-docs/no-code-provisioning/module-design.mdx b/website/docs/cloud-docs/no-code-provisioning/module-design.mdx index 4d93b9bf8..705434d49 100644 --- a/website/docs/cloud-docs/no-code-provisioning/module-design.mdx +++ b/website/docs/cloud-docs/no-code-provisioning/module-design.mdx @@ -47,6 +47,6 @@ For example, you could build modules that satisfy the following well-scoped use - Deploying all resources needed for a three-tier web application - Deploying a database with constraints on resource allocation and deployment region -### Limit the number of variables without defaults +### Provide Variable Defaults When Possible The no-code provisioning workflow prompts users to set values for the module's input variables before creating the new workspace and deploying resources. We recommend setting reasonable defaults when possible to reduce the effort and expertise needed to deploy the module. Remember that the workspace can also access variable values set through global variable sets in your organization. From 2704ff961893e5732e98b1861301f4aacee83ca0 Mon Sep 17 00:00:00 2001 From: Matthew Garrell <69917312+mgarrell777@users.noreply.github.com> Date: Tue, 4 Oct 2022 17:02:37 -0400 Subject: [PATCH 38/62] Update website/docs/cloud-docs/registry/add.mdx Co-authored-by: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com> --- website/docs/cloud-docs/registry/add.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/cloud-docs/registry/add.mdx b/website/docs/cloud-docs/registry/add.mdx index 699f07668..a1467ecfc 100644 --- a/website/docs/cloud-docs/registry/add.mdx +++ b/website/docs/cloud-docs/registry/add.mdx @@ -56,7 +56,7 @@ To enable no-code provisioning: 1. Click the module to view its details. 1. Select **Enable no-code provisioning** from the **Manage Module for Organization** dropdown. -Your module’s details page now has a **No-Code Ready** rocket badge to indicate that it supports no-code provisioning. +Your module’s details page now has a **No-Code Ready** badge to indicate that it supports no-code provisioning. To support the auto-apply workflow, ensure that downstream users can [automatically load provider credentials](/cloud-docs/no-code-provisioning/module-design#provider-credentials) into their new no-code workspaces, either through a global variable set with the credentials for the module's provider, or accessing outputs with credentials across workspaces. From dcecfdbf4fe2e76e9ae9c267ad2f1dc79eb3cd48 Mon Sep 17 00:00:00 2001 From: Matthew Garrell <69917312+mgarrell777@users.noreply.github.com> Date: Tue, 4 Oct 2022 17:04:13 -0400 Subject: [PATCH 39/62] Update website/docs/cloud-docs/registry/add.mdx Co-authored-by: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com> --- website/docs/cloud-docs/registry/add.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/cloud-docs/registry/add.mdx b/website/docs/cloud-docs/registry/add.mdx index a1467ecfc..e010db889 100644 --- a/website/docs/cloud-docs/registry/add.mdx +++ b/website/docs/cloud-docs/registry/add.mdx @@ -58,7 +58,7 @@ To enable no-code provisioning: Your module’s details page now has a **No-Code Ready** badge to indicate that it supports no-code provisioning. -To support the auto-apply workflow, ensure that downstream users can [automatically load provider credentials](/cloud-docs/no-code-provisioning/module-design#provider-credentials) into their new no-code workspaces, either through a global variable set with the credentials for the module's provider, or accessing outputs with credentials across workspaces. +To support the auto-apply workflow, ensure that downstream users can automatically load provider credentials into their new no-code workspaces. You can enable access by either creating a global variable set with the credentials for the module's provider, or by accessing outputs with credentials across workspaces. Refer to [Provider Credentials](/cloud-docs/no-code-provisioning/module-design#provider-credentials) for more details. To disable no-code provisioning, select **Disable no-code provisioning** from the **Manage Module for Organization** dropdown. Disabling also removes the **No-Code Ready** rocket badge from the module’s details page. From 40ff698de448fcfb6c92f65a9a04fdc340217fa3 Mon Sep 17 00:00:00 2001 From: Matthew Garrell <69917312+mgarrell777@users.noreply.github.com> Date: Tue, 4 Oct 2022 17:08:56 -0400 Subject: [PATCH 40/62] Update website/docs/cloud-docs/no-code-provisioning/provisioning.mdx Co-authored-by: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com> --- website/docs/cloud-docs/no-code-provisioning/provisioning.mdx | 1 + 1 file changed, 1 insertion(+) diff --git a/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx b/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx index e39f01a72..659c762a4 100644 --- a/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx +++ b/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx @@ -14,6 +14,7 @@ The no-code provisioning workflow is meant for relatively static infrastructure ~> **Tip:** No-code provisioning has limited support for configuration changes and requires recreating infrastructure to deploy updates. For more dynamic configuration and development, use standard modules. -> **Hands On:** Try the [Create and Use No-Code Ready Modules tutorial](https://learn.hashicorp.com/tutorials/terraform/no-code-provisioning). + ## Permissions The no-code provisioning workflow creates a new workspace, so users must have permissions to [manage workspaces](/cloud-docs/users-teams-organizations/permissions#manage-workspaces). From 1376a499acd9799f841dfd812cf7732b33970b3e Mon Sep 17 00:00:00 2001 From: Matthew Garrell <69917312+mgarrell777@users.noreply.github.com> Date: Tue, 4 Oct 2022 17:09:37 -0400 Subject: [PATCH 41/62] Update website/docs/cloud-docs/no-code-provisioning/provisioning.mdx Co-authored-by: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com> --- website/docs/cloud-docs/no-code-provisioning/provisioning.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx b/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx index 659c762a4..6a73dc8a3 100644 --- a/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx +++ b/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx @@ -17,7 +17,7 @@ The no-code provisioning workflow is meant for relatively static infrastructure ## Permissions -The no-code provisioning workflow creates a new workspace, so users must have permissions to [manage workspaces](/cloud-docs/users-teams-organizations/permissions#manage-workspaces). +To use no-code provisioning, you need permissions to [manage workspaces](/cloud-docs/users-teams-organizations/permissions#manage-workspaces). ## Provider credentials From 8232ae69bc529f80eba0f43dee20e0e4bdf15b4e Mon Sep 17 00:00:00 2001 From: Matthew Garrell <69917312+mgarrell777@users.noreply.github.com> Date: Wed, 5 Oct 2022 09:51:05 -0400 Subject: [PATCH 42/62] Corrections about indentation and note formatting from initial peer review --- .../docs/cloud-docs/no-code-provisioning/provisioning.mdx | 5 +++-- website/docs/cloud-docs/registry/publish-modules.mdx | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx b/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx index 6a73dc8a3..66902f7ec 100644 --- a/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx +++ b/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx @@ -5,7 +5,7 @@ description: How to provision infrastructure from a no-code ready module. # Provisioning No-Code Infrastructure --> **Note:** No-code ready modules are in beta and available in the [Terraform Cloud Business Tier](https://www.hashicorp.com/products/terraform/pricing). +-> **Note:** No-code provisioning is in beta and available in the [Terraform Cloud Business Tier](https://www.hashicorp.com/products/terraform/pricing). No-code provisioning lets users deploy infrastructure resources in a new Terraform Cloud workspace without writing any Terraform configuration. This enables a self-service workflow while abstracting away the complexities of infrastructure management. No-code workspaces have slightly scoped functionality, but you can still edit the workspace's variables and settings, start new runs, and destroy infrastructure. @@ -35,9 +35,10 @@ To launch the no-code workflow: 1. Select the no-code ready module to view its details, then click **Provision workspace**. The **Configure module inputs** page appears. -Terraform Cloud scans the module configuration for input variables and prompts for values for any variables without defaults or undefined in an existing global variable set. Terraform requires values for these variables to successfully complete runs in the workspace. Terraform Cloud performs type validation for the variable values if the module configuration specifies a type. + Terraform Cloud scans the module configuration for input variables and prompts for values for any variables without defaults or undefined in an existing global variable set. Terraform requires values for these variables to successfully complete runs in the workspace. Terraform Cloud performs type validation for the variable values if the module configuration specifies a type. 1. Set values for the input variables. You can choose to skip this step and configure the variables later. However, Terraform Cloud does not prompt you for these values again and your Terraform runs may fail. + 1. Cick **Next: Workspace settings**. 1. Enter a **Workspace Name**. The name must be unique within the organization and can include letters, numbers, dashes (-), and underscores (_). Refer to the [workspace naming recommendations](/cloud-docs/workspaces/naming) for more guidance. diff --git a/website/docs/cloud-docs/registry/publish-modules.mdx b/website/docs/cloud-docs/registry/publish-modules.mdx index 5c2e2df98..21863fc3c 100644 --- a/website/docs/cloud-docs/registry/publish-modules.mdx +++ b/website/docs/cloud-docs/registry/publish-modules.mdx @@ -70,6 +70,7 @@ To publish a new module: You can search the list by typing part or all of a repository name into the filter field. Remember that VCS providers use `/` strings to locate repositories. The namespace is an organization name for most providers, but Bitbucket Server (not Bitbucket Cloud) uses project keys, like `INFRA`. 1. (Optional) If this module is a [no-code ready module](/cloud-docs/no-code-provisioning/module-design), select the **Add Module to no-code provision allowlist** checkbox. + -> **Note:** No-code ready modules are in beta and available in the [Terraform Cloud Business tier](https://www.hashicorp.com/products/terraform/pricing). 1. Click **Publish module**. From 75093ffcf84c41341f2889e475f3349300ea4697 Mon Sep 17 00:00:00 2001 From: Matthew Garrell <69917312+mgarrell777@users.noreply.github.com> Date: Wed, 5 Oct 2022 10:05:28 -0400 Subject: [PATCH 43/62] Fixing note formatting --- website/docs/cloud-docs/registry/publish-modules.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/cloud-docs/registry/publish-modules.mdx b/website/docs/cloud-docs/registry/publish-modules.mdx index 21863fc3c..7b3985216 100644 --- a/website/docs/cloud-docs/registry/publish-modules.mdx +++ b/website/docs/cloud-docs/registry/publish-modules.mdx @@ -71,7 +71,7 @@ To publish a new module: 1. (Optional) If this module is a [no-code ready module](/cloud-docs/no-code-provisioning/module-design), select the **Add Module to no-code provision allowlist** checkbox. - -> **Note:** No-code ready modules are in beta and available in the [Terraform Cloud Business tier](https://www.hashicorp.com/products/terraform/pricing). + -> **Note:** No-code ready modules are in beta and available in the [Terraform Cloud Business tier](https://www.hashicorp.com/products/terraform/pricing). 1. Click **Publish module**. From 5a4db49ee516956b97a82a3298551bcd1caa5970 Mon Sep 17 00:00:00 2001 From: Matthew Garrell <69917312+mgarrell777@users.noreply.github.com> Date: Wed, 5 Oct 2022 11:36:29 -0400 Subject: [PATCH 44/62] Additional edits to beta note text & formatting and removing unneeded mention of no-code in registry docs --- website/docs/cloud-docs/no-code-provisioning/module-design.mdx | 2 +- website/docs/cloud-docs/no-code-provisioning/provisioning.mdx | 2 +- website/docs/cloud-docs/registry/publish-modules.mdx | 2 +- website/docs/cloud-docs/workspaces/creating.mdx | 3 ++- website/docs/registry/modules/publish.mdx | 2 -- 5 files changed, 5 insertions(+), 6 deletions(-) diff --git a/website/docs/cloud-docs/no-code-provisioning/module-design.mdx b/website/docs/cloud-docs/no-code-provisioning/module-design.mdx index 705434d49..dbaf8e285 100644 --- a/website/docs/cloud-docs/no-code-provisioning/module-design.mdx +++ b/website/docs/cloud-docs/no-code-provisioning/module-design.mdx @@ -5,7 +5,7 @@ description: No-code ready modules let users deploy a module's resources without # Designing No-Code Ready Modules --> **Note:** No-code ready modules are in beta and available in the [Terraform Cloud Business tier](https://www.hashicorp.com/products/terraform/pricing). +-> **Note:** No-code provisioning is in beta and available in the [Terraform Cloud Business tier](https://www.hashicorp.com/products/terraform/pricing). Terraform [modules](/language/modules) let you define standardized collections of infrastructure resources that downstream users can more easily deploy. No-code ready modules build on these advantages by letting users deploy a module's resources without writing any Terraform configuration. This practice is called no-code provisioning. diff --git a/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx b/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx index 66902f7ec..e7c69f8c6 100644 --- a/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx +++ b/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx @@ -5,7 +5,7 @@ description: How to provision infrastructure from a no-code ready module. # Provisioning No-Code Infrastructure --> **Note:** No-code provisioning is in beta and available in the [Terraform Cloud Business Tier](https://www.hashicorp.com/products/terraform/pricing). +-> **Note:** No-code provisioning is in beta and available in the [Terraform Cloud Business tier](https://www.hashicorp.com/products/terraform/pricing). No-code provisioning lets users deploy infrastructure resources in a new Terraform Cloud workspace without writing any Terraform configuration. This enables a self-service workflow while abstracting away the complexities of infrastructure management. No-code workspaces have slightly scoped functionality, but you can still edit the workspace's variables and settings, start new runs, and destroy infrastructure. diff --git a/website/docs/cloud-docs/registry/publish-modules.mdx b/website/docs/cloud-docs/registry/publish-modules.mdx index 7b3985216..59f299d26 100644 --- a/website/docs/cloud-docs/registry/publish-modules.mdx +++ b/website/docs/cloud-docs/registry/publish-modules.mdx @@ -71,7 +71,7 @@ To publish a new module: 1. (Optional) If this module is a [no-code ready module](/cloud-docs/no-code-provisioning/module-design), select the **Add Module to no-code provision allowlist** checkbox. - -> **Note:** No-code ready modules are in beta and available in the [Terraform Cloud Business tier](https://www.hashicorp.com/products/terraform/pricing). + -> **Note:** No-code provisioning is in beta and available in the [Terraform Cloud Business tier](https://www.hashicorp.com/products/terraform/pricing). 1. Click **Publish module**. diff --git a/website/docs/cloud-docs/workspaces/creating.mdx b/website/docs/cloud-docs/workspaces/creating.mdx index cb6a2b872..6456c7c2b 100644 --- a/website/docs/cloud-docs/workspaces/creating.mdx +++ b/website/docs/cloud-docs/workspaces/creating.mdx @@ -15,7 +15,8 @@ Workspaces organize infrastructure into meaningful groups. Create new workspaces - **Workspaces API:** [Create a Workspace endpoint](/cloud-docs/api-docs/workspaces#create-a-workspace) - **Terraform Enterprise Provider:** [`tfe_workspace` resource](https://registry.terraform.io/providers/hashicorp/tfe/latest/docs/resources/workspace) - **No-Code Provisioning:** The no-code provisioning workflow creates a new workspace and deploys a [no-code ready module's](/cloud-docs/no-code-provisioning/provisioning) resources in it. - -> **Note:** No-code ready modules are in beta and available in the [Terraform Cloud Business tier](https://www.hashicorp.com/products/terraform/pricing). + + -> **Note:** No-code provisioning in beta and available in the [Terraform Cloud Business tier](https://www.hashicorp.com/products/terraform/pricing). ## Permissions diff --git a/website/docs/registry/modules/publish.mdx b/website/docs/registry/modules/publish.mdx index 1ecd36fc2..c92d7f2cd 100644 --- a/website/docs/registry/modules/publish.mdx +++ b/website/docs/registry/modules/publish.mdx @@ -70,8 +70,6 @@ In a few seconds, your module will be created. ![Publish Module flow animation](/img/docs/registry-publish.gif) -You can also use modules marked **No-Code Ready** to create a new workspace and automatically provision the module's resources without writing any Terraform configuration. Refer to [Preparing No-Code Ready Modules](/cloud-docs/no-code-provisioning/module-design) for details. - ## Releasing New Versions The Terraform Registry uses tags to detect releases. From d69eef495fb9f79700736665e85aa266ce572558 Mon Sep 17 00:00:00 2001 From: Matthew Garrell <69917312+mgarrell777@users.noreply.github.com> Date: Wed, 5 Oct 2022 11:52:14 -0400 Subject: [PATCH 45/62] Additional edits to beta note text --- website/docs/cloud-docs/registry/add.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/cloud-docs/registry/add.mdx b/website/docs/cloud-docs/registry/add.mdx index e010db889..0e327deb1 100644 --- a/website/docs/cloud-docs/registry/add.mdx +++ b/website/docs/cloud-docs/registry/add.mdx @@ -47,7 +47,7 @@ To add a public provider or module: ## Enabling and Disabling No-Code Provisioning --> **Note:** No-code ready modules are in beta and available in the [Terraform Cloud Business tier](https://www.hashicorp.com/products/terraform/pricing). +-> **Note:** No-code provisioning is in beta and available in the [Terraform Cloud Business tier](https://www.hashicorp.com/products/terraform/pricing). You can enable no-code provisioning for public modules after adding them to your registry. The no-code provisioning workflow requires automatic access to provider credentials for downstream users to successfully deploy the module's resources. From f5249bd51c57deb51a3c76b4a5e32788cf6b47be Mon Sep 17 00:00:00 2001 From: Matthew Garrell <69917312+mgarrell777@users.noreply.github.com> Date: Wed, 5 Oct 2022 12:22:09 -0400 Subject: [PATCH 46/62] Updating link to no-code design requirements subsection --- website/docs/cloud-docs/registry/add.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/cloud-docs/registry/add.mdx b/website/docs/cloud-docs/registry/add.mdx index 0e327deb1..5a0a49a2c 100644 --- a/website/docs/cloud-docs/registry/add.mdx +++ b/website/docs/cloud-docs/registry/add.mdx @@ -52,7 +52,7 @@ To add a public provider or module: You can enable no-code provisioning for public modules after adding them to your registry. The no-code provisioning workflow requires automatic access to provider credentials for downstream users to successfully deploy the module's resources. To enable no-code provisioning: -1. Verify that the module meets the [requirements for no-code provisioning](/cloud-docs/no-code-provisioning/module-design). +1. Verify that the module meets the [requirements for no-code provisioning](/cloud-docs/no-code-provisioning/module-design#requirements). 1. Click the module to view its details. 1. Select **Enable no-code provisioning** from the **Manage Module for Organization** dropdown. From cd59c915915d26b6d511716b6ca1b400b4165a26 Mon Sep 17 00:00:00 2001 From: Matthew Garrell <69917312+mgarrell777@users.noreply.github.com> Date: Wed, 5 Oct 2022 13:17:09 -0400 Subject: [PATCH 47/62] Update website/docs/cloud-docs/no-code-provisioning/provisioning.mdx Co-authored-by: Keran Braich --- .../docs/cloud-docs/no-code-provisioning/provisioning.mdx | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx b/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx index e7c69f8c6..f380718e9 100644 --- a/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx +++ b/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx @@ -7,12 +7,9 @@ description: How to provision infrastructure from a no-code ready module. -> **Note:** No-code provisioning is in beta and available in the [Terraform Cloud Business tier](https://www.hashicorp.com/products/terraform/pricing). -No-code provisioning lets users deploy infrastructure resources in a new Terraform Cloud workspace without writing any Terraform configuration. This enables a self-service workflow while abstracting away the complexities of infrastructure management. No-code workspaces have slightly scoped functionality, but you can still edit the workspace's variables and settings, start new runs, and destroy infrastructure. - -The no-code provisioning workflow is meant for relatively static infrastructure and you cannot interact with the Terraform configuration for the resources managed in the workspace. Beyond changes to variable values, you cannot apply configuration changes to existing no-code workspaces. To deploy updates to module configuration, users must create new no-code workspaces with new resources. - -~> **Tip:** No-code provisioning has limited support for configuration changes and requires recreating infrastructure to deploy updates. For more dynamic configuration and development, use standard modules. +No-code provisioning lets you deploy infrastructure resources in a new Terraform Cloud workspace without writing any Terraform configuration. +The no-code provisioning workflow is best for quickly deploying relatively static infrastructure. Beyond changing variable values, you cannot apply configuration changes to existing no-code workspaces. If you need to deploy updates to the no-code ready module's configuration, you must create new no-code workspaces with new resources. We recommend standard modules for use cases that require dynamic configuration and development. -> **Hands On:** Try the [Create and Use No-Code Ready Modules tutorial](https://learn.hashicorp.com/tutorials/terraform/no-code-provisioning). ## Permissions From b42a3977571ae7db41d2a13b9fa6dd8fb0bacec8 Mon Sep 17 00:00:00 2001 From: Matthew Garrell <69917312+mgarrell777@users.noreply.github.com> Date: Wed, 5 Oct 2022 13:24:58 -0400 Subject: [PATCH 48/62] Updating reference to rocket badge, fixing note formatting --- website/docs/cloud-docs/registry/add.mdx | 4 ++-- website/docs/cloud-docs/workspaces/creating.mdx | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/website/docs/cloud-docs/registry/add.mdx b/website/docs/cloud-docs/registry/add.mdx index 5a0a49a2c..d2bd223c0 100644 --- a/website/docs/cloud-docs/registry/add.mdx +++ b/website/docs/cloud-docs/registry/add.mdx @@ -35,7 +35,7 @@ To add a public provider or module: ![Terraform Cloud screenshot: the Search Public Modules page](/img/docs/add-search-public-modules-providers.png) -1. Enter any combination of namespaces (e.g. hashicorp), and module or provider names into the search field. You can click **Providers** and **Modules** to toggle between lists of providers and modules that meet the search criteria. +1. Enter any combination of namespaces (such as hashicorp), and module or provider names into the search field. You can click **Providers** and **Modules** to toggle between lists of providers and modules that meet the search criteria. 1. Do one of the following to add a provider or module to your private registry: - Hover over the provider or module and click **+ Add**. @@ -60,7 +60,7 @@ Your module’s details page now has a **No-Code Ready** badge to indicate that To support the auto-apply workflow, ensure that downstream users can automatically load provider credentials into their new no-code workspaces. You can enable access by either creating a global variable set with the credentials for the module's provider, or by accessing outputs with credentials across workspaces. Refer to [Provider Credentials](/cloud-docs/no-code-provisioning/module-design#provider-credentials) for more details. -To disable no-code provisioning, select **Disable no-code provisioning** from the **Manage Module for Organization** dropdown. Disabling also removes the **No-Code Ready** rocket badge from the module’s details page. +To disable no-code provisioning, select **Disable no-code provisioning** from the **Manage Module for Organization** dropdown. Disabling also removes the **No-Code Ready** badge from the module’s details page. ## Removing a Public Provider or Module diff --git a/website/docs/cloud-docs/workspaces/creating.mdx b/website/docs/cloud-docs/workspaces/creating.mdx index 6456c7c2b..9e2b49634 100644 --- a/website/docs/cloud-docs/workspaces/creating.mdx +++ b/website/docs/cloud-docs/workspaces/creating.mdx @@ -16,7 +16,7 @@ Workspaces organize infrastructure into meaningful groups. Create new workspaces - **Terraform Enterprise Provider:** [`tfe_workspace` resource](https://registry.terraform.io/providers/hashicorp/tfe/latest/docs/resources/workspace) - **No-Code Provisioning:** The no-code provisioning workflow creates a new workspace and deploys a [no-code ready module's](/cloud-docs/no-code-provisioning/provisioning) resources in it. - -> **Note:** No-code provisioning in beta and available in the [Terraform Cloud Business tier](https://www.hashicorp.com/products/terraform/pricing). + -> **Note:** No-code provisioning in beta and available in the [Terraform Cloud Business tier](https://www.hashicorp.com/products/terraform/pricing). ## Permissions From 0689148e9af931f11bb39368fb35297909fcbd39 Mon Sep 17 00:00:00 2001 From: Matthew Garrell <69917312+mgarrell777@users.noreply.github.com> Date: Wed, 5 Oct 2022 13:45:04 -0400 Subject: [PATCH 49/62] fixing note formatting --- website/docs/cloud-docs/workspaces/creating.mdx | 1 + 1 file changed, 1 insertion(+) diff --git a/website/docs/cloud-docs/workspaces/creating.mdx b/website/docs/cloud-docs/workspaces/creating.mdx index 9e2b49634..fd887f72e 100644 --- a/website/docs/cloud-docs/workspaces/creating.mdx +++ b/website/docs/cloud-docs/workspaces/creating.mdx @@ -16,6 +16,7 @@ Workspaces organize infrastructure into meaningful groups. Create new workspaces - **Terraform Enterprise Provider:** [`tfe_workspace` resource](https://registry.terraform.io/providers/hashicorp/tfe/latest/docs/resources/workspace) - **No-Code Provisioning:** The no-code provisioning workflow creates a new workspace and deploys a [no-code ready module's](/cloud-docs/no-code-provisioning/provisioning) resources in it. + -> **Note:** No-code provisioning in beta and available in the [Terraform Cloud Business tier](https://www.hashicorp.com/products/terraform/pricing). ## Permissions From 3cc99f24da67088e7fa84c00bf1de7baecf4f6fc Mon Sep 17 00:00:00 2001 From: Matthew Garrell <69917312+mgarrell777@users.noreply.github.com> Date: Wed, 5 Oct 2022 14:03:02 -0400 Subject: [PATCH 50/62] removing unnecessary duplicate line describing credentials and variable set --- website/docs/cloud-docs/no-code-provisioning/module-design.mdx | 2 -- 1 file changed, 2 deletions(-) diff --git a/website/docs/cloud-docs/no-code-provisioning/module-design.mdx b/website/docs/cloud-docs/no-code-provisioning/module-design.mdx index dbaf8e285..d0704090d 100644 --- a/website/docs/cloud-docs/no-code-provisioning/module-design.mdx +++ b/website/docs/cloud-docs/no-code-provisioning/module-design.mdx @@ -21,8 +21,6 @@ A no-code ready module must meet the following requirements: - **Root Module Structure:** The module must follow [standard module structure](/language/modules/develop/structure) and define its resources in the root directory of the repository. This structure allows the public and private registries to generate documentation, track resource usage, and parse submodules and examples. - **Provider Configuration:** A no-code ready module must declare the required provider(s) directly in the module. This configuration differs from the recommendations for [modules used in written configuration](/language/modules/develop/providers#legacy-shared-modules-with-provider-configurations). -In addition to these module configuration requirements, the auto-apply no-code provisioning workflow requires automatic access to provider credentials. A new no-code workspace must be able to access credentials, either through a [global variable set](/cloud-docs/workspaces/variables/managing-variables#variable-sets) or through [remote state data sources](/language/state/remote-state-data) that pull provider credentials from another workspace. - ### Provider credentials Organization administrators must determine how no-code workspaces access credentials for provider authentication and design modules accordingly. From e40182d893f48e797d658e9113ebd38b44d844d6 Mon Sep 17 00:00:00 2001 From: Matthew Garrell <69917312+mgarrell777@users.noreply.github.com> Date: Wed, 5 Oct 2022 14:34:13 -0400 Subject: [PATCH 51/62] Update website/docs/cloud-docs/api-docs/private-registry/modules.mdx Co-authored-by: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com> --- website/docs/cloud-docs/api-docs/private-registry/modules.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/cloud-docs/api-docs/private-registry/modules.mdx b/website/docs/cloud-docs/api-docs/private-registry/modules.mdx index 1cbe346f7..c9254bb73 100644 --- a/website/docs/cloud-docs/api-docs/private-registry/modules.mdx +++ b/website/docs/cloud-docs/api-docs/private-registry/modules.mdx @@ -256,7 +256,7 @@ Properties without a default value are required. | --------------------------------------------- | ------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `data.type` | string | | Must be `"registry-modules"`. | | `data.attributes.vcs-repo.identifier` | string | | The repository from which to ingress the configuration. | -| `data.attributes.vcs-repo.oauth-token-id` | string | | The VCS Connection (OAuth Connection + Token) to use as identified. This ID can be obtained from the [oauth-tokens](/cloud-docs/api-docs/oauth-tokens) endpoint. | +| `data.attributes.vcs-repo.oauth-token-id` | string | | The VCS Connection (OAuth Connection + Token) to use as identified. You can obtain this ID from the [oauth-tokens](/cloud-docs/api-docs/oauth-tokens) endpoint. | | `data.attributes.vcs-repo.display_identifier` | string | | The display identifier for the repository. For most VCS providers outside of BitBucket Cloud, this will match the `data.attributes.vcs-repo.identifier` string. | | `data.attributes.no-code` | boolean | | Allows you to enable or disable the no-code publishing workflow for a module. From bdb9f446c5efe0cbb1d7e8d1b1f7199c953f8aa1 Mon Sep 17 00:00:00 2001 From: Matthew Garrell <69917312+mgarrell777@users.noreply.github.com> Date: Wed, 5 Oct 2022 14:35:07 -0400 Subject: [PATCH 52/62] Update website/docs/cloud-docs/api-docs/private-registry/modules.mdx Co-authored-by: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com> --- website/docs/cloud-docs/api-docs/private-registry/modules.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/cloud-docs/api-docs/private-registry/modules.mdx b/website/docs/cloud-docs/api-docs/private-registry/modules.mdx index c9254bb73..72497ac17 100644 --- a/website/docs/cloud-docs/api-docs/private-registry/modules.mdx +++ b/website/docs/cloud-docs/api-docs/private-registry/modules.mdx @@ -257,7 +257,7 @@ Properties without a default value are required. | `data.type` | string | | Must be `"registry-modules"`. | | `data.attributes.vcs-repo.identifier` | string | | The repository from which to ingress the configuration. | | `data.attributes.vcs-repo.oauth-token-id` | string | | The VCS Connection (OAuth Connection + Token) to use as identified. You can obtain this ID from the [oauth-tokens](/cloud-docs/api-docs/oauth-tokens) endpoint. | -| `data.attributes.vcs-repo.display_identifier` | string | | The display identifier for the repository. For most VCS providers outside of BitBucket Cloud, this will match the `data.attributes.vcs-repo.identifier` string. | +| `data.attributes.vcs-repo.display_identifier` | string | | The display identifier for the repository. For most VCS providers outside of BitBucket Cloud, this identifier matches the `data.attributes.vcs-repo.identifier` string. | | `data.attributes.no-code` | boolean | | Allows you to enable or disable the no-code publishing workflow for a module. A VCS repository identifier is a reference to a VCS repository in the format `:org/:repo`, where `:org` and `:repo` refer to the organization (or project key, for Bitbucket Server) and repository in your VCS provider. The format for Azure DevOps is `:org/:project/_git/:repo`. From 4799a316eec3c812b5547c1885047a9924714031 Mon Sep 17 00:00:00 2001 From: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com> Date: Wed, 5 Oct 2022 14:35:17 -0400 Subject: [PATCH 53/62] Updates to registry adding page and module design page --- .../no-code-provisioning/module-design.mdx | 14 +++++++------- website/docs/cloud-docs/registry/add.mdx | 12 ++++++------ 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/website/docs/cloud-docs/no-code-provisioning/module-design.mdx b/website/docs/cloud-docs/no-code-provisioning/module-design.mdx index d0704090d..09110ccb9 100644 --- a/website/docs/cloud-docs/no-code-provisioning/module-design.mdx +++ b/website/docs/cloud-docs/no-code-provisioning/module-design.mdx @@ -7,13 +7,13 @@ description: No-code ready modules let users deploy a module's resources without -> **Note:** No-code provisioning is in beta and available in the [Terraform Cloud Business tier](https://www.hashicorp.com/products/terraform/pricing). -Terraform [modules](/language/modules) let you define standardized collections of infrastructure resources that downstream users can more easily deploy. No-code ready modules build on these advantages by letting users deploy a module's resources without writing any Terraform configuration. This practice is called no-code provisioning. +Terraform [modules](/language/modules) let you define standardized collections of infrastructure resources that downstream users can more easily deploy. No-code ready modules build on these advantages by letting users deploy a module's resources without writing any Terraform configuration. This practice is called no-code provisioning. No-code provisioning enables a self-service workflow that lets users provision approved collections of resources without learning Terraform or infrastructure best practices. You can enable no-code provisioning for any public or private module in your [private registry](/cloud-docs/registry). Users can then [provision no-code infrastructure](/cloud-docs/no-code-provisioning/provisioning), set the module's input variables, and deploy its resources. --> **Hands On:** Try the [Create and Use No-Code Ready Modules tutorial](https://learn.hashicorp.com/tutorials/terraform/no-code-provisioning). +> **Hands On:** Try the [Create and Use No-Code Ready Modules tutorial](https://learn.hashicorp.com/tutorials/terraform/no-code-provisioning). -The same best practices apply to both standard and no-code ready module design. However, no-code modules have additional requirements and considerations. +The same best practices apply to both standard and no-code ready module design. However, no-code modules have additional requirements and considerations. ## Requirements @@ -25,12 +25,12 @@ A no-code ready module must meet the following requirements: Organization administrators must determine how no-code workspaces access credentials for provider authentication and design modules accordingly. -When module consumers follow the no-code workflow, Terraform Cloud automatically creates a new workspace for the resources and attempts to provision them. New workspaces must be able to access credentials for all providers defined within the module. +When module consumers follow the no-code workflow, Terraform Cloud automatically creates a new workspace for the resources and attempts to provision them. New workspaces must be able to access credentials for all providers defined within the module. You can grant new no-code workspace provider credentials using one of the following methods: -- Create a [global variable set](/cloud-docs/workspaces/variables/managing-variables#variable-sets) that Terraform Cloud applies to all existing and future workspaces in the organization. This action automatically grants newly-created workspaces access to the required provider credentials. -- Expose provider credentials as sensitive outputs in another workspace. You must add additional configuration to the module to access these values through [remote state data sources](/language/state/remote-state-data) and then reference them in provider configuration. This approach provides more control over access to these credentials than placing them in a global variable set. +- Create a [global variable set](/cloud-docs/workspaces/variables/managing-variables#variable-sets) that Terraform Cloud applies to all existing and future workspaces in the organization. This action automatically grants newly-created workspaces access to the required provider credentials. +- Expose provider credentials as sensitive outputs in another workspace. You must add additional configuration to the module to access these values through [remote state data sources](/language/state/remote-state-data) and then reference them in provider configuration. This approach provides more control over access to these credentials than placing them in a global variable set. - Elect to let the first run in new no-code workspaces fail and have module users add credentials directly to the workspace after creation. This approach provides the most control over access to provider credentials, but requires manual intervention. Module users must manually start a new run to provision infrastructure after they configure the credentials. ## Module Design Recommendations @@ -39,7 +39,7 @@ Similarly to a [standard module](/language/modules/develop#when-to-write-a-modul ### Build For a Specific Use Case -No-code ready module users are typically less familiar with Terraform and infrastructure management. Reduce the amount of technical decision-making required to deploy the module by scoping it to a single, specific use case. This approach lets users focus on business concerns instead of infrastructure concerns. +No-code ready module users are typically less familiar with Terraform and infrastructure management. Reduce the amount of technical decision-making required to deploy the module by scoping it to a single, specific use case. This approach lets users focus on business concerns instead of infrastructure concerns. For example, you could build modules that satisfy the following well-scoped use cases: - Deploying all resources needed for a three-tier web application diff --git a/website/docs/cloud-docs/registry/add.mdx b/website/docs/cloud-docs/registry/add.mdx index d2bd223c0..f075ea5b5 100644 --- a/website/docs/cloud-docs/registry/add.mdx +++ b/website/docs/cloud-docs/registry/add.mdx @@ -49,16 +49,16 @@ To add a public provider or module: -> **Note:** No-code provisioning is in beta and available in the [Terraform Cloud Business tier](https://www.hashicorp.com/products/terraform/pricing). -You can enable no-code provisioning for public modules after adding them to your registry. The no-code provisioning workflow requires automatic access to provider credentials for downstream users to successfully deploy the module's resources. +You can enable no-code provisioning for public modules after adding them to your registry. -To enable no-code provisioning: -1. Verify that the module meets the [requirements for no-code provisioning](/cloud-docs/no-code-provisioning/module-design#requirements). +To support the auto-apply workflow, ensure that downstream users can automatically load provider credentials into their new no-code workspaces. You can enable access by either creating a global variable set with the credentials for the module's provider, or by accessing outputs with credentials across workspaces. Refer to [Provider Credentials](/cloud-docs/no-code-provisioning/module-design#provider-credentials) for more details. + +To enable no-code provisioning: +1. Verify that the module meets the [requirements for no-code provisioning](/cloud-docs/no-code-provisioning/module-design#requirements). 1. Click the module to view its details. 1. Select **Enable no-code provisioning** from the **Manage Module for Organization** dropdown. -Your module’s details page now has a **No-Code Ready** badge to indicate that it supports no-code provisioning. - -To support the auto-apply workflow, ensure that downstream users can automatically load provider credentials into their new no-code workspaces. You can enable access by either creating a global variable set with the credentials for the module's provider, or by accessing outputs with credentials across workspaces. Refer to [Provider Credentials](/cloud-docs/no-code-provisioning/module-design#provider-credentials) for more details. +Your module’s details page now has a **No-Code Ready** badge to indicate that it supports no-code provisioning. To disable no-code provisioning, select **Disable no-code provisioning** from the **Manage Module for Organization** dropdown. Disabling also removes the **No-Code Ready** badge from the module’s details page. From 2870fc12c9512c88bb4a6b0f2fa95dad61e79348 Mon Sep 17 00:00:00 2001 From: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com> Date: Wed, 5 Oct 2022 14:38:22 -0400 Subject: [PATCH 54/62] Fix learn callout provisioning page --- .../no-code-provisioning/provisioning.mdx | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx b/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx index f380718e9..26a174d30 100644 --- a/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx +++ b/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx @@ -10,7 +10,8 @@ description: How to provision infrastructure from a no-code ready module. No-code provisioning lets you deploy infrastructure resources in a new Terraform Cloud workspace without writing any Terraform configuration. The no-code provisioning workflow is best for quickly deploying relatively static infrastructure. Beyond changing variable values, you cannot apply configuration changes to existing no-code workspaces. If you need to deploy updates to the no-code ready module's configuration, you must create new no-code workspaces with new resources. We recommend standard modules for use cases that require dynamic configuration and development. --> **Hands On:** Try the [Create and Use No-Code Ready Modules tutorial](https://learn.hashicorp.com/tutorials/terraform/no-code-provisioning). + +> **Hands On:** Try the [Create and Use No-Code Ready Modules tutorial](https://learn.hashicorp.com/tutorials/terraform/no-code-provisioning). ## Permissions @@ -18,7 +19,7 @@ To use no-code provisioning, you need permissions to [manage workspaces](/cloud- ## Provider credentials -Terraform automatically starts a new run to provision no-code infrastructure upon workspace creation. No-code modules contain provider blocks in their configuration, but still require provider credentials for successful deployment. Organization administrators determine [how new workspaces access provider credentials](/cloud-docs/no-code-provisioning/module-design#provider-credentials), which may require specific module design. +Terraform automatically starts a new run to provision no-code infrastructure upon workspace creation. No-code modules contain provider blocks in their configuration, but still require provider credentials for successful deployment. Organization administrators determine [how new workspaces access provider credentials](/cloud-docs/no-code-provisioning/module-design#provider-credentials), which may require specific module design. ## Creating a workspace and deploying resources @@ -26,18 +27,18 @@ The no-code provisioning workflow creates a new Terraform Cloud workspace to dep To launch the no-code workflow: -1. Click **Registry** in the main Terraform Cloud navigation to access your organization's private registry. +1. Click **Registry** in the main Terraform Cloud navigation to access your organization's private registry. -1. Click **Modules** to view the list of available modules in the private registry. You can filter for no-code ready modules in your registry. No-code enabled modules have a **No-code Ready** badge next to their names. +1. Click **Modules** to view the list of available modules in the private registry. You can filter for no-code ready modules in your registry. No-code enabled modules have a **No-code Ready** badge next to their names. -1. Select the no-code ready module to view its details, then click **Provision workspace**. The **Configure module inputs** page appears. +1. Select the no-code ready module to view its details, then click **Provision workspace**. The **Configure module inputs** page appears. - Terraform Cloud scans the module configuration for input variables and prompts for values for any variables without defaults or undefined in an existing global variable set. Terraform requires values for these variables to successfully complete runs in the workspace. Terraform Cloud performs type validation for the variable values if the module configuration specifies a type. + Terraform Cloud scans the module configuration for input variables and prompts for values for any variables without defaults or undefined in an existing global variable set. Terraform requires values for these variables to successfully complete runs in the workspace. Terraform Cloud performs type validation for the variable values if the module configuration specifies a type. -1. Set values for the input variables. You can choose to skip this step and configure the variables later. However, Terraform Cloud does not prompt you for these values again and your Terraform runs may fail. +1. Set values for the input variables. You can choose to skip this step and configure the variables later. However, Terraform Cloud does not prompt you for these values again and your Terraform runs may fail. 1. Cick **Next: Workspace settings**. - + 1. Enter a **Workspace Name**. The name must be unique within the organization and can include letters, numbers, dashes (-), and underscores (_). Refer to the [workspace naming recommendations](/cloud-docs/workspaces/naming) for more guidance. 1. Add an optional **Description** for the workspace. @@ -50,4 +51,4 @@ To launch the no-code workflow: No-code workspaces have a limited feature set because you cannot access the resource configuration. However, you can edit workspace variables and settings, including notifications, permissions, and run triggers to connect the workspace to one or more source workspaces. They can also trigger new runs to pick up changes to variables, or queue destroy runs. -If the module’s configuration changes, you must destroy the workspace and create a new one to provision resources with the updated configuration. +If the module’s configuration changes, you must destroy the workspace and create a new one to provision resources with the updated configuration. From 7a73b60fca05b94e0aafc9cb8ad542ede22a1da8 Mon Sep 17 00:00:00 2001 From: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com> Date: Wed, 5 Oct 2022 14:44:46 -0400 Subject: [PATCH 55/62] Updates to titles on provisioning page --- .../docs/cloud-docs/no-code-provisioning/provisioning.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx b/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx index 26a174d30..1353457b3 100644 --- a/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx +++ b/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx @@ -17,11 +17,11 @@ The no-code provisioning workflow is best for quickly deploying relatively stati To use no-code provisioning, you need permissions to [manage workspaces](/cloud-docs/users-teams-organizations/permissions#manage-workspaces). -## Provider credentials +## Provider Credentials Terraform automatically starts a new run to provision no-code infrastructure upon workspace creation. No-code modules contain provider blocks in their configuration, but still require provider credentials for successful deployment. Organization administrators determine [how new workspaces access provider credentials](/cloud-docs/no-code-provisioning/module-design#provider-credentials), which may require specific module design. -## Creating a workspace and deploying resources +## Creating a Workspace and Deploying Resources The no-code provisioning workflow creates a new Terraform Cloud workspace to deploy and manage the no-code ready module's resources. Terraform Cloud automatically starts a run to provision the module's resources in the new workspace. Depending on the workspace's settings, Terraform either automatically applies the plan or prompts you for approval to provision the infrastructure. @@ -47,7 +47,7 @@ To launch the no-code workflow: 1. Click **Create workspace**. Terraform Cloud creates a new workspace and starts a run. Depending on the apply method, it automatically applies your infrastructure or prompts you for approval to create the no-code module's resources. -## Operations in existing workspaces +## Operations in No-Code Workspaces No-code workspaces have a limited feature set because you cannot access the resource configuration. However, you can edit workspace variables and settings, including notifications, permissions, and run triggers to connect the workspace to one or more source workspaces. They can also trigger new runs to pick up changes to variables, or queue destroy runs. From 591493d915527f4b4bc1f2553533e84a48a02d99 Mon Sep 17 00:00:00 2001 From: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com> Date: Wed, 5 Oct 2022 14:53:42 -0400 Subject: [PATCH 56/62] fix broken link on using page --- website/docs/cloud-docs/registry/using.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/docs/cloud-docs/registry/using.mdx b/website/docs/cloud-docs/registry/using.mdx index f853a6564..9758b5c65 100644 --- a/website/docs/cloud-docs/registry/using.mdx +++ b/website/docs/cloud-docs/registry/using.mdx @@ -7,7 +7,7 @@ description: Find available providers and modules and include them in configurat All users in an organization can view the Terraform Cloud private registry and use the available providers and modules. A private registry has some key requirements and differences from the [public Terraform Registry](/registry): -- **Location:** Search for providers, modules, and usage examples in the Terraform Cloud private registry UI. +- **Location:** Search for providers, modules, and usage examples in the Terraform Cloud private registry UI. - **Provider and Module block `source` argument:** Private providers and modules use a [different format](/cloud-docs/registry/using#using-private-providers-and-modules-in-configurations). - **Terraform version:** Terraform Cloud workspaces using version 0.11 and higher can automatically access your private modules during Terraform runs, and workspaces using version 0.13 and higher can also automatically access private providers. - **Authentication:** If you run Terraform on the command line, you must [authenticate](/cloud-docs/registry/using#authentication) to Terraform Cloud or your instance to use providers and modules in your organization’s private registry. @@ -42,7 +42,7 @@ Use the **Submodules** menu to navigate to the detail pages for any nested modul ## Provisioning Infrastructure from No-Code Ready Modules -You can use modules marked **No-Code Ready** to create a new workspace and automatically provision the module's resources without writing any Terraform configuration. Refer to [Provisioning No-Code Infrastructure](cloud-docs/no-code-provisioning/provisioning) for details. +You can use modules marked **No-Code Ready** to create a new workspace and automatically provision the module's resources without writing any Terraform configuration. Refer to [Provisioning No-Code Infrastructure](/cloud-docs/no-code-provisioning/provisioning) for details. ## Using Public Providers and Modules in Configurations From 0dbf7656b4280b296997e7a965a748c8537c2c7f Mon Sep 17 00:00:00 2001 From: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com> Date: Wed, 5 Oct 2022 14:55:41 -0400 Subject: [PATCH 57/62] Remove note that refuses to be formatted properly --- website/docs/cloud-docs/workspaces/creating.mdx | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/website/docs/cloud-docs/workspaces/creating.mdx b/website/docs/cloud-docs/workspaces/creating.mdx index fd887f72e..2d7fcdee1 100644 --- a/website/docs/cloud-docs/workspaces/creating.mdx +++ b/website/docs/cloud-docs/workspaces/creating.mdx @@ -14,10 +14,7 @@ Workspaces organize infrastructure into meaningful groups. Create new workspaces - **Terraform Cloud UI:** [Create a Workspace](#create-a-workspace) - **Workspaces API:** [Create a Workspace endpoint](/cloud-docs/api-docs/workspaces#create-a-workspace) - **Terraform Enterprise Provider:** [`tfe_workspace` resource](https://registry.terraform.io/providers/hashicorp/tfe/latest/docs/resources/workspace) -- **No-Code Provisioning:** The no-code provisioning workflow creates a new workspace and deploys a [no-code ready module's](/cloud-docs/no-code-provisioning/provisioning) resources in it. - - - -> **Note:** No-code provisioning in beta and available in the [Terraform Cloud Business tier](https://www.hashicorp.com/products/terraform/pricing). +- **No-Code Provisioning:** The no-code provisioning workflow creates a new workspace and deploys a [no-code ready module's](/cloud-docs/no-code-provisioning/provisioning) resources in it. ## Permissions From 3f8becf3a8003e937288b7f43692ed99d4c49d0a Mon Sep 17 00:00:00 2001 From: Matthew Garrell <69917312+mgarrell777@users.noreply.github.com> Date: Wed, 5 Oct 2022 15:05:19 -0400 Subject: [PATCH 58/62] Update website/docs/cloud-docs/registry/add.mdx Co-authored-by: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com> --- website/docs/cloud-docs/registry/add.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/cloud-docs/registry/add.mdx b/website/docs/cloud-docs/registry/add.mdx index f075ea5b5..a271d232a 100644 --- a/website/docs/cloud-docs/registry/add.mdx +++ b/website/docs/cloud-docs/registry/add.mdx @@ -51,7 +51,7 @@ To add a public provider or module: You can enable no-code provisioning for public modules after adding them to your registry. -To support the auto-apply workflow, ensure that downstream users can automatically load provider credentials into their new no-code workspaces. You can enable access by either creating a global variable set with the credentials for the module's provider, or by accessing outputs with credentials across workspaces. Refer to [Provider Credentials](/cloud-docs/no-code-provisioning/module-design#provider-credentials) for more details. +To support the auto-apply workflow, ensure that downstream users can automatically load provider credentials into their new no-code workspaces. You can enable access by either creating a global variable set with the credentials for the module's provider, or by accessing outputs with credentials from other workspaces. Refer to [Provider Credentials](/cloud-docs/no-code-provisioning/module-design#provider-credentials) for more details. To enable no-code provisioning: 1. Verify that the module meets the [requirements for no-code provisioning](/cloud-docs/no-code-provisioning/module-design#requirements). From 4f789b973b28e4682aa29012ac3dc6e9be28864d Mon Sep 17 00:00:00 2001 From: Matthew Garrell <69917312+mgarrell777@users.noreply.github.com> Date: Wed, 5 Oct 2022 15:05:25 -0400 Subject: [PATCH 59/62] Update website/docs/cloud-docs/no-code-provisioning/provisioning.mdx Co-authored-by: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com> --- website/docs/cloud-docs/no-code-provisioning/provisioning.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx b/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx index 1353457b3..b958b6e66 100644 --- a/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx +++ b/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx @@ -35,7 +35,7 @@ To launch the no-code workflow: Terraform Cloud scans the module configuration for input variables and prompts for values for any variables without defaults or undefined in an existing global variable set. Terraform requires values for these variables to successfully complete runs in the workspace. Terraform Cloud performs type validation for the variable values if the module configuration specifies a type. -1. Set values for the input variables. You can choose to skip this step and configure the variables later. However, Terraform Cloud does not prompt you for these values again and your Terraform runs may fail. +1. (Optional) Set values for the input variables. You can choose to skip this step and configure the variables later. However, Terraform Cloud does not prompt you for these values again and your Terraform runs may fail. 1. Cick **Next: Workspace settings**. From 257b8d57968a641363e85c68e4239cd881cc1892 Mon Sep 17 00:00:00 2001 From: Matthew Garrell <69917312+mgarrell777@users.noreply.github.com> Date: Wed, 5 Oct 2022 15:05:34 -0400 Subject: [PATCH 60/62] Update website/docs/cloud-docs/no-code-provisioning/provisioning.mdx Co-authored-by: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com> --- website/docs/cloud-docs/no-code-provisioning/provisioning.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx b/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx index b958b6e66..fb5cc32c9 100644 --- a/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx +++ b/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx @@ -19,7 +19,7 @@ To use no-code provisioning, you need permissions to [manage workspaces](/cloud- ## Provider Credentials -Terraform automatically starts a new run to provision no-code infrastructure upon workspace creation. No-code modules contain provider blocks in their configuration, but still require provider credentials for successful deployment. Organization administrators determine [how new workspaces access provider credentials](/cloud-docs/no-code-provisioning/module-design#provider-credentials), which may require specific module design. +Terraform automatically starts a new run to provision no-code infrastructure upon workspace creation. No-code modules contain provider blocks in their configuration, but still require provider credentials for successful deployment. Organization administrators determine how new workspaces should [access provider credentials](/cloud-docs/no-code-provisioning/module-design#provider-credentials), which may require specific module design. ## Creating a Workspace and Deploying Resources From e9fbfb3973d9c50769c906bbfd93670d5b9179e0 Mon Sep 17 00:00:00 2001 From: Matthew Garrell <69917312+mgarrell777@users.noreply.github.com> Date: Wed, 5 Oct 2022 15:05:46 -0400 Subject: [PATCH 61/62] Update website/docs/cloud-docs/no-code-provisioning/provisioning.mdx Co-authored-by: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com> --- website/docs/cloud-docs/no-code-provisioning/provisioning.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx b/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx index fb5cc32c9..7a9135c7b 100644 --- a/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx +++ b/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx @@ -7,7 +7,7 @@ description: How to provision infrastructure from a no-code ready module. -> **Note:** No-code provisioning is in beta and available in the [Terraform Cloud Business tier](https://www.hashicorp.com/products/terraform/pricing). -No-code provisioning lets you deploy infrastructure resources in a new Terraform Cloud workspace without writing any Terraform configuration. +No-code provisioning lets you deploy infrastructure resources in a new Terraform Cloud workspace without writing any Terraform configuration. You can create a no-code workspace from any module labeled **No-code Ready** in your organization's [private registry](/cloud-docs/registry). The no-code provisioning workflow is best for quickly deploying relatively static infrastructure. Beyond changing variable values, you cannot apply configuration changes to existing no-code workspaces. If you need to deploy updates to the no-code ready module's configuration, you must create new no-code workspaces with new resources. We recommend standard modules for use cases that require dynamic configuration and development. From b5070b3ff27a8e88deeaf53220d6d05b0ea83417 Mon Sep 17 00:00:00 2001 From: Matthew Garrell <69917312+mgarrell777@users.noreply.github.com> Date: Wed, 5 Oct 2022 15:40:18 -0400 Subject: [PATCH 62/62] Update website/docs/cloud-docs/no-code-provisioning/provisioning.mdx Co-authored-by: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com> --- website/docs/cloud-docs/no-code-provisioning/provisioning.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx b/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx index 7a9135c7b..7c4e3378e 100644 --- a/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx +++ b/website/docs/cloud-docs/no-code-provisioning/provisioning.mdx @@ -49,6 +49,6 @@ To launch the no-code workflow: ## Operations in No-Code Workspaces -No-code workspaces have a limited feature set because you cannot access the resource configuration. However, you can edit workspace variables and settings, including notifications, permissions, and run triggers to connect the workspace to one or more source workspaces. They can also trigger new runs to pick up changes to variables, or queue destroy runs. +No-code workspaces have a limited feature set because you cannot access the resource configuration. However, you can edit workspace variables and settings, including notifications, permissions, and run triggers. You can use run triggers to connect the workspace to one or more source workspaces, start new runs when you change workspace variables, or queue destroy runs. If the module’s configuration changes, you must destroy the workspace and create a new one to provision resources with the updated configuration.